package data-encoding

  1. Overview
  2. Docs
Library of JSON and binary encoding combinators

Install

Dune Dependency

Authors

Maintainers

Sources

data-encoding-v0.4.tar.gz
md5=7b687e25619637d40d2bbcd2c21b00c2
sha512=65e33b1a56e9058a2e9c7f3dc18cb72c21270e0e5b9584fe856285d16e4cb8e98adac826373d4109a5e080486ec31cdd9870b402249ac5d55c7b0de6ffb68b0a

Description

Published: 02 Jun 2021

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)

Build and Install

data-encoding can be built from source using dune:

dune build

or installed directly from opam:

opam install data-encoding

Dependencies (7)

  1. json-data-encoding-bson >= "0.9.1"
  2. json-data-encoding >= "0.9.1"
  3. hex >= "1.3.0"
  4. zarith >= "1.4"
  5. ezjsonm
  6. dune >= "1.11"
  7. ocaml >= "4.08"

Dev Dependencies (3)

  1. ocamlformat = "0.15.0" & dev
  2. crowbar >= "0.2" & with-test
  3. alcotest with-test

Used by (9)

  1. orgeat
  2. osnap >= "0.3.0"
  3. plebeia < "2.0.0"
  4. ppx_pbt >= "0.2.1"
  5. scaml >= "1.5.0"
  6. tezos-bls12-381-polynomial < "1.0.0"
  7. tezos-error-monad >= "11.0" & < "13.0"
  8. tezos-plompiler < "1.0.0"
  9. tezos-plonk

Conflicts

None