a-msgpack

A minimalistic NEAT (MessagePack based) encoder and decoder for JavaScript.

Usage no npm install needed!

<script type="module">
  import aMsgpack from 'https://cdn.skypack.dev/a-msgpack';
</script>

README

a-msgpack

MessagePack, but for Arista. This is based on the official msgpack library for JS (@msgpack/msgpack), but implements our specific NEAT protocol.

Installation

npm install a-msgpack

or

npm install a-msgpack

Usage

import { encode, decode, Codec } from 'a-msgpack';

const uint8array = msgpack.encode({ Dodgers: '#1', Astros: 'Cheaters' }, { extensionCodec: Codec });
const object = msgpack.decode(uint8array);

Browser Support

In the browser, a-msgpack requires the Encoding API to work a peak performance. If the Encoding API is unavailable, there is a fallback JS implementation.

Benchmarks

The lastest code benchmarks and profiling is stored in last-benchmark-results.txt. This also compares this implementation to other msgpack libraries. Note, that the decoding results should be comparable to @msgpack/msgpack, but encoding will be slower because NEAT requires that map keys be sorted by binary value.

License

MIT