package orsetto
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=9b654edb663ae697563f150824047052f3b1bf760398f24bce6350553f031f73c46b6337239a1acd871e61238597ea92046809e3358290ff14d6ba671b449085
doc/orsetto.json/Json_emit/Opaque/index.html
Module Json_emit.Opaque
A submodule containing logic for emitting JSON texts from values of type Cf_type.opaque
according to optional mode selectors.
val mode : unit -> mode
Use 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 t
Use value ()
to create an opaque value emitter. The following table describes the runtime type indications required for values emitted.
- null:
Cf_type.Unit
- boolean:
Cf_type.Bool
- number:
Cf_type.Int
orCf_type.Float
- string:
Cf_type.String
orUcs_type.Text
- array:
Cf_type.(Seq Opaque)
- object:
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.t
Use 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.