mte/src/time.mli

60 lines
1.2 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
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
end
module Timestamp : sig
type t
val never : t
val zero : t
val compare : t -> t -> int
val gt : t -> t -> bool
val geq : t -> t -> bool
val lt : t -> t -> bool
val leq : t -> t -> bool
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
(* TODO add pp *)
(* - *)
val bin : t Bin.t
val caqti : t Caqti_type.t
val jsont : t Jsont.t
end