1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use holochain_serialized_bytes::SerializedBytesError;
use thiserror::Error;

use crate::prelude::AppRoleId;

#[allow(missing_docs)]
#[derive(Debug, Error)]
pub enum AppManifestError {
    #[error("Missing required field in app manifest: {0}")]
    MissingField(String),

    #[error("Invalid manifest for app role '{0}': Using strategy 'disabled' with clone_limit == 0 is pointless")]
    InvalidStrategyDisabled(AppRoleId),

    #[error(transparent)]
    SerializationError(#[from] SerializedBytesError),
}

pub type AppManifestResult<T> = Result<T, AppManifestError>;