Skip to content
This repository has been archived by the owner on Dec 23, 2018. It is now read-only.

crcn/obj-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();

About

lightweight object streams

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published