Socket
Socket
Sign inDemoInstall

small-emitter

Package Overview
Dependencies
0
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    small-emitter

A small event emitter library


Version published
Weekly downloads
1
Maintainers
1
Install size
11.2 kB
Created
Weekly downloads
 

Readme

Source

Emitter

English | 简体中文

A small event emitter library.

Install

Install with npm

npm i small-emitter
# or pnpm add small-emitter

Import in the project

// ES6 modules
import { Emitter } from 'small-emitter'

// CommonJS modules
const { Emitter } = require('small-emitter')

Usage

import { Emitter } from 'small-emitter'
const emitter = new Emitter();

// subscribe to events
emitter.on('foo', function (p1, p2, p3) {
 // ...
});

// subscribe the event only once
emitter.once('foo', function (p1, p2, p3) {
 // ...
});

// publish events
emitter.emit('foo', 'p1', 'p2', 'p3');

// clearing all events
emitter.clear()

// use reference functions
function fn() {}
emitter.on('foo', fn)
emitter.off('foo', fn)

API

on<T extends Function>(name: string, callback: T)

Arguments

  • name name of the event
  • callback event's callback function

Example

const emitter = new Emitter()

emitter.on('foo', (data) => {
  console.log(data)
})

emitter.emit('foo', 1) // 1
emitter.emit('foo', 2) // 2

once<T extends Function>(name: string, callback: T)

Arguments

  • name name of the event
  • callback event's callback function

Example

const emitter = new Emitter()

emitter.once('foo', (data) => {
  // The function will only be executed once
  console.log(data)
})

emitter.emit('foo', 'a') // 'a'
emitter.emit('foo', 'b') // Not output

emit<T extends unknown[]>(name: string, ...args: T)

Arguments

  • name name of the event
  • ...args (optional) parameters passed in by the execution event

Example

const emitter = new Emitter()

emitter.once('bar', (message, name) => {
  console.log(`${message}, ${name}`)
})

emitter.emit('bar', 'hi', 'Jack') // hi, Jack

off<T extends Function>(name: string, callback?: T)

Arguments

  • name name of the event
  • callback (optional) functions that need to be cleared or function reference

Example

const emitter = new Emitter()

const fn = (message) => {
  console.log(message)
}

emitter.on('bar', fn)
emitter.emit('bar', 'hi') // hi
emitter.off('bar', fn)
emitter.emit('bar', 'Jack') // Not output

clear()

Calling this method will clear all events

Example

const emitter = new Emitter()

emitter.on('foo', (value) => {
  console.log(value)
})

emitter.on('bar', (value) => {
  console.log(value)
})

emitter.emit('foo', 'hi, foo')
emitter.emit('bar', 'hi, bar') // hi, bar
emitter.clear()
emitter.emit('foo', 'hi, Jack') // Not output
emitter.emit('bar', 'hi, Tom') // Not output

License

MIT License

Keywords

FAQs

Last updated on 12 Feb 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc