package data-encoding
Library of JSON and binary encoding combinators
Install
Dune Dependency
Authors
Maintainers
Sources
data-encoding-v1.0.1.tar.gz
md5=82d6e7783274595c82cff4562e2b06a2
sha512=df5d00dfef8afeada8a6aee2a97d491a2ce20cfe90aed203848f6098ba05ba60e2ee9d1afc0c6c07cf32dad3f8e34c0b55cf900ef1f2e7a72d704f07fd32e651
Description
Published: 21 Mar 2024
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 build
or installed directly from opam
:
opam install data-encoding
Dependencies (12)
- ppx_hash
-
bigstringaf
>= "0.6.1"
- either
- ppx_expect
-
json-data-encoding-bson
= version
-
json-data-encoding
= version
-
hex
>= "1.3.0"
-
zarith_stubs_js
>= "v0.16.1"
-
zarith
>= "1.4"
-
ezjsonm
>= "1.1.0"
-
dune
>= "3.0"
-
ocaml
>= "4.10"
Dev Dependencies (7)
-
conf-npm
with-test
-
js_of_ocaml-compiler
with-test
-
md2mld
with-test
-
odoc
with-doc
-
ocamlformat
= "0.24.1" & with-doc
-
crowbar
>= "0.2" & with-test
-
alcotest
>= "1.0.0" & with-test
Used by (23)
- compsort
-
octez-codec
>= "20.1"
-
octez-l2-libs
>= "20.1"
-
octez-libs
>= "20.1"
-
octez-proto-libs
>= "20.1"
-
octez-protocol-018-Proxford-libs
>= "20.1"
- octez-protocol-019-PtParisB-libs
- octez-protocol-020-PsParisC-libs
-
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-PsParisC
-
octez-smart-rollup-node-PtNairob
>= "20.1"
- octez-smart-rollup-node-PtParisB
-
osnap
>= "0.3.0"
- plebeia
-
ppx_pbt
>= "0.2.1"
-
scaml
>= "1.5.0"
-
tezos-benchmark
>= "20.1"
-
tezos-bls12-381-polynomial
< "1.0.0"
-
tezos-plompiler
< "1.0.0"
- tezos-plonk
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page