Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Stream

A Stream provides a series of events that may be consumed by arbitrary listeners. The events emitted by a stream are defined by the operation that created the stream and can carry event-specific arguments.

A stream is created in an open state, and may immediately emit events. When a Stream is closed it will emit a close. A closed stream will not emit any further events, and will remain closed permanently.

It is possible for a stream to encounter an error. In this case, an error event will be emitted, and then the stream will be closed.

This is a primitive class that is used to provide common event binding methods to other API components.

fires

{@link error}

fires

close

Hierarchy

Implemented by

Index

Methods

Methods

close

  • close(): void
  • Close the stream. This will emit a 'close' event to any assigned listeners. No further events will be emitted.

    Returns void

off

  • 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');

    Parameters

    • events: string | CallbackMap
    • Optional listener: StreamCallback

      the listener to remove. All listeners for the event are removed if this is not specified. This argument is ignored if the first argument is a CallbackMap.

    Returns Stream

    this stream.

on

  • 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() { ... }
    });

    Parameters

    • events: string | CallbackMap

      the event name or CallbackMap mapping event names to listeners

    • Optional listener: StreamCallback

      the listener to bind to the event, if passed as string. This argument is ignored if the first argument is a CallbackMap.

    Returns Stream

    this stream.