obj-stream

0.0.26 • Public • Published

Build Status Coverage Status Dependency Status

A lightweight object stream library for NodeJS and the browser.

var stream = require("obj-stream");
 
var stream = new stream.Stream();
stream.write({ name: "obj" }); // valid
stream.write("blah"); // invalid
stream.end();
 
var readable = new stream.Readable([{ name: "obj" }]);
readable.pipe(new stream.Stream());

writable stream.writable()

creates a new writable stream

var writable = stream.writable();

writable.write(object)

Writes a new object

writable.write({ name: "Jeff Gordon" });

writable.end([object])

Ends the stream

writable.write({ name: "Donkay" });
writable.write({ name: "Shrek" });
writable.end(); // done

writable.once(event, callback)

listens to one event then disposes

reader writable.reader

Returns the readable object
 
var writer = stream.writable();
var reader = writer.reader;
 
reader.on("data", function() {
 
});
 
reader.on("end", function() {
 
});
 
writer.end({ name: "Oprah" }); // write & end

reader stream.readable()

creates a new readable object

reader.on(event, callback)

listens for an event.

  • event
    • error - emitted on error
    • data - emitted on data
    • end - emitted when the stream closes
    • drain - emitted when the writer is resumed

reader.once(event, callback)

listens to one event then disposes

reader.removeListener(event, callback)

removes a listener

reader.pause()

pauses the stream.

var writer = stream.writable();
var reader = writer.reader;
 
reader.pause();
writer.write({ name: "bob" }); // buffered, doesn't get emitted as data

reader.resume()

resumes the stream.

reader.isPaused()

returns true if the stream is paused.

writable.pipe(writable)

pipes data to a writable

stream stream.through(fn)

helper for transforming data

var writable = stream.writable();
writable.reader.pipe(stream.though(function(data, next) {
  this.push("blah");
  next(); // done
})).on("data", function(data) {
  // blah is always emitted here
});
 
writable.write({ name: "org" });
writable.end();

Dependencies (1)

Dev Dependencies (19)

Package Sidebar

Install

npm i obj-stream

Weekly Downloads

1

Version

0.0.26

License

ISC

Last publish

Collaborators

  • architectd
  • crcn