aboutsummaryrefslogtreecommitdiff
path: root/lib/render/emit_json.mli
blob: 91c8f48a5131a0251128a8d59b20fae0c06ac6ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
(* emit_json.mli *)
(** JSON writer. Hand-rolled: the dependency list is frozen (spec section 1),
    and writing JSON is a page of code where escaping is the only subtlety.
    Output shape is pinned by schema/day-v1.json, the published contract. *)

(** RFC 8259 section 7, including \u-escaping of control characters below 0x20.
    Returns the value WITH its surrounding quotes. Exposed for testing. *)
val escape_string : string -> string

val year : Template.value -> string