UNPKG

googlevideo

Version:

A set of utilities for working with Google Video APIs.

51 lines (50 loc) 2.06 kB
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _EventEmitterLike_legacy_listeners; import { CustomEvent } from './index.js'; export class EventEmitterLike extends EventTarget { constructor() { super(); _EventEmitterLike_legacy_listeners.set(this, new Map()); } emit(type, ...args) { const event = new CustomEvent(type, { detail: args }); this.dispatchEvent(event); } on(type, listener) { const wrapper = (ev) => { if (ev instanceof CustomEvent) { listener(...ev.detail); } else { listener(ev); } }; __classPrivateFieldGet(this, _EventEmitterLike_legacy_listeners, "f").set(listener, wrapper); this.addEventListener(type, wrapper); } once(type, listener) { const wrapper = (ev) => { if (ev instanceof CustomEvent) { listener(...ev.detail); } else { listener(ev); } this.off(type, listener); }; __classPrivateFieldGet(this, _EventEmitterLike_legacy_listeners, "f").set(listener, wrapper); this.addEventListener(type, wrapper); } off(type, listener) { const wrapper = __classPrivateFieldGet(this, _EventEmitterLike_legacy_listeners, "f").get(listener); if (wrapper) { this.removeEventListener(type, wrapper); __classPrivateFieldGet(this, _EventEmitterLike_legacy_listeners, "f").delete(listener); } } } _EventEmitterLike_legacy_listeners = new WeakMap();