yjs/provider/ydb/NamedEventHandler.mjs
2018-11-25 22:39:50 +01:00

24 lines
460 B
JavaScript

/**
* @module provider/ydb
*/
import * as globals from './globals.mjs'
export const Class = class NamedEventHandler {
constructor () {
this.l = globals.createMap()
}
on (eventname, f) {
const l = this.l
let h = l.get(eventname)
if (h === undefined) {
h = globals.createSet()
l.set(eventname, h)
}
h.add(f)
}
}
export const fire = (handler, eventname, event) =>
handler.l.get(eventname).forEach(f => f(event))