Module Streamlines.Properties.Properties

type t = {
mutable jsons : Json.json list;
}

t type structure of Properties, just a list of json currently

The JSON files are kept in the list 'least relevant' first - hence the 'defaults.json' is first on the list.

val create : 'a ‑> t

create _

Create an instance of the Properites 't' structure

val read_json : t ‑> string list ‑> string ‑> unit

read_json t path leaf

Add a new JSON file given by path and leaf, whose contents override those of earlier JSON files supplied. Any property not specified by the new JSON file, though, is fetched from the previous files.

val iter_jsons : t ‑> (Json.json ‑> unit) ‑> unit

iter_jsons t f

Iterate over all the JSONs, applying f to each, with later invocations required to override the earlier invocations.