Pure OCaml Yaml 1.2 reader and writer using Bytesrw
at main 1.8 kB view raw
1(*--------------------------------------------------------------------------- 2 Copyright (c) 2025 Anil Madhavapeddy <anil@recoil.org>. All rights reserved. 3 SPDX-License-Identifier: ISC 4 ---------------------------------------------------------------------------*) 5 6(** YAML mapping (object) values with metadata *) 7 8type ('k, 'v) t 9 10val make : 11 ?anchor:string -> 12 ?tag:string -> 13 ?implicit:bool -> 14 ?style:Layout_style.t -> 15 ('k * 'v) list -> ('k, 'v) t 16(** Create a mapping *) 17 18(** {2 Accessors} *) 19 20val members : ('k, 'v) t -> ('k * 'v) list 21val anchor : ('k, 'v) t -> string option 22val tag : ('k, 'v) t -> string option 23val implicit : ('k, 'v) t -> bool 24val style : ('k, 'v) t -> Layout_style.t 25 26(** {2 Modifiers} *) 27 28val with_anchor : string -> ('k, 'v) t -> ('k, 'v) t 29val with_tag : string -> ('k, 'v) t -> ('k, 'v) t 30val with_style : Layout_style.t -> ('k, 'v) t -> ('k, 'v) t 31 32(** {2 Operations} *) 33 34val map_keys : ('k -> 'k2) -> ('k, 'v) t -> ('k2, 'v) t 35val map_values : ('v -> 'v2) -> ('k, 'v) t -> ('k, 'v2) t 36val map : ('k -> 'v -> 'k2 * 'v2) -> ('k, 'v) t -> ('k2, 'v2) t 37val length : ('k, 'v) t -> int 38val is_empty : ('k, 'v) t -> bool 39val find : ('k -> bool) -> ('k, 'v) t -> 'v option 40val find_key : ('k -> bool) -> ('k, 'v) t -> ('k * 'v) option 41val mem : ('k -> bool) -> ('k, 'v) t -> bool 42val keys : ('k, 'v) t -> 'k list 43val values : ('k, 'v) t -> 'v list 44val iter : ('k -> 'v -> unit) -> ('k, 'v) t -> unit 45val fold : ('a -> 'k -> 'v -> 'a) -> 'a -> ('k, 'v) t -> 'a 46 47(** {2 Comparison} *) 48 49val pp : 50 (Format.formatter -> 'k -> unit) -> 51 (Format.formatter -> 'v -> unit) -> 52 Format.formatter -> ('k, 'v) t -> unit 53val equal : ('k -> 'k -> bool) -> ('v -> 'v -> bool) -> ('k, 'v) t -> ('k, 'v) t -> bool 54val compare : ('k -> 'k -> int) -> ('v -> 'v -> int) -> ('k, 'v) t -> ('k, 'v) t -> int