Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
lib/ | H | 02-Feb-2018 | - | 1,051 | 847 | |
test/ | H | 02-Feb-2018 | - | 431 | 341 | |
.gitignore | H A D | 02-Feb-2018 | 39 | 6 | 5 | |
.travis.yml | H A D | 02-Feb-2018 | 164 | 13 | 9 | |
CHANGELOG.md | H A D | 02-Feb-2018 | 1.3 KiB | 38 | 23 | |
LICENSE | H A D | 02-Feb-2018 | 750 | 14 | 11 | |
README.md | H A D | 02-Feb-2018 | 2.1 KiB | 47 | 32 | |
mix.exs | H A D | 02-Feb-2018 | 907 | 38 | 31 | |
mix.lock | H A D | 02-Feb-2018 | 511 | 4 | 3 |
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