Jiken

Jiken

Browser EventEmitter

Mimics API of node.js EventEmitter.

And gives you some extra features.

Usage

Extend class:

   const Jiken = require('jiken').Jiken;
   class MySuperEmitter extends Jiken {
       constructor() {
           super()
           this.on('some-event', () => console.log('trigger some-event'));
       }
   }

   const emitter = new MySuperEmitter();
   emitter.emit('some-event');

Use instance:

   const Jiken = require('jiken').Jiken;

   const test = new Jiken();

   test.on('lolka', () => console.log('lol'));

Constructor

new Jiken()

Creates new instance.

Source:

Methods

addListener(name, listener) → {this}

Alias to on.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

emit(name, …args) → {Boolean}

Invokes event.

Source:
Parameters:
Name Type Attributes Description
name Any

Event name.

args Any <repeatable>

Arguments for listener.

Returns:
Type:
Boolean

True if there are any listeners. False otherwise.

eventNames() → {Array}

Retrieves array of events for which there are registered listeners.

Source:
Returns:
Type:
Array

Array of event names.

listenerCount(name) → {Integer}

Retrieves number of registered listeners for the event.

Source:
Parameters:
Name Type Description
name Any

Event name.

Returns:
Type:
Integer

Number of listeners.

listeners(name) → {Array}

Retrieves array of listeners for the event.

Source:
Parameters:
Name Type Description
name Any

Event name.

Returns:
Type:
Array

Listeners.

not_sync(timeout) → {this}

Sets asynchronous execution for listeners.

Under hood it uses setTimeout method to schedule execution of listeners. While it is likely that order of execution will be preserved, it is not guaranteed. Therefore you SHOULD not rely on your listeners to be executed in order they are set.

Source:
Parameters:
Name Type Description
timeout Integer

Timeout. Optional. Default is 0.

Returns:
Type:
this

Itself for chain.

on(name, listener) → {this}

Registers new event listener.

Note that no check are made. Listener is appended regardless if it is present or not.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

once(name, listener) → {this}

Registers new event listener to be executed ONCE.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

prependListener(name, listener) → {this}

Registers new event listener and adds it before any other.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

prependOnceListener(name, listener) → {this}

Registers new event listener to be executed ONCE and adds it before any other.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

removeAllListeners(name) → {this}

Removes all listeners for all events or particular one..

Source:
Parameters:
Name Type Description
name Any

Event name. Optional.

Returns:
Type:
this

Itself for chain.

removeListener(name, listener) → {this}

Removes particular listener for the event.

It removes at most one listener.

Source:
Parameters:
Name Type Description
name Any

Event name.

listener function

Event listener to invoke.

Returns:
Type:
this

Itself for chain.

sync() → {this}

Sets synchronous execution for listeners.

Source:
Returns:
Type:
this

Itself for chain.

trigger(name, …args) → {this}

Invokes event.

The same as emit, but returns self for chain.

Source:
Parameters:
Name Type Attributes Description
name Any

Event name.

args Any <repeatable>

Arguments for listener.

Returns:
Type:
this

Itself for chain.