{
  "_from": "purepack@1.0.1",
  "_id": "purepack@1.0.1",
  "_location": "/keybase/purepack",
  "_phantomChildren": {},
  "_requiredBy": [
    "/keybase",
    "/keybase/framed-msgpack-rpc"
  ],
  "_resolved": "https://registry.npmjs.org/purepack/-/purepack-1.0.1.tgz",
  "_shasum": "9592f35bc22279a777885d3de04acc3555994f68",
  "_shrinkwrap": null,
  "bugs": {
    "url": "https://github.com/maxtaco/purepack/issues"
  },
  "dependencies": {},
  "description": "A browserify, Pure JS implementation of msgpack spec v5",
  "devDependencies": {
    "browserify": "*",
    "colors": "*",
    "deep-equal": "*",
    "iced-coffee-script": "*",
    "iced-test": "*",
    "iced-utils": "*",
    "icsify": "*",
    "msgpack": "*",
    "optimist": "*"
  },
  "directories": {
    "lib": "lib"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "homepage": "https://github.com/maxtaco/purepack",
  "licenses": [
    {
      "type": "MIT",
      "url": "http://www.opensource.org/licenses/mit-license.php"
    }
  ],
  "main": "lib/main",
  "name": "purepack",
  "optionalDependencies": {},
  "readme": "purepack\n========\n\nA pure CoffeeScript implemented of Msgpack.\n\nWe've made one addition to the spec.  When reserved byte `0xc4` prefaces\na raw string, the subsequent value is to be interepreted as raw bytes, and\nnot a UTF-8 string.\n\nTo force this behavior on the packing side, feed a Uint8Array to the packer\n(instead of a regular string).  Uint8Arrays will automatically be returned\nfrom unpacking.\n\n## Install\n\n    npm install purepack\n\n## Where To Use it\n\nTested and works with [browserify](https://github.com/substack/node-browserify), so\nit's useful for packing and unpacking structures on the browser-side.  It also works\nserver-side in `node` processes.  In either case, it finds the fastest buffer\nobjects at its disposal to give you the best performance possible.\n\n## API\n\n### purepack.pack(obj,encoding,opts)\n\nPack an object `obj`.\n\n##### encoding\n\nAfter packing, output the result according to the given encoding.  Encodings include\n\n* `buffer` — Output as a `buffer.Buffer` on node, or a `Uint8Array` buffer in a browser\n* `base64` — Output as a standard base64-encoded string (with `+` and `/` outputs at positions 62 and 63)\n* `base64a` — Output as base64-encoding, with `@` and `_` characters rather than\nthe `+` and `/` characters.  Better for URLs.\n* `base64x` — Output as base64-encoding, with `+` and `-` characters rather than\nthe `+` and `/` characters.  Better for filenames.\n* `base32` — [sfs](https://github.com/okws/sfslite)-style base32-encoding\n* `hex` — Standard base16/hex encoding\n* `binary` — Output as a binary string. Beware, UTF-8 problems ahead!\n* `ui8a` — Synonym for `buffer` on the browser, or output to a `Uint8Array` on node.\n\n##### opts\n\nThere are two options currently supported, off by default:\n\n* `floats` — Use floats rather than doubles when encoding.  Useful when saving space\n* `byte_arrays` — Encode Uint8Arrays differently from UTF-8 strings, using the `0xc4`\nprefix described above.\n\n### purepack.unpack(obj,encoding)\n\nUnpack a packed object `obj`, which has been packed and encoded according to the \ngiven `encoding`.  See above for possibilities.  Returns a pair `[err,res]`.  `err`\nwill be `null` if the unpacking succeeded, or will be non-null and a description\nif there was an unpacking error. \n\n## Building\n\n    make setup\n    make\n\n## Testing\n\n    make setup\n    make\n    make test\n\nTesting will run a series of scripts on your machine using `node`.  It also will\nask you to visit a URL with whichever browsers you please to test `purepack` \nuse via `browserify` and with your browser's buffer objects.     ",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/maxtaco/purepack.git"
  },
  "scripts": {
    "test": "make test"
  },
  "version": "1.0.1"
}
