UNPKG

@fakes/media-devices

Version:

A interactive fake implementation of MediaDevices interface in the browser for testing

21 lines (17 loc) 524 B
export class LocalListenerPropertySync<T extends EventListenerOrEventListenerObject> { private readonly type private _listener: T | null = null constructor(private readonly target: EventTarget, type: string) { this.type = type } set(listener: T | null) { if (this._listener !== listener) { this.target.removeEventListener(this.type, this._listener) this._listener = listener } this.target.addEventListener(this.type, listener) } get(): T | null { return this._listener } }