Nano Events

Services & Skills

Share on

  • Only 152 bytes (minified and gzipped). It uses Size Limit to control size.
  • The on method returns the unbind function. You don’t need to save a callback to a variable for removeListener.
  • TypeScript and ES modules support.
  • No aliases, just emit and on methods. No Node.js EventEmitter compatibility.
import { createNanoEvents } from 'nanoevents'

const emitter = createNanoEvents()

const unbind = emitter.on('tick', volume => {
  summary += volume

emitter.emit('tick', 2)
summary //=> 2

emitter.emit('tick', 2)
summary //=> 2

In the same orbit

Explore more open source projects

How can we help you?

Martians at a glance
years in business

We transform growth-stage startups into unicorns, build developer tools, and create open source products.

If you prefer email, write to us at