An Email.t
is a list of headers along with unparsed content. Email_content.parse
can be used to work with the structured content of an email.
include sig ... end
val hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.state
val hash : t ‑> Base.Hash.hash_value
val sexp_of_t : t ‑> Base.Sexp.t
val create : headers:Email_message__.Headers.t ‑> raw_content:Email_message__.Email_raw_content.t ‑> t
val headers : t ‑> Email_message__.Headers.t
val set_headers : t ‑> Email_message__.Headers.t ‑> t
val modify_headers : t ‑> f:(Email_message__.Headers.t ‑> Email_message__.Headers.t) ‑> t
val raw_content : t ‑> Email_message__.Email_raw_content.t
val set_raw_content : t ‑> Email_message__.Email_raw_content.t ‑> t
val modify_raw_content : t ‑> f:(Email_message__.Email_raw_content.t ‑> Email_message__.Email_raw_content.t) ‑> t
val save : ?temp_file:string ‑> ?perm:Async.Unix.file_perm ‑> ?fsync:bool ‑> ?eol_except_raw_content:Email_message__.Lf_or_crlf.t ‑> t ‑> string ‑> unit Async.Deferred.t
Efficiently save t
to disk with little additional allocation.
?temp_file
, ?perm
, ?fsync
are blindly passed to Writer.with_file_atomic
val to_string_monoid : ?eol_except_raw_content:Email_message__.Lf_or_crlf.t ‑> t ‑> Email_message.String_monoid.t
String-builder-like module. Small-to-no memory overhead when unparsed.
val of_string : string ‑> t
val to_string : ?eol_except_raw_content:Email_message__.Lf_or_crlf.t ‑> t ‑> string
val to_bigstring : ?eol_except_raw_content:Email_message__.Lf_or_crlf.t ‑> t ‑> Core.Bigstring.t
val of_bigstring : Core.Bigstring.t ‑> t
val of_bigbuffer : Core.Bigbuffer.t ‑> t
include Core.Comparable.S_plain with type t := t
include Core_kernel__.Comparable_intf.S_common
include Base.Comparable.S
include Base__.Comparable_intf.Polymorphic_compare
ascending
is identical to compare
. descending x y = ascending y x
. These are
intended to be mnemonic when used like List.sort ~compare:ascending
and List.sort
~cmp:descending
, since they cause the list to be sorted in ascending or descending
order, respectively.
clamp_exn t ~min ~max
returns t'
, the closest value to t
such that
between t' ~low:min ~high:max
is true.
Raises if not (min <= max)
.
val clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.t
include Base.Comparator.S with type t := t
val comparator : (t, comparator_witness) Base.Comparator.comparator
include Base__.Comparable_intf.Validate with type t := t
val validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.check
val validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.check
val validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.check
module Replace_polymorphic_compare : Core_kernel__.Comparable_intf.Polymorphic_compare with type t := t
module Map : Core_kernel.Map.S_plain with type Key.t = t with type Key.comparator_witness = comparator_witness
module Set : Core_kernel.Set.S_plain with type Elt.t = t with type Elt.comparator_witness = comparator_witness
include Core.Hashable.S_plain with type t := t
include Core.Hashable.Common
include sig ... end
val compare : t ‑> t ‑> Core_kernel__.Import.int
val hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.state
val hash : t ‑> Base.Hash.hash_value
val hashable : t Core_kernel.Hashtbl.Hashable.t
module Table : Core_kernel.Hashtbl.S_plain with type key = t
module Hash_set : Core_kernel.Hash_set.S_plain with type elt = t
module Hash_queue : Core_kernel.Hash_queue.S with type Key.t = t
module Stable : sig ... end