{"_id":"bser","_rev":"107809","name":"bser","description":"JavaScript implementation of the BSER Binary Serialization","dist-tags":{"latest":"2.1.1"},"maintainers":[{"name":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"time":{"modified":"2021-06-03T10:39:31.000Z","created":"2015-08-24T06:31:54.849Z","2.1.1":"2019-10-22T16:20:14.968Z","2.1.0":"2019-06-21T18:24:04.477Z","2.0.0":"2017-01-30T19:07:14.690Z","1.0.3":"2017-01-27T00:13:45.058Z","1.0.2":"2015-08-25T16:05:06.492Z","1.0.1":"2015-08-24T21:50:47.585Z","1.0.0":"2015-08-24T06:31:54.849Z"},"users":{"chinawolf_wyp":true},"author":{"name":"Wez Furlong","email":"wez@fb.com","url":"http://wezfurlong.org"},"repository":{"type":"git","url":"https://github.com/facebook/watchman"},"versions":{"2.1.1":{"name":"bser","version":"2.1.1","description":"JavaScript implementation of the BSER Binary Serialization","main":"index.js","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@2.1.1","dist":{"shasum":"e6787da20ece9d07998533cfd9de6f5c38f4bc05","size":5571,"noattachment":false,"key":"/bser/-/bser-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-2.1.1.tgz"},"maintainers":[{"name":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"_npmUser":{"name":"wez","email":"wez@wezfurlong.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bser_2.1.1_1571761214821_0.21502650063663964"},"_hasShrinkwrap":false,"publish_time":1571761214968,"_cnpm_publish_time":1571761214968},"2.1.0":{"name":"bser","version":"2.1.0","description":"JavaScript implementation of the BSER Binary Serialization","main":"index.js","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@2.1.0","dist":{"shasum":"65fc784bf7f87c009b973c12db6546902fa9c7b5","size":5572,"noattachment":false,"key":"/bser/-/bser-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-2.1.0.tgz"},"maintainers":[{"name":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"_npmUser":{"name":"kassens","email":"jkassens@fb.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bser_2.1.0_1561141444249_0.7999954163788061"},"_hasShrinkwrap":false,"publish_time":1561141444477,"_cnpm_publish_time":1561141444477},"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","size":6115,"noattachment":false,"key":"/bser/-/bser-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-2.0.0.tgz"},"maintainers":[{"name":"kassens","email":"jkassens@fb.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"},"publish_time":1485803234690,"_cnpm_publish_time":1485803234690,"_hasShrinkwrap":false},"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":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"d63da19ee17330a0e260d2a34422b21a89520317","size":6097,"noattachment":false,"key":"/bser/-/bser-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-1.0.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bser-1.0.3.tgz_1485476024813_0.196590629639104"},"publish_time":1485476025058,"_cnpm_publish_time":1485476025058,"_hasShrinkwrap":false},"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":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"381116970b2a6deea5646dd15dd7278444b56169","size":6736,"noattachment":false,"key":"/bser/-/bser-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-1.0.2.tgz"},"publish_time":1440518706492,"_cnpm_publish_time":1440518706492,"_hasShrinkwrap":false},"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":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"fbc65cfcb03c19d39fef47360c41fc0799615133","size":7621,"noattachment":false,"key":"/bser/-/bser-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-1.0.1.tgz"},"publish_time":1440453047585,"_cnpm_publish_time":1440453047585,"_hasShrinkwrap":false},"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":"kassens","email":"jkassens@fb.com"},{"name":"wez","email":"wez@wezfurlong.org"}],"dist":{"shasum":"380ce5c7c2efe37723eb6cbe0a4ad871e7119d01","size":8334,"noattachment":false,"key":"/bser/-/bser-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bser/download/bser-1.0.0.tgz"},"publish_time":1440397914849,"_cnpm_publish_time":1440397914849,"_hasShrinkwrap":false}},"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","_attachments":{},"homepage":"https://facebook.github.io/watchman/docs/bser.html","bugs":{"url":"https://github.com/facebook/watchman/issues"},"license":"Apache-2.0"}