pub enum FnAndArgs {
Single {
ext_fn: SmolStr,
arg: Box<CedarValueJson>,
},
Multi {
ext_fn: SmolStr,
args: Vec<CedarValueJson>,
},
}Expand description
Structure expected by the __extn escape
Variants§
Single
Single-argument function
Fields
§
arg: Box<CedarValueJson>Argument to that constructor
Multi
Multi-argument function
Fields
§
args: Vec<CedarValueJson>Arguments to that constructor
Implementations§
Source§impl FnAndArgs
impl FnAndArgs
Sourcepub fn into_expr(
self,
ctx: impl Fn() -> JsonDeserializationErrorContext + Clone,
) -> Result<RestrictedExpr, JsonDeserializationError>
pub fn into_expr( self, ctx: impl Fn() -> JsonDeserializationErrorContext + Clone, ) -> Result<RestrictedExpr, JsonDeserializationError>
Convert this FnAndArg into a Cedar “restricted expression” (which will be a call to an extension constructor)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FnAndArgs
impl<'de> Deserialize<'de> for FnAndArgs
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
impl Eq for FnAndArgs
impl StructuralPartialEq for FnAndArgs
Auto Trait Implementations§
impl Freeze for FnAndArgs
impl RefUnwindSafe for FnAndArgs
impl Send for FnAndArgs
impl Sync for FnAndArgs
impl Unpin for FnAndArgs
impl UnwindSafe for FnAndArgs
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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