happy-dom-without-node
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
41 lines • 2.15 kB
JavaScript
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 _Permissions_permissionStatus;
import PermissionStatus from './PermissionStatus.js';
import PermissionNameEnum from './PermissionNameEnum.js';
/**
* Permissions API.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/Permissions.
*/
class Permissions {
constructor() {
_Permissions_permissionStatus.set(this, {});
}
/**
* Returns scroll restoration.
*
* @param permissionDescriptor Permission descriptor.
* @param permissionDescriptor.name Permission name.
* @param [permissionDescriptor.userVisibleOnly] User visible only.
* @param [permissionDescriptor.sysex] Sysex.
* @returns Permission status.
*/
async query(permissionDescriptor) {
if (__classPrivateFieldGet(this, _Permissions_permissionStatus, "f")[permissionDescriptor.name]) {
return __classPrivateFieldGet(this, _Permissions_permissionStatus, "f")[permissionDescriptor.name];
}
if (!Object.values(PermissionNameEnum).includes(permissionDescriptor.name)) {
throw new Error(`Failed to execute 'query' on 'Permissions': Failed to read the 'name' property from 'PermissionDescriptor': The provided value '${permissionDescriptor.name}' is not a valid enum value of type PermissionName.`);
}
__classPrivateFieldGet(this, _Permissions_permissionStatus, "f")[permissionDescriptor.name] = new PermissionStatus('granted');
return __classPrivateFieldGet(this, _Permissions_permissionStatus, "f")[permissionDescriptor.name];
}
}
_Permissions_permissionStatus = new WeakMap();
export default Permissions;
//# sourceMappingURL=Permissions.js.map