Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A pure CoffeeScript implementation of Msgpack
JavaScript CoffeeScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bench
lib
src
test
.gitignore
.travis.yml
Makefile
README.md
SIGNED.md
package.json

README.md

purepack

A pure CoffeeScript implementation of Msgpack.

build status

Install

npm install purepack

Where To Use it

Tested and works with browserify, so it's useful for packing and unpacking structures on the browser-side. It also works server-side in node processes. In either case, it finds the fastest buffer objects at its disposal to give you the best performance possible.

API

purepack.pack(obj,opts)

Pack an object obj. Return a Buffer object.

opts

Options currently supported, off by default:

  • floats — Use floats rather than doubles when encoding. Useful when saving space
  • sort_keys - Sort the keys of maps on outputs, so that purepack output can be compared in hashes.
  • ext - An 'extensible-type' function.
  • no_str8 - Don't use 8-bit string encodings, to maintain compatibility with older msgpacks.

purepack.unpack(buf,opts)

Unpack a packed Buffer buf. Throws errors if there were underruns, or bad encodings.

opts

Currently support options are:

  • ext - An extensible-type function that given a [type,buf] tuple, returns an object. Can throw an error if needs be.
  • no_ext - If no ext option is given, we plug in a default, stupid-ish ext function. Supply this flag if you don't want that.

Building

make setup
make

Testing

make setup
make
make test

Testing will run a series of scripts on your machine using node. It also will ask you to visit a URL with whichever browsers you please to test purepack use via browserify and with your browser's buffer objects.

Something went wrong with that request. Please try again.