(** JMAP SearchSnippet Type *) open Jmap_core (** SearchSnippet object type (RFC 8621 Section 5.1) *) type t = { email_id : Id.t; subject : string option; preview : string option; } (** Accessors *) val email_id : t -> Id.t val subject : t -> string option val preview : t -> string option (** Constructor *) val v : email_id:Id.t -> ?subject:string -> ?preview:string -> unit -> t (** SearchSnippet/get method *) module Get : sig type request = { account_id : Id.t; filter : Jmap_email.Filter.t Filter.t; email_ids : Id.t list; } type response = { account_id : Id.t; list : t list; not_found : Id.t list; } (** Accessors for request *) val account_id : request -> Id.t val filter : request -> Jmap_email.Filter.t Filter.t val email_ids : request -> Id.t list (** Constructor for request *) val request_v : account_id:Id.t -> filter:Jmap_email.Filter.t Filter.t -> email_ids:Id.t list -> request (** Accessors for response *) val response_account_id : response -> Id.t val list : response -> t list val not_found : response -> Id.t list (** Constructor for response *) val response_v : account_id:Id.t -> list:t list -> not_found:Id.t list -> response val request_of_json : Ezjsonm.value -> request val response_of_json : Ezjsonm.value -> response end (** Parser submodule *) module Parser : sig val of_json : Ezjsonm.value -> t val to_json : t -> Ezjsonm.value end