Revision fe4df0d515b42074484df2c816ad5a2b4b969ab7 authored by Raphaël Proust on 07 January 2022, 16:21:15 UTC, committed by Raphaël Proust on 20 January 2022, 15:33:12 UTC
1 parent 98a1de8
README.md
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
```
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...