package orsetto
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=9b654edb663ae697563f150824047052f3b1bf760398f24bce6350553f031f73c46b6337239a1acd871e61238597ea92046809e3358290ff14d6ba671b449085
doc/orsetto.cbor/Cbor_decode/String_map/index.html
Module Cbor_decode.String_map
A record module with text indexes.
type field =
| Required : {
nym : 'a Cf_type.nym;
scan : 'a Annot.form t;
} -> field
(*A field of the named type is required.
*)| Optional : {
nym : 'a Cf_type.nym;
scan : 'a Annot.form t;
} -> field
(*A field of the named type is optional.
*)| Default : {
nym : 'a Cf_type.nym;
scan : 'a Annot.form t;
default : 'a;
} -> field
(*A field of the named type is optional with a default value.
*)
Field descriptor type. A schema contains a map of indexes to values of this type, which indicate whether the field is required or optional, along with a description of the type of the field value and a scanner for values of that type.
Use schema fields
to make a record schema for scanning records according to fields
. If ~ignore:(n, p)
is provided, then as many as n
unrecognized fields are scanned according to p
and their values are discarded.
val range : schema -> int * int
Use range schema
to get the minimum and maximum number of fields that can be processed by scanning with schema
.
Use scan schema
to scan a record according to schema
producing a pack value containing all the values in the record.
val unpack : pack -> string -> 'a Cf_type.nym -> 'a Annot.form
Use unpack pack index nym
to unpack from pack
the value for the field named by index
with the type nym
.
Note well: fields with Optional type in the schema are packed with the corresponding Cf_type.Option
type nym, and the unpacked value is either Some v
if the field is present in the scanned record, or None
if the field was not present.