pub struct SchemaFragment(pub HashMap<Option<Name>, NamespaceDefinition>);Expand description
A SchemaFragment describe the types for a given instance of Cedar.
SchemaFragments are composed of Entity Types and Action Types. The
schema fragment is split into multiple namespace definitions, eac including
a namespace name which is applied to all entity types (and the implicit
Action entity type for all actions) in the schema.
Tuple Fields§
§0: HashMap<Option<Name>, NamespaceDefinition>Implementations§
Source§impl SchemaFragment
impl SchemaFragment
Sourcepub fn from_json_value(json: Value) -> Result<Self>
pub fn from_json_value(json: Value) -> Result<Self>
Create a SchemaFragment from a JSON value (which should be an object
of the appropriate shape).
Sourcepub fn from_file(file: impl Read) -> Result<Self>
pub fn from_file(file: impl Read) -> Result<Self>
Create a SchemaFragment directly from a file containing a JSON object.
Sourcepub fn from_str_natural(
src: &str,
) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
pub fn from_str_natural( src: &str, ) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
Parse the schema (in natural schema syntax) from a string
Sourcepub fn from_file_natural(
file: impl Read,
) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
pub fn from_file_natural( file: impl Read, ) -> Result<(Self, impl Iterator<Item = SchemaWarning>), HumanSchemaError>
Parse the schema (in natural schema syntax) from a reader
Sourcepub fn as_natural_schema(&self) -> Result<String, ToHumanSchemaStrError>
pub fn as_natural_schema(&self) -> Result<String, ToHumanSchemaStrError>
Pretty print this SchemaFragment
Trait Implementations§
Source§impl Clone for SchemaFragment
impl Clone for SchemaFragment
Source§fn clone(&self) -> SchemaFragment
fn clone(&self) -> SchemaFragment
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SchemaFragment
impl Debug for SchemaFragment
Source§impl<'de> Deserialize<'de> for SchemaFragment
impl<'de> Deserialize<'de> for SchemaFragment
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for SchemaFragment
impl Display for SchemaFragment
Source§impl PartialEq for SchemaFragment
impl PartialEq for SchemaFragment
Source§impl Serialize for SchemaFragment
impl Serialize for SchemaFragment
Source§impl TryFrom<SchemaFragment> for ValidatorSchema
impl TryFrom<SchemaFragment> for ValidatorSchema
Source§type Error = SchemaError
type Error = SchemaError
The type returned in the event of a conversion error.
Source§fn try_from(frag: SchemaFragment) -> Result<ValidatorSchema>
fn try_from(frag: SchemaFragment) -> Result<ValidatorSchema>
Performs the conversion.
Source§impl TryInto<ValidatorSchemaFragment> for SchemaFragment
impl TryInto<ValidatorSchemaFragment> for SchemaFragment
Source§type Error = SchemaError
type Error = SchemaError
The type returned in the event of a conversion error.
Source§fn try_into(self) -> Result<ValidatorSchemaFragment>
fn try_into(self) -> Result<ValidatorSchemaFragment>
Performs the conversion.
impl StructuralPartialEq for SchemaFragment
Auto Trait Implementations§
impl Freeze for SchemaFragment
impl RefUnwindSafe for SchemaFragment
impl Send for SchemaFragment
impl Sync for SchemaFragment
impl Unpin for SchemaFragment
impl UnwindSafe for SchemaFragment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more