icydb_model/base/types/time.rs
1//! Module: base::types::time
2//!
3//! Responsibility: base domain type declarations.
4//! Does not own: runtime storage, query execution, or validator implementation internals.
5//! Boundary: declares macro-modeled domain wrappers and records for downstream schemas.
6
7use crate::prelude::*;
8
9///
10/// Milliseconds
11///
12/// Duration wrapper expressed in milliseconds.
13///
14
15#[newtype(
16 source_key = "crates/icydb/src/base/types/time.rs::newtype::1",
17 primitive = "Nat64",
18 item(prim = "Nat64")
19)]
20pub struct Milliseconds {}
21
22///
23/// Seconds
24///
25/// Duration wrapper expressed in seconds.
26///
27
28#[newtype(
29 source_key = "crates/icydb/src/base/types/time.rs::newtype::2",
30 primitive = "Nat64",
31 item(prim = "Nat64")
32)]
33pub struct Seconds {}
34
35///
36/// Minutes
37///
38/// Duration wrapper expressed in minutes.
39///
40
41#[newtype(
42 source_key = "crates/icydb/src/base/types/time.rs::newtype::3",
43 primitive = "Nat64",
44 item(prim = "Nat64")
45)]
46pub struct Minutes {}