aboutsummaryrefslogtreecommitdiff
path: root/node_modules/bser/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/bser/README.md')
-rw-r--r--node_modules/bser/README.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/node_modules/bser/README.md b/node_modules/bser/README.md
new file mode 100644
index 0000000..eab0658
--- /dev/null
+++ b/node_modules/bser/README.md
@@ -0,0 +1,81 @@
+# BSER Binary Serialization
+
+BSER is a binary serialization scheme that can be used as an alternative to JSON.
+BSER uses a framed encoding that makes it simpler to use to stream a sequence of
+encoded values.
+
+It is intended to be used for local-IPC only and strings are represented as binary
+with no specific encoding; this matches the convention employed by most operating
+system filename storage.
+
+For more details about the serialization scheme see
+[Watchman's docs](https://facebook.github.io/watchman/docs/bser.html).
+
+## API
+
+```js
+var bser = require('bser');
+```
+
+### bser.loadFromBuffer
+
+The is the synchronous decoder; given an input string or buffer,
+decodes a single value and returns it. Throws an error if the
+input is invalid.
+
+```js
+var obj = bser.loadFromBuffer(buf);
+```
+
+### bser.dumpToBuffer
+
+Synchronously encodes a value as BSER.
+
+```js
+var encoded = bser.dumpToBuffer(['hello']);
+console.log(bser.loadFromBuffer(encoded)); // ['hello']
+```
+
+### BunserBuf
+
+The asynchronous decoder API is implemented in the BunserBuf object.
+You may incrementally append data to this object and it will emit the
+decoded values via its `value` event.
+
+```js
+var bunser = new bser.BunserBuf();
+
+bunser.on('value', function(obj) {
+ console.log(obj);
+});
+```
+
+Then in your socket `data` event:
+
+```js
+bunser.append(buf);
+```
+
+## Example
+
+Read BSER from socket:
+
+```js
+var bunser = new bser.BunserBuf();
+
+bunser.on('value', function(obj) {
+ console.log('data from socket', obj);
+});
+
+var socket = net.connect('/socket');
+
+socket.on('data', function(buf) {
+ bunser.append(buf);
+});
+```
+
+Write BSER to socket:
+
+```js
+socket.write(bser.dumpToBuffer(obj));
+```