use-app-events
Version:
Create, trigger and listen for custom events in vanilla JavaScript and React.
34 lines (33 loc) • 810 B
JavaScript
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
};