UNPKG

@benev/nubs

Version:
26 lines (20 loc) 502 B
import {LitListener} from "./lit-listener.js" export function attachEvents( target: EventTarget, spec: { [key: string]: ((event: Event & any) => void) | LitListener<Event & any> } ) { const disposers = new Set<() => void>() for (const [eventName, listener] of Object.entries(spec)) { target.addEventListener(eventName, listener) disposers.add( () => target.removeEventListener(eventName, listener) ) } return () => { for (const dispose of disposers) dispose() } }