emitus
TypeScript icon, indicating that this package has built-in type declarations

2.3.2 • Public • Published

Emitus npm npm Build Status JavaScript Style Guide

Small Typescript Event Emitter. ⚡️

Some differences with Mitt

Mitt is a pretty cool and very small event emitter library out there, but Emitus differs with it in some aspects such as:

  • Emitus has been written and tested entirely in Typescript.
  • It uses an array of events instead of a hash.
  • It uses a simple for() iteration loop with if() controls, no map functions or coercion.
  • It doesn't support 'emit-all' or some wildcard feature.
  • Its size is just 285bytes minimized + gzipped (UMD) and 844bytes (CommonJS).

Install

Yarn

yarn add emitus --dev

NPM

npm install emitus --save-dev

UMD file is also available on unpkg:

<script src="https://unpkg.com/emitus/dist/emitus.umd.min.js"></script>

You can also use the library via window.emitus.

Usage

import { emitus, EmitusListener } from 'emitus'
 
interface Args { a: number, b: string }
 
const myArgs: Args = { a: 1, b: '2' }
const myEvent: EmitusListener<Args> = (name, args) => console.log(name, args)
 
const e = emitus()
e.on('MY_EVENT', myEvent)
e.emit('MY_EVENT', myArgs)

API

on

Register a custom event listener.

e.on (eventNamestring, listenerEmitusListener)void

off

Unregister a custom event listener.

e.off (eventNamestring, listener?: EmitusListener)void

emit

Calls listener registered for the event named eventName passing the supplied (optional) arguments.

e.emit (eventNamestring, args?: any)void

Contributions

Feel free to send some pull request or issues.

License

MIT license

© 2018 José Luis Quintana

Package Sidebar

Install

npm i emitus

Weekly Downloads

47

Version

2.3.2

License

MIT

Unpacked Size

7.27 kB

Total Files

6

Last publish

Collaborators

  • joseluisq