{"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"keywords":["bser","binary","protocol"],"dist-tags":{"latest":"2.0.0"},"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"description":"JavaScript implementation of the BSER Binary Serialization","readme":"# BSER Binary Serialization\n\nBSER is a binary serialization scheme that can be used as an alternative to JSON.\nBSER uses a framed encoding that makes it simpler to use to stream a sequence of\nencoded values.\n\nIt is intended to be used for local-IPC only and strings are represented as binary\nwith no specific encoding; this matches the convention employed by most operating\nsystem filename storage.\n\nFor more details about the serialization scheme see\n[Watchman's docs](https://facebook.github.io/watchman/docs/bser.html).\n\n## API\n\n```js\nvar bser = require('bser');\n```\n\n### bser.loadFromBuffer\n\nThe is the synchronous decoder; given an input string or buffer,\ndecodes a single value and returns it.  Throws an error if the\ninput is invalid.\n\n```js\nvar obj = bser.loadFromBuffer(buf);\n```\n\n### bser.dumpToBuffer\n\nSynchronously encodes a value as BSER.\n\n```js\nvar encoded = bser.dumpToBuffer(['hello']);\nconsole.log(bser.loadFromBuffer(encoded)); // ['hello']\n```\n\n### BunserBuf\n\nThe asynchronous decoder API is implemented in the BunserBuf object.\nYou may incrementally append data to this object and it will emit the\ndecoded values via its `value` event.\n\n```js\nvar bunser = new bser.BunserBuf();\n\nbunser.on('value', function(obj) {\n  console.log(obj);\n});\n```\n\nThen in your socket `data` event:\n\n```js\nbunser.append(buf);\n```\n\n## Example\n\nRead BSER from socket:\n\n```js\nvar bunser = new bser.BunserBuf();\n\nbunser.on('value', function(obj) {\n  console.log('data from socket', obj);\n});\n\nvar socket = net.connect('/socket');\n\nsocket.on('data', function(buf) {\n  bunser.append(buf);\n});\n```\n\nWrite BSER to socket:\n\n```js\nsocket.write(bser.dumpToBuffer(obj));\n```\n","repository":{"type":"git","url":"git+https://github.com/facebook/watchman.git"},"users":{"chinawolf_wyp":true},"bugs":{"url":"https://github.com/facebook/watchman/issues"},"license":"Apache-2.0","versions":{"1.0.0":{"name":"bser","version":"1.0.0","description":"JavaScript implementation of the BSER Binary Protocol","main":"index.js","directories":{"test":"test"},"scripts":{"test":"node test/bser.js"},"repository":{"type":"git","url":"https://github.com/facebook/bser.js"},"keywords":["bser","binary","protocol"],"author":{"name":"wez"},"license":"BSD-2-Clause","bugs":{"url":"https://github.com/facebook/bser.js/issues"},"homepage":"https://github.com/facebook/bser.js","dependencies":{"node-int64":"^0.4.0"},"gitHead":"57f16766487a5d6976aa8105afa25fcc1bf27e35","_id":"bser@1.0.0","_shasum":"380ce5c7c2efe37723eb6cbe0a4ad871e7119d01","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"amasad","email":"amjad.masad@gmail.com"},"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"}],"dist":{"shasum":"380ce5c7c2efe37723eb6cbe0a4ad871e7119d01","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/bser/-/bser-1.0.0.tgz"}},"1.0.1":{"name":"bser","version":"1.0.1","description":"JavaScript implementation of the BSER Binary Protocol","main":"index.js","directories":{"test":"test"},"scripts":{"test":"node test/bser.js"},"repository":{"type":"git","url":"https://github.com/facebook/watchman"},"keywords":["bser","binary","protocol"],"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"license":"Apache-2.0","bugs":{"url":"https://github.com/facebook/watchman/issues"},"homepage":"https://facebook.github.io/watchman/docs/bser.html","dependencies":{"node-int64":"^0.4.0"},"_id":"bser@1.0.1","_shasum":"fbc65cfcb03c19d39fef47360c41fc0799615133","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"amasad","email":"amjad.masad@gmail.com"},"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"fbc65cfcb03c19d39fef47360c41fc0799615133","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/bser/-/bser-1.0.1.tgz"}},"1.0.2":{"name":"bser","version":"1.0.2","description":"JavaScript implementation of the BSER Binary Serialization","main":"index.js","directories":{"test":"test"},"scripts":{"test":"node test/bser.js"},"repository":{"type":"git","url":"git+https://github.com/facebook/watchman.git"},"keywords":["bser","binary","protocol"],"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"license":"Apache-2.0","bugs":{"url":"https://github.com/facebook/watchman/issues"},"homepage":"https://facebook.github.io/watchman/docs/bser.html","dependencies":{"node-int64":"^0.4.0"},"_id":"bser@1.0.2","_shasum":"381116970b2a6deea5646dd15dd7278444b56169","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"wez","email":"wez@wezfurlong.org"},"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"381116970b2a6deea5646dd15dd7278444b56169","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/bser/-/bser-1.0.2.tgz"}},"1.0.3":{"name":"bser","version":"1.0.3","description":"JavaScript implementation of the BSER Binary Serialization","main":"index.js","directories":{"test":"test"},"scripts":{"test":"node test/bser.js"},"files":["index.js"],"repository":{"type":"git","url":"git+https://github.com/facebook/watchman.git"},"keywords":["bser","binary","protocol"],"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"license":"Apache-2.0","bugs":{"url":"https://github.com/facebook/watchman/issues"},"homepage":"https://facebook.github.io/watchman/docs/bser.html","dependencies":{"node-int64":"^0.4.0"},"_id":"bser@1.0.3","_shasum":"d63da19ee17330a0e260d2a34422b21a89520317","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"wez","email":"wez@wezfurlong.org"},"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"d63da19ee17330a0e260d2a34422b21a89520317","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/bser/-/bser-1.0.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bser-1.0.3.tgz_1485476024813_0.196590629639104"}},"2.0.0":{"name":"bser","version":"2.0.0","description":"JavaScript implementation of the BSER Binary Serialization","main":"index.js","directories":{"test":"test"},"scripts":{"test":"node test/bser.js"},"files":["index.js"],"repository":{"type":"git","url":"git+https://github.com/facebook/watchman.git"},"keywords":["bser","binary","protocol"],"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"license":"Apache-2.0","bugs":{"url":"https://github.com/facebook/watchman/issues"},"homepage":"https://facebook.github.io/watchman/docs/bser.html","dependencies":{"node-int64":"^0.4.0"},"_id":"bser@2.0.0","_shasum":"9ac78d3ed5d915804fd87acb158bc797147a1719","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"wez","email":"wez@wezfurlong.org"},"dist":{"shasum":"9ac78d3ed5d915804fd87acb158bc797147a1719","tarball":"http://nexus.dui88.com:8081/nexus/content/groups/npm-all/bser/-/bser-2.0.0.tgz"},"maintainers":[{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bser-2.0.0.tgz_1485803232935_0.3270201792474836"}}},"name":"bser","time":{"modified":"2017-04-05T15:47:50.924Z","created":"2015-08-24T06:31:54.849Z","1.0.0":"2015-08-24T06:31:54.849Z","1.0.1":"2015-08-24T21:50:47.585Z","1.0.2":"2015-08-25T16:05:06.492Z","1.0.3":"2017-01-27T00:13:45.058Z","2.0.0":"2017-01-30T19:07:14.690Z"},"readmeFilename":"README.md","homepage":"https://facebook.github.io/watchman/docs/bser.html"}