• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

lib/H02-Feb-2018-1,051847

test/H02-Feb-2018-431341

.gitignoreH A D02-Feb-201839 65

.travis.ymlH A D02-Feb-2018164 139

CHANGELOG.mdH A D02-Feb-20181.3 KiB3823

LICENSEH A D02-Feb-2018750 1411

README.mdH A D02-Feb-20182.1 KiB4732

mix.exsH A D02-Feb-2018907 3831

mix.lockH A D02-Feb-2018511 43

README.md

1# Msgpax
2
3[![Build Status](https://travis-ci.org/lexmag/msgpax.svg)](https://travis-ci.org/lexmag/msgpax)
4[![Hex Version](https://img.shields.io/hexpm/v/msgpax.svg)](https://hex.pm/packages/msgpax)
5
6This library provides an API for serializing and de-serializing Elixir terms using the [MessagePack](http://msgpack.org/) format.
7
8[Documentation is available online][docs].
9
10## Features
11
12* Packing and unpacking Elixir terms via [`Msgpax.pack/1`][docs-msgpax-pack-1] and [`Msgpax.unpack/1`][docs-msgpax-unpack-1] (and their `!` bang variants).
13* Unpacking of partial slices of MessagePack-encoded terms via [`Msgpax.unpack_slice/1`][docs-msgpax-unpack_slice-1].
14* Support for "Binary" and "Extension" MessagePack types via [`Msgpax.Bin`][docs-msgpax-bin] and [`Msgpax.Ext`][docs-msgpax-ext], respectively.
15* Protocol-based packing through the [`Msgpax.Packer`][docs-msgpax-packer] protocol, that can be derived for user-defined structs.
16* A [`Plug.Parsers`][docs-plug-parsers] plug ([`Msgpax.PlugParser`][docs-msgpax-plug-parser]) to parse requests with MessagePack-encoded bodies.
17
18A detailed table that shows the relationship between Elixir types and MessagePack types can be found in the [documentation for the `Msgpax` module][docs-msgpax].
19
20## Installation
21
22Add `:msgpax` as a dependency in your `mix.exs` file:
23
24```elixir
25def deps do
26  [{:msgpax, "~> 2.0"}]
27end
28```
29
30Then, run `mix deps.get` in your shell to fetch the new dependency.
31
32## License
33
34Msgpax is released under [the ISC license](LICENSE).
35
36
37[docs]: http://hexdocs.pm/msgpax
38[docs-msgpax]: https://hexdocs.pm/msgpax/Msgpax.html
39[docs-msgpax-pack-1]: http://hexdocs.pm/msgpax/Msgpax.html#pack/1
40[docs-msgpax-unpack-1]: http://hexdocs.pm/msgpax/Msgpax.html#unpack/1
41[docs-msgpax-unpack_slice-1]: http://hexdocs.pm/msgpax/Msgpax.html#unpack_slice/1
42[docs-msgpax-packer]: http://hexdocs.pm/msgpax/Msgpax.Packer.html
43[docs-msgpax-bin]: http://hexdocs.pm/msgpax/Msgpax.Bin.html
44[docs-msgpax-ext]: http://hexdocs.pm/msgpax/Msgpax.Ext.html
45[docs-msgpax-plug-parser]: http://hexdocs.pm/msgpax/Msgpax.PlugParser.html
46[docs-plug-parsers]: http://hexdocs.pm/msgpax/Plug.Parsers.html
47