mte/src/time.mli
2026-03-12 17:31:07 +01:00

64 lines
1.3 KiB
OCaml

module TimeRelative : sig
type t
val forever : t
val zero : t
val compare : t -> t -> int
val min : t -> t -> t
val max : t -> t -> t
val add : t -> t -> t
val sub : t -> t -> t
val of_s : int64 -> t
(* - *)
val bin : t Bin.t
val caqti : t Caqti_type.t
val jsont : t Jsont.t
(* TODO rename pp_dump *)
val pp : Format.formatter -> t -> unit
end
module TimeAbsolute : sig
type t
val never : t
val zero : t
val compare : t -> t -> int
val min : t -> t -> t
val max : t -> t -> t
val diff : t -> t -> TimeRelative.t
val add : t -> TimeRelative.t -> t
val sub : t -> TimeRelative.t -> t
val of_s : int64 -> t
val of_ptime : Ptime.t -> t
(* TODO rename pp_dump *)
val pp : Format.formatter -> t -> unit
end
module Timestamp : sig
type t
val never : t
val zero : t
val compare : t -> t -> int
val equal : t -> t -> bool
val min : t -> t -> t
val max : t -> t -> t
val diff : t -> t -> TimeRelative.t
val of_s : int64 -> t
(* none if t = never *)
val to_s : t -> int64 option
val of_absolute : TimeAbsolute.t -> t
val of_ptime : Ptime.t -> t
(* - *)
val bin : t Bin.t
val caqti : t Caqti_type.t
val jsont : t Jsont.t
(* TODO rename pp_dump *)
val pp : Format.formatter -> t -> unit
end