Module Kojson_pattern.Ka

module Ka: sig .. end
Patterns for Matching Labelled Collections of JSON Trees. These combine patterns indexed by labels into patterns which match the remainder of an association.

val any : Kojson.jain -> (string * Kojson.json) list
any matches any remaining bindings and returns them.
val drop : string list -> Kojson.jain -> Kojson.jain
drop ls removes the labels ls.
val empty : 'a -> Kojson.jain -> 'a
empty x matches the empty association and returns x.
val stop : 'a -> Kojson.jain -> 'a
stop x matches any association and returns x, but warns about present labels.
val fold : (string -> Kojson.jin -> 'a -> 'a) -> Kojson.jain -> 'a -> 'a
fold f matches any association such that f lᵢ matches the value vᵢ bound to lᵢ for each label. The composition f lₙ vₙ ∘ ⋯ ∘ f l₁ v₁ is returned.
val iter : (string -> Kojson.jin -> unit) -> Kojson.jain -> unit
iter f matches any association such that f lᵢ matches the value vᵢ bound to lᵢ for each label.
val map : (string -> Kojson.jin -> 'a) -> Kojson.jain -> 'a list
map f matches any association such that f lᵢ matches the value vᵢ bound to lᵢ for each label. The list [f l₁ v₁; …; f lₙ vₙ] is returned.
val first : (Kojson.jain -> 'a) list -> Kojson.jain -> 'a
first_assoc [f₁; …; fₙ] matches an association which is matched by fᵢ for some i, and returns the result of the first match.