Я создал EventMit Как универсальная библиотека Eventemitter.
Вы можете использовать EventMit На браузере, Node.js, также DENO Отказ
Особенность
- Единый объект события на мероприятие
- Крошечная база кода
- Написано Tymdercript
Все это код 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 };
использование
Вы можете создать EventMit
Объект на мероприятие. Другими словами, EventMit
это единый объект события.
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
не поддерживает несколько типов событий, как Eventemitter
или Developit/Mitt Отказ Это просто и обеспечивает сильный тип с TeampScript Отказ
import { eventmit } from "eventmit"; const changeEvent = eventmit(); const inputEvent = eventmit (); // subscription event changeEvent.on(() => console.log("CHANGE!")); inputEvent.on((input) => console.log(input));
Оригинал: “https://dev.to/azu/eventmit-tiny-eventemitter-2bea”