项目作者: serviejs

项目描述 :
Tiny type-safe event emitter
高级语言: TypeScript
项目地址: git://github.com/serviejs/events.git
创建时间: 2019-06-12T05:10:10Z
项目社区:https://github.com/serviejs/events

开源协议:MIT License

下载


Events

@servie/events"">NPM version
@servie/events"">NPM downloads
Build status
Build coverage
@servie/events"">Bundle size

Tiny type-safe event emitter.

Installation

  1. npm install @servie/events --save

Usage

  1. import { Emitter, once, ALL_EVENTS } from "@servie/events";
  2. // Define an events interface using keys & argument tuples.
  3. interface Events {
  4. test: [boolean];
  5. other: [string];
  6. }
  7. // Initialize an `Emitter` using your `Events` interface.
  8. const events = new Emitter<Events>();
  9. // Add or remove listeners.
  10. const listener = (...args) => console.log(args);
  11. const off = events.on("test", listener);
  12. // Emit an event.
  13. events.emit("test", true);
  14. // Listen to _all_ events, i.e. for debugging.
  15. const eachListener = ({ type, args }) => console.log(type, args);
  16. const off = events.on(ALL_EVENTS, eachListener);
  17. // "Once" utility.
  18. const runOnce = (...args) => console.log(args);
  19. once(events, "test", runOnce);
  20. // Remove the listener.
  21. off();

TypeScript

This project is written using TypeScript and publishes the definitions directly to NPM.

License

MIT