My agentic slop goes here. Not intended for anyone else!
1(** JSON utility functions for working with Ezjsonm.
2
3 This module provides convenience combinators that combine common
4 Ezjsonm operations. Most functions are thin wrappers that combine
5 find/get operations or provide Option-based error handling. *)
6
7(** {2 Finding values by path}
8
9 These combine [Ezjsonm.find] with type extraction functions. *)
10
11val find_string : Ezjsonm.value -> string list -> string
12val find_int : Ezjsonm.value -> string list -> int
13val find_bool : Ezjsonm.value -> string list -> bool
14val find_float : Ezjsonm.value -> string list -> float
15
16val find_string_opt : Ezjsonm.value -> string list -> string option
17val find_int_opt : Ezjsonm.value -> string list -> int option
18val find_bool_opt : Ezjsonm.value -> string list -> bool option
19val find_float_opt : Ezjsonm.value -> string list -> float option
20
21(** {2 Association list operations} *)
22
23val assoc_string : string -> (string * Ezjsonm.value) list -> string
24val assoc_int : string -> (string * Ezjsonm.value) list -> int
25val assoc_bool : string -> (string * Ezjsonm.value) list -> bool
26val assoc_float : string -> (string * Ezjsonm.value) list -> float
27
28val assoc_string_opt : string -> (string * Ezjsonm.value) list -> string option
29val assoc_int_opt : string -> (string * Ezjsonm.value) list -> int option
30val assoc_bool_opt : string -> (string * Ezjsonm.value) list -> bool option
31val assoc_float_opt : string -> (string * Ezjsonm.value) list -> float option
32
33(** {2 Object field operations}
34
35 Direct field access without needing to build paths. *)
36
37(** Alias for [Ezjsonm.get_dict] *)
38val get_fields : Ezjsonm.value -> (string * Ezjsonm.value) list
39
40val get_field : Ezjsonm.value -> string -> Ezjsonm.value
41val get_field_opt : Ezjsonm.value -> string -> Ezjsonm.value option
42
43val get_field_string : Ezjsonm.value -> string -> string
44val get_field_int : Ezjsonm.value -> string -> int
45val get_field_bool : Ezjsonm.value -> string -> bool
46val get_field_float : Ezjsonm.value -> string -> float
47
48val get_field_string_opt : Ezjsonm.value -> string -> string option
49val get_field_int_opt : Ezjsonm.value -> string -> int option
50val get_field_bool_opt : Ezjsonm.value -> string -> bool option
51val get_field_float_opt : Ezjsonm.value -> string -> float option