package ocf

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a t = {
  1. to_json : ?with_doc:bool -> 'a -> Yojson.Safe.t;
  2. from_json : ?def:'a -> Yojson.Safe.t -> 'a;
}
val make : (?with_doc:bool -> 'a -> Yojson.Safe.t) -> (?def:'a -> Yojson.Safe.t -> 'a) -> 'a t
val of_ok_error : (Yojson.Safe.t -> [ `Ok of 'a | `Error of 'b ]) -> Yojson.Safe.t -> 'a

of_ok_error f json applies f to json. If it returns `Ok x, then x is returned. Else invalid_value is called with the given json. This function is useful to wrap *_of_yojson functions generated by ppx_deriving_yojson.

val int : int t
val float : float t
val bool : bool t
val string : string t
val string_ : ('a -> string) -> (string -> 'a) -> 'a t
val list : 'a t -> 'a list t
val option : 'a t -> 'a option t
val pair : 'a t -> 'b t -> ('a * 'b) t
val triple : 'a t -> 'b t -> 'c t -> ('a * 'b * 'c) t
type assocs = (string * Yojson.Safe.t) list
val string_map : fold:((string -> 'a -> assocs -> assocs) -> 'map -> assocs -> assocs) -> add:(string -> 'a -> 'map -> 'map) -> empty:'map -> 'a t -> 'map t

To create a map from strings to 'a. This will be stored in JSON as

{ foo: ...,  bar: ..., ... } 

Here foo and bar are the keys in the resulting map. The Map.S.fold, Map.S.add and Map.S.empty functions can be used for parameters fold, add and empty.