pub mod manifest;
pub mod policy;
pub mod runtime;
pub mod trailer;
use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CompileError {
InvalidUtf8,
PayloadTooLarge,
UnsupportedAsset(String),
InvalidDocument(String),
}
impl fmt::Display for CompileError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::InvalidUtf8 => write!(f, "document is not valid UTF-8"),
Self::PayloadTooLarge => {
write!(f, "document exceeds the 16 MiB compile payload limit")
}
Self::UnsupportedAsset(asset) => write!(f, "unsupported compile-time asset: {asset}"),
Self::InvalidDocument(reason) => write!(f, "invalid document: {reason}"),
}
}
}
impl std::error::Error for CompileError {}