Testing a Gemini codegen run
1(** Basic JMAP types as defined in RFC 8620. *)
2
3(** The Id data type.
4 A string of 1 to 255 octets, using URL-safe base64 characters.
5 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-1.2> RFC 8620, Section 1.2 *)
6type id = string
7
8(** The Int data type.
9 An integer in the range [-2^53+1, 2^53-1]. Represented as OCaml's standard [int].
10 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-1.3> RFC 8620, Section 1.3 *)
11type jint = int
12
13(** The UnsignedInt data type.
14 An integer in the range [0, 2^53-1]. Represented as OCaml's standard [int].
15 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-1.3> RFC 8620, Section 1.3 *)
16type uint = int
17
18(** The Date data type.
19 A string in RFC 3339 "date-time" format.
20 Represented as a float using Unix time.
21 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-1.4> RFC 8620, Section 1.4 *)
22type date = float
23
24(** The UTCDate data type.
25 A string in RFC 3339 "date-time" format, restricted to UTC (Z timezone).
26 Represented as a float using Unix time.
27 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-1.4> RFC 8620, Section 1.4 *)
28type utc_date = float
29
30(** Represents a JSON object used as a map String -> V. *)
31type 'v string_map = (string, 'v) Hashtbl.t
32
33(** Represents a JSON object used as a map Id -> V. *)
34type 'v id_map = (id, 'v) Hashtbl.t
35
36(** Represents a JSON Pointer path with JMAP extensions.
37 @see <https://www.rfc-editor.org/rfc/rfc8620.html#section-3.7> RFC 8620, Section 3.7 *)
38type json_pointer = string