Show More
Commit Description:
prevent multiple place login using uuid cookie
Commit Description:
prevent multiple place login using uuid cookie
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/GetIntrinsic.js
| 218 lines
| 9.8 KiB
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
/* globals | ||||
Atomics, | ||||
SharedArrayBuffer, | ||||
*/ | ||||
var undefined; | ||||
var $TypeError = TypeError; | ||||
var $gOPD = Object.getOwnPropertyDescriptor; | ||||
if ($gOPD) { | ||||
try { | ||||
$gOPD({}, ''); | ||||
} catch (e) { | ||||
$gOPD = null; // this is IE 8, which has a broken gOPD | ||||
} | ||||
} | ||||
var throwTypeError = function () { throw new $TypeError(); }; | ||||
var ThrowTypeError = $gOPD | ||||
? (function () { | ||||
try { | ||||
// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties | ||||
arguments.callee; // IE 8 does not throw here | ||||
return throwTypeError; | ||||
} catch (calleeThrows) { | ||||
try { | ||||
// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') | ||||
return $gOPD(arguments, 'callee').get; | ||||
} catch (gOPDthrows) { | ||||
return throwTypeError; | ||||
} | ||||
} | ||||
}()) | ||||
: throwTypeError; | ||||
var hasSymbols = require('has-symbols')(); | ||||
var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto | ||||
var generator; // = function * () {}; | ||||
var generatorFunction = generator ? getProto(generator) : undefined; | ||||
var asyncFn; // async function() {}; | ||||
var asyncFunction = asyncFn ? asyncFn.constructor : undefined; | ||||
var asyncGen; // async function * () {}; | ||||
var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined; | ||||
var asyncGenIterator = asyncGen ? asyncGen() : undefined; | ||||
var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); | ||||
var INTRINSICS = { | ||||
'%Array%': Array, | ||||
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, | ||||
'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype, | ||||
'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, | ||||
'%ArrayPrototype%': Array.prototype, | ||||
'%ArrayProto_entries%': Array.prototype.entries, | ||||
'%ArrayProto_forEach%': Array.prototype.forEach, | ||||
'%ArrayProto_keys%': Array.prototype.keys, | ||||
'%ArrayProto_values%': Array.prototype.values, | ||||
'%AsyncFromSyncIteratorPrototype%': undefined, | ||||
'%AsyncFunction%': asyncFunction, | ||||
'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined, | ||||
'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined, | ||||
'%AsyncGeneratorFunction%': asyncGenFunction, | ||||
'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined, | ||||
'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined, | ||||
'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, | ||||
'%Boolean%': Boolean, | ||||
'%BooleanPrototype%': Boolean.prototype, | ||||
'%DataView%': typeof DataView === 'undefined' ? undefined : DataView, | ||||
'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype, | ||||
'%Date%': Date, | ||||
'%DatePrototype%': Date.prototype, | ||||
'%decodeURI%': decodeURI, | ||||
'%decodeURIComponent%': decodeURIComponent, | ||||
'%encodeURI%': encodeURI, | ||||
'%encodeURIComponent%': encodeURIComponent, | ||||
'%Error%': Error, | ||||
'%ErrorPrototype%': Error.prototype, | ||||
'%eval%': eval, // eslint-disable-line no-eval | ||||
'%EvalError%': EvalError, | ||||
'%EvalErrorPrototype%': EvalError.prototype, | ||||
'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, | ||||
'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype, | ||||
'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, | ||||
'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype, | ||||
'%Function%': Function, | ||||
'%FunctionPrototype%': Function.prototype, | ||||
'%Generator%': generator ? getProto(generator()) : undefined, | ||||
'%GeneratorFunction%': generatorFunction, | ||||
'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined, | ||||
'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, | ||||
'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype, | ||||
'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, | ||||
'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype, | ||||
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, | ||||
'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype, | ||||
'%isFinite%': isFinite, | ||||
'%isNaN%': isNaN, | ||||
'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, | ||||
'%JSON%': typeof JSON === 'object' ? JSON : undefined, | ||||
'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined, | ||||
'%Map%': typeof Map === 'undefined' ? undefined : Map, | ||||
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), | ||||
'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype, | ||||
'%Math%': Math, | ||||
'%Number%': Number, | ||||
'%NumberPrototype%': Number.prototype, | ||||
'%Object%': Object, | ||||
'%ObjectPrototype%': Object.prototype, | ||||
'%ObjProto_toString%': Object.prototype.toString, | ||||
'%ObjProto_valueOf%': Object.prototype.valueOf, | ||||
'%parseFloat%': parseFloat, | ||||
'%parseInt%': parseInt, | ||||
'%Promise%': typeof Promise === 'undefined' ? undefined : Promise, | ||||
'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype, | ||||
'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then, | ||||
'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all, | ||||
'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject, | ||||
'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve, | ||||
'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, | ||||
'%RangeError%': RangeError, | ||||
'%RangeErrorPrototype%': RangeError.prototype, | ||||
'%ReferenceError%': ReferenceError, | ||||
'%ReferenceErrorPrototype%': ReferenceError.prototype, | ||||
'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, | ||||
'%RegExp%': RegExp, | ||||
'%RegExpPrototype%': RegExp.prototype, | ||||
'%Set%': typeof Set === 'undefined' ? undefined : Set, | ||||
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), | ||||
'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype, | ||||
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, | ||||
'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype, | ||||
'%String%': String, | ||||
'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, | ||||
'%StringPrototype%': String.prototype, | ||||
'%Symbol%': hasSymbols ? Symbol : undefined, | ||||
'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined, | ||||
'%SyntaxError%': SyntaxError, | ||||
'%SyntaxErrorPrototype%': SyntaxError.prototype, | ||||
'%ThrowTypeError%': ThrowTypeError, | ||||
'%TypedArray%': TypedArray, | ||||
'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined, | ||||
'%TypeError%': $TypeError, | ||||
'%TypeErrorPrototype%': $TypeError.prototype, | ||||
'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, | ||||
'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype, | ||||
'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, | ||||
'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype, | ||||
'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, | ||||
'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype, | ||||
'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, | ||||
'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype, | ||||
'%URIError%': URIError, | ||||
'%URIErrorPrototype%': URIError.prototype, | ||||
'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, | ||||
'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype, | ||||
'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, | ||||
'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype | ||||
}; | ||||
var bind = require('function-bind'); | ||||
var $replace = bind.call(Function.call, String.prototype.replace); | ||||
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ | ||||
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; | ||||
var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ | ||||
var stringToPath = function stringToPath(string) { | ||||
var result = []; | ||||
$replace(string, rePropName, function (match, number, quote, subString) { | ||||
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match); | ||||
}); | ||||
return result; | ||||
}; | ||||
/* end adaptation */ | ||||
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { | ||||
if (!(name in INTRINSICS)) { | ||||
throw new SyntaxError('intrinsic ' + name + ' does not exist!'); | ||||
} | ||||
// istanbul ignore if // hopefully this is impossible to test :-) | ||||
if (typeof INTRINSICS[name] === 'undefined' && !allowMissing) { | ||||
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); | ||||
} | ||||
return INTRINSICS[name]; | ||||
}; | ||||
module.exports = function GetIntrinsic(name, allowMissing) { | ||||
if (typeof name !== 'string' || name.length === 0) { | ||||
throw new TypeError('intrinsic name must be a non-empty string'); | ||||
} | ||||
if (arguments.length > 1 && typeof allowMissing !== 'boolean') { | ||||
throw new TypeError('"allowMissing" argument must be a boolean'); | ||||
} | ||||
var parts = stringToPath(name); | ||||
var value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing); | ||||
for (var i = 1; i < parts.length; i += 1) { | ||||
if (value != null) { | ||||
if ($gOPD && (i + 1) >= parts.length) { | ||||
var desc = $gOPD(value, parts[i]); | ||||
if (!allowMissing && !(parts[i] in value)) { | ||||
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); | ||||
} | ||||
value = desc ? (desc.get || desc.value) : value[parts[i]]; | ||||
} else { | ||||
value = value[parts[i]]; | ||||
} | ||||
} | ||||
} | ||||
return value; | ||||
}; | ||||