Jsont.Array
Mapping JSON arrays.
The type for specifying array encoding functions. A function to fold over the elements of type 'elt
of the array of type 'array
.
The type for mapping JSON arrays with elements of type 'elt
to arrays of type 'array
using values of type 'builder
to build them.
val map :
?kind:string ->
?doc:string ->
?dec_empty:(unit -> 'builder) ->
?dec_skip:(int -> 'builder -> bool) ->
?dec_add:(int -> 'elt -> 'builder -> 'builder) ->
?dec_finish:(Meta.t -> int -> 'builder -> 'array) ->
?enc:('array, 'elt) enc ->
?enc_meta:('array -> Meta.t) ->
'elt t ->
('array, 'elt, 'builder) map
map elt
maps JSON arrays of type 'elt
to arrays of type 'array
built with type 'builder
.
kind
names the entities represented by the map and doc
documents them. Both default to ""
.dec_empty ()
is used to create a builder for the empty array. Can be omitted if the map is only used for encoding, the default unconditionally errors.dec_skip i b
is used to skip the i
th index of the JSON array. If true
, the element is not decoded with elt
and not added with dec_add
but skipped. The default always returns false
.dec_add i v
is used to add the i
th JSON element v
$ decoded by elt
to the builder b
. Can be omitted if the map is only used for encoding, the default unconditionally errors.dec_finish b
converts the builder to the final array. Can be omitted if the map is only used for encoding, the default unconditionally errors.enc.enc f acc a
folds over the elements of array a
in increasing order with f
and starting with acc
. This function is used to encode a
to a JSON array. Can be omitted if the map is only used for decoding, the default unconditionally errors.enc_meta a
is the metadata to use for encoding v
to a JSON array. Default returns Meta.none
.val list_map :
?kind:string ->
?doc:string ->
?dec_skip:(int -> 'a list -> bool) ->
'a t ->
('a list, 'a, 'a list) map
list_map elt
maps JSON arrays with elements of type elt
to list
values. See also Jsont.list
.
val array_map :
?kind:string ->
?doc:string ->
?dec_skip:(int -> 'a array_builder -> bool) ->
'a t ->
('a array, 'a, 'a array_builder) map
array_map elt
maps JSON arrays with elements of type elt
to array
values. See also Jsont.array
.
val bigarray_map :
?kind:string ->
?doc:string ->
?dec_skip:(int -> ('a, 'b, 'c) bigarray_builder -> bool) ->
('a, 'b) Stdlib.Bigarray.kind ->
'c Stdlib.Bigarray.layout ->
'a t ->
(('a, 'b, 'c) Stdlib.Bigarray.Array1.t, 'a, ('a, 'b, 'c) bigarray_builder)
map
bigarray k l elt
maps JSON arrays with elements of type elt
to bigarray values of kind k
and layout l
. See also Jsont.bigarray
.
array map
maps with map
JSON arrays to values of type 'a
. See the the array combinators.
val ignore : unit t
ignore
ignores JSON arrays on decoding and errors on encoding.
val zero : unit t
zero
ignores JSON arrays on decoding and encodes an empty array.