UNPKG

@master/css-devtools-hook

Version:

Devtools hook for Master CSS

24 lines (21 loc) 690 B
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; } export { devToolsHook as default, devToolsHook, installHook };