My agentic slop goes here. Not intended for anyone else!
1(** JMAP Id Type
2
3 Abstract type for JMAP identifiers (1-255 character strings).
4
5 Reference: RFC 8620 Section 1.2
6 Test files: All files with "id", "accountId", etc. fields
7*)
8
9(** Abstract identifier type *)
10type t
11
12(** {1 Constructors} *)
13
14(** Create an Id from a string.
15 @raise Invalid_argument if the string is empty or longer than 255 chars *)
16val of_string : string -> t
17
18(** {1 Accessors} *)
19
20(** Convert an Id to a string *)
21val to_string : t -> string
22
23(** {1 Comparison} *)
24
25(** Compare two Ids for equality *)
26val equal : t -> t -> bool
27
28(** Compare two Ids *)
29val compare : t -> t -> int
30
31(** Hash an Id *)
32val hash : t -> int
33
34(** {1 JSON Conversion} *)
35
36(** Parse an Id from JSON *)
37val of_json : Ezjsonm.value -> t
38
39(** Convert an Id to JSON *)
40val to_json : t -> Ezjsonm.value