package data-encoding
Library of JSON and binary encoding combinators
Install
Dune Dependency
Authors
Maintainers
Sources
data-encoding-v0.6.tar.gz
md5=c0c288d30b791a83a2c6fde0e2282cc0
sha512=443f3e4e53c26b87ba519affc43692385f413112aeac04ddc3ff39ef555a6218439eefe1d3d0e472f3fba20f19b79b3b0ca0794f2716b663b795eff6b1de938b
Description
Published: 13 Jul 2022
README
Data-encoding
A library for encoding and decoding data. It offers a great degree of control over the layout of data. It supports json and binary serialisation/deserialisation.
Usage
For a type t
, you can use the library's combinators to build an encoding t encoding
. You can then use the various reading/writing functions with this encoding to serialise and deserialise values of the type t
.
Example:
open Data_encoding
type t = (string * int) list
let encoding = list (tup2 string int31)
let v = [("foo", 32); ("bar", 0)]
let j = Json.construct encoding v
let w = Json.destruct encoding j
let () = assert (v = w)
Tutorial
A full tutorial is available in markdown form in src/tutorial.md
and the generated html is hosted on https://nomadic-labs.gitlab.io/data-encoding/data-encoding/Data_encoding/tutorial.html.
Build and Install
data-encoding
can be built from source using dune
:
dune build
or installed directly from opam
:
opam install data-encoding
Dependencies (10)
- ppx_hash
- either
-
json-data-encoding-bson
>= "0.11"
-
json-data-encoding
>= "0.11"
-
hex
>= "1.3.0"
- zarith_stubs_js
-
zarith
>= "1.4"
- ezjsonm
-
dune
>= "2.0"
-
ocaml
>= "4.10"
Dev Dependencies (5)
-
js_of_ocaml-compiler
with-test
-
odoc
with-doc
-
ppx_expect
with-test
-
crowbar
>= "0.2" & with-test
-
alcotest
with-test
Used by (29)
-
octez-codec
< "16.0"
-
osnap
>= "0.3.0"
- plebeia
-
ppx_pbt
>= "0.2.1"
-
scaml
>= "1.5.0"
-
tezos-baking-013-PtJakart
>= "14.0"
- tezos-baking-014-PtKathma
-
tezos-baking-015-PtLimaPt
< "16.0"
-
tezos-baking-alpha
>= "14.0" & < "16.0"
-
tezos-base
>= "14.0" & < "16.0"
-
tezos-bls12-381-polynomial
< "1.0.0"
-
tezos-client-commands
>= "14.0" & < "16.0"
-
tezos-codec
>= "14.0"
-
tezos-crypto
>= "14.0" & < "16.0"
-
tezos-crypto-dal
< "16.0"
-
tezos-error-monad
>= "14.0" & < "16.0"
-
tezos-event-logging
>= "14.0" & < "16.0"
-
tezos-event-logging-test-helpers
>= "14.0" & < "16.0"
-
tezos-hacl
>= "14.0" & < "16.0"
-
tezos-micheline
>= "14.0" & < "16.0"
-
tezos-plompiler
< "1.0.0"
- tezos-plonk
-
tezos-protocol-environment
>= "14.0" & < "16.0"
-
tezos-rpc
>= "14.0" & < "16.0"
-
tezos-sapling
>= "14.0" & < "16.0"
-
tezos-scoru-wasm
< "16.0"
-
tezos-stdlib-unix
>= "14.0" & < "16.0"
-
tezos-test-helpers
>= "14.0" & < "16.0"
-
tezos-tree-encoding
< "16.0"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page