json-joy
Version:
Collection of libraries for building collaborative editing apps.
18 lines (17 loc) • 520 B
JavaScript
const buildTypedEventTargetType = () => {
const klass = class TypedEventTarget {
addEventListener() { }
dispatchEvent() {
return true;
}
removeEventListener() { }
};
return EventTarget;
};
export const TypedEventTarget = buildTypedEventTargetType();
export class SubscriptionEventTarget extends TypedEventTarget {
subscribe(type, listener) {
this.addEventListener(type, listener);
return () => this.removeEventListener(type, listener);
}
}