package orsetto
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=e260412b2dd0f98cfe3dc7ed5c31a694eb31c93cd207c51fa12675b790234ee0ad3bf07d9be17a4dc266fedfe55b14c967cad7bc0c9414063eef8afd59f3d0d1
doc/orsetto.json/Json_event/index.html
Module Json_event
JavaScript Object Notation (JSON) events.
Overview
As defined in ECMA-404 and RFC 8259, a JSON text is a sequence of Unicode characters conforming to a formally defined grammar comprising structured data.
This module provides a safe interface for constructing valid JSON events used by the scanners and emitters defined in Json_scan
and Json_emit
.
Types
The type of sequencing signals.
type t = private
| Space
| Null
| False
| True
| Zero
| Integer of int
| Int64 of int64
| Float of float
| String of Ucs_text.t
| Signal of signal
The private type of JSON events.
Equivalence relation
include Cf_relations.Equal with type t := t
Constructors
val space : t
The distinguished "space" event.
val null : t
The distinguished "null" event.
val boolean : bool -> t
Use boolean b
to select either the distinguished "true" or "false" event according to b
.
val zero : t
The distinguished numeric zero event.
val integer : int -> t
Use integer n
to make a numeric event Integer n
, or Zero
in the special case that n = 0
.
val int64 : int64 -> t
Use int64 n
to make a numeric event Int64 n
, Integer n
or Zero
in the special case that n = 0
.
val float : float -> t
Use float n
to make a numeric event representing n
. If n
is a zero, then the result is Zero
. Otherwise if the value of n
can be represented as an OCaml integer without overflow or truncation, then the result is Integer (Float.to_int n)
. Otherwise, if n
is a number and is not an infinity, then Float n
is the result. Finally, in the cases where n
is an infinity or not a number, raises Invalid_argument
.
val string : Ucs_text.t -> t
Use string t
to make String t
.