@master/css-devtools-hook
Version:
Devtools hook for Master CSS
30 lines (25 loc) • 810 B
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
const devToolsHook = {
listeners: new Map(),
on (event, callback) {
if (!this.listeners.has(event)) {
this.listeners.set(event, new Set());
}
this.listeners.get(event)?.add(callback);
},
off (event, callback) {
this.listeners.get(event)?.delete(callback);
},
emit (event, ...args) {
this.listeners.get(event)?.forEach((listener)=>listener(...args));
}
};
function installHook(global = globalThis) {
const hook = global.__MASTER_CSS_DEVTOOLS_HOOK__;
if (hook) return hook;
return global.__MASTER_CSS_DEVTOOLS_HOOK__ = devToolsHook;
}
exports.default = devToolsHook;
exports.devToolsHook = devToolsHook;
exports.installHook = installHook;
;