Create a new Stream
object
a list of allowed event names. If events
is not specified
then any events are allowed in the on
and off
methods. If events are specified, then any event
listener will be checked agains the list of allowed
events. The events close
, error
, and complete
are
always allowed because they are used by Stream
and Result internally.
The list of allowed event names
A callback to call when the stream is closed
A callback to call in the case of an error
The listeners attached to this stream
Set one or more properties on an object;
The key, or an object map of properties
If the key is a string, this is the value to be associated with it
The object, with attached properties
the reason for closing the stream. This can be of any type. The type of the close reason should be documented in the class extending StreamImpl.
Close the stream. This will emit a 'close' event to any assigned listeners. No further events will be emitted.
Remove a listener from a specified event.
Example:
// Bind a single listener to the 'foo' event and then deregister it
var listener = function() {};
stream.on('foo', listener);
stream.off('foo', listener);
Example:
// Bind a listener to the 'foo' event and deregister all listeners
var listener = function() {};
stream.on('foo', listener);
stream.off('foo');
this stream.
Register listeners against events.
A single listener may be bound to an event by passing the event name and listener function.
Multiple listeners may be bound by passing in a CallbackMap, mapping event names to listener functions.
Example:
// Bind a single listener to the 'foo' event
stream.on('foo', function(arg1, arg2) {
console.log("Called for 'foo' event", arg1, arg2);
});
Example:
// Bind multiple listeners
stream.on({
foo : function() { ... },
bar : function() { ... },
baz : function() { ... }
});
this stream.
Remove one or more properties from an object
The key, or an object map of properties
If the key is a string, this is the value to remove from it
The object, sans specified properties
Implementation of the Stream interface.