Json_emit.OpaqueA submodule containing logic for emitting JSON texts from values of type Cf_type.opaque according to optional mode selectors.
val mode : unit -> modeUse mode () to create a mode selector record for the opaque value emitter. Use any of the various optional parameters to set a mode selector to other than its default value.
No selector modes are defined at present.
val value : ?mode:mode -> unit -> Cf_type.opaque tUse value () to create an opaque value emitter. The following table describes the runtime type indications required for values emitted.
Cf_type.UnitCf_type.BoolCf_type.Int or Cf_type.FloatCf_type.String or Ucs_type.TextCf_type.(Seq Opaque)Cf_type.(Seq (Pair (Opaque, Opaque))Use the ~mode parameter to select modes other than the default. Raises Invalid_argument if the witnessed type is not valid for output as a JSON value.
Note well: the first opaque value of each pair element in an object value must be witness either by Ucs_type.Text or Cf_type.String.
val to_text : ?mode:mode -> Cf_type.opaque -> Ucs_text.tUse to_text v to format v as a Unicode text. Use ~mode to select the encoding modes. Raises Invalid_argument if v was not witnessed with a type compatible with JSON encoding.