Struct cedar_policy_core::ast::Context
source · pub struct Context { /* private fields */ }Expand description
Context field of a Request
Implementations§
source§impl Context
impl Context
sourcepub fn from_expr(expr: RestrictedExpr) -> Result<Self, RestrictedExpr>
pub fn from_expr(expr: RestrictedExpr) -> Result<Self, RestrictedExpr>
Create a Context from a RestrictedExpr, which must be a Record.
If it is not a Record, then this function returns Err (returning
ownership of the non-record expression), otherwise it returns Ok of
a context for that record.
sourcepub fn from_pairs(
pairs: impl IntoIterator<Item = (SmolStr, RestrictedExpr)>
) -> Self
pub fn from_pairs( pairs: impl IntoIterator<Item = (SmolStr, RestrictedExpr)> ) -> Self
Create a Context from a map of key to RestrictedExpr, or a Vec of
(key, RestrictedExpr) pairs, or any other iterator of (key, RestrictedExpr) pairs
sourcepub fn from_json_str(json: &str) -> Result<Self, JsonDeserializationError>
pub fn from_json_str(json: &str) -> Result<Self, JsonDeserializationError>
Create a Context from a string containing JSON (which must be a JSON
object, not any other JSON type, or you will get an error here).
JSON here must use the __entity and __extn escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser.
sourcepub fn from_json_value(json: Value) -> Result<Self, JsonDeserializationError>
pub fn from_json_value(json: Value) -> Result<Self, JsonDeserializationError>
Create a Context from a serde_json::Value (which must be a JSON
object, not any other JSON type, or you will get an error here).
JSON here must use the __entity and __extn escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser.
sourcepub fn from_json_file(json: impl Read) -> Result<Self, JsonDeserializationError>
pub fn from_json_file(json: impl Read) -> Result<Self, JsonDeserializationError>
Create a Context from a JSON file. The JSON file must contain a JSON
object, not any other JSON type, or you will get an error here.
JSON here must use the __entity and __extn escapes for entity
references, extension values, etc.
For schema-based parsing, use ContextJsonParser.
sourcepub fn iter(&self) -> impl Iterator<Item = (&str, BorrowedRestrictedExpr<'_>)>
pub fn iter(&self) -> impl Iterator<Item = (&str, BorrowedRestrictedExpr<'_>)>
Iterate over the (key, value) pairs in the Context