package data-encoding

  1. Overview
  2. Docs
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

Dev Dependencies (5)

  1. js_of_ocaml-compiler with-test
  2. odoc with-doc
  3. ppx_expect with-test
  4. crowbar >= "0.2" & with-test
  5. alcotest with-test

Used by (29)

  1. octez-codec < "16.0"
  2. osnap >= "0.3.0"
  3. plebeia
  4. ppx_pbt >= "0.2.1"
  5. scaml >= "1.5.0"
  6. tezos-baking-013-PtJakart >= "14.0"
  7. tezos-baking-014-PtKathma
  8. tezos-baking-015-PtLimaPt < "16.0"
  9. tezos-baking-alpha >= "14.0" & < "16.0"
  10. tezos-base >= "14.0" & < "16.0"
  11. tezos-bls12-381-polynomial < "1.0.0"
  12. tezos-client-commands >= "14.0" & < "16.0"
  13. tezos-codec >= "14.0"
  14. tezos-crypto >= "14.0" & < "16.0"
  15. tezos-crypto-dal < "16.0"
  16. tezos-error-monad >= "14.0" & < "16.0"
  17. tezos-event-logging >= "14.0" & < "16.0"
  18. tezos-event-logging-test-helpers >= "14.0" & < "16.0"
  19. tezos-hacl >= "14.0" & < "16.0"
  20. tezos-micheline >= "14.0" & < "16.0"
  21. tezos-plompiler < "1.0.0"
  22. tezos-plonk
  23. tezos-protocol-environment >= "14.0" & < "16.0"
  24. tezos-rpc >= "14.0" & < "16.0"
  25. tezos-sapling >= "14.0" & < "16.0"
  26. tezos-scoru-wasm < "16.0"
  27. tezos-stdlib-unix >= "14.0" & < "16.0"
  28. tezos-test-helpers >= "14.0" & < "16.0"
  29. tezos-tree-encoding < "16.0"

Conflicts

None

OCaml

Innovation. Community. Security.