UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 400 B
export class HandlerRegistry{handlers=new Map;register(e,s){return this.handlers.set(e,s),()=>this.handlers.delete(e)}unregisterByName(e){this.handlers.delete(e)}unregisterByPrefix(e){for(const s of this.handlers.keys())s.startsWith(e)&&this.handlers.delete(s)}invoke(...e){const s=[];for(const t of this.handlers.values()){const r=t(...e);r!=null&&s.push(r)}return s}clear(){this.handlers.clear()}}