Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ObjectStream

Bidirectional and unidirectional object streams for Node.js.

Installation

Via npm on Node:

npm install objectstream

Usage

Reference in your program:

var objectstream = require('objectstream');

Write objects to a serialize stream:

var stream = fs.createSerializeStream(filename);
var objstream = objectstream.createSerializeStream(stream);
objstream.write({ name: 'Adam', age: 800 });
objstream.write({ name: 'Eve', age: 700 });
objstream.end();

createSerializeStream accepts a writable stream as parameter. In this example, the objects will be written to a file. The final content will be two lines, with the objects serialized using JSON.stringify:

{"name":"Adam","age":800}
{"name":"Eve","age":700}

Now, given the same file (already closed), you can read the objects using a deserialize stream:

var stream = fs.createDeserializeStream(filename);
var objstream = objectstream.createDeserializeStream(stream);
objstream.on('data', function (data) { console.dir(data); });
objstream.on('end', function () { console.dir('done'); });

You will receive two deserialized objects.

There is a bidirectional object stream:

var objstream = fs.createStream(bidirectionalstream);

For example, the parameter could be a socket, that is a bidirectional stream implementation.

Alternatively, you can specify a readable stream and writable stream:

var objstream = fs.createStream(readstream, writestream);

You can write and read objects:

objstream.on('data', function (obj) { console.dir(obj); });
objstream.write({ message: 'hello', arguments: { name: 'Adam' }});

Development

git clone git://github.com/ajlopez/ObjectStream.git
cd ObjectStream
npm install
npm test

Samples

TBD

To do

  • Samples

Versions

  • 0.0.1: Published
  • 0.0.2: Published. Improved write stream, testing writable property before write.
  • 0.0.3: Published. Reviewing internal events. Updated engine range
  • 0.0.4: Published. Write only if output stream is writable
  • 0.0.5: Published. Using events module; using simpleunit

Contribution

Feel free to file issues and submit pull requests — contributions are welcome.

If you submit a pull request, please be sure to add or update corresponding test cases, and ensure that npm test continues to pass.

About

Bidirectional and unidirectional object streams for Node.js

Resources

License

Packages

No packages published