eventmit - Winziger EventEmitter

Ich habe eventmit als universelle EventEmitter-Bibliothek erstellt.

Sie können eventmit im Browser, Node.js, auch Deno verwenden.

  • azu/eventmit:Einfacher EventEmitter. Ein einzelnes Ereignisobjekt pro Ereignis.

Funktion

  • Ein einzelnes Ereignisobjekt pro Ereignis
  • Winzige Codebasis
  • Geschrieben von TypeScript

Es ist alles Code von eventmit.

var n = function () {var n = new Set();return { on: function (t) {n.add(t);}, off: function (t) {n.delete(t);}, offAll: function () {n.clear();}, emit: function (t) {n.forEach(function (n) {return n(t);});} };};export { n as eventmit };

Verwendung

Sie können eventmit erstellen Objekt pro Ereignis.
Mit anderen Worten, eventmit ist ein einzelnes Ereignisobjekt.

import { eventmit } from "eventmit";
const event = eventmit<{ key: string }>();
// Register handler
event.on((value) => {
    console.log(1, value);
});
event.on((value) => {
    console.log(2, value);
});
// Invoke handler
event.emit({
    key: "value"
});
// Unregister handler
event.offAll();

eventmit unterstützt nicht mehrere Ereignistypen wie EventEmitter oder entwickeln/mitt.
Es ist einfach und erzwingt einen starken Typ mit TypeScript.

import { eventmit } from "eventmit";
const changeEvent = eventmit<void>();
const inputEvent = eventmit<string>();
// subscription event
changeEvent.on(() => console.log("CHANGE!"));
inputEvent.on((input) => console.log(input));