pub struct Timestamp(pub DateTime<FixedOffset>);
Expand description
A wrapper Timestamp type which allows conversion to Value::Timestamp for types using automatic conversion with serde::Serialize.
§Examples
use cel_interpreter::{Context, Timestamp, Program};
use serde::Serialize;
#[derive(Serialize)]
struct MyStruct {
ts: Timestamp,
}
let mut context = Context::default();
// MyStruct will be implicitly serialized into the CEL appropriate types
context
.add_variable(
"foo",
MyStruct {
ts: chrono::DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.into(),
},
)
.unwrap();
let program = Program::compile("foo.ts == timestamp('2025-01-01T00:00:00Z')").unwrap();
let value = program.execute(&context).unwrap();
assert_eq!(value, true.into());
Tuple Fields§
§0: DateTime<FixedOffset>
Trait Implementations§
Source§impl From<DateTime<FixedOffset>> for Timestamp
impl From<DateTime<FixedOffset>> for Timestamp
Source§fn from(value: DateTime<FixedOffset>) -> Self
fn from(value: DateTime<FixedOffset>) -> Self
Converts to this type from the input type.
Source§impl Ord for Timestamp
impl Ord for Timestamp
Source§impl PartialOrd for Timestamp
impl PartialOrd for Timestamp
impl Copy for Timestamp
impl Eq for Timestamp
impl StructuralPartialEq for Timestamp
Auto Trait Implementations§
impl Freeze for Timestamp
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnwindSafe for Timestamp
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