| 530 | |
| 531 | #[derive(Clone)] |
| 532 | pub enum Value { |
| 533 | List(Arc<Vec<Value>>), |
| 534 | Map(Map), |
| 535 | |
| 536 | Function(Arc<String>, Option<Box<Value>>), |
| 537 | |
| 538 | // Atoms |
| 539 | Int(i64), |
| 540 | UInt(u64), |
| 541 | Float(f64), |
| 542 | String(Arc<String>), |
| 543 | Bytes(Arc<Vec<u8>>), |
| 544 | Bool(bool), |
| 545 | #[cfg(feature = "chrono")] |
| 546 | Duration(chrono::Duration), |
| 547 | #[cfg(feature = "chrono")] |
| 548 | Timestamp(chrono::DateTime<chrono::FixedOffset>), |
| 549 | Opaque(Arc<dyn Opaque>), |
| 550 | #[cfg(feature = "structs")] |
| 551 | Struct(Arc<CelStruct>), |
| 552 | Null, |
| 553 | } |
| 554 | |
| 555 | impl Debug for Value { |
| 556 | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { |