///|
/// Invalid typed metadata supplied while constructing an extension spec.
pub(all) suberror ExtensionSpecError {
InvalidContract(detail~ : String)
ForeignCommandRoute(extension_id~ : String, operation_name~ : String)
} derive(Eq)
///|
/// A stable validation failure for an extension's renderer permission scope.
pub(all) suberror PermissionScopeValidationError {
Invalid(detail~ : String)
} derive(Eq)
///|
pub fn ExtensionSpecError::message(self : ExtensionSpecError) -> String {
match self {
InvalidContract(detail~) => "invalid extension contract: " + detail
ForeignCommandRoute(extension_id~, operation_name~) =>
"command route " +
operation_name +
" does not belong to extension " +
extension_id
}
}
///|
pub fn PermissionScopeValidationError::message(
self : PermissionScopeValidationError,
) -> String {
match self {
Invalid(detail~) => detail
}
}
///|
impl Show for ExtensionSpecError with fn output(self, logger) {
logger.write_string(self.message())
}
///|
impl Show for PermissionScopeValidationError with fn output(self, logger) {
logger.write_string(self.message())
}