package data-encoding

All checked builds pass
  1. Overview
  2. Docs
Library of JSON and binary encoding combinators

Install

dune-project
 Dependency

Authors

Maintainers

Sources

data-encoding-v1.0.1.tar.gz
md5=82d6e7783274595c82cff4562e2b06a2
sha512=df5d00dfef8afeada8a6aee2a97d491a2ce20cfe90aed203848f6098ba05ba60e2ee9d1afc0c6c07cf32dad3f8e34c0b55cf900ef1f2e7a72d704f07fd32e651

Description

Added to opam-repository:

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)

  1. ppx_hash
  2. bigstringaf >= "0.6.1"
  3. either
  4. ppx_expect
  5. json-data-encoding-bson = version
  6. json-data-encoding = version
  7. hex >= "1.3.0"
  8. zarith_stubs_js >= "v0.16.1"
  9. zarith >= "1.4"
  10. ezjsonm >= "1.1.0"
  11. dune >= "3.0"
  12. ocaml >= "4.10"

Dev Dependencies (7)

  1. conf-npm with-test
  2. js_of_ocaml-compiler with-test
  3. md2mld with-test
  4. odoc with-doc
  5. ocamlformat = "0.24.1" & with-doc
  6. crowbar >= "0.2" & with-test
  7. alcotest >= "1.0.0" & with-test

Optional Dependencies

None

Used by (5)

  1. bin >= "0.1.0"
  2. compsort
  3. osnap >= "0.3.0"
  4. plebeia
  5. ppx_pbt >= "0.2.1"

Conflicts

None

Build status

Results of building data-encoding with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
1.0.1 (this version) n/a good good good good
1.0.0 good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure