holochain_types/app/app_manifest/
error.rs1use crate::prelude::RoleName;
2use holochain_serialized_bytes::SerializedBytesError;
3use thiserror::Error;
4
5#[allow(missing_docs)]
6#[derive(Debug, Error, PartialEq, Eq)]
7pub enum AppManifestError {
8 #[error("Missing required field in app manifest: {0}")]
9 MissingField(String),
10
11 #[error("Invalid role name: {0}")]
12 InvalidRoleName(String),
13
14 #[error("Invalid manifest for app role '{0}': Using strategy 'clone-only' with clone_limit == 0 is pointless")]
15 InvalidStrategyCloneOnly(RoleName),
16
17 #[error(transparent)]
18 SerializationError(#[from] SerializedBytesError),
19}
20
21pub type AppManifestResult<T> = Result<T, AppManifestError>;