(** JMAP Request Object *) (** Main request type *) type t = { using : Jmap_capability.t list; method_calls : Jmap_invocation.invocation_list; created_ids : (Jmap_id.t * Jmap_id.t) list option; } (** Accessors *) val using : t -> Jmap_capability.t list val method_calls : t -> Jmap_invocation.invocation_list val created_ids : t -> (Jmap_id.t * Jmap_id.t) list option (** Constructor *) val make : ?created_ids:(Jmap_id.t * Jmap_id.t) list option -> using:Jmap_capability.t list -> Jmap_invocation.invocation_list -> t (** Parser submodule *) module Parser : sig (** Parse request from JSON value *) val of_json : Ezjsonm.value -> t (** Parse request from JSON string *) val of_string : string -> t (** Parse request from input channel *) val of_channel : in_channel -> t end (** Serialization *) val to_json : t -> Ezjsonm.value