@fakes/media-devices
Version:
A interactive fake implementation of MediaDevices interface in the browser for testing
29 lines (28 loc) • 892 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PermissionStatusFake = void 0;
const LocalListenerPropertySync_1 = require("../LocalListenerPropertySync");
class PermissionStatusFake extends EventTarget {
constructor(_state) {
super();
this._state = _state;
this._changeListener = new LocalListenerPropertySync_1.LocalListenerPropertySync(this, 'change');
}
get state() {
return this._state;
}
updateTo(updatedPermission) {
if (this._state === updatedPermission) {
return;
}
this._state = updatedPermission;
this.dispatchEvent(new Event('change'));
}
set onchange(listener) {
this._changeListener.set(listener);
}
get onchange() {
return this._changeListener.get();
}
}
exports.PermissionStatusFake = PermissionStatusFake;