Struct cedar_policy_core::entities::EntityJsonParser
source · pub struct EntityJsonParser<'e, S: Schema = NoEntitiesSchema> { /* private fields */ }
Expand description
Struct used to parse entities from JSON.
Implementations§
source§impl<'e, S: Schema> EntityJsonParser<'e, S>
impl<'e, S: Schema> EntityJsonParser<'e, S>
sourcepub fn new(
schema: Option<S>,
extensions: Extensions<'e>,
tc_computation: TCComputation,
) -> Self
pub fn new( schema: Option<S>, extensions: Extensions<'e>, tc_computation: TCComputation, ) -> Self
Create a new EntityJsonParser
.
If a schema
is present, this will inform the parsing: for instance, it
will allow __entity
and __extn
escapes to be implicit.
It will also ensure that the produced Entities
fully conforms to the
schema
– for instance, it will error if attributes have the wrong
types (e.g., string instead of integer), or if required attributes are
missing or superfluous attributes are provided.
If you pass TCComputation::AssumeAlreadyComputed
, then the caller is
responsible for ensuring that TC holds before calling this method.
sourcepub fn from_json_str(&self, json: &str) -> Result<Entities, EntitiesError>
pub fn from_json_str(&self, json: &str) -> Result<Entities, EntitiesError>
Parse an entities JSON file (in &str
form) into an Entities
object
sourcepub fn from_json_value(&self, json: Value) -> Result<Entities, EntitiesError>
pub fn from_json_value(&self, json: Value) -> Result<Entities, EntitiesError>
Parse an entities JSON file (in serde_json::Value
form) into an Entities
object
sourcepub fn from_json_file(&self, json: impl Read) -> Result<Entities, EntitiesError>
pub fn from_json_file(&self, json: impl Read) -> Result<Entities, EntitiesError>
Parse an entities JSON file (in std::io::Read
form) into an Entities
object
Trait Implementations§
source§impl<'e, S: Clone + Schema> Clone for EntityJsonParser<'e, S>
impl<'e, S: Clone + Schema> Clone for EntityJsonParser<'e, S>
source§fn clone(&self) -> EntityJsonParser<'e, S>
fn clone(&self) -> EntityJsonParser<'e, S>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<'e, S> Freeze for EntityJsonParser<'e, S>where
S: Freeze,
impl<'e, S = NoEntitiesSchema> !RefUnwindSafe for EntityJsonParser<'e, S>
impl<'e, S> Send for EntityJsonParser<'e, S>where
S: Send,
impl<'e, S> Sync for EntityJsonParser<'e, S>where
S: Sync,
impl<'e, S> Unpin for EntityJsonParser<'e, S>where
S: Unpin,
impl<'e, S = NoEntitiesSchema> !UnwindSafe for EntityJsonParser<'e, S>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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>
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>
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