package data-encoding
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Library of JSON and binary encoding combinators
Install
dune-project
Dependency
Authors
Maintainers
Sources
data-encoding-v0.7.1.tar.gz
md5=a1a36b7ed3e4e17f751462ff54cf1c6f
sha512=93cbec5d3d3828b5368203b76af543c491d545e7d2200a050996289dc705b43ad025bc2e3201a8b1240ea3e2609f4abba9000ea15c53b84294f0cf3bfd89a92d
Description
Published: 14 Nov 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.
It is available online on ocaml.org's package documentation and on data-encoding's own online documentation.
Build and Install
data-encoding can be built from source using dune:
dune buildor installed directly from opam:
opam install data-encoding
Dependencies (10)
- ppx_hash
- either
-
json-data-encoding-bson
>= "0.12" & < "0.13" -
json-data-encoding
>= "0.12" & < "0.13" -
hex
>= "1.3.0" - zarith_stubs_js
-
zarith
>= "1.4" - ezjsonm
-
dune
>= "2.0" -
ocaml
>= "4.10"
Dev Dependencies (7)
-
js_of_ocaml-compiler
with-test -
md2mld
with-test -
odoc
with-doc -
ocamlformat
= "0.20.1" & with-doc -
ppx_expect
with-test -
crowbar
>= "0.2" & with-test -
alcotest
with-test
Used by (40)
-
octez-codec
< "20.1" -
octez-l2-libs
< "20.1" -
octez-libs
< "20.1" - octez-plonk
-
octez-proto-libs
< "20.1" -
octez-protocol-017-PtNairob-libs
< "20.1" -
octez-protocol-018-Proxford-libs
< "20.1" -
octez-protocol-alpha-libs
< "20.1" -
octez-shell-libs
< "20.1" -
octez-smart-rollup-node-alpha
< "20.1" -
octez-smart-rollup-node-Proxford
< "20.1" - octez-smart-rollup-node-PtMumbai
-
octez-smart-rollup-node-PtNairob
< "20.1" -
osnap
>= "0.3.0" - plebeia
-
ppx_pbt
>= "0.2.1" - tezos-baking-015-PtLimaPt
- tezos-baking-016-PtMumbai
- tezos-baking-017-PtNairob
- tezos-baking-alpha
-
tezos-base
>= "16.0" -
tezos-benchmark
< "20.1" -
tezos-bls12-381-polynomial
< "1.0.0" - tezos-client-commands
-
tezos-crypto
>= "16.0" - tezos-crypto-dal
-
tezos-error-monad
>= "16.0" -
tezos-event-logging
>= "16.0" -
tezos-event-logging-test-helpers
>= "16.0" - tezos-hacl
-
tezos-micheline
>= "16.0" -
tezos-plompiler
< "1.0.0" - tezos-plonk
- tezos-protocol-environment
-
tezos-rpc
>= "16.0" - tezos-sapling
- tezos-scoru-wasm
-
tezos-stdlib-unix
>= "16.0" -
tezos-test-helpers
>= "16.0" - tezos-tree-encoding
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page