package archetype

  1. Overview
  2. Docs
type from_input =
  1. | FIChannel of string * Stdlib.in_channel
  2. | FIString of string
module Format : sig ... end
type big_int = Big_int.big_int
val pp_big_int : Format.formatter -> Big_int.big_int -> unit
val big_int_of_yojson : Yojson.Safe.t -> (big_int, string) Result.result
val big_int_to_yojson : big_int -> Yojson.Safe.t
val decimal_string_to_rational : string -> big_int * big_int
type duration = {
  1. weeks : big_int;
  2. days : big_int;
  3. hours : big_int;
  4. minutes : big_int;
  5. seconds : big_int;
}
val pp_duration : Ppx_deriving_runtime.Format.formatter -> duration -> Ppx_deriving_runtime.unit
val show_duration : duration -> Ppx_deriving_runtime.string
val mk_duration : ?weeks:big_int -> ?days:big_int -> ?hours:big_int -> ?minutes:big_int -> ?seconds:big_int -> unit -> duration
val string_to_duration : string -> duration
val cmp_duration : duration -> duration -> bool
val pp_duration_for_printer : Format.formatter -> duration -> unit
val duration_to_timestamp : duration -> big_int
val pp_duration_in_seconds : Format.formatter -> duration -> unit
type timezone =
  1. | TZnone
  2. | TZZ
  3. | TZplus of int * int
  4. | TZminus of int * int
val pp_timezone : Ppx_deriving_runtime.Format.formatter -> timezone -> Ppx_deriving_runtime.unit
val show_timezone : timezone -> Ppx_deriving_runtime.string
type date = {
  1. year : int;
  2. month : int;
  3. day : int;
  4. hour : int;
  5. minute : int;
  6. second : int;
  7. timezone : timezone;
}
val mk_date : ?year:int -> ?month:int -> ?day:int -> ?hour:int -> ?minute:int -> ?second:int -> ?timezone:timezone -> unit -> date
val pp_date : Format.formatter -> date -> unit
val cmp_timezone : timezone -> timezone -> bool
val cmp_date : date -> date -> bool
exception MalformedDate of string
val string_to_date : string -> date

inspired from https://discuss.ocaml.org/t/how-to-expose-date-time-types-in-a-library-nicely/1653/6

val is_leapyear : int -> bool

is_leapyear is true, if and only if a year is a leap year

val (**) : int -> Big_int.big_int -> Big_int.big_int
val sec : Big_int.big_int
val sec_per_min : Big_int.big_int
val sec_per_hour : Big_int.big_int
val sec_per_day : Big_int.big_int
val days_since_epoch : int -> int -> int -> int
val seconds_since_epoch : date -> Big_int.big_int
val epoch : Big_int.big_int
val date_to_timestamp : date -> big_int
type tzkind =
  1. | Ktz
  2. | Kmtz
  3. | Kutz
val string_to_big_int_tz : tzkind -> string -> Big_int.big_int
val string_to_big_int_percent : string -> Big_int.big_int * Big_int.big_int
val is_valid_string : string -> bool
val is_valid_path : string -> bool