Skip to main content

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 {}