UNPKG

use-app-events

Version:

Create, trigger and listen for custom events in vanilla JavaScript and React.

34 lines (33 loc) 810 B
import { useMemo as o, useEffect as f } from "react"; import { generateId as u } from "../../utils/generateId.js"; import { createListenForEvents as l } from "./listenForEvents.js"; import { createNotifyEventListeners as a } from "./notifyEventListeners.js"; import s from "../heap.js"; import v from "../options.js"; const A = (n) => { const { debug: r } = n ?? {}, t = r ?? v.debug, e = o(() => u(), []); f(() => { const m = () => { s.eventListeners = s.eventListeners.filter((p) => p.scopeKey !== e); }; return () => { m(); }; }, [e, t]); const i = o(() => l({ scopeKey: e, debug: t }), [e, t]), c = o(() => a({ scopeKey: e, debug: t }), [e, t]); return { listenForEvents: i, notifyEventListeners: c }; }; export { A as default };