Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

evnemit

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evnemit

Event emitter

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Install

npm i evnemit --save

Use

const Emitter = require('evnemit');

Emittor.on('xxx', () => {});

Functions

off(event, [fn])number

Unsubscribe an event name and all its subscribed functions or unsubscribe an event name and the function provided only

on(event, fn)number

Subscribe a function to be called every time the event name is triggered

once(event, fn)number

Subscribe a function to be called only once for when the event name is triggered

trigger(event, ...args)boolean

Trigger an event name with optional arguments

off(event, [fn]) ⇒ number

Unsubscribe an event name and all its subscribed functions or unsubscribe an event name and the function provided only

Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:

  • Error If the event name is not a string data type or the function is not a function data type (if provided)

Access: public

ParamTypeDescription
eventstringEvent name
[fn]functionOptional function to unsubcribe from the associated event name; otherwise, if not defined, then all functions are unsubscribed. If undefined is passed, then this is considered to be a "defined" argument

Example

Emitter.on('event-str', () => {
    console.log('triggered event');
});
Emitter.trigger('event-str');
Emitter.off('event-str');
Emitter.trigger('event-str');

Example

let clickCount = 0;
function onClickMax10(event) {
    console.log(event);
    clickCount += 1;
    if (clickCount === 10) {
        Emitter.off('sign-in', onClickMax10);
    }
}
Emitter.on('sign-in', onClickMax10);
// trigger the "sign-in" event for when the sign-in button is clicked
document.querySelector('#sign-in').addEventListener('click', (event) => {
    Emitter.trigger('sign-in', event);
});

on(event, fn) ⇒ number

Subscribe a function to be called every time the event name is triggered

Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:

  • Error If the event name is not a string data type or the function is not a function data type

Access: public

ParamTypeDescription
eventstringEvent name
fnfunctionFunction to call when the event name is triggered

Example

// in app.js
Emitter.on('posts-request', (data) => {
    // prints the response data object
    console.log(data);
});
// in api.js
fetch('/posts')
    .then((data) => {
        // trigger the event name with the response data object
        Emitter.trigger('posts-request', data);
    });

once(event, fn) ⇒ number

Subscribe a function to be called only once for when the event name is triggered

Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:

  • Error If the event name is not a string data type or the function is not a function data type

Access: public

ParamTypeDescription
eventstringEvent name
fnfunctionFunction to call when the event name is triggered

Example

// the console will only print the event object once
Emitter.once('sign-in', (event) => {
    console.log(event);
});
// trigger the "sign-in" event for when the sign-in button is clicked
document.querySelector('#sign-in').addEventListener('click', (event) => {
    Emitter.trigger('sign-in', event);
});

trigger(event, ...args) ⇒ boolean

Trigger an event name with optional arguments

Kind: global function
Returns: boolean - True, the event name has subscribers; otherwise, false
Throws:

  • Error If the event name is not a string data type

Access: public

ParamTypeDescription
eventstringEvent name
...args*Zero or more arguments to pass to the subscribed functions

Example

Emitter.on('event-str', (arg1, arg2) => {
    console.log(arg1, arg2);
});
Emitter.trigger('event-str', 1, 2);

Keywords

FAQs

Package last updated on 15 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc