UNPKG

nstdlib-nightly

Version:

Node.js standard library converted to runtime-agnostic ES modules.

38 lines (32 loc) 1.09 kB
// Source: https://github.com/nodejs/node/blob/65eff1eb/lib/internal/process/permission.js import * as permission from "nstdlib/stub/binding/permission"; import { validateString, validateBuffer, } from "nstdlib/lib/internal/validators"; import { Buffer } from "nstdlib/lib/buffer"; import * as __hoisted_internal_options__ from "nstdlib/lib/internal/options"; const { isBuffer } = Buffer; let experimentalPermission; export default Object.freeze({ __proto__: null, isEnabled() { if (experimentalPermission === undefined) { const { getOptionValue } = __hoisted_internal_options__; experimentalPermission = getOptionValue("--experimental-permission"); } return experimentalPermission; }, has(scope, reference) { validateString(scope, "scope"); if (reference != null) { // TODO: add support for WHATWG URLs and Uint8Arrays. if (isBuffer(reference)) { validateBuffer(reference, "reference"); } else { validateString(reference, "reference"); } } return permission.has(scope, reference); }, });