diff --git a/doric-js/bundle/doric-sandbox.es5.js b/doric-js/bundle/doric-sandbox.es5.js
index 5e04bd3b..23c6a22f 100644
--- a/doric-js/bundle/doric-sandbox.es5.js
+++ b/doric-js/bundle/doric-sandbox.es5.js
@@ -1570,9 +1570,10 @@ var doric = (function (exports) {
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global_1 =
- /* global globalThis -- safe */
+ // eslint-disable-next-line es/no-global-this -- safe
check(typeof globalThis == 'object' && globalThis) ||
check(typeof window == 'object' && window) ||
+ // eslint-disable-next-line no-restricted-globals -- safe
check(typeof self == 'object' && self) ||
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
// eslint-disable-next-line no-new-func -- fallback
@@ -1588,21 +1589,23 @@ var doric = (function (exports) {
// Detect IE8's incomplete defineProperty implementation
var descriptors = !fails(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
});
- var nativePropertyIsEnumerable$1 = {}.propertyIsEnumerable;
+ var $propertyIsEnumerable$1 = {}.propertyIsEnumerable;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor$8 = Object.getOwnPropertyDescriptor;
// Nashorn ~ JDK8 bug
- var NASHORN_BUG = getOwnPropertyDescriptor$8 && !nativePropertyIsEnumerable$1.call({ 1: 2 }, 1);
+ var NASHORN_BUG = getOwnPropertyDescriptor$8 && !$propertyIsEnumerable$1.call({ 1: 2 }, 1);
// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
var f$7 = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor$8(this, V);
return !!descriptor && descriptor.enumerable;
- } : nativePropertyIsEnumerable$1;
+ } : $propertyIsEnumerable$1;
var objectPropertyIsEnumerable = {
f: f$7
@@ -1666,10 +1669,16 @@ var doric = (function (exports) {
throw TypeError("Can't convert object to primitive value");
};
+ // `ToObject` abstract operation
+ // https://tc39.es/ecma262/#sec-toobject
+ var toObject = function (argument) {
+ return Object(requireObjectCoercible(argument));
+ };
+
var hasOwnProperty = {}.hasOwnProperty;
- var has$1 = function (it, key) {
- return hasOwnProperty.call(it, key);
+ var has$1 = function hasOwn(it, key) {
+ return hasOwnProperty.call(toObject(it), key);
};
var document$3 = global_1.document;
@@ -1682,20 +1691,22 @@ var doric = (function (exports) {
// Thank's IE8 for his funny defineProperty
var ie8DomDefine = !descriptors && !fails(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
return Object.defineProperty(documentCreateElement('div'), 'a', {
get: function () { return 7; }
}).a != 7;
});
- var nativeGetOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
- var f$6 = descriptors ? nativeGetOwnPropertyDescriptor$2 : function getOwnPropertyDescriptor(O, P) {
+ var f$6 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
O = toIndexedObject(O);
P = toPrimitive(P, true);
if (ie8DomDefine) { try {
- return nativeGetOwnPropertyDescriptor$2(O, P);
+ return $getOwnPropertyDescriptor$1(O, P);
} catch (error) { /* empty */ } }
if (has$1(O, P)) { return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); }
};
@@ -1710,16 +1721,17 @@ var doric = (function (exports) {
} return it;
};
- var nativeDefineProperty$1 = Object.defineProperty;
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
+ var $defineProperty$1 = Object.defineProperty;
// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
- var f$5 = descriptors ? nativeDefineProperty$1 : function defineProperty(O, P, Attributes) {
+ var f$5 = descriptors ? $defineProperty$1 : function defineProperty(O, P, Attributes) {
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if (ie8DomDefine) { try {
- return nativeDefineProperty$1(O, P, Attributes);
+ return $defineProperty$1(O, P, Attributes);
} catch (error) { /* empty */ } }
if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported'); }
if ('value' in Attributes) { O[P] = Attributes.value; }
@@ -1771,7 +1783,7 @@ var doric = (function (exports) {
(module.exports = function (key, value) {
return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
})('versions', []).push({
- version: '3.9.1',
+ version: '3.12.1',
mode: 'global',
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
});
@@ -1792,6 +1804,7 @@ var doric = (function (exports) {
var hiddenKeys$1 = {};
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var WeakMap$1 = global_1.WeakMap;
var set$3, get$2, has;
@@ -1808,12 +1821,13 @@ var doric = (function (exports) {
};
};
- if (nativeWeakMap) {
+ if (nativeWeakMap || sharedStore.state) {
var store$2 = sharedStore.state || (sharedStore.state = new WeakMap$1());
var wmget = store$2.get;
var wmhas = store$2.has;
var wmset = store$2.set;
set$3 = function (it, metadata) {
+ if (wmhas.call(store$2, it)) { throw new TypeError(OBJECT_ALREADY_INITIALIZED); }
metadata.facade = it;
wmset.call(store$2, it, metadata);
return metadata;
@@ -1828,6 +1842,7 @@ var doric = (function (exports) {
var STATE = sharedKey('state');
hiddenKeys$1[STATE] = true;
set$3 = function (it, metadata) {
+ if (has$1(it, STATE)) { throw new TypeError(OBJECT_ALREADY_INITIALIZED); }
metadata.facade = it;
createNonEnumerableProperty(it, STATE, metadata);
return metadata;
@@ -1983,6 +1998,7 @@ var doric = (function (exports) {
// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
+ // eslint-disable-next-line es/no-object-getownpropertynames -- safe
var f$4 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return objectKeysInternal(O, hiddenKeys);
};
@@ -1991,6 +2007,7 @@ var doric = (function (exports) {
f: f$4
};
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
var f$3 = Object.getOwnPropertySymbols;
var objectGetOwnPropertySymbols = {
@@ -2088,8 +2105,6 @@ var doric = (function (exports) {
} }
};
- var engineIsNode = classofRaw(global_1.process) == 'process';
-
var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
var process$5 = global_1.process;
@@ -2099,7 +2114,7 @@ var doric = (function (exports) {
if (v8) {
match = v8.split('.');
- version = match[0] + match[1];
+ version = match[0] < 4 ? 1 : match[0] + match[1];
} else if (engineUserAgent) {
match = engineUserAgent.match(/Edge\/(\d+)/);
if (!match || match[1] >= 74) {
@@ -2110,39 +2125,42 @@ var doric = (function (exports) {
var engineV8Version = version && +version;
+ /* eslint-disable es/no-symbol -- required for testing */
+
+
+
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
- /* global Symbol -- required for testing */
- return !Symbol.sham &&
+ return !String(Symbol()) ||
// Chrome 38 Symbol has incorrect toString conversion
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
- (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
+ !Symbol.sham && engineV8Version && engineV8Version < 41;
});
+ /* eslint-disable es/no-symbol -- required for testing */
+
+
var useSymbolAsUid = nativeSymbol
- /* global Symbol -- safe */
&& !Symbol.sham
&& typeof Symbol.iterator == 'symbol';
// `IsArray` abstract operation
// https://tc39.es/ecma262/#sec-isarray
+ // eslint-disable-next-line es/no-array-isarray -- safe
var isArray = Array.isArray || function isArray(arg) {
return classofRaw(arg) == 'Array';
};
- // `ToObject` abstract operation
- // https://tc39.es/ecma262/#sec-toobject
- var toObject = function (argument) {
- return Object(requireObjectCoercible(argument));
- };
-
// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
+ // eslint-disable-next-line es/no-object-keys -- safe
var objectKeys = Object.keys || function keys(O) {
return objectKeysInternal(O, enumBugKeys);
};
// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
anObject(O);
var keys = objectKeys(Properties);
@@ -2226,7 +2244,9 @@ var doric = (function (exports) {
return Properties === undefined ? result : objectDefineProperties(result, Properties);
};
- var nativeGetOwnPropertyNames$2 = objectGetOwnPropertyNames.f;
+ /* eslint-disable es/no-object-getownpropertynames -- safe */
+
+ var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
var toString = {}.toString;
@@ -2235,7 +2255,7 @@ var doric = (function (exports) {
var getWindowNames = function (it) {
try {
- return nativeGetOwnPropertyNames$2(it);
+ return $getOwnPropertyNames$1(it);
} catch (error) {
return windowNames.slice();
}
@@ -2245,7 +2265,7 @@ var doric = (function (exports) {
var f$2 = function getOwnPropertyNames(it) {
return windowNames && toString.call(it) == '[object Window]'
? getWindowNames(it)
- : nativeGetOwnPropertyNames$2(toIndexedObject(it));
+ : $getOwnPropertyNames$1(toIndexedObject(it));
};
var objectGetOwnPropertyNamesExternal = {
@@ -2412,14 +2432,14 @@ var doric = (function (exports) {
var SYMBOL = 'Symbol';
var PROTOTYPE$1 = 'prototype';
var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive');
- var setInternalState$h = internalState.set;
+ var setInternalState$g = internalState.set;
var getInternalState$d = internalState.getterFor(SYMBOL);
var ObjectPrototype$3 = Object[PROTOTYPE$1];
var $Symbol = global_1.Symbol;
var $stringify$1 = getBuiltIn('JSON', 'stringify');
var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
var nativeDefineProperty = objectDefineProperty.f;
- var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
+ var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f;
var nativePropertyIsEnumerable = objectPropertyIsEnumerable.f;
var AllSymbols = shared('symbols');
var ObjectPrototypeSymbols = shared('op-symbols');
@@ -2446,7 +2466,7 @@ var doric = (function (exports) {
var wrap$1 = function (tag, description) {
var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
- setInternalState$h(symbol, {
+ setInternalState$g(symbol, {
type: SYMBOL,
tag: tag,
description: description
@@ -2510,7 +2530,7 @@ var doric = (function (exports) {
};
var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
+ var names = nativeGetOwnPropertyNames(toIndexedObject(O));
var result = [];
$forEach$3(names, function (key) {
if (!has$1(AllSymbols, key) && !has$1(hiddenKeys$1, key)) { result.push(key); }
@@ -2520,7 +2540,7 @@ var doric = (function (exports) {
var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$3;
- var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
+ var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
var result = [];
$forEach$3(names, function (key) {
if (has$1(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has$1(ObjectPrototype$3, key))) {
@@ -2684,10 +2704,6 @@ var doric = (function (exports) {
hiddenKeys$1[HIDDEN] = true;
- // `Symbol.asyncIterator` well-known symbol
- // https://tc39.es/ecma262/#sec-symbol.asynciterator
- defineWellKnownSymbol('asyncIterator');
-
var defineProperty$b = objectDefineProperty.f;
@@ -2731,6 +2747,10 @@ var doric = (function (exports) {
});
}
+ // `Symbol.asyncIterator` well-known symbol
+ // https://tc39.es/ecma262/#sec-symbol.asynciterator
+ defineWellKnownSymbol('asyncIterator');
+
// `Symbol.hasInstance` well-known symbol
// https://tc39.es/ecma262/#sec-symbol.hasinstance
defineWellKnownSymbol('hasInstance');
@@ -2782,6 +2802,7 @@ var doric = (function (exports) {
var correctPrototypeGetter = !fails(function () {
function F() { /* empty */ }
F.prototype.constructor = null;
+ // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
return Object.getPrototypeOf(new F()) !== F.prototype;
});
@@ -2790,6 +2811,7 @@ var doric = (function (exports) {
// `Object.getPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.getprototypeof
+ // eslint-disable-next-line es/no-object-getprototypeof -- safe
var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
O = toObject(O);
if (has$1(O, IE_PROTO)) { return O[IE_PROTO]; }
@@ -2811,11 +2833,13 @@ var doric = (function (exports) {
// `Object.setPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.setprototypeof
// Works with __proto__ only. Old v8 can't work with null proto objects.
+ // eslint-disable-next-line es/no-object-setprototypeof -- safe
var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
var CORRECT_SETTER = false;
var test = {};
var setter;
try {
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
setter.call(test, []);
CORRECT_SETTER = test instanceof Array;
@@ -2962,130 +2986,12 @@ var doric = (function (exports) {
AggregateError: $AggregateError
});
- // call something on iterator step with safe closing on error
- var callWithSafeIterationClosing = function (iterator, fn, value, ENTRIES) {
- try {
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch (error) {
- iteratorClose(iterator);
- throw error;
- }
- };
-
var createProperty = function (object, key, value) {
var propertyKey = toPrimitive(key);
if (propertyKey in object) { objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); }
else { object[propertyKey] = value; }
};
- // `Array.from` method implementation
- // https://tc39.es/ecma262/#sec-array.from
- var arrayFrom = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var index = 0;
- var length, result, step, iterator, next, value;
- if (mapping) { mapfn = functionBindContext(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); }
- // if the target is not iterable or it's an array with the default iterator - use a simple case
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
- iterator = iteratorMethod.call(O);
- next = iterator.next;
- result = new C();
- for (;!(step = next.call(iterator)).done; index++) {
- value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
- createProperty(result, index, value);
- }
- } else {
- length = toLength(O.length);
- result = new C(length);
- for (;length > index; index++) {
- value = mapping ? mapfn(O[index], index) : O[index];
- createProperty(result, index, value);
- }
- }
- result.length = index;
- return result;
- };
-
- var ITERATOR$6 = wellKnownSymbol('iterator');
- var SAFE_CLOSING = false;
-
- try {
- var called = 0;
- var iteratorWithReturn = {
- next: function () {
- return { done: !!called++ };
- },
- 'return': function () {
- SAFE_CLOSING = true;
- }
- };
- iteratorWithReturn[ITERATOR$6] = function () {
- return this;
- };
- // eslint-disable-next-line no-throw-literal -- required for testing
- Array.from(iteratorWithReturn, function () { throw 2; });
- } catch (error) { /* empty */ }
-
- var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING) { return false; }
- var ITERATION_SUPPORT = false;
- try {
- var object = {};
- object[ITERATOR$6] = function () {
- return {
- next: function () {
- return { done: ITERATION_SUPPORT = true };
- }
- };
- };
- exec(object);
- } catch (error) { /* empty */ }
- return ITERATION_SUPPORT;
- };
-
- var INCORRECT_ITERATION$1 = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
- });
-
- // `Array.from` method
- // https://tc39.es/ecma262/#sec-array.from
- _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION$1 }, {
- from: arrayFrom
- });
-
- // `Array.isArray` method
- // https://tc39.es/ecma262/#sec-array.isarray
- _export({ target: 'Array', stat: true }, {
- isArray: isArray
- });
-
- var ISNT_GENERIC = fails(function () {
- function F() { /* empty */ }
- return !(Array.of.call(F) instanceof F);
- });
-
- // `Array.of` method
- // https://tc39.es/ecma262/#sec-array.of
- // WebKit Array.of isn't generic
- _export({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
- of: function of(/* ...args */) {
- var arguments$1 = arguments;
-
- var index = 0;
- var argumentsLength = arguments.length;
- var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
- while (argumentsLength > index) { createProperty(result, index, arguments$1[index++]); }
- result.length = argumentsLength;
- return result;
- }
- });
-
var SPECIES$5 = wellKnownSymbol('species');
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
@@ -3157,6 +3063,7 @@ var doric = (function (exports) {
// `Array.prototype.copyWithin` method implementation
// https://tc39.es/ecma262/#sec-array.prototype.copywithin
+ // eslint-disable-next-line es/no-array-prototype-copywithin -- safe
var arrayCopyWithin = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
var O = toObject(this);
var len = toLength(O.length);
@@ -3365,14 +3272,108 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-array.prototype.foreach
var arrayForEach = !STRICT_METHOD$7 ? function forEach(callbackfn /* , thisArg */) {
return $forEach$2(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ // eslint-disable-next-line es/no-array-prototype-foreach -- safe
} : [].forEach;
// `Array.prototype.forEach` method
// https://tc39.es/ecma262/#sec-array.prototype.foreach
+ // eslint-disable-next-line es/no-array-prototype-foreach -- safe
_export({ target: 'Array', proto: true, forced: [].forEach != arrayForEach }, {
forEach: arrayForEach
});
+ // call something on iterator step with safe closing on error
+ var callWithSafeIterationClosing = function (iterator, fn, value, ENTRIES) {
+ try {
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
+ // 7.4.6 IteratorClose(iterator, completion)
+ } catch (error) {
+ iteratorClose(iterator);
+ throw error;
+ }
+ };
+
+ // `Array.from` method implementation
+ // https://tc39.es/ecma262/#sec-array.from
+ var arrayFrom = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
+ var O = toObject(arrayLike);
+ var C = typeof this == 'function' ? this : Array;
+ var argumentsLength = arguments.length;
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
+ var mapping = mapfn !== undefined;
+ var iteratorMethod = getIteratorMethod(O);
+ var index = 0;
+ var length, result, step, iterator, next, value;
+ if (mapping) { mapfn = functionBindContext(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); }
+ // if the target is not iterable or it's an array with the default iterator - use a simple case
+ if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
+ iterator = iteratorMethod.call(O);
+ next = iterator.next;
+ result = new C();
+ for (;!(step = next.call(iterator)).done; index++) {
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
+ createProperty(result, index, value);
+ }
+ } else {
+ length = toLength(O.length);
+ result = new C(length);
+ for (;length > index; index++) {
+ value = mapping ? mapfn(O[index], index) : O[index];
+ createProperty(result, index, value);
+ }
+ }
+ result.length = index;
+ return result;
+ };
+
+ var ITERATOR$6 = wellKnownSymbol('iterator');
+ var SAFE_CLOSING = false;
+
+ try {
+ var called = 0;
+ var iteratorWithReturn = {
+ next: function () {
+ return { done: !!called++ };
+ },
+ 'return': function () {
+ SAFE_CLOSING = true;
+ }
+ };
+ iteratorWithReturn[ITERATOR$6] = function () {
+ return this;
+ };
+ // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
+ Array.from(iteratorWithReturn, function () { throw 2; });
+ } catch (error) { /* empty */ }
+
+ var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
+ if (!SKIP_CLOSING && !SAFE_CLOSING) { return false; }
+ var ITERATION_SUPPORT = false;
+ try {
+ var object = {};
+ object[ITERATOR$6] = function () {
+ return {
+ next: function () {
+ return { done: ITERATION_SUPPORT = true };
+ }
+ };
+ };
+ exec(object);
+ } catch (error) { /* empty */ }
+ return ITERATION_SUPPORT;
+ };
+
+ var INCORRECT_ITERATION$1 = !checkCorrectnessOfIteration(function (iterable) {
+ // eslint-disable-next-line es/no-array-from -- required for testing
+ Array.from(iterable);
+ });
+
+ // `Array.from` method
+ // https://tc39.es/ecma262/#sec-array.from
+ _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION$1 }, {
+ from: arrayFrom
+ });
+
var $includes$1 = arrayIncludes.includes;
@@ -3387,6 +3388,8 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');
+ /* eslint-disable es/no-array-prototype-indexof -- required for testing */
+
var $indexOf$1 = arrayIncludes.indexOf;
@@ -3406,6 +3409,190 @@ var doric = (function (exports) {
}
});
+ // `Array.isArray` method
+ // https://tc39.es/ecma262/#sec-array.isarray
+ _export({ target: 'Array', stat: true }, {
+ isArray: isArray
+ });
+
+ var ITERATOR$5 = wellKnownSymbol('iterator');
+ var BUGGY_SAFARI_ITERATORS$1 = false;
+
+ var returnThis$2 = function () { return this; };
+
+ // `%IteratorPrototype%` object
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
+ var IteratorPrototype$3, PrototypeOfArrayIteratorPrototype, arrayIterator;
+
+ /* eslint-disable es/no-array-prototype-keys -- safe */
+ if ([].keys) {
+ arrayIterator = [].keys();
+ // Safari 8 has buggy iterators w/o `next`
+ if (!('next' in arrayIterator)) { BUGGY_SAFARI_ITERATORS$1 = true; }
+ else {
+ PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) { IteratorPrototype$3 = PrototypeOfArrayIteratorPrototype; }
+ }
+ }
+
+ var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$3 == undefined || fails(function () {
+ var test = {};
+ // FF44- legacy iterators case
+ return IteratorPrototype$3[ITERATOR$5].call(test) !== test;
+ });
+
+ if (NEW_ITERATOR_PROTOTYPE) { IteratorPrototype$3 = {}; }
+
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+ if (!has$1(IteratorPrototype$3, ITERATOR$5)) {
+ createNonEnumerableProperty(IteratorPrototype$3, ITERATOR$5, returnThis$2);
+ }
+
+ var iteratorsCore = {
+ IteratorPrototype: IteratorPrototype$3,
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
+ };
+
+ var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
+
+
+
+
+
+ var returnThis$1 = function () { return this; };
+
+ var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
+ var TO_STRING_TAG = NAME + ' Iterator';
+ IteratorConstructor.prototype = objectCreate(IteratorPrototype$2, { next: createPropertyDescriptor(1, next) });
+ setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
+ iterators[TO_STRING_TAG] = returnThis$1;
+ return IteratorConstructor;
+ };
+
+ var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
+ var BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;
+ var ITERATOR$4 = wellKnownSymbol('iterator');
+ var KEYS = 'keys';
+ var VALUES = 'values';
+ var ENTRIES = 'entries';
+
+ var returnThis = function () { return this; };
+
+ var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
+ createIteratorConstructor(IteratorConstructor, NAME, next);
+
+ var getIterationMethod = function (KIND) {
+ if (KIND === DEFAULT && defaultIterator) { return defaultIterator; }
+ if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) { return IterablePrototype[KIND]; }
+ switch (KIND) {
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
+ } return function () { return new IteratorConstructor(this); };
+ };
+
+ var TO_STRING_TAG = NAME + ' Iterator';
+ var INCORRECT_VALUES_NAME = false;
+ var IterablePrototype = Iterable.prototype;
+ var nativeIterator = IterablePrototype[ITERATOR$4]
+ || IterablePrototype['@@iterator']
+ || DEFAULT && IterablePrototype[DEFAULT];
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
+ var CurrentIteratorPrototype, methods, KEY;
+
+ // fix native
+ if (anyNativeIterator) {
+ CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
+ if (IteratorPrototype$1 !== Object.prototype && CurrentIteratorPrototype.next) {
+ if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$1) {
+ if (objectSetPrototypeOf) {
+ objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$1);
+ } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {
+ createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);
+ }
+ }
+ // Set @@toStringTag to native iterators
+ setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
+ }
+ }
+
+ // fix Array#{values, @@iterator}.name in V8 / FF
+ if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
+ INCORRECT_VALUES_NAME = true;
+ defaultIterator = function values() { return nativeIterator.call(this); };
+ }
+
+ // define iterator
+ if (IterablePrototype[ITERATOR$4] !== defaultIterator) {
+ createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);
+ }
+ iterators[NAME] = defaultIterator;
+
+ // export additional methods
+ if (DEFAULT) {
+ methods = {
+ values: getIterationMethod(VALUES),
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
+ entries: getIterationMethod(ENTRIES)
+ };
+ if (FORCED) { for (KEY in methods) {
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
+ redefine(IterablePrototype, KEY, methods[KEY]);
+ }
+ } } else { _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); }
+ }
+
+ return methods;
+ };
+
+ var ARRAY_ITERATOR = 'Array Iterator';
+ var setInternalState$f = internalState.set;
+ var getInternalState$c = internalState.getterFor(ARRAY_ITERATOR);
+
+ // `Array.prototype.entries` method
+ // https://tc39.es/ecma262/#sec-array.prototype.entries
+ // `Array.prototype.keys` method
+ // https://tc39.es/ecma262/#sec-array.prototype.keys
+ // `Array.prototype.values` method
+ // https://tc39.es/ecma262/#sec-array.prototype.values
+ // `Array.prototype[@@iterator]` method
+ // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
+ // `CreateArrayIterator` internal method
+ // https://tc39.es/ecma262/#sec-createarrayiterator
+ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
+ setInternalState$f(this, {
+ type: ARRAY_ITERATOR,
+ target: toIndexedObject(iterated), // target
+ index: 0, // next index
+ kind: kind // kind
+ });
+ // `%ArrayIteratorPrototype%.next` method
+ // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
+ }, function () {
+ var state = getInternalState$c(this);
+ var target = state.target;
+ var kind = state.kind;
+ var index = state.index++;
+ if (!target || index >= target.length) {
+ state.target = undefined;
+ return { value: undefined, done: true };
+ }
+ if (kind == 'keys') { return { value: index, done: false }; }
+ if (kind == 'values') { return { value: target[index], done: false }; }
+ return { value: [index, target[index]], done: false };
+ }, 'values');
+
+ // argumentsList[@@iterator] is %ArrayProto_values%
+ // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
+ // https://tc39.es/ecma262/#sec-createmappedargumentsobject
+ iterators.Arguments = iterators.Array;
+
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
+ addToUnscopables('keys');
+ addToUnscopables('values');
+ addToUnscopables('entries');
+
var nativeJoin = [].join;
var ES3_STRINGS = indexedObject != Object;
@@ -3419,9 +3606,15 @@ var doric = (function (exports) {
}
});
+ /* eslint-disable es/no-array-prototype-lastindexof -- safe */
+
+
+
+
+
var min$6 = Math.min;
- var nativeLastIndexOf = [].lastIndexOf;
- var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
+ var $lastIndexOf = [].lastIndexOf;
+ var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
var STRICT_METHOD$4 = arrayMethodIsStrict('lastIndexOf');
var FORCED$m = NEGATIVE_ZERO || !STRICT_METHOD$4;
@@ -3429,7 +3622,7 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
var arrayLastIndexOf = FORCED$m ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
// convert -0 to +0
- if (NEGATIVE_ZERO) { return nativeLastIndexOf.apply(this, arguments) || 0; }
+ if (NEGATIVE_ZERO) { return $lastIndexOf.apply(this, arguments) || 0; }
var O = toIndexedObject(this);
var length = toLength(O.length);
var index = length - 1;
@@ -3437,10 +3630,11 @@ var doric = (function (exports) {
if (index < 0) { index = length + index; }
for (;index >= 0; index--) { if (index in O && O[index] === searchElement) { return index || 0; } }
return -1;
- } : nativeLastIndexOf;
+ } : $lastIndexOf;
// `Array.prototype.lastIndexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
+ // eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing
_export({ target: 'Array', proto: true, forced: arrayLastIndexOf !== [].lastIndexOf }, {
lastIndexOf: arrayLastIndexOf
});
@@ -3459,6 +3653,28 @@ var doric = (function (exports) {
}
});
+ var ISNT_GENERIC = fails(function () {
+ function F() { /* empty */ }
+ // eslint-disable-next-line es/no-array-of -- required for testing
+ return !(Array.of.call(F) instanceof F);
+ });
+
+ // `Array.of` method
+ // https://tc39.es/ecma262/#sec-array.of
+ // WebKit Array.of isn't generic
+ _export({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
+ of: function of(/* ...args */) {
+ var arguments$1 = arguments;
+
+ var index = 0;
+ var argumentsLength = arguments.length;
+ var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
+ while (argumentsLength > index) { createProperty(result, index, arguments$1[index++]); }
+ result.length = argumentsLength;
+ return result;
+ }
+ });
+
// `Array.prototype.{ reduce, reduceRight }` methods implementation
var createMethod$6 = function (IS_RIGHT) {
return function (that, callbackfn, argumentsLength, memo) {
@@ -3495,6 +3711,8 @@ var doric = (function (exports) {
right: createMethod$6(true)
};
+ var engineIsNode = classofRaw(global_1.process) == 'process';
+
var $reduce$1 = arrayReduce.left;
@@ -3622,6 +3840,24 @@ var doric = (function (exports) {
}
});
+ var SPECIES$3 = wellKnownSymbol('species');
+
+ var setSpecies = function (CONSTRUCTOR_NAME) {
+ var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
+ var defineProperty = objectDefineProperty.f;
+
+ if (descriptors && Constructor && !Constructor[SPECIES$3]) {
+ defineProperty(Constructor, SPECIES$3, {
+ configurable: true,
+ get: function () { return this; }
+ });
+ }
+ };
+
+ // `Array[@@species]` getter
+ // https://tc39.es/ecma262/#sec-get-array-@@species
+ setSpecies('Array');
+
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
var max$3 = Math.max;
@@ -3683,24 +3919,6 @@ var doric = (function (exports) {
}
});
- var SPECIES$3 = wellKnownSymbol('species');
-
- var setSpecies = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = objectDefineProperty.f;
-
- if (descriptors && Constructor && !Constructor[SPECIES$3]) {
- defineProperty(Constructor, SPECIES$3, {
- configurable: true,
- get: function () { return this; }
- });
- }
- };
-
- // `Array[@@species]` getter
- // https://tc39.es/ecma262/#sec-get-array-@@species
- setSpecies('Array');
-
// this method was added to unscopables after implementation
// in popular engines, so it's moved to a separate module
@@ -3715,182 +3933,689 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('flatMap');
- var ITERATOR$5 = wellKnownSymbol('iterator');
- var BUGGY_SAFARI_ITERATORS$1 = false;
+ // eslint-disable-next-line es/no-typed-arrays -- safe
+ var arrayBufferNative = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
- var returnThis$2 = function () { return this; };
-
- // `%IteratorPrototype%` object
- // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
- var IteratorPrototype$3, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
- if ([].keys) {
- arrayIterator = [].keys();
- // Safari 8 has buggy iterators w/o `next`
- if (!('next' in arrayIterator)) { BUGGY_SAFARI_ITERATORS$1 = true; }
- else {
- PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype) { IteratorPrototype$3 = PrototypeOfArrayIteratorPrototype; }
- }
- }
-
- var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$3 == undefined || fails(function () {
- var test = {};
- // FF44- legacy iterators case
- return IteratorPrototype$3[ITERATOR$5].call(test) !== test;
- });
-
- if (NEW_ITERATOR_PROTOTYPE) { IteratorPrototype$3 = {}; }
-
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
- if (!has$1(IteratorPrototype$3, ITERATOR$5)) {
- createNonEnumerableProperty(IteratorPrototype$3, ITERATOR$5, returnThis$2);
- }
-
- var iteratorsCore = {
- IteratorPrototype: IteratorPrototype$3,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
+ var redefineAll = function (target, src, options) {
+ for (var key in src) { redefine(target, key, src[key], options); }
+ return target;
};
- var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-
-
-
-
-
- var returnThis$1 = function () { return this; };
-
- var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = objectCreate(IteratorPrototype$2, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
- iterators[TO_STRING_TAG] = returnThis$1;
- return IteratorConstructor;
+ var anInstance = function (it, Constructor, name) {
+ if (!(it instanceof Constructor)) {
+ throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
+ } return it;
};
- var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
- var BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;
- var ITERATOR$4 = wellKnownSymbol('iterator');
- var KEYS = 'keys';
- var VALUES = 'values';
- var ENTRIES = 'entries';
+ // `ToIndex` abstract operation
+ // https://tc39.es/ecma262/#sec-toindex
+ var toIndex = function (it) {
+ if (it === undefined) { return 0; }
+ var number = toInteger(it);
+ var length = toLength(number);
+ if (number !== length) { throw RangeError('Wrong length or index'); }
+ return length;
+ };
- var returnThis = function () { return this; };
+ // IEEE754 conversions based on https://github.com/feross/ieee754
+ var abs$7 = Math.abs;
+ var pow$4 = Math.pow;
+ var floor$8 = Math.floor;
+ var log$8 = Math.log;
+ var LN2$2 = Math.LN2;
- var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
-
- var getIterationMethod = function (KIND) {
- if (KIND === DEFAULT && defaultIterator) { return defaultIterator; }
- if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) { return IterablePrototype[KIND]; }
- switch (KIND) {
- case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
- case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
- case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
- } return function () { return new IteratorConstructor(this); };
- };
-
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR$4]
- || IterablePrototype['@@iterator']
- || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
-
- // fix native
- if (anyNativeIterator) {
- CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
- if (IteratorPrototype$1 !== Object.prototype && CurrentIteratorPrototype.next) {
- if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$1) {
- if (objectSetPrototypeOf) {
- objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$1);
- } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {
- createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);
- }
- }
- // Set @@toStringTag to native iterators
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
+ var pack = function (number, mantissaLength, bytes) {
+ var buffer = new Array(bytes);
+ var exponentLength = bytes * 8 - mantissaLength - 1;
+ var eMax = (1 << exponentLength) - 1;
+ var eBias = eMax >> 1;
+ var rt = mantissaLength === 23 ? pow$4(2, -24) - pow$4(2, -77) : 0;
+ var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
+ var index = 0;
+ var exponent, mantissa, c;
+ number = abs$7(number);
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (number != number || number === Infinity) {
+ // eslint-disable-next-line no-self-compare -- NaN check
+ mantissa = number != number ? 1 : 0;
+ exponent = eMax;
+ } else {
+ exponent = floor$8(log$8(number) / LN2$2);
+ if (number * (c = pow$4(2, -exponent)) < 1) {
+ exponent--;
+ c *= 2;
+ }
+ if (exponent + eBias >= 1) {
+ number += rt / c;
+ } else {
+ number += rt * pow$4(2, 1 - eBias);
+ }
+ if (number * c >= 2) {
+ exponent++;
+ c /= 2;
+ }
+ if (exponent + eBias >= eMax) {
+ mantissa = 0;
+ exponent = eMax;
+ } else if (exponent + eBias >= 1) {
+ mantissa = (number * c - 1) * pow$4(2, mantissaLength);
+ exponent = exponent + eBias;
+ } else {
+ mantissa = number * pow$4(2, eBias - 1) * pow$4(2, mantissaLength);
+ exponent = 0;
}
}
-
- // fix Array#{values, @@iterator}.name in V8 / FF
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
- INCORRECT_VALUES_NAME = true;
- defaultIterator = function values() { return nativeIterator.call(this); };
- }
-
- // define iterator
- if (IterablePrototype[ITERATOR$4] !== defaultIterator) {
- createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);
- }
- iterators[NAME] = defaultIterator;
-
- // export additional methods
- if (DEFAULT) {
- methods = {
- values: getIterationMethod(VALUES),
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
- entries: getIterationMethod(ENTRIES)
- };
- if (FORCED) { for (KEY in methods) {
- if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
- redefine(IterablePrototype, KEY, methods[KEY]);
- }
- } } else { _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); }
- }
-
- return methods;
+ for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8){ }
+ exponent = exponent << mantissaLength | mantissa;
+ exponentLength += mantissaLength;
+ for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8){ }
+ buffer[--index] |= sign * 128;
+ return buffer;
};
- var ARRAY_ITERATOR = 'Array Iterator';
- var setInternalState$g = internalState.set;
- var getInternalState$c = internalState.getterFor(ARRAY_ITERATOR);
+ var unpack = function (buffer, mantissaLength) {
+ var bytes = buffer.length;
+ var exponentLength = bytes * 8 - mantissaLength - 1;
+ var eMax = (1 << exponentLength) - 1;
+ var eBias = eMax >> 1;
+ var nBits = exponentLength - 7;
+ var index = bytes - 1;
+ var sign = buffer[index--];
+ var exponent = sign & 127;
+ var mantissa;
+ sign >>= 7;
+ for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8){ }
+ mantissa = exponent & (1 << -nBits) - 1;
+ exponent >>= -nBits;
+ nBits += mantissaLength;
+ for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8){ }
+ if (exponent === 0) {
+ exponent = 1 - eBias;
+ } else if (exponent === eMax) {
+ return mantissa ? NaN : sign ? -Infinity : Infinity;
+ } else {
+ mantissa = mantissa + pow$4(2, mantissaLength);
+ exponent = exponent - eBias;
+ } return (sign ? -1 : 1) * mantissa * pow$4(2, exponent - mantissaLength);
+ };
- // `Array.prototype.entries` method
- // https://tc39.es/ecma262/#sec-array.prototype.entries
- // `Array.prototype.keys` method
- // https://tc39.es/ecma262/#sec-array.prototype.keys
- // `Array.prototype.values` method
- // https://tc39.es/ecma262/#sec-array.prototype.values
- // `Array.prototype[@@iterator]` method
- // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
- // `CreateArrayIterator` internal method
- // https://tc39.es/ecma262/#sec-createarrayiterator
- var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState$g(this, {
- type: ARRAY_ITERATOR,
- target: toIndexedObject(iterated), // target
- index: 0, // next index
- kind: kind // kind
- });
- // `%ArrayIteratorPrototype%.next` method
- // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
- }, function () {
- var state = getInternalState$c(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
- state.target = undefined;
- return { value: undefined, done: true };
+ var ieee754 = {
+ pack: pack,
+ unpack: unpack
+ };
+
+ var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f;
+ var defineProperty$a = objectDefineProperty.f;
+
+
+
+
+ var getInternalState$b = internalState.get;
+ var setInternalState$e = internalState.set;
+ var ARRAY_BUFFER$1 = 'ArrayBuffer';
+ var DATA_VIEW = 'DataView';
+ var PROTOTYPE = 'prototype';
+ var WRONG_LENGTH = 'Wrong length';
+ var WRONG_INDEX = 'Wrong index';
+ var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1];
+ var $ArrayBuffer = NativeArrayBuffer$1;
+ var $DataView = global_1[DATA_VIEW];
+ var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
+ var ObjectPrototype$1 = Object.prototype;
+ var RangeError$1 = global_1.RangeError;
+
+ var packIEEE754 = ieee754.pack;
+ var unpackIEEE754 = ieee754.unpack;
+
+ var packInt8 = function (number) {
+ return [number & 0xFF];
+ };
+
+ var packInt16 = function (number) {
+ return [number & 0xFF, number >> 8 & 0xFF];
+ };
+
+ var packInt32 = function (number) {
+ return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
+ };
+
+ var unpackInt32 = function (buffer) {
+ return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
+ };
+
+ var packFloat32 = function (number) {
+ return packIEEE754(number, 23, 4);
+ };
+
+ var packFloat64 = function (number) {
+ return packIEEE754(number, 52, 8);
+ };
+
+ var addGetter = function (Constructor, key) {
+ defineProperty$a(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$b(this)[key]; } });
+ };
+
+ var get$1 = function (view, count, index, isLittleEndian) {
+ var intIndex = toIndex(index);
+ var store = getInternalState$b(view);
+ if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); }
+ var bytes = getInternalState$b(store.buffer).bytes;
+ var start = intIndex + store.byteOffset;
+ var pack = bytes.slice(start, start + count);
+ return isLittleEndian ? pack : pack.reverse();
+ };
+
+ var set$2 = function (view, count, index, conversion, value, isLittleEndian) {
+ var intIndex = toIndex(index);
+ var store = getInternalState$b(view);
+ if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); }
+ var bytes = getInternalState$b(store.buffer).bytes;
+ var start = intIndex + store.byteOffset;
+ var pack = conversion(+value);
+ for (var i = 0; i < count; i++) { bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; }
+ };
+
+ if (!arrayBufferNative) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ anInstance(this, $ArrayBuffer, ARRAY_BUFFER$1);
+ var byteLength = toIndex(length);
+ setInternalState$e(this, {
+ bytes: arrayFill.call(new Array(byteLength), 0),
+ byteLength: byteLength
+ });
+ if (!descriptors) { this.byteLength = byteLength; }
+ };
+
+ $DataView = function DataView(buffer, byteOffset, byteLength) {
+ anInstance(this, $DataView, DATA_VIEW);
+ anInstance(buffer, $ArrayBuffer, DATA_VIEW);
+ var bufferLength = getInternalState$b(buffer).byteLength;
+ var offset = toInteger(byteOffset);
+ if (offset < 0 || offset > bufferLength) { throw RangeError$1('Wrong offset'); }
+ byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
+ if (offset + byteLength > bufferLength) { throw RangeError$1(WRONG_LENGTH); }
+ setInternalState$e(this, {
+ buffer: buffer,
+ byteLength: byteLength,
+ byteOffset: offset
+ });
+ if (!descriptors) {
+ this.buffer = buffer;
+ this.byteLength = byteLength;
+ this.byteOffset = offset;
+ }
+ };
+
+ if (descriptors) {
+ addGetter($ArrayBuffer, 'byteLength');
+ addGetter($DataView, 'buffer');
+ addGetter($DataView, 'byteLength');
+ addGetter($DataView, 'byteOffset');
}
- if (kind == 'keys') { return { value: index, done: false }; }
- if (kind == 'values') { return { value: target[index], done: false }; }
- return { value: [index, target[index]], done: false };
- }, 'values');
- // argumentsList[@@iterator] is %ArrayProto_values%
- // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
- // https://tc39.es/ecma262/#sec-createmappedargumentsobject
- iterators.Arguments = iterators.Array;
+ redefineAll($DataView[PROTOTYPE], {
+ getInt8: function getInt8(byteOffset) {
+ return get$1(this, 1, byteOffset)[0] << 24 >> 24;
+ },
+ getUint8: function getUint8(byteOffset) {
+ return get$1(this, 1, byteOffset)[0];
+ },
+ getInt16: function getInt16(byteOffset /* , littleEndian */) {
+ var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+ return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
+ },
+ getUint16: function getUint16(byteOffset /* , littleEndian */) {
+ var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+ return bytes[1] << 8 | bytes[0];
+ },
+ getInt32: function getInt32(byteOffset /* , littleEndian */) {
+ return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
+ },
+ getUint32: function getUint32(byteOffset /* , littleEndian */) {
+ return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
+ },
+ getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
+ return unpackIEEE754(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
+ },
+ getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
+ return unpackIEEE754(get$1(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
+ },
+ setInt8: function setInt8(byteOffset, value) {
+ set$2(this, 1, byteOffset, packInt8, value);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ set$2(this, 1, byteOffset, packInt8, value);
+ },
+ setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
+ set$2(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
+ set$2(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
+ set$2(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
+ set$2(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
+ set$2(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
+ set$2(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
+ }
+ });
+ } else {
+ /* eslint-disable no-new -- required for testing */
+ if (!fails(function () {
+ NativeArrayBuffer$1(1);
+ }) || !fails(function () {
+ new NativeArrayBuffer$1(-1);
+ }) || fails(function () {
+ new NativeArrayBuffer$1();
+ new NativeArrayBuffer$1(1.5);
+ new NativeArrayBuffer$1(NaN);
+ return NativeArrayBuffer$1.name != ARRAY_BUFFER$1;
+ })) {
+ /* eslint-enable no-new -- required for testing */
+ $ArrayBuffer = function ArrayBuffer(length) {
+ anInstance(this, $ArrayBuffer);
+ return new NativeArrayBuffer$1(toIndex(length));
+ };
+ var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer$1[PROTOTYPE];
+ for (var keys$2 = getOwnPropertyNames$3(NativeArrayBuffer$1), j$1 = 0, key$1; keys$2.length > j$1;) {
+ if (!((key$1 = keys$2[j$1++]) in $ArrayBuffer)) {
+ createNonEnumerableProperty($ArrayBuffer, key$1, NativeArrayBuffer$1[key$1]);
+ }
+ }
+ ArrayBufferPrototype.constructor = $ArrayBuffer;
+ }
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
+ // WebKit bug - the same parent prototype for typed arrays and data view
+ if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$1) {
+ objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$1);
+ }
+
+ // iOS Safari 7.x bug
+ var testView = new $DataView(new $ArrayBuffer(2));
+ var $setInt8 = $DataViewPrototype.setInt8;
+ testView.setInt8(0, 2147483648);
+ testView.setInt8(1, 2147483649);
+ if (testView.getInt8(0) || !testView.getInt8(1)) { redefineAll($DataViewPrototype, {
+ setInt8: function setInt8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ }
+ }, { unsafe: true }); }
+ }
+
+ setToStringTag($ArrayBuffer, ARRAY_BUFFER$1);
+ setToStringTag($DataView, DATA_VIEW);
+
+ var arrayBuffer = {
+ ArrayBuffer: $ArrayBuffer,
+ DataView: $DataView
+ };
+
+ var ARRAY_BUFFER = 'ArrayBuffer';
+ var ArrayBuffer$3 = arrayBuffer[ARRAY_BUFFER];
+ var NativeArrayBuffer = global_1[ARRAY_BUFFER];
+
+ // `ArrayBuffer` constructor
+ // https://tc39.es/ecma262/#sec-arraybuffer-constructor
+ _export({ global: true, forced: NativeArrayBuffer !== ArrayBuffer$3 }, {
+ ArrayBuffer: ArrayBuffer$3
+ });
+
+ setSpecies(ARRAY_BUFFER);
+
+ var defineProperty$9 = objectDefineProperty.f;
+
+
+
+
+
+ var Int8Array$3 = global_1.Int8Array;
+ var Int8ArrayPrototype = Int8Array$3 && Int8Array$3.prototype;
+ var Uint8ClampedArray = global_1.Uint8ClampedArray;
+ var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
+ var TypedArray = Int8Array$3 && objectGetPrototypeOf(Int8Array$3);
+ var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype);
+ var ObjectPrototype = Object.prototype;
+ var isPrototypeOf = ObjectPrototype.isPrototypeOf;
+
+ var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag');
+ var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
+ // Fixing native typed arrays in Opera Presto crashes the browser, see #595
+ var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera';
+ var TYPED_ARRAY_TAG_REQIRED = false;
+ var NAME$1;
+
+ var TypedArrayConstructorsList = {
+ Int8Array: 1,
+ Uint8Array: 1,
+ Uint8ClampedArray: 1,
+ Int16Array: 2,
+ Uint16Array: 2,
+ Int32Array: 4,
+ Uint32Array: 4,
+ Float32Array: 4,
+ Float64Array: 8
+ };
+
+ var BigIntArrayConstructorsList = {
+ BigInt64Array: 8,
+ BigUint64Array: 8
+ };
+
+ var isView = function isView(it) {
+ if (!isObject(it)) { return false; }
+ var klass = classof(it);
+ return klass === 'DataView'
+ || has$1(TypedArrayConstructorsList, klass)
+ || has$1(BigIntArrayConstructorsList, klass);
+ };
+
+ var isTypedArray = function (it) {
+ if (!isObject(it)) { return false; }
+ var klass = classof(it);
+ return has$1(TypedArrayConstructorsList, klass)
+ || has$1(BigIntArrayConstructorsList, klass);
+ };
+
+ var aTypedArray$r = function (it) {
+ if (isTypedArray(it)) { return it; }
+ throw TypeError('Target is not a typed array');
+ };
+
+ var aTypedArrayConstructor$5 = function (C) {
+ if (objectSetPrototypeOf) {
+ if (isPrototypeOf.call(TypedArray, C)) { return C; }
+ } else { for (var ARRAY in TypedArrayConstructorsList) { if (has$1(TypedArrayConstructorsList, NAME$1)) {
+ var TypedArrayConstructor = global_1[ARRAY];
+ if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
+ return C;
+ }
+ } } } throw TypeError('Target is not a typed array constructor');
+ };
+
+ var exportTypedArrayMethod$s = function (KEY, property, forced) {
+ if (!descriptors) { return; }
+ if (forced) { for (var ARRAY in TypedArrayConstructorsList) {
+ var TypedArrayConstructor = global_1[ARRAY];
+ if (TypedArrayConstructor && has$1(TypedArrayConstructor.prototype, KEY)) { try {
+ delete TypedArrayConstructor.prototype[KEY];
+ } catch (error) { /* empty */ } }
+ } }
+ if (!TypedArrayPrototype[KEY] || forced) {
+ redefine(TypedArrayPrototype, KEY, forced ? property
+ : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8ArrayPrototype[KEY] || property);
+ }
+ };
+
+ var exportTypedArrayStaticMethod$2 = function (KEY, property, forced) {
+ var ARRAY, TypedArrayConstructor;
+ if (!descriptors) { return; }
+ if (objectSetPrototypeOf) {
+ if (forced) { for (ARRAY in TypedArrayConstructorsList) {
+ TypedArrayConstructor = global_1[ARRAY];
+ if (TypedArrayConstructor && has$1(TypedArrayConstructor, KEY)) { try {
+ delete TypedArrayConstructor[KEY];
+ } catch (error) { /* empty */ } }
+ } }
+ if (!TypedArray[KEY] || forced) {
+ // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
+ try {
+ return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$2 && TypedArray[KEY] || property);
+ } catch (error$1) { /* empty */ }
+ } else { return; }
+ }
+ for (ARRAY in TypedArrayConstructorsList) {
+ TypedArrayConstructor = global_1[ARRAY];
+ if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
+ redefine(TypedArrayConstructor, KEY, property);
+ }
+ }
+ };
+
+ for (NAME$1 in TypedArrayConstructorsList) {
+ if (!global_1[NAME$1]) { NATIVE_ARRAY_BUFFER_VIEWS$2 = false; }
+ }
+
+ // WebKit bug - typed arrays constructors prototype is Object.prototype
+ if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
+ // eslint-disable-next-line no-shadow -- safe
+ TypedArray = function TypedArray() {
+ throw TypeError('Incorrect invocation');
+ };
+ if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME$1 in TypedArrayConstructorsList) {
+ if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1], TypedArray); }
+ } }
+ }
+
+ if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
+ TypedArrayPrototype = TypedArray.prototype;
+ if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME$1 in TypedArrayConstructorsList) {
+ if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1].prototype, TypedArrayPrototype); }
+ } }
+ }
+
+ // WebKit bug - one more object in Uint8ClampedArray prototype chain
+ if (NATIVE_ARRAY_BUFFER_VIEWS$2 && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
+ objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
+ }
+
+ if (descriptors && !has$1(TypedArrayPrototype, TO_STRING_TAG$5)) {
+ TYPED_ARRAY_TAG_REQIRED = true;
+ defineProperty$9(TypedArrayPrototype, TO_STRING_TAG$5, { get: function () {
+ return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
+ } });
+ for (NAME$1 in TypedArrayConstructorsList) { if (global_1[NAME$1]) {
+ createNonEnumerableProperty(global_1[NAME$1], TYPED_ARRAY_TAG, NAME$1);
+ } }
+ }
+
+ var arrayBufferViewCore = {
+ NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS$2,
+ TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
+ aTypedArray: aTypedArray$r,
+ aTypedArrayConstructor: aTypedArrayConstructor$5,
+ exportTypedArrayMethod: exportTypedArrayMethod$s,
+ exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$2,
+ isView: isView,
+ isTypedArray: isTypedArray,
+ TypedArray: TypedArray,
+ TypedArrayPrototype: TypedArrayPrototype
+ };
+
+ var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
+
+ // `ArrayBuffer.isView` method
+ // https://tc39.es/ecma262/#sec-arraybuffer.isview
+ _export({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS$1 }, {
+ isView: arrayBufferViewCore.isView
+ });
+
+ var SPECIES$2 = wellKnownSymbol('species');
+
+ // `SpeciesConstructor` abstract operation
+ // https://tc39.es/ecma262/#sec-speciesconstructor
+ var speciesConstructor = function (O, defaultConstructor) {
+ var C = anObject(O).constructor;
+ var S;
+ return C === undefined || (S = anObject(C)[SPECIES$2]) == undefined ? defaultConstructor : aFunction(S);
+ };
+
+ var ArrayBuffer$2 = arrayBuffer.ArrayBuffer;
+ var DataView$1 = arrayBuffer.DataView;
+ var nativeArrayBufferSlice = ArrayBuffer$2.prototype.slice;
+
+ var INCORRECT_SLICE = fails(function () {
+ return !new ArrayBuffer$2(2).slice(1, undefined).byteLength;
+ });
+
+ // `ArrayBuffer.prototype.slice` method
+ // https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
+ _export({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
+ slice: function slice(start, end) {
+ if (nativeArrayBufferSlice !== undefined && end === undefined) {
+ return nativeArrayBufferSlice.call(anObject(this), start); // FF fix
+ }
+ var length = anObject(this).byteLength;
+ var first = toAbsoluteIndex(start, length);
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
+ var result = new (speciesConstructor(this, ArrayBuffer$2))(toLength(fin - first));
+ var viewSource = new DataView$1(this);
+ var viewTarget = new DataView$1(result);
+ var index = 0;
+ while (first < fin) {
+ viewTarget.setUint8(index++, viewSource.getUint8(first++));
+ } return result;
+ }
+ });
+
+ // `DataView` constructor
+ // https://tc39.es/ecma262/#sec-dataview-constructor
+ _export({ global: true, forced: !arrayBufferNative }, {
+ DataView: arrayBuffer.DataView
+ });
+
+ // `Date.now` method
+ // https://tc39.es/ecma262/#sec-date.now
+ _export({ target: 'Date', stat: true }, {
+ now: function now() {
+ return new Date().getTime();
+ }
+ });
+
+ // `String.prototype.repeat` method implementation
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
+ var stringRepeat = function repeat(count) {
+ var str = String(requireObjectCoercible(this));
+ var result = '';
+ var n = toInteger(count);
+ if (n < 0 || n == Infinity) { throw RangeError('Wrong number of repetitions'); }
+ for (;n > 0; (n >>>= 1) && (str += str)) { if (n & 1) { result += str; } }
+ return result;
+ };
+
+ // https://github.com/tc39/proposal-string-pad-start-end
+
+
+
+
+ var ceil$1 = Math.ceil;
+
+ // `String.prototype.{ padStart, padEnd }` methods implementation
+ var createMethod$5 = function (IS_END) {
+ return function ($this, maxLength, fillString) {
+ var S = String(requireObjectCoercible($this));
+ var stringLength = S.length;
+ var fillStr = fillString === undefined ? ' ' : String(fillString);
+ var intMaxLength = toLength(maxLength);
+ var fillLen, stringFiller;
+ if (intMaxLength <= stringLength || fillStr == '') { return S; }
+ fillLen = intMaxLength - stringLength;
+ stringFiller = stringRepeat.call(fillStr, ceil$1(fillLen / fillStr.length));
+ if (stringFiller.length > fillLen) { stringFiller = stringFiller.slice(0, fillLen); }
+ return IS_END ? S + stringFiller : stringFiller + S;
+ };
+ };
+
+ var stringPad = {
+ // `String.prototype.padStart` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
+ start: createMethod$5(false),
+ // `String.prototype.padEnd` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
+ end: createMethod$5(true)
+ };
+
+ var padStart = stringPad.start;
+
+ var abs$6 = Math.abs;
+ var DatePrototype$2 = Date.prototype;
+ var getTime$1 = DatePrototype$2.getTime;
+ var nativeDateToISOString = DatePrototype$2.toISOString;
+
+ // `Date.prototype.toISOString` method implementation
+ // https://tc39.es/ecma262/#sec-date.prototype.toisostring
+ // PhantomJS / old WebKit fails here:
+ var dateToIsoString = (fails(function () {
+ return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
+ }) || !fails(function () {
+ nativeDateToISOString.call(new Date(NaN));
+ })) ? function toISOString() {
+ if (!isFinite(getTime$1.call(this))) { throw RangeError('Invalid time value'); }
+ var date = this;
+ var year = date.getUTCFullYear();
+ var milliseconds = date.getUTCMilliseconds();
+ var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
+ return sign + padStart(abs$6(year), sign ? 6 : 4, 0) +
+ '-' + padStart(date.getUTCMonth() + 1, 2, 0) +
+ '-' + padStart(date.getUTCDate(), 2, 0) +
+ 'T' + padStart(date.getUTCHours(), 2, 0) +
+ ':' + padStart(date.getUTCMinutes(), 2, 0) +
+ ':' + padStart(date.getUTCSeconds(), 2, 0) +
+ '.' + padStart(milliseconds, 3, 0) +
+ 'Z';
+ } : nativeDateToISOString;
+
+ // `Date.prototype.toISOString` method
+ // https://tc39.es/ecma262/#sec-date.prototype.toisostring
+ // PhantomJS / old WebKit has a broken implementations
+ _export({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== dateToIsoString }, {
+ toISOString: dateToIsoString
+ });
+
+ var FORCED$k = fails(function () {
+ return new Date(NaN).toJSON() !== null
+ || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
+ });
+
+ // `Date.prototype.toJSON` method
+ // https://tc39.es/ecma262/#sec-date.prototype.tojson
+ _export({ target: 'Date', proto: true, forced: FORCED$k }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ toJSON: function toJSON(key) {
+ var O = toObject(this);
+ var pv = toPrimitive(O);
+ return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
+ }
+ });
+
+ var dateToPrimitive = function (hint) {
+ if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
+ throw TypeError('Incorrect hint');
+ } return toPrimitive(anObject(this), hint !== 'number');
+ };
+
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
+ var DatePrototype$1 = Date.prototype;
+
+ // `Date.prototype[@@toPrimitive]` method
+ // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
+ if (!(TO_PRIMITIVE in DatePrototype$1)) {
+ createNonEnumerableProperty(DatePrototype$1, TO_PRIMITIVE, dateToPrimitive);
+ }
+
+ var DatePrototype = Date.prototype;
+ var INVALID_DATE = 'Invalid Date';
+ var TO_STRING$1 = 'toString';
+ var nativeDateToString = DatePrototype[TO_STRING$1];
+ var getTime = DatePrototype.getTime;
+
+ // `Date.prototype.toString` method
+ // https://tc39.es/ecma262/#sec-date.prototype.tostring
+ if (new Date(NaN) + '' != INVALID_DATE) {
+ redefine(DatePrototype, TO_STRING$1, function toString() {
+ var value = getTime.call(this);
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return value === value ? nativeDateToString.call(this) : INVALID_DATE;
+ });
+ }
var slice$1 = [].slice;
var factories = {};
@@ -3922,17 +4647,32 @@ var doric = (function (exports) {
bind: functionBind
});
- var defineProperty$a = objectDefineProperty.f;
-
+ var HAS_INSTANCE = wellKnownSymbol('hasInstance');
var FunctionPrototype$1 = Function.prototype;
- var FunctionPrototypeToString = FunctionPrototype$1.toString;
+
+ // `Function.prototype[@@hasInstance]` method
+ // https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
+ if (!(HAS_INSTANCE in FunctionPrototype$1)) {
+ objectDefineProperty.f(FunctionPrototype$1, HAS_INSTANCE, { value: function (O) {
+ if (typeof this != 'function' || !isObject(O)) { return false; }
+ if (!isObject(this.prototype)) { return O instanceof this; }
+ // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
+ while (O = objectGetPrototypeOf(O)) { if (this.prototype === O) { return true; } }
+ return false;
+ } });
+ }
+
+ var defineProperty$8 = objectDefineProperty.f;
+
+ var FunctionPrototype = Function.prototype;
+ var FunctionPrototypeToString = FunctionPrototype.toString;
var nameRE = /^\s*function ([^ (]*)/;
- var NAME$1 = 'name';
+ var NAME = 'name';
// Function instances `.name` property
// https://tc39.es/ecma262/#sec-function-instances-name
- if (descriptors && !(NAME$1 in FunctionPrototype$1)) {
- defineProperty$a(FunctionPrototype$1, NAME$1, {
+ if (descriptors && !(NAME in FunctionPrototype)) {
+ defineProperty$8(FunctionPrototype, NAME, {
configurable: true,
get: function () {
try {
@@ -3944,138 +4684,49 @@ var doric = (function (exports) {
});
}
- var HAS_INSTANCE = wellKnownSymbol('hasInstance');
- var FunctionPrototype = Function.prototype;
-
- // `Function.prototype[@@hasInstance]` method
- // https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
- if (!(HAS_INSTANCE in FunctionPrototype)) {
- objectDefineProperty.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
- if (typeof this != 'function' || !isObject(O)) { return false; }
- if (!isObject(this.prototype)) { return O instanceof this; }
- // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
- while (O = objectGetPrototypeOf(O)) { if (this.prototype === O) { return true; } }
- return false;
- } });
- }
-
// `globalThis` object
// https://tc39.es/ecma262/#sec-globalthis
_export({ global: true }, {
globalThis: global_1
});
- var nativeAssign = Object.assign;
- var defineProperty$9 = Object.defineProperty;
+ var $stringify = getBuiltIn('JSON', 'stringify');
+ var re = /[\uD800-\uDFFF]/g;
+ var low = /^[\uD800-\uDBFF]$/;
+ var hi = /^[\uDC00-\uDFFF]$/;
- // `Object.assign` method
- // https://tc39.es/ecma262/#sec-object.assign
- var objectAssign = !nativeAssign || fails(function () {
- // should have correct order of operations (Edge bug)
- if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$9({}, 'a', {
- enumerable: true,
- get: function () {
- defineProperty$9(this, 'b', {
- value: 3,
- enumerable: false
- });
- }
- }), { b: 2 })).b !== 1) { return true; }
- // should work with symbols and should have deterministic property order (V8 bug)
- var A = {};
- var B = {};
- /* global Symbol -- required for testing */
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) { B[chr] = chr; });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
- }) ? function assign(target, source) {
- var arguments$1 = arguments;
- // eslint-disable-line no-unused-vars -- required for `.length`
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
- var propertyIsEnumerable = objectPropertyIsEnumerable.f;
- while (argumentsLength > index) {
- var S = indexedObject(arguments$1[index++]);
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
- var length = keys.length;
- var j = 0;
- var key;
- while (length > j) {
- key = keys[j++];
- if (!descriptors || propertyIsEnumerable.call(S, key)) { T[key] = S[key]; }
- }
- } return T;
- } : nativeAssign;
-
- // `Object.assign` method
- // https://tc39.es/ecma262/#sec-object.assign
- _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
- assign: objectAssign
- });
-
- // `Object.create` method
- // https://tc39.es/ecma262/#sec-object.create
- _export({ target: 'Object', stat: true, sham: !descriptors }, {
- create: objectCreate
- });
-
- // `Object.defineProperty` method
- // https://tc39.es/ecma262/#sec-object.defineproperty
- _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, {
- defineProperty: objectDefineProperty.f
- });
-
- // `Object.defineProperties` method
- // https://tc39.es/ecma262/#sec-object.defineproperties
- _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, {
- defineProperties: objectDefineProperties
- });
-
- var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
- // `Object.{ entries, values }` methods implementation
- var createMethod$5 = function (TO_ENTRIES) {
- return function (it) {
- var O = toIndexedObject(it);
- var keys = objectKeys(O);
- var length = keys.length;
- var i = 0;
- var result = [];
- var key;
- while (length > i) {
- key = keys[i++];
- if (!descriptors || propertyIsEnumerable.call(O, key)) {
- result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
- }
- }
- return result;
- };
+ var fix = function (match, offset, string) {
+ var prev = string.charAt(offset - 1);
+ var next = string.charAt(offset + 1);
+ if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {
+ return '\\u' + match.charCodeAt(0).toString(16);
+ } return match;
};
- var objectToArray = {
- // `Object.entries` method
- // https://tc39.es/ecma262/#sec-object.entries
- entries: createMethod$5(true),
- // `Object.values` method
- // https://tc39.es/ecma262/#sec-object.values
- values: createMethod$5(false)
- };
-
- var $entries = objectToArray.entries;
-
- // `Object.entries` method
- // https://tc39.es/ecma262/#sec-object.entries
- _export({ target: 'Object', stat: true }, {
- entries: function entries(O) {
- return $entries(O);
- }
+ var FORCED$j = fails(function () {
+ return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
+ || $stringify('\uDEAD') !== '"\\udead"';
});
+ if ($stringify) {
+ // `JSON.stringify` method
+ // https://tc39.es/ecma262/#sec-json.stringify
+ // https://github.com/tc39/proposal-well-formed-stringify
+ _export({ target: 'JSON', stat: true, forced: FORCED$j }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ stringify: function stringify(it, replacer, space) {
+ var result = $stringify.apply(null, arguments);
+ return typeof result == 'string' ? result.replace(re, fix) : result;
+ }
+ });
+ }
+
+ // JSON[@@toStringTag] property
+ // https://tc39.es/ecma262/#sec-json-@@tostringtag
+ setToStringTag(global_1.JSON, 'JSON', true);
+
var freezing = !fails(function () {
+ // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
return Object.isExtensible(Object.preventExtensions({}));
});
@@ -4087,6 +4738,7 @@ var doric = (function (exports) {
var METADATA = uid('meta');
var id = 0;
+ // eslint-disable-next-line es/no-object-isextensible -- safe
var isExtensible = Object.isExtensible || function () {
return true;
};
@@ -4140,1520 +4792,6 @@ var doric = (function (exports) {
hiddenKeys$1[METADATA] = true;
});
- var onFreeze$2 = internalMetadata.onFreeze;
-
- var nativeFreeze = Object.freeze;
- var FAILS_ON_PRIMITIVES$9 = fails(function () { nativeFreeze(1); });
-
- // `Object.freeze` method
- // https://tc39.es/ecma262/#sec-object.freeze
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$9, sham: !freezing }, {
- freeze: function freeze(it) {
- return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze$2(it)) : it;
- }
- });
-
- // `Object.fromEntries` method
- // https://github.com/tc39/proposal-object-from-entries
- _export({ target: 'Object', stat: true }, {
- fromEntries: function fromEntries(iterable) {
- var obj = {};
- iterate(iterable, function (k, v) {
- createProperty(obj, k, v);
- }, { AS_ENTRIES: true });
- return obj;
- }
- });
-
- var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-
-
- var FAILS_ON_PRIMITIVES$8 = fails(function () { nativeGetOwnPropertyDescriptor(1); });
- var FORCED$k = !descriptors || FAILS_ON_PRIMITIVES$8;
-
- // `Object.getOwnPropertyDescriptor` method
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
- _export({ target: 'Object', stat: true, forced: FORCED$k, sham: !descriptors }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
- return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
- }
- });
-
- // `Object.getOwnPropertyDescriptors` method
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
- _export({ target: 'Object', stat: true, sham: !descriptors }, {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
- var O = toIndexedObject(object);
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
- var keys = ownKeys(O);
- var result = {};
- var index = 0;
- var key, descriptor;
- while (keys.length > index) {
- descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
- if (descriptor !== undefined) { createProperty(result, key, descriptor); }
- }
- return result;
- }
- });
-
- var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f;
-
- var FAILS_ON_PRIMITIVES$7 = fails(function () { return !Object.getOwnPropertyNames(1); });
-
- // `Object.getOwnPropertyNames` method
- // https://tc39.es/ecma262/#sec-object.getownpropertynames
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$7 }, {
- getOwnPropertyNames: nativeGetOwnPropertyNames
- });
-
- var FAILS_ON_PRIMITIVES$6 = fails(function () { objectGetPrototypeOf(1); });
-
- // `Object.getPrototypeOf` method
- // https://tc39.es/ecma262/#sec-object.getprototypeof
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$6, sham: !correctPrototypeGetter }, {
- getPrototypeOf: function getPrototypeOf(it) {
- return objectGetPrototypeOf(toObject(it));
- }
- });
-
- // `SameValue` abstract operation
- // https://tc39.es/ecma262/#sec-samevalue
- var sameValue = Object.is || function is(x, y) {
- // eslint-disable-next-line no-self-compare -- NaN check
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
-
- // `Object.is` method
- // https://tc39.es/ecma262/#sec-object.is
- _export({ target: 'Object', stat: true }, {
- is: sameValue
- });
-
- var nativeIsExtensible = Object.isExtensible;
- var FAILS_ON_PRIMITIVES$5 = fails(function () { nativeIsExtensible(1); });
-
- // `Object.isExtensible` method
- // https://tc39.es/ecma262/#sec-object.isextensible
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$5 }, {
- isExtensible: function isExtensible(it) {
- return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
- }
- });
-
- var nativeIsFrozen = Object.isFrozen;
- var FAILS_ON_PRIMITIVES$4 = fails(function () { nativeIsFrozen(1); });
-
- // `Object.isFrozen` method
- // https://tc39.es/ecma262/#sec-object.isfrozen
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, {
- isFrozen: function isFrozen(it) {
- return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
- }
- });
-
- var nativeIsSealed = Object.isSealed;
- var FAILS_ON_PRIMITIVES$3 = fails(function () { nativeIsSealed(1); });
-
- // `Object.isSealed` method
- // https://tc39.es/ecma262/#sec-object.issealed
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3 }, {
- isSealed: function isSealed(it) {
- return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
- }
- });
-
- var FAILS_ON_PRIMITIVES$2 = fails(function () { objectKeys(1); });
-
- // `Object.keys` method
- // https://tc39.es/ecma262/#sec-object.keys
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$2 }, {
- keys: function keys(it) {
- return objectKeys(toObject(it));
- }
- });
-
- var onFreeze$1 = internalMetadata.onFreeze;
-
-
-
- var nativePreventExtensions = Object.preventExtensions;
- var FAILS_ON_PRIMITIVES$1 = fails(function () { nativePreventExtensions(1); });
-
- // `Object.preventExtensions` method
- // https://tc39.es/ecma262/#sec-object.preventextensions
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$1, sham: !freezing }, {
- preventExtensions: function preventExtensions(it) {
- return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze$1(it)) : it;
- }
- });
-
- var onFreeze = internalMetadata.onFreeze;
-
-
-
- var nativeSeal = Object.seal;
- var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); });
-
- // `Object.seal` method
- // https://tc39.es/ecma262/#sec-object.seal
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !freezing }, {
- seal: function seal(it) {
- return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;
- }
- });
-
- // `Object.setPrototypeOf` method
- // https://tc39.es/ecma262/#sec-object.setprototypeof
- _export({ target: 'Object', stat: true }, {
- setPrototypeOf: objectSetPrototypeOf
- });
-
- var $values = objectToArray.values;
-
- // `Object.values` method
- // https://tc39.es/ecma262/#sec-object.values
- _export({ target: 'Object', stat: true }, {
- values: function values(O) {
- return $values(O);
- }
- });
-
- // `Object.prototype.toString` method implementation
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
- var objectToString = toStringTagSupport ? {}.toString : function toString() {
- return '[object ' + classof(this) + ']';
- };
-
- // `Object.prototype.toString` method
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
- if (!toStringTagSupport) {
- redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
- }
-
- // Forced replacement object prototype accessors methods
- var objectPrototypeAccessorsForced = !fails(function () {
- var key = Math.random();
- // In FF throws only define methods
- // eslint-disable-next-line no-undef, no-useless-call -- required for testing
- __defineSetter__.call(null, key, function () { /* empty */ });
- delete global_1[key];
- });
-
- // `Object.prototype.__defineGetter__` method
- // https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__
- if (descriptors) {
- _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
- __defineGetter__: function __defineGetter__(P, getter) {
- objectDefineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
- }
- });
- }
-
- // `Object.prototype.__defineSetter__` method
- // https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__
- if (descriptors) {
- _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
- __defineSetter__: function __defineSetter__(P, setter) {
- objectDefineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
- }
- });
- }
-
- var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f;
-
- // `Object.prototype.__lookupGetter__` method
- // https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__
- if (descriptors) {
- _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
- __lookupGetter__: function __lookupGetter__(P) {
- var O = toObject(this);
- var key = toPrimitive(P, true);
- var desc;
- do {
- if (desc = getOwnPropertyDescriptor$6(O, key)) { return desc.get; }
- } while (O = objectGetPrototypeOf(O));
- }
- });
- }
-
- var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f;
-
- // `Object.prototype.__lookupSetter__` method
- // https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__
- if (descriptors) {
- _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
- __lookupSetter__: function __lookupSetter__(P) {
- var O = toObject(this);
- var key = toPrimitive(P, true);
- var desc;
- do {
- if (desc = getOwnPropertyDescriptor$5(O, key)) { return desc.set; }
- } while (O = objectGetPrototypeOf(O));
- }
- });
- }
-
- var fromCharCode = String.fromCharCode;
- var nativeFromCodePoint = String.fromCodePoint;
-
- // length should be 1, old FF problem
- var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-
- // `String.fromCodePoint` method
- // https://tc39.es/ecma262/#sec-string.fromcodepoint
- _export({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- fromCodePoint: function fromCodePoint(x) {
- var arguments$1 = arguments;
-
- var elements = [];
- var length = arguments.length;
- var i = 0;
- var code;
- while (length > i) {
- code = +arguments$1[i++];
- if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw RangeError(code + ' is not a valid code point'); }
- elements.push(code < 0x10000
- ? fromCharCode(code)
- : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)
- );
- } return elements.join('');
- }
- });
-
- // `String.raw` method
- // https://tc39.es/ecma262/#sec-string.raw
- _export({ target: 'String', stat: true }, {
- raw: function raw(template) {
- var arguments$1 = arguments;
-
- var rawTemplate = toIndexedObject(template.raw);
- var literalSegments = toLength(rawTemplate.length);
- var argumentsLength = arguments.length;
- var elements = [];
- var i = 0;
- while (literalSegments > i) {
- elements.push(String(rawTemplate[i++]));
- if (i < argumentsLength) { elements.push(String(arguments$1[i])); }
- } return elements.join('');
- }
- });
-
- // `String.prototype.{ codePointAt, at }` methods implementation
- var createMethod$4 = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
- var S = String(requireObjectCoercible($this));
- var position = toInteger(pos);
- var size = S.length;
- var first, second;
- if (position < 0 || position >= size) { return CONVERT_TO_STRING ? '' : undefined; }
- first = S.charCodeAt(position);
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
- ? CONVERT_TO_STRING ? S.charAt(position) : first
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
- };
-
- var stringMultibyte = {
- // `String.prototype.codePointAt` method
- // https://tc39.es/ecma262/#sec-string.prototype.codepointat
- codeAt: createMethod$4(false),
- // `String.prototype.at` method
- // https://github.com/mathiasbynens/String.prototype.at
- charAt: createMethod$4(true)
- };
-
- var codeAt$2 = stringMultibyte.codeAt;
-
- // `String.prototype.codePointAt` method
- // https://tc39.es/ecma262/#sec-string.prototype.codepointat
- _export({ target: 'String', proto: true }, {
- codePointAt: function codePointAt(pos) {
- return codeAt$2(this, pos);
- }
- });
-
- var MATCH$2 = wellKnownSymbol('match');
-
- // `IsRegExp` abstract operation
- // https://tc39.es/ecma262/#sec-isregexp
- var isRegexp = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
- };
-
- var notARegexp = function (it) {
- if (isRegexp(it)) {
- throw TypeError("The method doesn't accept regular expressions");
- } return it;
- };
-
- var MATCH$1 = wellKnownSymbol('match');
-
- var correctIsRegexpLogic = function (METHOD_NAME) {
- var regexp = /./;
- try {
- '/./'[METHOD_NAME](regexp);
- } catch (error1) {
- try {
- regexp[MATCH$1] = false;
- return '/./'[METHOD_NAME](regexp);
- } catch (error2) { /* empty */ }
- } return false;
- };
-
- var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
- var nativeEndsWith = ''.endsWith;
- var min$4 = Math.min;
-
- var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('endsWith');
- // https://github.com/zloirock/core-js/pull/702
- var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
- var descriptor = getOwnPropertyDescriptor$4(String.prototype, 'endsWith');
- return descriptor && !descriptor.writable;
- }();
-
- // `String.prototype.endsWith` method
- // https://tc39.es/ecma262/#sec-string.prototype.endswith
- _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
- endsWith: function endsWith(searchString /* , endPosition = @length */) {
- var that = String(requireObjectCoercible(this));
- notARegexp(searchString);
- var endPosition = arguments.length > 1 ? arguments[1] : undefined;
- var len = toLength(that.length);
- var end = endPosition === undefined ? len : min$4(toLength(endPosition), len);
- var search = String(searchString);
- return nativeEndsWith
- ? nativeEndsWith.call(that, search, end)
- : that.slice(end - search.length, end) === search;
- }
- });
-
- // `String.prototype.includes` method
- // https://tc39.es/ecma262/#sec-string.prototype.includes
- _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
- includes: function includes(searchString /* , position = 0 */) {
- return !!~String(requireObjectCoercible(this))
- .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- // `RegExp.prototype.flags` getter implementation
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
- var regexpFlags = function () {
- var that = anObject(this);
- var result = '';
- if (that.global) { result += 'g'; }
- if (that.ignoreCase) { result += 'i'; }
- if (that.multiline) { result += 'm'; }
- if (that.dotAll) { result += 's'; }
- if (that.unicode) { result += 'u'; }
- if (that.sticky) { result += 'y'; }
- return result;
- };
-
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
- // so we use an intermediate function.
- function RE(s, f) {
- return RegExp(s, f);
- }
-
- var UNSUPPORTED_Y$4 = fails(function () {
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
- var re = RE('a', 'y');
- re.lastIndex = 2;
- return re.exec('abcd') != null;
- });
-
- var BROKEN_CARET = fails(function () {
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
- var re = RE('^r', 'gy');
- re.lastIndex = 2;
- return re.exec('str') != null;
- });
-
- var regexpStickyHelpers = {
- UNSUPPORTED_Y: UNSUPPORTED_Y$4,
- BROKEN_CARET: BROKEN_CARET
- };
-
- var nativeExec = RegExp.prototype.exec;
- // This always refers to the native implementation, because the
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
- // which loads this file before patching the method.
- var nativeReplace = String.prototype.replace;
-
- var patchedExec = nativeExec;
-
- var UPDATES_LAST_INDEX_WRONG = (function () {
- var re1 = /a/;
- var re2 = /b*/g;
- nativeExec.call(re1, 'a');
- nativeExec.call(re2, 'a');
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
- })();
-
- var UNSUPPORTED_Y$3 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
- // nonparticipating capturing group, copied from es5-shim's String#split patch.
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$3;
-
- if (PATCH) {
- patchedExec = function exec(str) {
- var re = this;
- var lastIndex, reCopy, match, i;
- var sticky = UNSUPPORTED_Y$3 && re.sticky;
- var flags = regexpFlags.call(re);
- var source = re.source;
- var charsAdded = 0;
- var strCopy = str;
-
- if (sticky) {
- flags = flags.replace('y', '');
- if (flags.indexOf('g') === -1) {
- flags += 'g';
- }
-
- strCopy = String(str).slice(re.lastIndex);
- // Support anchored sticky behavior.
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
- source = '(?: ' + source + ')';
- strCopy = ' ' + strCopy;
- charsAdded++;
- }
- // ^(? + rx + ) is needed, in combination with some str slicing, to
- // simulate the 'y' flag.
- reCopy = new RegExp('^(?:' + source + ')', flags);
- }
-
- if (NPCG_INCLUDED) {
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
- }
- if (UPDATES_LAST_INDEX_WRONG) { lastIndex = re.lastIndex; }
-
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
- if (sticky) {
- if (match) {
- match.input = match.input.slice(charsAdded);
- match[0] = match[0].slice(charsAdded);
- match.index = re.lastIndex;
- re.lastIndex += match[0].length;
- } else { re.lastIndex = 0; }
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
- }
- if (NPCG_INCLUDED && match && match.length > 1) {
- // Fix browsers whose `exec` methods don't consistently return `undefined`
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
- nativeReplace.call(match[0], reCopy, function () {
- var arguments$1 = arguments;
-
- for (i = 1; i < arguments.length - 2; i++) {
- if (arguments$1[i] === undefined) { match[i] = undefined; }
- }
- });
- }
-
- return match;
- };
- }
-
- var regexpExec = patchedExec;
-
- // `RegExp.prototype.exec` method
- // https://tc39.es/ecma262/#sec-regexp.prototype.exec
- _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
- exec: regexpExec
- });
-
- // TODO: Remove from `core-js@4` since it's moved to entry points
-
-
-
-
-
-
-
- var SPECIES$2 = wellKnownSymbol('species');
-
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
- // #replace needs built-in support for named groups.
- // #match works fine because it just return the exec results, even if it has
- // a "grops" property.
- var re = /./;
- re.exec = function () {
- var result = [];
- result.groups = { a: '7' };
- return result;
- };
- return ''.replace(re, '$') !== '7';
- });
-
- // IE <= 11 replaces $0 with the whole match, as if it was $&
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
- var REPLACE_KEEPS_$0 = (function () {
- return 'a'.replace(/./, '$0') === '$0';
- })();
-
- var REPLACE$1 = wellKnownSymbol('replace');
- // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
- if (/./[REPLACE$1]) {
- return /./[REPLACE$1]('a', '$0') === '';
- }
- return false;
- })();
-
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
- var re = /(?:)/;
- var originalExec = re.exec;
- re.exec = function () { return originalExec.apply(this, arguments); };
- var result = 'ab'.split(re);
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
- });
-
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
- var SYMBOL = wellKnownSymbol(KEY);
-
- var DELEGATES_TO_SYMBOL = !fails(function () {
- // String methods call symbol-named RegEp methods
- var O = {};
- O[SYMBOL] = function () { return 7; };
- return ''[KEY](O) != 7;
- });
-
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
- // Symbol-named RegExp methods call .exec
- var execCalled = false;
- var re = /a/;
-
- if (KEY === 'split') {
- // We can't use real regex here since it causes deoptimization
- // and serious performance degradation in V8
- // https://github.com/zloirock/core-js/issues/306
- re = {};
- // RegExp[@@split] doesn't call the regex's exec method, but first creates
- // a new one. We need to return the patched regex when creating the new one.
- re.constructor = {};
- re.constructor[SPECIES$2] = function () { return re; };
- re.flags = '';
- re[SYMBOL] = /./[SYMBOL];
- }
-
- re.exec = function () { execCalled = true; return null; };
-
- re[SYMBOL]('');
- return !execCalled;
- });
-
- if (
- !DELEGATES_TO_SYMBOL ||
- !DELEGATES_TO_EXEC ||
- (KEY === 'replace' && !(
- REPLACE_SUPPORTS_NAMED_GROUPS &&
- REPLACE_KEEPS_$0 &&
- !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
- )) ||
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
- ) {
- var nativeRegExpMethod = /./[SYMBOL];
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
- if (regexp.exec === regexpExec) {
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
- // The native String method already delegates to @@method (this
- // polyfilled function), leasing to infinite recursion.
- // We avoid it by directly calling the native @@method method.
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
- }
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
- }
- return { done: false };
- }, {
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
- });
- var stringMethod = methods[0];
- var regexMethod = methods[1];
-
- redefine(String.prototype, KEY, stringMethod);
- redefine(RegExp.prototype, SYMBOL, length == 2
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
- // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function (string) { return regexMethod.call(string, this); }
- );
- }
-
- if (sham) { createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); }
- };
-
- var charAt$3 = stringMultibyte.charAt;
-
- // `AdvanceStringIndex` abstract operation
- // https://tc39.es/ecma262/#sec-advancestringindex
- var advanceStringIndex = function (S, index, unicode) {
- return index + (unicode ? charAt$3(S, index).length : 1);
- };
-
- // `RegExpExec` abstract operation
- // https://tc39.es/ecma262/#sec-regexpexec
- var regexpExecAbstract = function (R, S) {
- var exec = R.exec;
- if (typeof exec === 'function') {
- var result = exec.call(R, S);
- if (typeof result !== 'object') {
- throw TypeError('RegExp exec method returned something other than an Object or null');
- }
- return result;
- }
-
- if (classofRaw(R) !== 'RegExp') {
- throw TypeError('RegExp#exec called on incompatible receiver');
- }
-
- return regexpExec.call(R, S);
- };
-
- // @@match logic
- fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
- return [
- // `String.prototype.match` method
- // https://tc39.es/ecma262/#sec-string.prototype.match
- function match(regexp) {
- var O = requireObjectCoercible(this);
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- },
- // `RegExp.prototype[@@match]` method
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
- function (regexp) {
- var res = maybeCallNative(nativeMatch, regexp, this);
- if (res.done) { return res.value; }
-
- var rx = anObject(regexp);
- var S = String(this);
-
- if (!rx.global) { return regexpExecAbstract(rx, S); }
-
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- var A = [];
- var n = 0;
- var result;
- while ((result = regexpExecAbstract(rx, S)) !== null) {
- var matchStr = String(result[0]);
- A[n] = matchStr;
- if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); }
- n++;
- }
- return n === 0 ? null : A;
- }
- ];
- });
-
- var SPECIES$1 = wellKnownSymbol('species');
-
- // `SpeciesConstructor` abstract operation
- // https://tc39.es/ecma262/#sec-speciesconstructor
- var speciesConstructor = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES$1]) == undefined ? defaultConstructor : aFunction(S);
- };
-
- var MATCH_ALL = wellKnownSymbol('matchAll');
- var REGEXP_STRING = 'RegExp String';
- var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
- var setInternalState$f = internalState.set;
- var getInternalState$b = internalState.getterFor(REGEXP_STRING_ITERATOR);
- var RegExpPrototype$4 = RegExp.prototype;
- var regExpBuiltinExec = RegExpPrototype$4.exec;
- var nativeMatchAll = ''.matchAll;
-
- var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () {
- 'a'.matchAll(/./);
- });
-
- var regExpExec = function (R, S) {
- var exec = R.exec;
- var result;
- if (typeof exec == 'function') {
- result = exec.call(R, S);
- if (typeof result != 'object') { throw TypeError('Incorrect exec result'); }
- return result;
- } return regExpBuiltinExec.call(R, S);
- };
-
- // eslint-disable-next-line max-len -- ignore
- var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
- setInternalState$f(this, {
- type: REGEXP_STRING_ITERATOR,
- regexp: regexp,
- string: string,
- global: global,
- unicode: fullUnicode,
- done: false
- });
- }, REGEXP_STRING, function next() {
- var state = getInternalState$b(this);
- if (state.done) { return { value: undefined, done: true }; }
- var R = state.regexp;
- var S = state.string;
- var match = regExpExec(R, S);
- if (match === null) { return { value: undefined, done: state.done = true }; }
- if (state.global) {
- if (String(match[0]) == '') { R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); }
- return { value: match, done: false };
- }
- state.done = true;
- return { value: match, done: false };
- });
-
- var $matchAll = function (string) {
- var R = anObject(this);
- var S = String(string);
- var C, flagsValue, flags, matcher, global, fullUnicode;
- C = speciesConstructor(R, RegExp);
- flagsValue = R.flags;
- if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$4)) {
- flagsValue = regexpFlags.call(R);
- }
- flags = flagsValue === undefined ? '' : String(flagsValue);
- matcher = new C(C === RegExp ? R.source : R, flags);
- global = !!~flags.indexOf('g');
- fullUnicode = !!~flags.indexOf('u');
- matcher.lastIndex = toLength(R.lastIndex);
- return new $RegExpStringIterator(matcher, S, global, fullUnicode);
- };
-
- // `String.prototype.matchAll` method
- // https://tc39.es/ecma262/#sec-string.prototype.matchall
- _export({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {
- matchAll: function matchAll(regexp) {
- var O = requireObjectCoercible(this);
- var flags, S, matcher, rx;
- if (regexp != null) {
- if (isRegexp(regexp)) {
- flags = String(requireObjectCoercible('flags' in RegExpPrototype$4
- ? regexp.flags
- : regexpFlags.call(regexp)
- ));
- if (!~flags.indexOf('g')) { throw TypeError('`.matchAll` does not allow non-global regexes'); }
- }
- if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); }
- matcher = regexp[MATCH_ALL];
- if (matcher === undefined && isPure && classofRaw(regexp) == 'RegExp') { matcher = $matchAll; }
- if (matcher != null) { return aFunction(matcher).call(regexp, O); }
- } else if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); }
- S = String(O);
- rx = new RegExp(regexp, 'g');
- return rx[MATCH_ALL](S);
- }
- });
-
- MATCH_ALL in RegExpPrototype$4 || createNonEnumerableProperty(RegExpPrototype$4, MATCH_ALL, $matchAll);
-
- // `String.prototype.repeat` method implementation
- // https://tc39.es/ecma262/#sec-string.prototype.repeat
- var stringRepeat = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity) { throw RangeError('Wrong number of repetitions'); }
- for (;n > 0; (n >>>= 1) && (str += str)) { if (n & 1) { result += str; } }
- return result;
- };
-
- // https://github.com/tc39/proposal-string-pad-start-end
-
-
-
-
- var ceil$1 = Math.ceil;
-
- // `String.prototype.{ padStart, padEnd }` methods implementation
- var createMethod$3 = function (IS_END) {
- return function ($this, maxLength, fillString) {
- var S = String(requireObjectCoercible($this));
- var stringLength = S.length;
- var fillStr = fillString === undefined ? ' ' : String(fillString);
- var intMaxLength = toLength(maxLength);
- var fillLen, stringFiller;
- if (intMaxLength <= stringLength || fillStr == '') { return S; }
- fillLen = intMaxLength - stringLength;
- stringFiller = stringRepeat.call(fillStr, ceil$1(fillLen / fillStr.length));
- if (stringFiller.length > fillLen) { stringFiller = stringFiller.slice(0, fillLen); }
- return IS_END ? S + stringFiller : stringFiller + S;
- };
- };
-
- var stringPad = {
- // `String.prototype.padStart` method
- // https://tc39.es/ecma262/#sec-string.prototype.padstart
- start: createMethod$3(false),
- // `String.prototype.padEnd` method
- // https://tc39.es/ecma262/#sec-string.prototype.padend
- end: createMethod$3(true)
- };
-
- // https://github.com/zloirock/core-js/issues/280
-
-
- // eslint-disable-next-line unicorn/no-unsafe-regex -- safe
- var stringPadWebkitBug = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(engineUserAgent);
-
- var $padEnd = stringPad.end;
-
-
- // `String.prototype.padEnd` method
- // https://tc39.es/ecma262/#sec-string.prototype.padend
- _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, {
- padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
- return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var $padStart = stringPad.start;
-
-
- // `String.prototype.padStart` method
- // https://tc39.es/ecma262/#sec-string.prototype.padstart
- _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, {
- padStart: function padStart(maxLength /* , fillString = ' ' */) {
- return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- // `String.prototype.repeat` method
- // https://tc39.es/ecma262/#sec-string.prototype.repeat
- _export({ target: 'String', proto: true }, {
- repeat: stringRepeat
- });
-
- var floor$8 = Math.floor;
- var replace$1 = ''.replace;
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
-
- // https://tc39.es/ecma262/#sec-getsubstitution
- var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
- var tailPos = position + matched.length;
- var m = captures.length;
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
- if (namedCaptures !== undefined) {
- namedCaptures = toObject(namedCaptures);
- symbols = SUBSTITUTION_SYMBOLS;
- }
- return replace$1.call(replacement, symbols, function (match, ch) {
- var capture;
- switch (ch.charAt(0)) {
- case '$': return '$';
- case '&': return matched;
- case '`': return str.slice(0, position);
- case "'": return str.slice(tailPos);
- case '<':
- capture = namedCaptures[ch.slice(1, -1)];
- break;
- default: // \d\d?
- var n = +ch;
- if (n === 0) { return match; }
- if (n > m) {
- var f = floor$8(n / 10);
- if (f === 0) { return match; }
- if (f <= m) { return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); }
- return match;
- }
- capture = captures[n - 1];
- }
- return capture === undefined ? '' : capture;
- });
- };
-
- var max$2 = Math.max;
- var min$3 = Math.min;
-
- var maybeToString = function (it) {
- return it === undefined ? it : String(it);
- };
-
- // @@replace logic
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
-
- return [
- // `String.prototype.replace` method
- // https://tc39.es/ecma262/#sec-string.prototype.replace
- function replace(searchValue, replaceValue) {
- var O = requireObjectCoercible(this);
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
- return replacer !== undefined
- ? replacer.call(searchValue, O, replaceValue)
- : nativeReplace.call(String(O), searchValue, replaceValue);
- },
- // `RegExp.prototype[@@replace]` method
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
- function (regexp, replaceValue) {
- if (
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
- ) {
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
- if (res.done) { return res.value; }
- }
-
- var rx = anObject(regexp);
- var S = String(this);
-
- var functionalReplace = typeof replaceValue === 'function';
- if (!functionalReplace) { replaceValue = String(replaceValue); }
-
- var global = rx.global;
- if (global) {
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- }
- var results = [];
- while (true) {
- var result = regexpExecAbstract(rx, S);
- if (result === null) { break; }
-
- results.push(result);
- if (!global) { break; }
-
- var matchStr = String(result[0]);
- if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); }
- }
-
- var accumulatedResult = '';
- var nextSourcePosition = 0;
- for (var i = 0; i < results.length; i++) {
- result = results[i];
-
- var matched = String(result[0]);
- var position = max$2(min$3(toInteger(result.index), S.length), 0);
- var captures = [];
- // NOTE: This is equivalent to
- // captures = result.slice(1).map(maybeToString)
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
- for (var j = 1; j < result.length; j++) { captures.push(maybeToString(result[j])); }
- var namedCaptures = result.groups;
- if (functionalReplace) {
- var replacerArgs = [matched].concat(captures, position, S);
- if (namedCaptures !== undefined) { replacerArgs.push(namedCaptures); }
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
- } else {
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
- }
- if (position >= nextSourcePosition) {
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
- nextSourcePosition = position + matched.length;
- }
- }
- return accumulatedResult + S.slice(nextSourcePosition);
- }
- ];
- });
-
- // @@search logic
- fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
- return [
- // `String.prototype.search` method
- // https://tc39.es/ecma262/#sec-string.prototype.search
- function search(regexp) {
- var O = requireObjectCoercible(this);
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- },
- // `RegExp.prototype[@@search]` method
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
- function (regexp) {
- var res = maybeCallNative(nativeSearch, regexp, this);
- if (res.done) { return res.value; }
-
- var rx = anObject(regexp);
- var S = String(this);
-
- var previousLastIndex = rx.lastIndex;
- if (!sameValue(previousLastIndex, 0)) { rx.lastIndex = 0; }
- var result = regexpExecAbstract(rx, S);
- if (!sameValue(rx.lastIndex, previousLastIndex)) { rx.lastIndex = previousLastIndex; }
- return result === null ? -1 : result.index;
- }
- ];
- });
-
- var arrayPush = [].push;
- var min$2 = Math.min;
- var MAX_UINT32 = 0xFFFFFFFF;
-
- // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
- var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
- // @@split logic
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
- var internalSplit;
- if (
- 'abbc'.split(/(b)*/)[1] == 'c' ||
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
- 'test'.split(/(?:)/, -1).length != 4 ||
- 'ab'.split(/(?:ab)*/).length != 2 ||
- '.'.split(/(.?)(.?)/).length != 4 ||
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
- '.'.split(/()()/).length > 1 ||
- ''.split(/.?/).length
- ) {
- // based on es5-shim implementation, need to rework it
- internalSplit = function (separator, limit) {
- var string = String(requireObjectCoercible(this));
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) { return []; }
- if (separator === undefined) { return [string]; }
- // If `separator` is not a regex, use native split
- if (!isRegexp(separator)) {
- return nativeSplit.call(string, separator, lim);
- }
- var output = [];
- var flags = (separator.ignoreCase ? 'i' : '') +
- (separator.multiline ? 'm' : '') +
- (separator.unicode ? 'u' : '') +
- (separator.sticky ? 'y' : '');
- var lastLastIndex = 0;
- // Make `global` and avoid `lastIndex` issues by working with a copy
- var separatorCopy = new RegExp(separator.source, flags + 'g');
- var match, lastIndex, lastLength;
- while (match = regexpExec.call(separatorCopy, string)) {
- lastIndex = separatorCopy.lastIndex;
- if (lastIndex > lastLastIndex) {
- output.push(string.slice(lastLastIndex, match.index));
- if (match.length > 1 && match.index < string.length) { arrayPush.apply(output, match.slice(1)); }
- lastLength = match[0].length;
- lastLastIndex = lastIndex;
- if (output.length >= lim) { break; }
- }
- if (separatorCopy.lastIndex === match.index) { separatorCopy.lastIndex++; } // Avoid an infinite loop
- }
- if (lastLastIndex === string.length) {
- if (lastLength || !separatorCopy.test('')) { output.push(''); }
- } else { output.push(string.slice(lastLastIndex)); }
- return output.length > lim ? output.slice(0, lim) : output;
- };
- // Chakra, V8
- } else if ('0'.split(undefined, 0).length) {
- internalSplit = function (separator, limit) {
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
- };
- } else { internalSplit = nativeSplit; }
-
- return [
- // `String.prototype.split` method
- // https://tc39.es/ecma262/#sec-string.prototype.split
- function split(separator, limit) {
- var O = requireObjectCoercible(this);
- var splitter = separator == undefined ? undefined : separator[SPLIT];
- return splitter !== undefined
- ? splitter.call(separator, O, limit)
- : internalSplit.call(String(O), separator, limit);
- },
- // `RegExp.prototype[@@split]` method
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
- //
- // NOTE: This cannot be properly polyfilled in engines that don't support
- // the 'y' flag.
- function (regexp, limit) {
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
- if (res.done) { return res.value; }
-
- var rx = anObject(regexp);
- var S = String(this);
- var C = speciesConstructor(rx, RegExp);
-
- var unicodeMatching = rx.unicode;
- var flags = (rx.ignoreCase ? 'i' : '') +
- (rx.multiline ? 'm' : '') +
- (rx.unicode ? 'u' : '') +
- (SUPPORTS_Y ? 'y' : 'g');
-
- // ^(? + rx + ) is needed, in combination with some S slicing, to
- // simulate the 'y' flag.
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) { return []; }
- if (S.length === 0) { return regexpExecAbstract(splitter, S) === null ? [S] : []; }
- var p = 0;
- var q = 0;
- var A = [];
- while (q < S.length) {
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
- var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
- var e;
- if (
- z === null ||
- (e = min$2(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
- ) {
- q = advanceStringIndex(S, q, unicodeMatching);
- } else {
- A.push(S.slice(p, q));
- if (A.length === lim) { return A; }
- for (var i = 1; i <= z.length - 1; i++) {
- A.push(z[i]);
- if (A.length === lim) { return A; }
- }
- q = p = e;
- }
- }
- A.push(S.slice(p));
- return A;
- }
- ];
- }, !SUPPORTS_Y);
-
- var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
- var nativeStartsWith = ''.startsWith;
- var min$1 = Math.min;
-
- var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('startsWith');
- // https://github.com/zloirock/core-js/pull/702
- var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor$3(String.prototype, 'startsWith');
- return descriptor && !descriptor.writable;
- }();
-
- // `String.prototype.startsWith` method
- // https://tc39.es/ecma262/#sec-string.prototype.startswith
- _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
- startsWith: function startsWith(searchString /* , position = 0 */) {
- var that = String(requireObjectCoercible(this));
- notARegexp(searchString);
- var index = toLength(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length));
- var search = String(searchString);
- return nativeStartsWith
- ? nativeStartsWith.call(that, search, index)
- : that.slice(index, index + search.length) === search;
- }
- });
-
- // a string of all valid unicode whitespaces
- var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
- '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
- var whitespace = '[' + whitespaces + ']';
- var ltrim = RegExp('^' + whitespace + whitespace + '*');
- var rtrim = RegExp(whitespace + whitespace + '*$');
-
- // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
- var createMethod$2 = function (TYPE) {
- return function ($this) {
- var string = String(requireObjectCoercible($this));
- if (TYPE & 1) { string = string.replace(ltrim, ''); }
- if (TYPE & 2) { string = string.replace(rtrim, ''); }
- return string;
- };
- };
-
- var stringTrim = {
- // `String.prototype.{ trimLeft, trimStart }` methods
- // https://tc39.es/ecma262/#sec-string.prototype.trimstart
- start: createMethod$2(1),
- // `String.prototype.{ trimRight, trimEnd }` methods
- // https://tc39.es/ecma262/#sec-string.prototype.trimend
- end: createMethod$2(2),
- // `String.prototype.trim` method
- // https://tc39.es/ecma262/#sec-string.prototype.trim
- trim: createMethod$2(3)
- };
-
- var non = '\u200B\u0085\u180E';
-
- // check that a method works with the correct list
- // of whitespaces and has a correct name
- var stringTrimForced = function (METHOD_NAME) {
- return fails(function () {
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
- });
- };
-
- var $trim = stringTrim.trim;
-
-
- // `String.prototype.trim` method
- // https://tc39.es/ecma262/#sec-string.prototype.trim
- _export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {
- trim: function trim() {
- return $trim(this);
- }
- });
-
- var $trimStart = stringTrim.start;
-
-
- var FORCED$j = stringTrimForced('trimStart');
-
- var trimStart = FORCED$j ? function trimStart() {
- return $trimStart(this);
- } : ''.trimStart;
-
- // `String.prototype.{ trimStart, trimLeft }` methods
- // https://tc39.es/ecma262/#sec-string.prototype.trimstart
- // https://tc39.es/ecma262/#String.prototype.trimleft
- _export({ target: 'String', proto: true, forced: FORCED$j }, {
- trimStart: trimStart,
- trimLeft: trimStart
- });
-
- var $trimEnd = stringTrim.end;
-
-
- var FORCED$i = stringTrimForced('trimEnd');
-
- var trimEnd = FORCED$i ? function trimEnd() {
- return $trimEnd(this);
- } : ''.trimEnd;
-
- // `String.prototype.{ trimEnd, trimRight }` methods
- // https://tc39.es/ecma262/#sec-string.prototype.trimend
- // https://tc39.es/ecma262/#String.prototype.trimright
- _export({ target: 'String', proto: true, forced: FORCED$i }, {
- trimEnd: trimEnd,
- trimRight: trimEnd
- });
-
- var charAt$2 = stringMultibyte.charAt;
-
-
-
- var STRING_ITERATOR$1 = 'String Iterator';
- var setInternalState$e = internalState.set;
- var getInternalState$a = internalState.getterFor(STRING_ITERATOR$1);
-
- // `String.prototype[@@iterator]` method
- // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
- defineIterator(String, 'String', function (iterated) {
- setInternalState$e(this, {
- type: STRING_ITERATOR$1,
- string: String(iterated),
- index: 0
- });
- // `%StringIteratorPrototype%.next` method
- // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
- }, function next() {
- var state = getInternalState$a(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length) { return { value: undefined, done: true }; }
- point = charAt$2(string, index);
- state.index += point.length;
- return { value: point, done: false };
- });
-
- var quot = /"/g;
-
- // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
- // https://tc39.es/ecma262/#sec-createhtml
- var createHtml = function (string, tag, attribute, value) {
- var S = String(requireObjectCoercible(string));
- var p1 = '<' + tag;
- if (attribute !== '') { p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; }
- return p1 + '>' + S + '' + tag + '>';
- };
-
- // check the existence of a method, lowercase
- // of a tag and escaping quotes in arguments
- var stringHtmlForced = function (METHOD_NAME) {
- return fails(function () {
- var test = ''[METHOD_NAME]('"');
- return test !== test.toLowerCase() || test.split('"').length > 3;
- });
- };
-
- // `String.prototype.anchor` method
- // https://tc39.es/ecma262/#sec-string.prototype.anchor
- _export({ target: 'String', proto: true, forced: stringHtmlForced('anchor') }, {
- anchor: function anchor(name) {
- return createHtml(this, 'a', 'name', name);
- }
- });
-
- // `String.prototype.big` method
- // https://tc39.es/ecma262/#sec-string.prototype.big
- _export({ target: 'String', proto: true, forced: stringHtmlForced('big') }, {
- big: function big() {
- return createHtml(this, 'big', '', '');
- }
- });
-
- // `String.prototype.blink` method
- // https://tc39.es/ecma262/#sec-string.prototype.blink
- _export({ target: 'String', proto: true, forced: stringHtmlForced('blink') }, {
- blink: function blink() {
- return createHtml(this, 'blink', '', '');
- }
- });
-
- // `String.prototype.bold` method
- // https://tc39.es/ecma262/#sec-string.prototype.bold
- _export({ target: 'String', proto: true, forced: stringHtmlForced('bold') }, {
- bold: function bold() {
- return createHtml(this, 'b', '', '');
- }
- });
-
- // `String.prototype.fixed` method
- // https://tc39.es/ecma262/#sec-string.prototype.fixed
- _export({ target: 'String', proto: true, forced: stringHtmlForced('fixed') }, {
- fixed: function fixed() {
- return createHtml(this, 'tt', '', '');
- }
- });
-
- // `String.prototype.fontcolor` method
- // https://tc39.es/ecma262/#sec-string.prototype.fontcolor
- _export({ target: 'String', proto: true, forced: stringHtmlForced('fontcolor') }, {
- fontcolor: function fontcolor(color) {
- return createHtml(this, 'font', 'color', color);
- }
- });
-
- // `String.prototype.fontsize` method
- // https://tc39.es/ecma262/#sec-string.prototype.fontsize
- _export({ target: 'String', proto: true, forced: stringHtmlForced('fontsize') }, {
- fontsize: function fontsize(size) {
- return createHtml(this, 'font', 'size', size);
- }
- });
-
- // `String.prototype.italics` method
- // https://tc39.es/ecma262/#sec-string.prototype.italics
- _export({ target: 'String', proto: true, forced: stringHtmlForced('italics') }, {
- italics: function italics() {
- return createHtml(this, 'i', '', '');
- }
- });
-
- // `String.prototype.link` method
- // https://tc39.es/ecma262/#sec-string.prototype.link
- _export({ target: 'String', proto: true, forced: stringHtmlForced('link') }, {
- link: function link(url) {
- return createHtml(this, 'a', 'href', url);
- }
- });
-
- // `String.prototype.small` method
- // https://tc39.es/ecma262/#sec-string.prototype.small
- _export({ target: 'String', proto: true, forced: stringHtmlForced('small') }, {
- small: function small() {
- return createHtml(this, 'small', '', '');
- }
- });
-
- // `String.prototype.strike` method
- // https://tc39.es/ecma262/#sec-string.prototype.strike
- _export({ target: 'String', proto: true, forced: stringHtmlForced('strike') }, {
- strike: function strike() {
- return createHtml(this, 'strike', '', '');
- }
- });
-
- // `String.prototype.sub` method
- // https://tc39.es/ecma262/#sec-string.prototype.sub
- _export({ target: 'String', proto: true, forced: stringHtmlForced('sub') }, {
- sub: function sub() {
- return createHtml(this, 'sub', '', '');
- }
- });
-
- // `String.prototype.sup` method
- // https://tc39.es/ecma262/#sec-string.prototype.sup
- _export({ target: 'String', proto: true, forced: stringHtmlForced('sup') }, {
- sup: function sup() {
- return createHtml(this, 'sup', '', '');
- }
- });
-
- var REPLACE = wellKnownSymbol('replace');
- var RegExpPrototype$3 = RegExp.prototype;
- var max$1 = Math.max;
-
- var stringIndexOf = function (string, searchValue, fromIndex) {
- if (fromIndex > string.length) { return -1; }
- if (searchValue === '') { return fromIndex; }
- return string.indexOf(searchValue, fromIndex);
- };
-
- // `String.prototype.replaceAll` method
- // https://tc39.es/ecma262/#sec-string.prototype.replaceall
- _export({ target: 'String', proto: true }, {
- replaceAll: function replaceAll(searchValue, replaceValue) {
- var O = requireObjectCoercible(this);
- var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;
- var position = 0;
- var endOfLastMatch = 0;
- var result = '';
- if (searchValue != null) {
- IS_REG_EXP = isRegexp(searchValue);
- if (IS_REG_EXP) {
- flags = String(requireObjectCoercible('flags' in RegExpPrototype$3
- ? searchValue.flags
- : regexpFlags.call(searchValue)
- ));
- if (!~flags.indexOf('g')) { throw TypeError('`.replaceAll` does not allow non-global regexes'); }
- }
- replacer = searchValue[REPLACE];
- if (replacer !== undefined) {
- return replacer.call(searchValue, O, replaceValue);
- }
- }
- string = String(O);
- searchString = String(searchValue);
- functionalReplace = typeof replaceValue === 'function';
- if (!functionalReplace) { replaceValue = String(replaceValue); }
- searchLength = searchString.length;
- advanceBy = max$1(1, searchLength);
- position = stringIndexOf(string, searchString, 0);
- while (position !== -1) {
- if (functionalReplace) {
- replacement = String(replaceValue(searchString, position, string));
- } else {
- replacement = getSubstitution(searchString, string, position, [], undefined, replaceValue);
- }
- result += string.slice(endOfLastMatch, position) + replacement;
- endOfLastMatch = position + searchLength;
- position = stringIndexOf(string, searchString, position + advanceBy);
- }
- if (endOfLastMatch < string.length) {
- result += string.slice(endOfLastMatch);
- }
- return result;
- }
- });
-
// makes subclassing work correct for wrapped built-ins
var inheritIfRequired = function ($this, dummy, Wrapper) {
var NewTarget, NewTargetPrototype;
@@ -5669,216 +4807,611 @@ var doric = (function (exports) {
return $this;
};
- var defineProperty$8 = objectDefineProperty.f;
- var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f;
+ var collection = function (CONSTRUCTOR_NAME, wrapper, common) {
+ var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
+ var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
+ var ADDER = IS_MAP ? 'set' : 'add';
+ var NativeConstructor = global_1[CONSTRUCTOR_NAME];
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
+ var Constructor = NativeConstructor;
+ var exported = {};
+
+ var fixMethod = function (KEY) {
+ var nativeMethod = NativePrototype[KEY];
+ redefine(NativePrototype, KEY,
+ KEY == 'add' ? function add(value) {
+ nativeMethod.call(this, value === 0 ? 0 : value);
+ return this;
+ } : KEY == 'delete' ? function (key) {
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
+ } : KEY == 'get' ? function get(key) {
+ return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
+ } : KEY == 'has' ? function has(key) {
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
+ } : function set(key, value) {
+ nativeMethod.call(this, key === 0 ? 0 : key, value);
+ return this;
+ }
+ );
+ };
+
+ var REPLACE = isForced_1(
+ CONSTRUCTOR_NAME,
+ typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
+ new NativeConstructor().entries().next();
+ }))
+ );
+
+ if (REPLACE) {
+ // create collection constructor
+ Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
+ internalMetadata.REQUIRED = true;
+ } else if (isForced_1(CONSTRUCTOR_NAME, true)) {
+ var instance = new Constructor();
+ // early implementations not supports chaining
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
+ var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
+ // eslint-disable-next-line no-new -- required for testing
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
+ // for early implementations -0 and +0 not the same
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
+ // V8 ~ Chromium 42- fails only with 5+ elements
+ var $instance = new NativeConstructor();
+ var index = 5;
+ while (index--) { $instance[ADDER](index, index); }
+ return !$instance.has(-0);
+ });
+
+ if (!ACCEPT_ITERABLES) {
+ Constructor = wrapper(function (dummy, iterable) {
+ anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
+ if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
+ return that;
+ });
+ Constructor.prototype = NativePrototype;
+ NativePrototype.constructor = Constructor;
+ }
+
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
+ fixMethod('delete');
+ fixMethod('has');
+ IS_MAP && fixMethod('get');
+ }
+
+ if (BUGGY_ZERO || HASNT_CHAINING) { fixMethod(ADDER); }
+
+ // weak collections should not contains .clear method
+ if (IS_WEAK && NativePrototype.clear) { delete NativePrototype.clear; }
+ }
+
+ exported[CONSTRUCTOR_NAME] = Constructor;
+ _export({ global: true, forced: Constructor != NativeConstructor }, exported);
+
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
+
+ if (!IS_WEAK) { common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); }
+
+ return Constructor;
+ };
+
+ var defineProperty$7 = objectDefineProperty.f;
+
+
+
+ var fastKey = internalMetadata.fastKey;
+
+
var setInternalState$d = internalState.set;
+ var internalStateGetterFor$1 = internalState.getterFor;
-
-
- var MATCH = wellKnownSymbol('match');
- var NativeRegExp = global_1.RegExp;
- var RegExpPrototype$2 = NativeRegExp.prototype;
- var re1 = /a/g;
- var re2 = /a/g;
-
- // "new" should create a new object, old webkit bug
- var CORRECT_NEW = new NativeRegExp(re1) !== re1;
-
- var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;
-
- var FORCED$h = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {
- re2[MATCH] = false;
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
- return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
- })));
-
- // `RegExp` constructor
- // https://tc39.es/ecma262/#sec-regexp-constructor
- if (FORCED$h) {
- var RegExpWrapper = function RegExp(pattern, flags) {
- var thisIsRegExp = this instanceof RegExpWrapper;
- var patternIsRegExp = isRegexp(pattern);
- var flagsAreUndefined = flags === undefined;
- var sticky;
-
- if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
- return pattern;
- }
-
- if (CORRECT_NEW) {
- if (patternIsRegExp && !flagsAreUndefined) { pattern = pattern.source; }
- } else if (pattern instanceof RegExpWrapper) {
- if (flagsAreUndefined) { flags = regexpFlags.call(pattern); }
- pattern = pattern.source;
- }
-
- if (UNSUPPORTED_Y$2) {
- sticky = !!flags && flags.indexOf('y') > -1;
- if (sticky) { flags = flags.replace(/y/g, ''); }
- }
-
- var result = inheritIfRequired(
- CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
- thisIsRegExp ? this : RegExpPrototype$2,
- RegExpWrapper
- );
-
- if (UNSUPPORTED_Y$2 && sticky) { setInternalState$d(result, { sticky: sticky }); }
-
- return result;
- };
- var proxy = function (key) {
- key in RegExpWrapper || defineProperty$8(RegExpWrapper, key, {
- configurable: true,
- get: function () { return NativeRegExp[key]; },
- set: function (it) { NativeRegExp[key] = it; }
+ var collectionStrong = {
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, CONSTRUCTOR_NAME);
+ setInternalState$d(that, {
+ type: CONSTRUCTOR_NAME,
+ index: objectCreate(null),
+ first: undefined,
+ last: undefined,
+ size: 0
+ });
+ if (!descriptors) { that.size = 0; }
+ if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
});
- };
- var keys$2 = getOwnPropertyNames$2(NativeRegExp);
- var index = 0;
- while (keys$2.length > index) { proxy(keys$2[index++]); }
- RegExpPrototype$2.constructor = RegExpWrapper;
- RegExpWrapper.prototype = RegExpPrototype$2;
- redefine(global_1, 'RegExp', RegExpWrapper);
- }
- // https://tc39.es/ecma262/#sec-get-regexp-@@species
- setSpecies('RegExp');
+ var getInternalState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
+ var define = function (that, key, value) {
+ var state = getInternalState(that);
+ var entry = getEntry(that, key);
+ var previous, index;
+ // change existing entry
+ if (entry) {
+ entry.value = value;
+ // create new entry
+ } else {
+ state.last = entry = {
+ index: index = fastKey(key, true),
+ key: key,
+ value: value,
+ previous: previous = state.last,
+ next: undefined,
+ removed: false
+ };
+ if (!state.first) { state.first = entry; }
+ if (previous) { previous.next = entry; }
+ if (descriptors) { state.size++; }
+ else { that.size++; }
+ // add to index
+ if (index !== 'F') { state.index[index] = entry; }
+ } return that;
+ };
- // `RegExp.prototype.flags` getter
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
- if (descriptors && (/./g.flags != 'g' || UNSUPPORTED_Y$1)) {
- objectDefineProperty.f(RegExp.prototype, 'flags', {
- configurable: true,
- get: regexpFlags
- });
- }
-
- var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
- var defineProperty$7 = objectDefineProperty.f;
- var getInternalState$9 = internalState.get;
- var RegExpPrototype$1 = RegExp.prototype;
-
- // `RegExp.prototype.sticky` getter
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
- if (descriptors && UNSUPPORTED_Y) {
- defineProperty$7(RegExp.prototype, 'sticky', {
- configurable: true,
- get: function () {
- if (this === RegExpPrototype$1) { return undefined; }
- // We can't use InternalStateModule.getterFor because
- // we don't add metadata for regexps created by a literal.
- if (this instanceof RegExp) {
- return !!getInternalState$9(this).sticky;
+ var getEntry = function (that, key) {
+ var state = getInternalState(that);
+ // fast case
+ var index = fastKey(key);
+ var entry;
+ if (index !== 'F') { return state.index[index]; }
+ // frozen object case
+ for (entry = state.first; entry; entry = entry.next) {
+ if (entry.key == key) { return entry; }
}
- throw TypeError('Incompatible receiver, RegExp required');
- }
- });
- }
+ };
- // TODO: Remove from `core-js@4` since it's moved to entry points
+ redefineAll(C.prototype, {
+ // 23.1.3.1 Map.prototype.clear()
+ // 23.2.3.2 Set.prototype.clear()
+ clear: function clear() {
+ var that = this;
+ var state = getInternalState(that);
+ var data = state.index;
+ var entry = state.first;
+ while (entry) {
+ entry.removed = true;
+ if (entry.previous) { entry.previous = entry.previous.next = undefined; }
+ delete data[entry.index];
+ entry = entry.next;
+ }
+ state.first = state.last = undefined;
+ if (descriptors) { state.size = 0; }
+ else { that.size = 0; }
+ },
+ // 23.1.3.3 Map.prototype.delete(key)
+ // 23.2.3.4 Set.prototype.delete(value)
+ 'delete': function (key) {
+ var that = this;
+ var state = getInternalState(that);
+ var entry = getEntry(that, key);
+ if (entry) {
+ var next = entry.next;
+ var prev = entry.previous;
+ delete state.index[entry.index];
+ entry.removed = true;
+ if (prev) { prev.next = next; }
+ if (next) { next.previous = prev; }
+ if (state.first == entry) { state.first = next; }
+ if (state.last == entry) { state.last = prev; }
+ if (descriptors) { state.size--; }
+ else { that.size--; }
+ } return !!entry;
+ },
+ // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
+ // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
+ forEach: function forEach(callbackfn /* , that = undefined */) {
+ var state = getInternalState(this);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var entry;
+ while (entry = entry ? entry.next : state.first) {
+ boundFunction(entry.value, entry.key, this);
+ // revert to the last existing entry
+ while (entry && entry.removed) { entry = entry.previous; }
+ }
+ },
+ // 23.1.3.7 Map.prototype.has(key)
+ // 23.2.3.7 Set.prototype.has(value)
+ has: function has(key) {
+ return !!getEntry(this, key);
+ }
+ });
+ redefineAll(C.prototype, IS_MAP ? {
+ // 23.1.3.6 Map.prototype.get(key)
+ get: function get(key) {
+ var entry = getEntry(this, key);
+ return entry && entry.value;
+ },
+ // 23.1.3.9 Map.prototype.set(key, value)
+ set: function set(key, value) {
+ return define(this, key === 0 ? 0 : key, value);
+ }
+ } : {
+ // 23.2.3.1 Set.prototype.add(value)
+ add: function add(value) {
+ return define(this, value = value === 0 ? 0 : value, value);
+ }
+ });
+ if (descriptors) { defineProperty$7(C.prototype, 'size', {
+ get: function () {
+ return getInternalState(this).size;
+ }
+ }); }
+ return C;
+ },
+ setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
+ var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
+ var getInternalCollectionState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
+ var getInternalIteratorState = internalStateGetterFor$1(ITERATOR_NAME);
+ // add .keys, .values, .entries, [@@iterator]
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
+ defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
+ setInternalState$d(this, {
+ type: ITERATOR_NAME,
+ target: iterated,
+ state: getInternalCollectionState(iterated),
+ kind: kind,
+ last: undefined
+ });
+ }, function () {
+ var state = getInternalIteratorState(this);
+ var kind = state.kind;
+ var entry = state.last;
+ // revert to the last existing entry
+ while (entry && entry.removed) { entry = entry.previous; }
+ // get next entry
+ if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
+ // or finish the iteration
+ state.target = undefined;
+ return { value: undefined, done: true };
+ }
+ // return step by kind
+ if (kind == 'keys') { return { value: entry.key, done: false }; }
+ if (kind == 'values') { return { value: entry.value, done: false }; }
+ return { value: [entry.key, entry.value], done: false };
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
+ // add [@@species], 23.1.2.2, 23.2.2.2
+ setSpecies(CONSTRUCTOR_NAME);
+ }
+ };
+ // `Map` constructor
+ // https://tc39.es/ecma262/#sec-map-objects
+ var es_map = collection('Map', function (init) {
+ return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
+ }, collectionStrong);
- var DELEGATES_TO_EXEC = function () {
- var execCalled = false;
- var re = /[ac]/;
- re.exec = function () {
- execCalled = true;
- return /./.exec.apply(this, arguments);
- };
- return re.test('abc') === true && execCalled;
- }();
+ var log$7 = Math.log;
- var nativeTest = /./.test;
+ // `Math.log1p` method implementation
+ // https://tc39.es/ecma262/#sec-math.log1p
+ // eslint-disable-next-line es/no-math-log1p -- safe
+ var mathLog1p = Math.log1p || function log1p(x) {
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log$7(1 + x);
+ };
- // `RegExp.prototype.test` method
- // https://tc39.es/ecma262/#sec-regexp.prototype.test
- _export({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
- test: function (str) {
- if (typeof this.exec !== 'function') {
- return nativeTest.call(this, str);
- }
- var result = this.exec(str);
- if (result !== null && !isObject(result)) {
- throw new Error('RegExp exec method returned something other than an Object or null');
- }
- return !!result;
+ // eslint-disable-next-line es/no-math-acosh -- required for testing
+ var $acosh = Math.acosh;
+ var log$6 = Math.log;
+ var sqrt$2 = Math.sqrt;
+ var LN2$1 = Math.LN2;
+
+ var FORCED$i = !$acosh
+ // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
+ || Math.floor($acosh(Number.MAX_VALUE)) != 710
+ // Tor Browser bug: Math.acosh(Infinity) -> NaN
+ || $acosh(Infinity) != Infinity;
+
+ // `Math.acosh` method
+ // https://tc39.es/ecma262/#sec-math.acosh
+ _export({ target: 'Math', stat: true, forced: FORCED$i }, {
+ acosh: function acosh(x) {
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156
+ ? log$6(x) + LN2$1
+ : mathLog1p(x - 1 + sqrt$2(x - 1) * sqrt$2(x + 1));
}
});
- var TO_STRING$1 = 'toString';
- var RegExpPrototype = RegExp.prototype;
- var nativeToString = RegExpPrototype[TO_STRING$1];
+ // eslint-disable-next-line es/no-math-asinh -- required for testing
+ var $asinh = Math.asinh;
+ var log$5 = Math.log;
+ var sqrt$1 = Math.sqrt;
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
- // FF44- RegExp#toString has a wrong name
- var INCORRECT_NAME = nativeToString.name != TO_STRING$1;
-
- // `RegExp.prototype.toString` method
- // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
- if (NOT_GENERIC || INCORRECT_NAME) {
- redefine(RegExp.prototype, TO_STRING$1, function toString() {
- var R = anObject(this);
- var p = String(R.source);
- var rf = R.flags;
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
- return '/' + p + '/' + f;
- }, { unsafe: true });
+ function asinh(x) {
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log$5(x + sqrt$1(x * x + 1));
}
- var trim$2 = stringTrim.trim;
-
-
- var $parseInt = global_1.parseInt;
- var hex = /^[+-]?0[Xx]/;
- var FORCED$g = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
-
- // `parseInt` method
- // https://tc39.es/ecma262/#sec-parseint-string-radix
- var numberParseInt = FORCED$g ? function parseInt(string, radix) {
- var S = trim$2(String(string));
- return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
- } : $parseInt;
-
- // `parseInt` method
- // https://tc39.es/ecma262/#sec-parseint-string-radix
- _export({ global: true, forced: parseInt != numberParseInt }, {
- parseInt: numberParseInt
+ // `Math.asinh` method
+ // https://tc39.es/ecma262/#sec-math.asinh
+ // Tor Browser bug: Math.asinh(0) -> -0
+ _export({ target: 'Math', stat: true, forced: !($asinh && 1 / $asinh(0) > 0) }, {
+ asinh: asinh
});
- var trim$1 = stringTrim.trim;
+ // eslint-disable-next-line es/no-math-atanh -- required for testing
+ var $atanh = Math.atanh;
+ var log$4 = Math.log;
-
- var $parseFloat = global_1.parseFloat;
- var FORCED$f = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
-
- // `parseFloat` method
- // https://tc39.es/ecma262/#sec-parsefloat-string
- var numberParseFloat = FORCED$f ? function parseFloat(string) {
- var trimmedString = trim$1(String(string));
- var result = $parseFloat(trimmedString);
- return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
- } : $parseFloat;
-
- // `parseFloat` method
- // https://tc39.es/ecma262/#sec-parsefloat-string
- _export({ global: true, forced: parseFloat != numberParseFloat }, {
- parseFloat: numberParseFloat
+ // `Math.atanh` method
+ // https://tc39.es/ecma262/#sec-math.atanh
+ // Tor Browser bug: Math.atanh(-0) -> 0
+ _export({ target: 'Math', stat: true, forced: !($atanh && 1 / $atanh(-0) < 0) }, {
+ atanh: function atanh(x) {
+ return (x = +x) == 0 ? x : log$4((1 + x) / (1 - x)) / 2;
+ }
});
- var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
- var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
+ // `Math.sign` method implementation
+ // https://tc39.es/ecma262/#sec-math.sign
+ // eslint-disable-next-line es/no-math-sign -- safe
+ var mathSign = Math.sign || function sign(x) {
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
+ };
+
+ var abs$5 = Math.abs;
+ var pow$3 = Math.pow;
+
+ // `Math.cbrt` method
+ // https://tc39.es/ecma262/#sec-math.cbrt
+ _export({ target: 'Math', stat: true }, {
+ cbrt: function cbrt(x) {
+ return mathSign(x = +x) * pow$3(abs$5(x), 1 / 3);
+ }
+ });
+
+ var floor$7 = Math.floor;
+ var log$3 = Math.log;
+ var LOG2E = Math.LOG2E;
+
+ // `Math.clz32` method
+ // https://tc39.es/ecma262/#sec-math.clz32
+ _export({ target: 'Math', stat: true }, {
+ clz32: function clz32(x) {
+ return (x >>>= 0) ? 31 - floor$7(log$3(x + 0.5) * LOG2E) : 32;
+ }
+ });
+
+ // eslint-disable-next-line es/no-math-expm1 -- safe
+ var $expm1 = Math.expm1;
+ var exp$2 = Math.exp;
+
+ // `Math.expm1` method implementation
+ // https://tc39.es/ecma262/#sec-math.expm1
+ var mathExpm1 = (!$expm1
+ // Old FF bug
+ || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
+ // Tor Browser bug
+ || $expm1(-2e-17) != -2e-17
+ ) ? function expm1(x) {
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp$2(x) - 1;
+ } : $expm1;
+
+ // eslint-disable-next-line es/no-math-cosh -- required for testing
+ var $cosh = Math.cosh;
+ var abs$4 = Math.abs;
+ var E$1 = Math.E;
+
+ // `Math.cosh` method
+ // https://tc39.es/ecma262/#sec-math.cosh
+ _export({ target: 'Math', stat: true, forced: !$cosh || $cosh(710) === Infinity }, {
+ cosh: function cosh(x) {
+ var t = mathExpm1(abs$4(x) - 1) + 1;
+ return (t + 1 / (t * E$1 * E$1)) * (E$1 / 2);
+ }
+ });
+
+ // `Math.expm1` method
+ // https://tc39.es/ecma262/#sec-math.expm1
+ // eslint-disable-next-line es/no-math-expm1 -- required for testing
+ _export({ target: 'Math', stat: true, forced: mathExpm1 != Math.expm1 }, { expm1: mathExpm1 });
+
+ var abs$3 = Math.abs;
+ var pow$2 = Math.pow;
+ var EPSILON = pow$2(2, -52);
+ var EPSILON32 = pow$2(2, -23);
+ var MAX32 = pow$2(2, 127) * (2 - EPSILON32);
+ var MIN32 = pow$2(2, -126);
+
+ var roundTiesToEven = function (n) {
+ return n + 1 / EPSILON - 1 / EPSILON;
+ };
+
+ // `Math.fround` method implementation
+ // https://tc39.es/ecma262/#sec-math.fround
+ // eslint-disable-next-line es/no-math-fround -- safe
+ var mathFround = Math.fround || function fround(x) {
+ var $abs = abs$3(x);
+ var $sign = mathSign(x);
+ var a, result;
+ if ($abs < MIN32) { return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; }
+ a = (1 + EPSILON32 / EPSILON) * $abs;
+ result = a - (a - $abs);
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (result > MAX32 || result != result) { return $sign * Infinity; }
+ return $sign * result;
+ };
+
+ // `Math.fround` method
+ // https://tc39.es/ecma262/#sec-math.fround
+ _export({ target: 'Math', stat: true }, { fround: mathFround });
+
+ // eslint-disable-next-line es/no-math-hypot -- required for testing
+ var $hypot = Math.hypot;
+ var abs$2 = Math.abs;
+ var sqrt = Math.sqrt;
+
+ // Chrome 77 bug
+ // https://bugs.chromium.org/p/v8/issues/detail?id=9546
+ var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
+
+ // `Math.hypot` method
+ // https://tc39.es/ecma262/#sec-math.hypot
+ _export({ target: 'Math', stat: true, forced: BUGGY }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ hypot: function hypot(value1, value2) {
+ var arguments$1 = arguments;
+
+ var sum = 0;
+ var i = 0;
+ var aLen = arguments.length;
+ var larg = 0;
+ var arg, div;
+ while (i < aLen) {
+ arg = abs$2(arguments$1[i++]);
+ if (larg < arg) {
+ div = larg / arg;
+ sum = sum * div * div + 1;
+ larg = arg;
+ } else if (arg > 0) {
+ div = arg / larg;
+ sum += div * div;
+ } else { sum += arg; }
+ }
+ return larg === Infinity ? Infinity : larg * sqrt(sum);
+ }
+ });
+
+ // eslint-disable-next-line es/no-math-imul -- required for testing
+ var $imul = Math.imul;
+
+ var FORCED$h = fails(function () {
+ return $imul(0xFFFFFFFF, 5) != -5 || $imul.length != 2;
+ });
+
+ // `Math.imul` method
+ // https://tc39.es/ecma262/#sec-math.imul
+ // some WebKit versions fails with big numbers, some has wrong arity
+ _export({ target: 'Math', stat: true, forced: FORCED$h }, {
+ imul: function imul(x, y) {
+ var UINT16 = 0xFFFF;
+ var xn = +x;
+ var yn = +y;
+ var xl = UINT16 & xn;
+ var yl = UINT16 & yn;
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
+ }
+ });
+
+ var log$2 = Math.log;
+ var LOG10E = Math.LOG10E;
+
+ // `Math.log10` method
+ // https://tc39.es/ecma262/#sec-math.log10
+ _export({ target: 'Math', stat: true }, {
+ log10: function log10(x) {
+ return log$2(x) * LOG10E;
+ }
+ });
+
+ // `Math.log1p` method
+ // https://tc39.es/ecma262/#sec-math.log1p
+ _export({ target: 'Math', stat: true }, { log1p: mathLog1p });
+
+ var log$1 = Math.log;
+ var LN2 = Math.LN2;
+
+ // `Math.log2` method
+ // https://tc39.es/ecma262/#sec-math.log2
+ _export({ target: 'Math', stat: true }, {
+ log2: function log2(x) {
+ return log$1(x) / LN2;
+ }
+ });
+
+ // `Math.sign` method
+ // https://tc39.es/ecma262/#sec-math.sign
+ _export({ target: 'Math', stat: true }, {
+ sign: mathSign
+ });
+
+ var abs$1 = Math.abs;
+ var exp$1 = Math.exp;
+ var E = Math.E;
+
+ var FORCED$g = fails(function () {
+ // eslint-disable-next-line es/no-math-sinh -- required for testing
+ return Math.sinh(-2e-17) != -2e-17;
+ });
+
+ // `Math.sinh` method
+ // https://tc39.es/ecma262/#sec-math.sinh
+ // V8 near Chromium 38 has a problem with very small numbers
+ _export({ target: 'Math', stat: true, forced: FORCED$g }, {
+ sinh: function sinh(x) {
+ return abs$1(x = +x) < 1 ? (mathExpm1(x) - mathExpm1(-x)) / 2 : (exp$1(x - 1) - exp$1(-x - 1)) * (E / 2);
+ }
+ });
+
+ var exp = Math.exp;
+
+ // `Math.tanh` method
+ // https://tc39.es/ecma262/#sec-math.tanh
+ _export({ target: 'Math', stat: true }, {
+ tanh: function tanh(x) {
+ var a = mathExpm1(x = +x);
+ var b = mathExpm1(-x);
+ return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
+ }
+ });
+
+ // Math[@@toStringTag] property
+ // https://tc39.es/ecma262/#sec-math-@@tostringtag
+ setToStringTag(Math, 'Math', true);
+
+ var ceil = Math.ceil;
+ var floor$6 = Math.floor;
+
+ // `Math.trunc` method
+ // https://tc39.es/ecma262/#sec-math.trunc
+ _export({ target: 'Math', stat: true }, {
+ trunc: function trunc(it) {
+ return (it > 0 ? floor$6 : ceil)(it);
+ }
+ });
+
+ // a string of all valid unicode whitespaces
+ var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
+
+ var whitespace = '[' + whitespaces + ']';
+ var ltrim = RegExp('^' + whitespace + whitespace + '*');
+ var rtrim = RegExp(whitespace + whitespace + '*$');
+
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
+ var createMethod$4 = function (TYPE) {
+ return function ($this) {
+ var string = String(requireObjectCoercible($this));
+ if (TYPE & 1) { string = string.replace(ltrim, ''); }
+ if (TYPE & 2) { string = string.replace(rtrim, ''); }
+ return string;
+ };
+ };
+
+ var stringTrim = {
+ // `String.prototype.{ trimLeft, trimStart }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
+ start: createMethod$4(1),
+ // `String.prototype.{ trimRight, trimEnd }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
+ end: createMethod$4(2),
+ // `String.prototype.trim` method
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
+ trim: createMethod$4(3)
+ };
+
+ var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f;
+ var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f;
var defineProperty$6 = objectDefineProperty.f;
- var trim = stringTrim.trim;
+ var trim$2 = stringTrim.trim;
var NUMBER = 'Number';
var NativeNumber = global_1[NUMBER];
@@ -5893,7 +5426,7 @@ var doric = (function (exports) {
var it = toPrimitive(argument, false);
var first, third, radix, maxCode, digits, length, index, code;
if (typeof it == 'string' && it.length > 2) {
- it = trim(it);
+ it = trim$2(it);
first = it.charCodeAt(0);
if (first === 43 || first === 45) {
third = it.charCodeAt(2);
@@ -5927,7 +5460,7 @@ var doric = (function (exports) {
&& (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)
? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
};
- for (var keys$1 = descriptors ? getOwnPropertyNames$1(NativeNumber) : (
+ for (var keys$1 = descriptors ? getOwnPropertyNames$2(NativeNumber) : (
// ES3:
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
// ES2015 (in case, if modules with ES2015 Number statics required before):
@@ -5935,9 +5468,9 @@ var doric = (function (exports) {
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
// ESNext
'fromString,range'
- ).split(','), j$1 = 0, key$1; keys$1.length > j$1; j$1++) {
- if (has$1(NativeNumber, key$1 = keys$1[j$1]) && !has$1(NumberWrapper, key$1)) {
- defineProperty$6(NumberWrapper, key$1, getOwnPropertyDescriptor$2(NativeNumber, key$1));
+ ).split(','), j = 0, key; keys$1.length > j; j++) {
+ if (has$1(NativeNumber, key = keys$1[j]) && !has$1(NumberWrapper, key)) {
+ defineProperty$6(NumberWrapper, key, getOwnPropertyDescriptor$6(NativeNumber, key));
}
}
NumberWrapper.prototype = NumberPrototype;
@@ -5955,6 +5488,7 @@ var doric = (function (exports) {
// `Number.isFinite` method
// https://tc39.es/ecma262/#sec-number.isfinite
+ // eslint-disable-next-line es/no-number-isfinite -- safe
var numberIsFinite = Number.isFinite || function isFinite(it) {
return typeof it == 'number' && globalIsFinite(it);
};
@@ -5963,12 +5497,12 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-number.isfinite
_export({ target: 'Number', stat: true }, { isFinite: numberIsFinite });
- var floor$7 = Math.floor;
+ var floor$5 = Math.floor;
// `Number.isInteger` method implementation
// https://tc39.es/ecma262/#sec-number.isinteger
var isInteger = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor$7(it) === it;
+ return !isObject(it) && isFinite(it) && floor$5(it) === it;
};
// `Number.isInteger` method
@@ -5986,13 +5520,13 @@ var doric = (function (exports) {
}
});
- var abs$7 = Math.abs;
+ var abs = Math.abs;
// `Number.isSafeInteger` method
// https://tc39.es/ecma262/#sec-number.issafeinteger
_export({ target: 'Number', stat: true }, {
isSafeInteger: function isSafeInteger(number) {
- return isInteger(number) && abs$7(number) <= 0x1FFFFFFFFFFFFF;
+ return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
}
});
@@ -6008,14 +5542,44 @@ var doric = (function (exports) {
MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
});
+ var trim$1 = stringTrim.trim;
+
+
+ var $parseFloat = global_1.parseFloat;
+ var FORCED$f = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
+
+ // `parseFloat` method
+ // https://tc39.es/ecma262/#sec-parsefloat-string
+ var numberParseFloat = FORCED$f ? function parseFloat(string) {
+ var trimmedString = trim$1(String(string));
+ var result = $parseFloat(trimmedString);
+ return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
+ } : $parseFloat;
+
// `Number.parseFloat` method
// https://tc39.es/ecma262/#sec-number.parseFloat
+ // eslint-disable-next-line es/no-number-parsefloat -- required for testing
_export({ target: 'Number', stat: true, forced: Number.parseFloat != numberParseFloat }, {
parseFloat: numberParseFloat
});
+ var trim = stringTrim.trim;
+
+
+ var $parseInt = global_1.parseInt;
+ var hex = /^[+-]?0[Xx]/;
+ var FORCED$e = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
+
+ // `parseInt` method
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
+ var numberParseInt = FORCED$e ? function parseInt(string, radix) {
+ var S = trim(String(string));
+ return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
+ } : $parseInt;
+
// `Number.parseInt` method
// https://tc39.es/ecma262/#sec-number.parseint
+ // eslint-disable-next-line es/no-number-parseint -- required for testing
_export({ target: 'Number', stat: true, forced: Number.parseInt != numberParseInt }, {
parseInt: numberParseInt
});
@@ -6030,13 +5594,13 @@ var doric = (function (exports) {
};
var nativeToFixed = 1.0.toFixed;
- var floor$6 = Math.floor;
+ var floor$4 = Math.floor;
- var pow$4 = function (x, n, acc) {
- return n === 0 ? acc : n % 2 === 1 ? pow$4(x, n - 1, acc * x) : pow$4(x * x, n / 2, acc);
+ var pow$1 = function (x, n, acc) {
+ return n === 0 ? acc : n % 2 === 1 ? pow$1(x, n - 1, acc * x) : pow$1(x * x, n / 2, acc);
};
- var log$8 = function (x) {
+ var log = function (x) {
var n = 0;
var x2 = x;
while (x2 >= 4096) {
@@ -6055,7 +5619,7 @@ var doric = (function (exports) {
while (++index < 6) {
c2 += n * data[index];
data[index] = c2 % 1e7;
- c2 = floor$6(c2 / 1e7);
+ c2 = floor$4(c2 / 1e7);
}
};
@@ -6064,7 +5628,7 @@ var doric = (function (exports) {
var c = 0;
while (--index >= 0) {
c += data[index];
- data[index] = floor$6(c / n);
+ data[index] = floor$4(c / n);
c = (c % n) * 1e7;
}
};
@@ -6080,7 +5644,7 @@ var doric = (function (exports) {
} return s;
};
- var FORCED$e = nativeToFixed && (
+ var FORCED$d = nativeToFixed && (
0.00008.toFixed(3) !== '0.000' ||
0.9.toFixed(0) !== '1' ||
1.255.toFixed(2) !== '1.25' ||
@@ -6092,7 +5656,7 @@ var doric = (function (exports) {
// `Number.prototype.toFixed` method
// https://tc39.es/ecma262/#sec-number.prototype.tofixed
- _export({ target: 'Number', proto: true, forced: FORCED$e }, {
+ _export({ target: 'Number', proto: true, forced: FORCED$d }, {
toFixed: function toFixed(fractionDigits) {
var number = thisNumberValue(this);
var fractDigits = toInteger(fractionDigits);
@@ -6110,8 +5674,8 @@ var doric = (function (exports) {
number = -number;
}
if (number > 1e-21) {
- e = log$8(number * pow$4(2, 69, 1)) - 69;
- z = e < 0 ? number * pow$4(2, -e, 1) : number / pow$4(2, e, 1);
+ e = log(number * pow$1(2, 69, 1)) - 69;
+ z = e < 0 ? number * pow$1(2, -e, 1) : number / pow$1(2, e, 1);
z *= 0x10000000000000;
e = 52 - e;
if (e > 0) {
@@ -6121,7 +5685,7 @@ var doric = (function (exports) {
multiply(data, 1e7, 0);
j -= 7;
}
- multiply(data, pow$4(10, j, 1), 0);
+ multiply(data, pow$1(10, j, 1), 0);
j = e - 1;
while (j >= 23) {
divide(data, 1 << 23);
@@ -6150,7 +5714,7 @@ var doric = (function (exports) {
var nativeToPrecision = 1.0.toPrecision;
- var FORCED$d = fails(function () {
+ var FORCED$c = fails(function () {
// IE7-
return nativeToPrecision.call(1, undefined) !== '1';
}) || !fails(function () {
@@ -6160,7 +5724,7 @@ var doric = (function (exports) {
// `Number.prototype.toPrecision` method
// https://tc39.es/ecma262/#sec-number.prototype.toprecision
- _export({ target: 'Number', proto: true, forced: FORCED$d }, {
+ _export({ target: 'Number', proto: true, forced: FORCED$c }, {
toPrecision: function toPrecision(precision) {
return precision === undefined
? nativeToPrecision.call(thisNumberValue(this))
@@ -6168,427 +5732,399 @@ var doric = (function (exports) {
}
});
- var log$7 = Math.log;
+ // eslint-disable-next-line es/no-object-assign -- safe
+ var $assign = Object.assign;
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ var defineProperty$5 = Object.defineProperty;
- // `Math.log1p` method implementation
- // https://tc39.es/ecma262/#sec-math.log1p
- var mathLog1p = Math.log1p || function log1p(x) {
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log$7(1 + x);
- };
+ // `Object.assign` method
+ // https://tc39.es/ecma262/#sec-object.assign
+ var objectAssign = !$assign || fails(function () {
+ // should have correct order of operations (Edge bug)
+ if (descriptors && $assign({ b: 1 }, $assign(defineProperty$5({}, 'a', {
+ enumerable: true,
+ get: function () {
+ defineProperty$5(this, 'b', {
+ value: 3,
+ enumerable: false
+ });
+ }
+ }), { b: 2 })).b !== 1) { return true; }
+ // should work with symbols and should have deterministic property order (V8 bug)
+ var A = {};
+ var B = {};
+ // eslint-disable-next-line es/no-symbol -- safe
+ var symbol = Symbol();
+ var alphabet = 'abcdefghijklmnopqrst';
+ A[symbol] = 7;
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
+ return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
+ }) ? function assign(target, source) {
+ var arguments$1 = arguments;
+ // eslint-disable-line no-unused-vars -- required for `.length`
+ var T = toObject(target);
+ var argumentsLength = arguments.length;
+ var index = 1;
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
+ while (argumentsLength > index) {
+ var S = indexedObject(arguments$1[index++]);
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
+ var length = keys.length;
+ var j = 0;
+ var key;
+ while (length > j) {
+ key = keys[j++];
+ if (!descriptors || propertyIsEnumerable.call(S, key)) { T[key] = S[key]; }
+ }
+ } return T;
+ } : $assign;
- var nativeAcosh = Math.acosh;
- var log$6 = Math.log;
- var sqrt$2 = Math.sqrt;
- var LN2$2 = Math.LN2;
-
- var FORCED$c = !nativeAcosh
- // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
- || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710
- // Tor Browser bug: Math.acosh(Infinity) -> NaN
- || nativeAcosh(Infinity) != Infinity;
-
- // `Math.acosh` method
- // https://tc39.es/ecma262/#sec-math.acosh
- _export({ target: 'Math', stat: true, forced: FORCED$c }, {
- acosh: function acosh(x) {
- return (x = +x) < 1 ? NaN : x > 94906265.62425156
- ? log$6(x) + LN2$2
- : mathLog1p(x - 1 + sqrt$2(x - 1) * sqrt$2(x + 1));
- }
+ // `Object.assign` method
+ // https://tc39.es/ecma262/#sec-object.assign
+ // eslint-disable-next-line es/no-object-assign -- required for testing
+ _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
+ assign: objectAssign
});
- var nativeAsinh = Math.asinh;
- var log$5 = Math.log;
- var sqrt$1 = Math.sqrt;
+ // `Object.create` method
+ // https://tc39.es/ecma262/#sec-object.create
+ _export({ target: 'Object', stat: true, sham: !descriptors }, {
+ create: objectCreate
+ });
- function asinh(x) {
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log$5(x + sqrt$1(x * x + 1));
+ // Forced replacement object prototype accessors methods
+ var objectPrototypeAccessorsForced = !fails(function () {
+ var key = Math.random();
+ // In FF throws only define methods
+ // eslint-disable-next-line no-undef, no-useless-call -- required for testing
+ __defineSetter__.call(null, key, function () { /* empty */ });
+ delete global_1[key];
+ });
+
+ // `Object.prototype.__defineGetter__` method
+ // https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__
+ if (descriptors) {
+ _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
+ __defineGetter__: function __defineGetter__(P, getter) {
+ objectDefineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
+ }
+ });
}
- // `Math.asinh` method
- // https://tc39.es/ecma262/#sec-math.asinh
- // Tor Browser bug: Math.asinh(0) -> -0
- _export({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {
- asinh: asinh
+ // `Object.defineProperties` method
+ // https://tc39.es/ecma262/#sec-object.defineproperties
+ _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, {
+ defineProperties: objectDefineProperties
});
- var nativeAtanh = Math.atanh;
- var log$4 = Math.log;
-
- // `Math.atanh` method
- // https://tc39.es/ecma262/#sec-math.atanh
- // Tor Browser bug: Math.atanh(-0) -> 0
- _export({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, {
- atanh: function atanh(x) {
- return (x = +x) == 0 ? x : log$4((1 + x) / (1 - x)) / 2;
- }
+ // `Object.defineProperty` method
+ // https://tc39.es/ecma262/#sec-object.defineproperty
+ _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, {
+ defineProperty: objectDefineProperty.f
});
- // `Math.sign` method implementation
- // https://tc39.es/ecma262/#sec-math.sign
- var mathSign = Math.sign || function sign(x) {
- // eslint-disable-next-line no-self-compare -- NaN check
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
+ // `Object.prototype.__defineSetter__` method
+ // https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__
+ if (descriptors) {
+ _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
+ __defineSetter__: function __defineSetter__(P, setter) {
+ objectDefineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
+ }
+ });
+ }
- var abs$6 = Math.abs;
- var pow$3 = Math.pow;
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
- // `Math.cbrt` method
- // https://tc39.es/ecma262/#sec-math.cbrt
- _export({ target: 'Math', stat: true }, {
- cbrt: function cbrt(x) {
- return mathSign(x = +x) * pow$3(abs$6(x), 1 / 3);
- }
- });
-
- var floor$5 = Math.floor;
- var log$3 = Math.log;
- var LOG2E = Math.LOG2E;
-
- // `Math.clz32` method
- // https://tc39.es/ecma262/#sec-math.clz32
- _export({ target: 'Math', stat: true }, {
- clz32: function clz32(x) {
- return (x >>>= 0) ? 31 - floor$5(log$3(x + 0.5) * LOG2E) : 32;
- }
- });
-
- var nativeExpm1 = Math.expm1;
- var exp$2 = Math.exp;
-
- // `Math.expm1` method implementation
- // https://tc39.es/ecma262/#sec-math.expm1
- var mathExpm1 = (!nativeExpm1
- // Old FF bug
- || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
- // Tor Browser bug
- || nativeExpm1(-2e-17) != -2e-17
- ) ? function expm1(x) {
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp$2(x) - 1;
- } : nativeExpm1;
-
- var nativeCosh = Math.cosh;
- var abs$5 = Math.abs;
- var E$1 = Math.E;
-
- // `Math.cosh` method
- // https://tc39.es/ecma262/#sec-math.cosh
- _export({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, {
- cosh: function cosh(x) {
- var t = mathExpm1(abs$5(x) - 1) + 1;
- return (t + 1 / (t * E$1 * E$1)) * (E$1 / 2);
- }
- });
-
- // `Math.expm1` method
- // https://tc39.es/ecma262/#sec-math.expm1
- _export({ target: 'Math', stat: true, forced: mathExpm1 != Math.expm1 }, { expm1: mathExpm1 });
-
- var abs$4 = Math.abs;
- var pow$2 = Math.pow;
- var EPSILON = pow$2(2, -52);
- var EPSILON32 = pow$2(2, -23);
- var MAX32 = pow$2(2, 127) * (2 - EPSILON32);
- var MIN32 = pow$2(2, -126);
-
- var roundTiesToEven = function (n) {
- return n + 1 / EPSILON - 1 / EPSILON;
- };
-
- // `Math.fround` method implementation
- // https://tc39.es/ecma262/#sec-math.fround
- var mathFround = Math.fround || function fround(x) {
- var $abs = abs$4(x);
- var $sign = mathSign(x);
- var a, result;
- if ($abs < MIN32) { return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; }
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs);
- // eslint-disable-next-line no-self-compare -- NaN check
- if (result > MAX32 || result != result) { return $sign * Infinity; }
- return $sign * result;
- };
-
- // `Math.fround` method
- // https://tc39.es/ecma262/#sec-math.fround
- _export({ target: 'Math', stat: true }, { fround: mathFround });
-
- var $hypot = Math.hypot;
- var abs$3 = Math.abs;
- var sqrt = Math.sqrt;
-
- // Chrome 77 bug
- // https://bugs.chromium.org/p/v8/issues/detail?id=9546
- var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
-
- // `Math.hypot` method
- // https://tc39.es/ecma262/#sec-math.hypot
- _export({ target: 'Math', stat: true, forced: BUGGY }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- hypot: function hypot(value1, value2) {
- var arguments$1 = arguments;
-
- var sum = 0;
+ // `Object.{ entries, values }` methods implementation
+ var createMethod$3 = function (TO_ENTRIES) {
+ return function (it) {
+ var O = toIndexedObject(it);
+ var keys = objectKeys(O);
+ var length = keys.length;
var i = 0;
- var aLen = arguments.length;
- var larg = 0;
- var arg, div;
- while (i < aLen) {
- arg = abs$3(arguments$1[i++]);
- if (larg < arg) {
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if (arg > 0) {
- div = arg / larg;
- sum += div * div;
- } else { sum += arg; }
+ var result = [];
+ var key;
+ while (length > i) {
+ key = keys[i++];
+ if (!descriptors || propertyIsEnumerable.call(O, key)) {
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
+ }
}
- return larg === Infinity ? Infinity : larg * sqrt(sum);
- }
- });
-
- var nativeImul = Math.imul;
-
- var FORCED$b = fails(function () {
- return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;
- });
-
- // `Math.imul` method
- // https://tc39.es/ecma262/#sec-math.imul
- // some WebKit versions fails with big numbers, some has wrong arity
- _export({ target: 'Math', stat: true, forced: FORCED$b }, {
- imul: function imul(x, y) {
- var UINT16 = 0xFFFF;
- var xn = +x;
- var yn = +y;
- var xl = UINT16 & xn;
- var yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
-
- var log$2 = Math.log;
- var LOG10E = Math.LOG10E;
-
- // `Math.log10` method
- // https://tc39.es/ecma262/#sec-math.log10
- _export({ target: 'Math', stat: true }, {
- log10: function log10(x) {
- return log$2(x) * LOG10E;
- }
- });
-
- // `Math.log1p` method
- // https://tc39.es/ecma262/#sec-math.log1p
- _export({ target: 'Math', stat: true }, { log1p: mathLog1p });
-
- var log$1 = Math.log;
- var LN2$1 = Math.LN2;
-
- // `Math.log2` method
- // https://tc39.es/ecma262/#sec-math.log2
- _export({ target: 'Math', stat: true }, {
- log2: function log2(x) {
- return log$1(x) / LN2$1;
- }
- });
-
- // `Math.sign` method
- // https://tc39.es/ecma262/#sec-math.sign
- _export({ target: 'Math', stat: true }, {
- sign: mathSign
- });
-
- var abs$2 = Math.abs;
- var exp$1 = Math.exp;
- var E = Math.E;
-
- var FORCED$a = fails(function () {
- return Math.sinh(-2e-17) != -2e-17;
- });
-
- // `Math.sinh` method
- // https://tc39.es/ecma262/#sec-math.sinh
- // V8 near Chromium 38 has a problem with very small numbers
- _export({ target: 'Math', stat: true, forced: FORCED$a }, {
- sinh: function sinh(x) {
- return abs$2(x = +x) < 1 ? (mathExpm1(x) - mathExpm1(-x)) / 2 : (exp$1(x - 1) - exp$1(-x - 1)) * (E / 2);
- }
- });
-
- var exp = Math.exp;
-
- // `Math.tanh` method
- // https://tc39.es/ecma262/#sec-math.tanh
- _export({ target: 'Math', stat: true }, {
- tanh: function tanh(x) {
- var a = mathExpm1(x = +x);
- var b = mathExpm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
- });
-
- // Math[@@toStringTag] property
- // https://tc39.es/ecma262/#sec-math-@@tostringtag
- setToStringTag(Math, 'Math', true);
-
- var ceil = Math.ceil;
- var floor$4 = Math.floor;
-
- // `Math.trunc` method
- // https://tc39.es/ecma262/#sec-math.trunc
- _export({ target: 'Math', stat: true }, {
- trunc: function trunc(it) {
- return (it > 0 ? floor$4 : ceil)(it);
- }
- });
-
- // `Date.now` method
- // https://tc39.es/ecma262/#sec-date.now
- _export({ target: 'Date', stat: true }, {
- now: function now() {
- return new Date().getTime();
- }
- });
-
- var FORCED$9 = fails(function () {
- return new Date(NaN).toJSON() !== null
- || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
- });
-
- // `Date.prototype.toJSON` method
- // https://tc39.es/ecma262/#sec-date.prototype.tojson
- _export({ target: 'Date', proto: true, forced: FORCED$9 }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- toJSON: function toJSON(key) {
- var O = toObject(this);
- var pv = toPrimitive(O);
- return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
- }
- });
-
- var padStart = stringPad.start;
-
- var abs$1 = Math.abs;
- var DatePrototype$2 = Date.prototype;
- var getTime$1 = DatePrototype$2.getTime;
- var nativeDateToISOString = DatePrototype$2.toISOString;
-
- // `Date.prototype.toISOString` method implementation
- // https://tc39.es/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit fails here:
- var dateToIsoString = (fails(function () {
- return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
- }) || !fails(function () {
- nativeDateToISOString.call(new Date(NaN));
- })) ? function toISOString() {
- if (!isFinite(getTime$1.call(this))) { throw RangeError('Invalid time value'); }
- var date = this;
- var year = date.getUTCFullYear();
- var milliseconds = date.getUTCMilliseconds();
- var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
- return sign + padStart(abs$1(year), sign ? 6 : 4, 0) +
- '-' + padStart(date.getUTCMonth() + 1, 2, 0) +
- '-' + padStart(date.getUTCDate(), 2, 0) +
- 'T' + padStart(date.getUTCHours(), 2, 0) +
- ':' + padStart(date.getUTCMinutes(), 2, 0) +
- ':' + padStart(date.getUTCSeconds(), 2, 0) +
- '.' + padStart(milliseconds, 3, 0) +
- 'Z';
- } : nativeDateToISOString;
-
- // `Date.prototype.toISOString` method
- // https://tc39.es/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit has a broken implementations
- _export({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== dateToIsoString }, {
- toISOString: dateToIsoString
- });
-
- var DatePrototype$1 = Date.prototype;
- var INVALID_DATE = 'Invalid Date';
- var TO_STRING = 'toString';
- var nativeDateToString = DatePrototype$1[TO_STRING];
- var getTime = DatePrototype$1.getTime;
-
- // `Date.prototype.toString` method
- // https://tc39.es/ecma262/#sec-date.prototype.tostring
- if (new Date(NaN) + '' != INVALID_DATE) {
- redefine(DatePrototype$1, TO_STRING, function toString() {
- var value = getTime.call(this);
- // eslint-disable-next-line no-self-compare -- NaN check
- return value === value ? nativeDateToString.call(this) : INVALID_DATE;
- });
- }
-
- var dateToPrimitive = function (hint) {
- if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
- throw TypeError('Incorrect hint');
- } return toPrimitive(anObject(this), hint !== 'number');
+ return result;
+ };
};
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
- var DatePrototype = Date.prototype;
-
- // `Date.prototype[@@toPrimitive]` method
- // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
- if (!(TO_PRIMITIVE in DatePrototype)) {
- createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
- }
-
- var $stringify = getBuiltIn('JSON', 'stringify');
- var re = /[\uD800-\uDFFF]/g;
- var low = /^[\uD800-\uDBFF]$/;
- var hi = /^[\uDC00-\uDFFF]$/;
-
- var fix = function (match, offset, string) {
- var prev = string.charAt(offset - 1);
- var next = string.charAt(offset + 1);
- if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {
- return '\\u' + match.charCodeAt(0).toString(16);
- } return match;
+ var objectToArray = {
+ // `Object.entries` method
+ // https://tc39.es/ecma262/#sec-object.entries
+ entries: createMethod$3(true),
+ // `Object.values` method
+ // https://tc39.es/ecma262/#sec-object.values
+ values: createMethod$3(false)
};
- var FORCED$8 = fails(function () {
- return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
- || $stringify('\uDEAD') !== '"\\udead"';
+ var $entries = objectToArray.entries;
+
+ // `Object.entries` method
+ // https://tc39.es/ecma262/#sec-object.entries
+ _export({ target: 'Object', stat: true }, {
+ entries: function entries(O) {
+ return $entries(O);
+ }
});
- if ($stringify) {
- // `JSON.stringify` method
- // https://tc39.es/ecma262/#sec-json.stringify
- // https://github.com/tc39/proposal-well-formed-stringify
- _export({ target: 'JSON', stat: true, forced: FORCED$8 }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- stringify: function stringify(it, replacer, space) {
- var result = $stringify.apply(null, arguments);
- return typeof result == 'string' ? result.replace(re, fix) : result;
+ var onFreeze$2 = internalMetadata.onFreeze;
+
+ // eslint-disable-next-line es/no-object-freeze -- safe
+ var $freeze = Object.freeze;
+ var FAILS_ON_PRIMITIVES$9 = fails(function () { $freeze(1); });
+
+ // `Object.freeze` method
+ // https://tc39.es/ecma262/#sec-object.freeze
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$9, sham: !freezing }, {
+ freeze: function freeze(it) {
+ return $freeze && isObject(it) ? $freeze(onFreeze$2(it)) : it;
+ }
+ });
+
+ // `Object.fromEntries` method
+ // https://github.com/tc39/proposal-object-from-entries
+ _export({ target: 'Object', stat: true }, {
+ fromEntries: function fromEntries(iterable) {
+ var obj = {};
+ iterate(iterable, function (k, v) {
+ createProperty(obj, k, v);
+ }, { AS_ENTRIES: true });
+ return obj;
+ }
+ });
+
+ var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
+
+
+ var FAILS_ON_PRIMITIVES$8 = fails(function () { nativeGetOwnPropertyDescriptor(1); });
+ var FORCED$b = !descriptors || FAILS_ON_PRIMITIVES$8;
+
+ // `Object.getOwnPropertyDescriptor` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
+ _export({ target: 'Object', stat: true, forced: FORCED$b, sham: !descriptors }, {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
+ return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
+ }
+ });
+
+ // `Object.getOwnPropertyDescriptors` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
+ _export({ target: 'Object', stat: true, sham: !descriptors }, {
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
+ var O = toIndexedObject(object);
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
+ var keys = ownKeys(O);
+ var result = {};
+ var index = 0;
+ var key, descriptor;
+ while (keys.length > index) {
+ descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
+ if (descriptor !== undefined) { createProperty(result, key, descriptor); }
+ }
+ return result;
+ }
+ });
+
+ var getOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
+
+ // eslint-disable-next-line es/no-object-getownpropertynames -- required for testing
+ var FAILS_ON_PRIMITIVES$7 = fails(function () { return !Object.getOwnPropertyNames(1); });
+
+ // `Object.getOwnPropertyNames` method
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$7 }, {
+ getOwnPropertyNames: getOwnPropertyNames$1
+ });
+
+ var FAILS_ON_PRIMITIVES$6 = fails(function () { objectGetPrototypeOf(1); });
+
+ // `Object.getPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$6, sham: !correctPrototypeGetter }, {
+ getPrototypeOf: function getPrototypeOf(it) {
+ return objectGetPrototypeOf(toObject(it));
+ }
+ });
+
+ // `SameValue` abstract operation
+ // https://tc39.es/ecma262/#sec-samevalue
+ // eslint-disable-next-line es/no-object-is -- safe
+ var sameValue = Object.is || function is(x, y) {
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
+ };
+
+ // `Object.is` method
+ // https://tc39.es/ecma262/#sec-object.is
+ _export({ target: 'Object', stat: true }, {
+ is: sameValue
+ });
+
+ // eslint-disable-next-line es/no-object-isextensible -- safe
+ var $isExtensible = Object.isExtensible;
+ var FAILS_ON_PRIMITIVES$5 = fails(function () { $isExtensible(1); });
+
+ // `Object.isExtensible` method
+ // https://tc39.es/ecma262/#sec-object.isextensible
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$5 }, {
+ isExtensible: function isExtensible(it) {
+ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
+ }
+ });
+
+ // eslint-disable-next-line es/no-object-isfrozen -- safe
+ var $isFrozen = Object.isFrozen;
+ var FAILS_ON_PRIMITIVES$4 = fails(function () { $isFrozen(1); });
+
+ // `Object.isFrozen` method
+ // https://tc39.es/ecma262/#sec-object.isfrozen
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, {
+ isFrozen: function isFrozen(it) {
+ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
+ }
+ });
+
+ // eslint-disable-next-line es/no-object-issealed -- safe
+ var $isSealed = Object.isSealed;
+ var FAILS_ON_PRIMITIVES$3 = fails(function () { $isSealed(1); });
+
+ // `Object.isSealed` method
+ // https://tc39.es/ecma262/#sec-object.issealed
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3 }, {
+ isSealed: function isSealed(it) {
+ return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
+ }
+ });
+
+ var FAILS_ON_PRIMITIVES$2 = fails(function () { objectKeys(1); });
+
+ // `Object.keys` method
+ // https://tc39.es/ecma262/#sec-object.keys
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$2 }, {
+ keys: function keys(it) {
+ return objectKeys(toObject(it));
+ }
+ });
+
+ var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f;
+
+ // `Object.prototype.__lookupGetter__` method
+ // https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__
+ if (descriptors) {
+ _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
+ __lookupGetter__: function __lookupGetter__(P) {
+ var O = toObject(this);
+ var key = toPrimitive(P, true);
+ var desc;
+ do {
+ if (desc = getOwnPropertyDescriptor$5(O, key)) { return desc.get; }
+ } while (O = objectGetPrototypeOf(O));
}
});
}
- // JSON[@@toStringTag] property
- // https://tc39.es/ecma262/#sec-json-@@tostringtag
- setToStringTag(global_1.JSON, 'JSON', true);
+ var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f;
+
+ // `Object.prototype.__lookupSetter__` method
+ // https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__
+ if (descriptors) {
+ _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, {
+ __lookupSetter__: function __lookupSetter__(P) {
+ var O = toObject(this);
+ var key = toPrimitive(P, true);
+ var desc;
+ do {
+ if (desc = getOwnPropertyDescriptor$4(O, key)) { return desc.set; }
+ } while (O = objectGetPrototypeOf(O));
+ }
+ });
+ }
+
+ var onFreeze$1 = internalMetadata.onFreeze;
+
+
+
+ // eslint-disable-next-line es/no-object-preventextensions -- safe
+ var $preventExtensions = Object.preventExtensions;
+ var FAILS_ON_PRIMITIVES$1 = fails(function () { $preventExtensions(1); });
+
+ // `Object.preventExtensions` method
+ // https://tc39.es/ecma262/#sec-object.preventextensions
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$1, sham: !freezing }, {
+ preventExtensions: function preventExtensions(it) {
+ return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze$1(it)) : it;
+ }
+ });
+
+ var onFreeze = internalMetadata.onFreeze;
+
+
+
+ // eslint-disable-next-line es/no-object-seal -- safe
+ var $seal = Object.seal;
+ var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });
+
+ // `Object.seal` method
+ // https://tc39.es/ecma262/#sec-object.seal
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !freezing }, {
+ seal: function seal(it) {
+ return $seal && isObject(it) ? $seal(onFreeze(it)) : it;
+ }
+ });
+
+ // `Object.setPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
+ _export({ target: 'Object', stat: true }, {
+ setPrototypeOf: objectSetPrototypeOf
+ });
+
+ // `Object.prototype.toString` method implementation
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
+ var objectToString = toStringTagSupport ? {}.toString : function toString() {
+ return '[object ' + classof(this) + ']';
+ };
+
+ // `Object.prototype.toString` method
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
+ if (!toStringTagSupport) {
+ redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
+ }
+
+ var $values = objectToArray.values;
+
+ // `Object.values` method
+ // https://tc39.es/ecma262/#sec-object.values
+ _export({ target: 'Object', stat: true }, {
+ values: function values(O) {
+ return $values(O);
+ }
+ });
+
+ // `parseFloat` method
+ // https://tc39.es/ecma262/#sec-parsefloat-string
+ _export({ global: true, forced: parseFloat != numberParseFloat }, {
+ parseFloat: numberParseFloat
+ });
+
+ // `parseInt` method
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
+ _export({ global: true, forced: parseInt != numberParseInt }, {
+ parseInt: numberParseInt
+ });
var nativePromiseConstructor = global_1.Promise;
- var redefineAll = function (target, src, options) {
- for (var key in src) { redefine(target, key, src[key], options); }
- return target;
- };
-
- var anInstance = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- } return it;
- };
-
- var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
+ var engineIsIos = /(?:iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
var location = global_1.location;
- var set$2 = global_1.setImmediate;
+ var set$1 = global_1.setImmediate;
var clear = global_1.clearImmediate;
var process$4 = global_1.process;
var MessageChannel = global_1.MessageChannel;
@@ -6623,8 +6159,8 @@ var doric = (function (exports) {
};
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
- if (!set$2 || !clear) {
- set$2 = function setImmediate(fn) {
+ if (!set$1 || !clear) {
+ set$1 = function setImmediate(fn) {
var arguments$1 = arguments;
var args = [];
@@ -6685,13 +6221,13 @@ var doric = (function (exports) {
}
var task$1 = {
- set: set$2,
+ set: set$1,
clear: clear
};
var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(engineUserAgent);
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
+ var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
var macrotask = task$1.set;
@@ -6702,7 +6238,7 @@ var doric = (function (exports) {
var process$3 = global_1.process;
var Promise$4 = global_1.Promise;
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor$1(global_1, 'queueMicrotask');
+ var queueMicrotaskDescriptor = getOwnPropertyDescriptor$3(global_1, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
var flush, head, last, notify$1, toggle, node, promise, then;
@@ -6739,6 +6275,8 @@ var doric = (function (exports) {
} else if (Promise$4 && Promise$4.resolve) {
// Promise.resolve without an argument throws an error in LG WebOS 2
promise = Promise$4.resolve(undefined);
+ // workaround of WebKit ~ iOS Safari 10.1 bug
+ promise.constructor = Promise$4;
then = promise.then;
notify$1 = function () {
then.call(promise, flush);
@@ -6815,6 +6353,8 @@ var doric = (function (exports) {
}
};
+ var engineIsBrowser = typeof window == 'object';
+
var task = task$1.set;
@@ -6827,16 +6367,18 @@ var doric = (function (exports) {
- var SPECIES = wellKnownSymbol('species');
+
+ var SPECIES$1 = wellKnownSymbol('species');
var PROMISE = 'Promise';
- var getInternalState$8 = internalState.get;
+ var getInternalState$a = internalState.get;
var setInternalState$c = internalState.set;
var getInternalPromiseState = internalState.getterFor(PROMISE);
+ var NativePromisePrototype = nativePromiseConstructor && nativePromiseConstructor.prototype;
var PromiseConstructor = nativePromiseConstructor;
+ var PromiseConstructorPrototype = NativePromisePrototype;
var TypeError$1 = global_1.TypeError;
var document$1 = global_1.document;
var process$2 = global_1.process;
- var $fetch$1 = getBuiltIn('fetch');
var newPromiseCapability = newPromiseCapability$1.f;
var newGenericPromiseCapability = newPromiseCapability;
var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global_1.dispatchEvent);
@@ -6848,33 +6390,33 @@ var doric = (function (exports) {
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
+ var SUBCLASSING = false;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
- var FORCED$7 = isForced_1(PROMISE, function () {
+ var FORCED$a = isForced_1(PROMISE, function () {
var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
- if (!GLOBAL_CORE_JS_PROMISE) {
- // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
- // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
- // We can't detect it synchronously, so just check versions
- if (engineV8Version === 66) { return true; }
- // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
- if (!engineIsNode && !NATIVE_REJECTION_EVENT) { return true; }
- }
+ // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
+ // We can't detect it synchronously, so just check versions
+ if (!GLOBAL_CORE_JS_PROMISE && engineV8Version === 66) { return true; }
// We can't use @@species feature detection in V8 since it causes
// deoptimization and performance degradation
// https://github.com/zloirock/core-js/issues/679
if (engineV8Version >= 51 && /native code/.test(PromiseConstructor)) { return false; }
// Detect correctness of subclassing with @@species support
- var promise = PromiseConstructor.resolve(1);
+ var promise = new PromiseConstructor(function (resolve) { resolve(1); });
var FakePromise = function (exec) {
exec(function () { /* empty */ }, function () { /* empty */ });
};
var constructor = promise.constructor = {};
- constructor[SPECIES] = FakePromise;
- return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
+ constructor[SPECIES$1] = FakePromise;
+ SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
+ if (!SUBCLASSING) { return true; }
+ // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+ return !GLOBAL_CORE_JS_PROMISE && engineIsBrowser && !NATIVE_REJECTION_EVENT;
});
- var INCORRECT_ITERATION = FORCED$7 || !checkCorrectnessOfIteration(function (iterable) {
+ var INCORRECT_ITERATION = FORCED$a || !checkCorrectnessOfIteration(function (iterable) {
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
});
@@ -7022,19 +6564,20 @@ var doric = (function (exports) {
};
// constructor polyfill
- if (FORCED$7) {
+ if (FORCED$a) {
// 25.4.3.1 Promise(executor)
PromiseConstructor = function Promise(executor) {
anInstance(this, PromiseConstructor, PROMISE);
aFunction(executor);
Internal.call(this);
- var state = getInternalState$8(this);
+ var state = getInternalState$a(this);
try {
executor(bind(internalResolve, state), bind(internalReject, state));
} catch (error) {
internalReject(state, error);
}
};
+ PromiseConstructorPrototype = PromiseConstructor.prototype;
// eslint-disable-next-line no-unused-vars -- required for `.length`
Internal = function Promise(executor) {
setInternalState$c(this, {
@@ -7048,7 +6591,7 @@ var doric = (function (exports) {
value: undefined
});
};
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
+ Internal.prototype = redefineAll(PromiseConstructorPrototype, {
// `Promise.prototype.then` method
// https://tc39.es/ecma262/#sec-promise.prototype.then
then: function then(onFulfilled, onRejected) {
@@ -7070,7 +6613,7 @@ var doric = (function (exports) {
});
OwnPromiseCapability = function () {
var promise = new Internal();
- var state = getInternalState$8(promise);
+ var state = getInternalState$a(promise);
this.promise = promise;
this.resolve = bind(internalResolve, state);
this.reject = bind(internalReject, state);
@@ -7081,29 +6624,36 @@ var doric = (function (exports) {
: newGenericPromiseCapability(C);
};
- if (typeof nativePromiseConstructor == 'function') {
- nativeThen = nativePromiseConstructor.prototype.then;
+ if (typeof nativePromiseConstructor == 'function' && NativePromisePrototype !== Object.prototype) {
+ nativeThen = NativePromisePrototype.then;
- // wrap native Promise#then for native async functions
- redefine(nativePromiseConstructor.prototype, 'then', function then(onFulfilled, onRejected) {
- var that = this;
- return new PromiseConstructor(function (resolve, reject) {
- nativeThen.call(that, resolve, reject);
- }).then(onFulfilled, onRejected);
- // https://github.com/zloirock/core-js/issues/640
- }, { unsafe: true });
+ if (!SUBCLASSING) {
+ // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
+ redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
+ var that = this;
+ return new PromiseConstructor(function (resolve, reject) {
+ nativeThen.call(that, resolve, reject);
+ }).then(onFulfilled, onRejected);
+ // https://github.com/zloirock/core-js/issues/640
+ }, { unsafe: true });
- // wrap fetch result
- if (typeof $fetch$1 == 'function') { _export({ global: true, enumerable: true, forced: true }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- fetch: function fetch(input /* , init */) {
- return promiseResolve(PromiseConstructor, $fetch$1.apply(global_1, arguments));
- }
- }); }
+ // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
+ redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });
+ }
+
+ // make `.constructor === Promise` work for native promise-based APIs
+ try {
+ delete NativePromisePrototype.constructor;
+ } catch (error) { /* empty */ }
+
+ // make `instanceof Promise` work for native promise-based APIs
+ if (objectSetPrototypeOf) {
+ objectSetPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);
+ }
}
}
- _export({ global: true, wrap: true, forced: FORCED$7 }, {
+ _export({ global: true, wrap: true, forced: FORCED$a }, {
Promise: PromiseConstructor
});
@@ -7113,7 +6663,7 @@ var doric = (function (exports) {
PromiseWrapper = getBuiltIn(PROMISE);
// statics
- _export({ target: PROMISE, stat: true, forced: FORCED$7 }, {
+ _export({ target: PROMISE, stat: true, forced: FORCED$a }, {
// `Promise.reject` method
// https://tc39.es/ecma262/#sec-promise.reject
reject: function reject(r) {
@@ -7123,7 +6673,7 @@ var doric = (function (exports) {
}
});
- _export({ target: PROMISE, stat: true, forced: FORCED$7 }, {
+ _export({ target: PROMISE, stat: true, forced: FORCED$a }, {
// `Promise.resolve` method
// https://tc39.es/ecma262/#sec-promise.resolve
resolve: function resolve(x) {
@@ -7276,292 +6826,555 @@ var doric = (function (exports) {
}
});
- // patch native Promise.prototype for native async functions
- if (typeof nativePromiseConstructor == 'function' && !nativePromiseConstructor.prototype['finally']) {
- redefine(nativePromiseConstructor.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
+ // makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`
+ if (typeof nativePromiseConstructor == 'function') {
+ var method = getBuiltIn('Promise').prototype['finally'];
+ if (nativePromiseConstructor.prototype['finally'] !== method) {
+ redefine(nativePromiseConstructor.prototype, 'finally', method, { unsafe: true });
+ }
}
- var collection = function (CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global_1[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
+ var nativeApply = getBuiltIn('Reflect', 'apply');
+ var functionApply = Function.apply;
- var fixMethod = function (KEY) {
- var nativeMethod = NativePrototype[KEY];
- redefine(NativePrototype, KEY,
- KEY == 'add' ? function add(value) {
- nativeMethod.call(this, value === 0 ? 0 : value);
- return this;
- } : KEY == 'delete' ? function (key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'get' ? function get(key) {
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'has' ? function has(key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : function set(key, value) {
- nativeMethod.call(this, key === 0 ? 0 : key, value);
- return this;
+ // MS Edge argumentsList argument is optional
+ var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
+ nativeApply(function () { /* empty */ });
+ });
+
+ // `Reflect.apply` method
+ // https://tc39.es/ecma262/#sec-reflect.apply
+ _export({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
+ apply: function apply(target, thisArgument, argumentsList) {
+ aFunction(target);
+ anObject(argumentsList);
+ return nativeApply
+ ? nativeApply(target, thisArgument, argumentsList)
+ : functionApply.call(target, thisArgument, argumentsList);
+ }
+ });
+
+ var nativeConstruct = getBuiltIn('Reflect', 'construct');
+
+ // `Reflect.construct` method
+ // https://tc39.es/ecma262/#sec-reflect.construct
+ // MS Edge supports only 2 arguments and argumentsList argument is optional
+ // FF Nightly sets third argument as `new.target`, but does not create `this` from it
+ var NEW_TARGET_BUG = fails(function () {
+ function F() { /* empty */ }
+ return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
+ });
+ var ARGS_BUG = !fails(function () {
+ nativeConstruct(function () { /* empty */ });
+ });
+ var FORCED$9 = NEW_TARGET_BUG || ARGS_BUG;
+
+ _export({ target: 'Reflect', stat: true, forced: FORCED$9, sham: FORCED$9 }, {
+ construct: function construct(Target, args /* , newTarget */) {
+ aFunction(Target);
+ anObject(args);
+ var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
+ if (ARGS_BUG && !NEW_TARGET_BUG) { return nativeConstruct(Target, args, newTarget); }
+ if (Target == newTarget) {
+ // w/o altered newTarget, optimization for 0-4 arguments
+ switch (args.length) {
+ case 0: return new Target();
+ case 1: return new Target(args[0]);
+ case 2: return new Target(args[0], args[1]);
+ case 3: return new Target(args[0], args[1], args[2]);
+ case 4: return new Target(args[0], args[1], args[2], args[3]);
}
+ // w/o altered newTarget, lot of arguments case
+ var $args = [null];
+ $args.push.apply($args, args);
+ return new (functionBind.apply(Target, $args))();
+ }
+ // with altered newTarget, not support built-in constructors
+ var proto = newTarget.prototype;
+ var instance = objectCreate(isObject(proto) ? proto : Object.prototype);
+ var result = Function.apply.call(Target, instance, args);
+ return isObject(result) ? result : instance;
+ }
+ });
+
+ // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
+ var ERROR_INSTEAD_OF_FALSE = fails(function () {
+ // eslint-disable-next-line es/no-reflect -- required for testing
+ Reflect.defineProperty(objectDefineProperty.f({}, 1, { value: 1 }), 1, { value: 2 });
+ });
+
+ // `Reflect.defineProperty` method
+ // https://tc39.es/ecma262/#sec-reflect.defineproperty
+ _export({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !descriptors }, {
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
+ anObject(target);
+ var key = toPrimitive(propertyKey, true);
+ anObject(attributes);
+ try {
+ objectDefineProperty.f(target, key, attributes);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+ });
+
+ var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
+
+ // `Reflect.deleteProperty` method
+ // https://tc39.es/ecma262/#sec-reflect.deleteproperty
+ _export({ target: 'Reflect', stat: true }, {
+ deleteProperty: function deleteProperty(target, propertyKey) {
+ var descriptor = getOwnPropertyDescriptor$2(anObject(target), propertyKey);
+ return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
+ }
+ });
+
+ // `Reflect.get` method
+ // https://tc39.es/ecma262/#sec-reflect.get
+ function get(target, propertyKey /* , receiver */) {
+ var receiver = arguments.length < 3 ? target : arguments[2];
+ var descriptor, prototype;
+ if (anObject(target) === receiver) { return target[propertyKey]; }
+ if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) { return has$1(descriptor, 'value')
+ ? descriptor.value
+ : descriptor.get === undefined
+ ? undefined
+ : descriptor.get.call(receiver); }
+ if (isObject(prototype = objectGetPrototypeOf(target))) { return get(prototype, propertyKey, receiver); }
+ }
+
+ _export({ target: 'Reflect', stat: true }, {
+ get: get
+ });
+
+ // `Reflect.getOwnPropertyDescriptor` method
+ // https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor
+ _export({ target: 'Reflect', stat: true, sham: !descriptors }, {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
+ return objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
+ }
+ });
+
+ // `Reflect.getPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-reflect.getprototypeof
+ _export({ target: 'Reflect', stat: true, sham: !correctPrototypeGetter }, {
+ getPrototypeOf: function getPrototypeOf(target) {
+ return objectGetPrototypeOf(anObject(target));
+ }
+ });
+
+ // `Reflect.has` method
+ // https://tc39.es/ecma262/#sec-reflect.has
+ _export({ target: 'Reflect', stat: true }, {
+ has: function has(target, propertyKey) {
+ return propertyKey in target;
+ }
+ });
+
+ // eslint-disable-next-line es/no-object-isextensible -- safe
+ var objectIsExtensible = Object.isExtensible;
+
+ // `Reflect.isExtensible` method
+ // https://tc39.es/ecma262/#sec-reflect.isextensible
+ _export({ target: 'Reflect', stat: true }, {
+ isExtensible: function isExtensible(target) {
+ anObject(target);
+ return objectIsExtensible ? objectIsExtensible(target) : true;
+ }
+ });
+
+ // `Reflect.ownKeys` method
+ // https://tc39.es/ecma262/#sec-reflect.ownkeys
+ _export({ target: 'Reflect', stat: true }, {
+ ownKeys: ownKeys
+ });
+
+ // `Reflect.preventExtensions` method
+ // https://tc39.es/ecma262/#sec-reflect.preventextensions
+ _export({ target: 'Reflect', stat: true, sham: !freezing }, {
+ preventExtensions: function preventExtensions(target) {
+ anObject(target);
+ try {
+ var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
+ if (objectPreventExtensions) { objectPreventExtensions(target); }
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+ });
+
+ // `Reflect.set` method
+ // https://tc39.es/ecma262/#sec-reflect.set
+ function set(target, propertyKey, V /* , receiver */) {
+ var receiver = arguments.length < 4 ? target : arguments[3];
+ var ownDescriptor = objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
+ var existingDescriptor, prototype;
+ if (!ownDescriptor) {
+ if (isObject(prototype = objectGetPrototypeOf(target))) {
+ return set(prototype, propertyKey, V, receiver);
+ }
+ ownDescriptor = createPropertyDescriptor(0);
+ }
+ if (has$1(ownDescriptor, 'value')) {
+ if (ownDescriptor.writable === false || !isObject(receiver)) { return false; }
+ if (existingDescriptor = objectGetOwnPropertyDescriptor.f(receiver, propertyKey)) {
+ if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) { return false; }
+ existingDescriptor.value = V;
+ objectDefineProperty.f(receiver, propertyKey, existingDescriptor);
+ } else { objectDefineProperty.f(receiver, propertyKey, createPropertyDescriptor(0, V)); }
+ return true;
+ }
+ return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
+ }
+
+ // MS Edge 17-18 Reflect.set allows setting the property to object
+ // with non-writable property on the prototype
+ var MS_EDGE_BUG = fails(function () {
+ var Constructor = function () { /* empty */ };
+ var object = objectDefineProperty.f(new Constructor(), 'a', { configurable: true });
+ // eslint-disable-next-line es/no-reflect -- required for testing
+ return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;
+ });
+
+ _export({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {
+ set: set
+ });
+
+ // `Reflect.setPrototypeOf` method
+ // https://tc39.es/ecma262/#sec-reflect.setprototypeof
+ if (objectSetPrototypeOf) { _export({ target: 'Reflect', stat: true }, {
+ setPrototypeOf: function setPrototypeOf(target, proto) {
+ anObject(target);
+ aPossiblePrototype(proto);
+ try {
+ objectSetPrototypeOf(target, proto);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+ }); }
+
+ _export({ global: true }, { Reflect: {} });
+
+ // Reflect[@@toStringTag] property
+ // https://tc39.es/ecma262/#sec-reflect-@@tostringtag
+ setToStringTag(global_1.Reflect, 'Reflect', true);
+
+ var MATCH$2 = wellKnownSymbol('match');
+
+ // `IsRegExp` abstract operation
+ // https://tc39.es/ecma262/#sec-isregexp
+ var isRegexp = function (it) {
+ var isRegExp;
+ return isObject(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
+ };
+
+ // `RegExp.prototype.flags` getter implementation
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
+ var regexpFlags = function () {
+ var that = anObject(this);
+ var result = '';
+ if (that.global) { result += 'g'; }
+ if (that.ignoreCase) { result += 'i'; }
+ if (that.multiline) { result += 'm'; }
+ if (that.dotAll) { result += 's'; }
+ if (that.unicode) { result += 'u'; }
+ if (that.sticky) { result += 'y'; }
+ return result;
+ };
+
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
+ // so we use an intermediate function.
+ function RE(s, f) {
+ return RegExp(s, f);
+ }
+
+ var UNSUPPORTED_Y$5 = fails(function () {
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
+ var re = RE('a', 'y');
+ re.lastIndex = 2;
+ return re.exec('abcd') != null;
+ });
+
+ var BROKEN_CARET = fails(function () {
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
+ var re = RE('^r', 'gy');
+ re.lastIndex = 2;
+ return re.exec('str') != null;
+ });
+
+ var regexpStickyHelpers = {
+ UNSUPPORTED_Y: UNSUPPORTED_Y$5,
+ BROKEN_CARET: BROKEN_CARET
+ };
+
+ var defineProperty$4 = objectDefineProperty.f;
+ var getOwnPropertyNames = objectGetOwnPropertyNames.f;
+
+
+
+
+
+ var enforceInternalState = internalState.enforce;
+
+
+
+ var MATCH$1 = wellKnownSymbol('match');
+ var NativeRegExp = global_1.RegExp;
+ var RegExpPrototype$5 = NativeRegExp.prototype;
+ var re1 = /a/g;
+ var re2 = /a/g;
+
+ // "new" should create a new object, old webkit bug
+ var CORRECT_NEW = new NativeRegExp(re1) !== re1;
+
+ var UNSUPPORTED_Y$4 = regexpStickyHelpers.UNSUPPORTED_Y;
+
+ var FORCED$8 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$4 || fails(function () {
+ re2[MATCH$1] = false;
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
+ return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
+ })));
+
+ // `RegExp` constructor
+ // https://tc39.es/ecma262/#sec-regexp-constructor
+ if (FORCED$8) {
+ var RegExpWrapper = function RegExp(pattern, flags) {
+ var thisIsRegExp = this instanceof RegExpWrapper;
+ var patternIsRegExp = isRegexp(pattern);
+ var flagsAreUndefined = flags === undefined;
+ var sticky;
+
+ if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
+ return pattern;
+ }
+
+ if (CORRECT_NEW) {
+ if (patternIsRegExp && !flagsAreUndefined) { pattern = pattern.source; }
+ } else if (pattern instanceof RegExpWrapper) {
+ if (flagsAreUndefined) { flags = regexpFlags.call(pattern); }
+ pattern = pattern.source;
+ }
+
+ if (UNSUPPORTED_Y$4) {
+ sticky = !!flags && flags.indexOf('y') > -1;
+ if (sticky) { flags = flags.replace(/y/g, ''); }
+ }
+
+ var result = inheritIfRequired(
+ CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
+ thisIsRegExp ? this : RegExpPrototype$5,
+ RegExpWrapper
);
+
+ if (UNSUPPORTED_Y$4 && sticky) {
+ var state = enforceInternalState(result);
+ state.sticky = true;
+ }
+
+ return result;
};
-
- var REPLACE = isForced_1(
- CONSTRUCTOR_NAME,
- typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
- new NativeConstructor().entries().next();
- }))
- );
-
- if (REPLACE) {
- // create collection constructor
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
- internalMetadata.REQUIRED = true;
- } else if (isForced_1(CONSTRUCTOR_NAME, true)) {
- var instance = new Constructor();
- // early implementations not supports chaining
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- // eslint-disable-next-line no-new -- required for testing
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
- // for early implementations -0 and +0 not the same
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
- // V8 ~ Chromium 42- fails only with 5+ elements
- var $instance = new NativeConstructor();
- var index = 5;
- while (index--) { $instance[ADDER](index, index); }
- return !$instance.has(-0);
+ var proxy = function (key) {
+ key in RegExpWrapper || defineProperty$4(RegExpWrapper, key, {
+ configurable: true,
+ get: function () { return NativeRegExp[key]; },
+ set: function (it) { NativeRegExp[key] = it; }
});
+ };
+ var keys = getOwnPropertyNames(NativeRegExp);
+ var index = 0;
+ while (keys.length > index) { proxy(keys[index++]); }
+ RegExpPrototype$5.constructor = RegExpWrapper;
+ RegExpWrapper.prototype = RegExpPrototype$5;
+ redefine(global_1, 'RegExp', RegExpWrapper);
+ }
- if (!ACCEPT_ITERABLES) {
- Constructor = wrapper(function (dummy, iterable) {
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
- if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
- return that;
- });
- Constructor.prototype = NativePrototype;
- NativePrototype.constructor = Constructor;
+ // https://tc39.es/ecma262/#sec-get-regexp-@@species
+ setSpecies('RegExp');
+
+ /* eslint-disable regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
+
+
+
+
+ var nativeExec = RegExp.prototype.exec;
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
+
+ var patchedExec = nativeExec;
+
+ var UPDATES_LAST_INDEX_WRONG = (function () {
+ var re1 = /a/;
+ var re2 = /b*/g;
+ nativeExec.call(re1, 'a');
+ nativeExec.call(re2, 'a');
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
+ })();
+
+ var UNSUPPORTED_Y$3 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
+
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
+
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$3;
+
+ if (PATCH) {
+ patchedExec = function exec(str) {
+ var re = this;
+ var lastIndex, reCopy, match, i;
+ var sticky = UNSUPPORTED_Y$3 && re.sticky;
+ var flags = regexpFlags.call(re);
+ var source = re.source;
+ var charsAdded = 0;
+ var strCopy = str;
+
+ if (sticky) {
+ flags = flags.replace('y', '');
+ if (flags.indexOf('g') === -1) {
+ flags += 'g';
+ }
+
+ strCopy = String(str).slice(re.lastIndex);
+ // Support anchored sticky behavior.
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
+ source = '(?: ' + source + ')';
+ strCopy = ' ' + strCopy;
+ charsAdded++;
+ }
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
+ // simulate the 'y' flag.
+ reCopy = new RegExp('^(?:' + source + ')', flags);
}
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
+ if (NPCG_INCLUDED) {
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
+ }
+ if (UPDATES_LAST_INDEX_WRONG) { lastIndex = re.lastIndex; }
+
+ match = nativeExec.call(sticky ? reCopy : re, strCopy);
+
+ if (sticky) {
+ if (match) {
+ match.input = match.input.slice(charsAdded);
+ match[0] = match[0].slice(charsAdded);
+ match.index = re.lastIndex;
+ re.lastIndex += match[0].length;
+ } else { re.lastIndex = 0; }
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
+ }
+ if (NPCG_INCLUDED && match && match.length > 1) {
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
+ nativeReplace.call(match[0], reCopy, function () {
+ var arguments$1 = arguments;
+
+ for (i = 1; i < arguments.length - 2; i++) {
+ if (arguments$1[i] === undefined) { match[i] = undefined; }
+ }
+ });
}
- if (BUGGY_ZERO || HASNT_CHAINING) { fixMethod(ADDER); }
+ return match;
+ };
+ }
- // weak collections should not contains .clear method
- if (IS_WEAK && NativePrototype.clear) { delete NativePrototype.clear; }
+ var regexpExec = patchedExec;
+
+ // `RegExp.prototype.exec` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
+ _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
+ exec: regexpExec
+ });
+
+ var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;
+
+ // `RegExp.prototype.flags` getter
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
+ // eslint-disable-next-line es/no-regexp-prototype-flags -- required for testing
+ if (descriptors && (/./g.flags != 'g' || UNSUPPORTED_Y$2)) {
+ objectDefineProperty.f(RegExp.prototype, 'flags', {
+ configurable: true,
+ get: regexpFlags
+ });
+ }
+
+ var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
+ var defineProperty$3 = objectDefineProperty.f;
+ var getInternalState$9 = internalState.get;
+ var RegExpPrototype$4 = RegExp.prototype;
+
+ // `RegExp.prototype.sticky` getter
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
+ if (descriptors && UNSUPPORTED_Y$1) {
+ defineProperty$3(RegExp.prototype, 'sticky', {
+ configurable: true,
+ get: function () {
+ if (this === RegExpPrototype$4) { return undefined; }
+ // We can't use InternalStateModule.getterFor because
+ // we don't add metadata for regexps created by a literal.
+ if (this instanceof RegExp) {
+ return !!getInternalState$9(this).sticky;
+ }
+ throw TypeError('Incompatible receiver, RegExp required');
+ }
+ });
+ }
+
+ // TODO: Remove from `core-js@4` since it's moved to entry points
+
+
+
+
+ var DELEGATES_TO_EXEC = function () {
+ var execCalled = false;
+ var re = /[ac]/;
+ re.exec = function () {
+ execCalled = true;
+ return /./.exec.apply(this, arguments);
+ };
+ return re.test('abc') === true && execCalled;
+ }();
+
+ var nativeTest = /./.test;
+
+ // `RegExp.prototype.test` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype.test
+ _export({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
+ test: function (str) {
+ if (typeof this.exec !== 'function') {
+ return nativeTest.call(this, str);
+ }
+ var result = this.exec(str);
+ if (result !== null && !isObject(result)) {
+ throw new Error('RegExp exec method returned something other than an Object or null');
+ }
+ return !!result;
}
+ });
- exported[CONSTRUCTOR_NAME] = Constructor;
- _export({ global: true, forced: Constructor != NativeConstructor }, exported);
+ var TO_STRING = 'toString';
+ var RegExpPrototype$3 = RegExp.prototype;
+ var nativeToString = RegExpPrototype$3[TO_STRING];
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
+ var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
+ // FF44- RegExp#toString has a wrong name
+ var INCORRECT_NAME = nativeToString.name != TO_STRING;
- if (!IS_WEAK) { common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); }
-
- return Constructor;
- };
-
- var defineProperty$5 = objectDefineProperty.f;
-
-
-
-
-
-
-
-
- var fastKey = internalMetadata.fastKey;
-
-
- var setInternalState$b = internalState.set;
- var internalStateGetterFor$1 = internalState.getterFor;
-
- var collectionStrong = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState$b(that, {
- type: CONSTRUCTOR_NAME,
- index: objectCreate(null),
- first: undefined,
- last: undefined,
- size: 0
- });
- if (!descriptors) { that.size = 0; }
- if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
- });
-
- var getInternalState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
-
- var define = function (that, key, value) {
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- var previous, index;
- // change existing entry
- if (entry) {
- entry.value = value;
- // create new entry
- } else {
- state.last = entry = {
- index: index = fastKey(key, true),
- key: key,
- value: value,
- previous: previous = state.last,
- next: undefined,
- removed: false
- };
- if (!state.first) { state.first = entry; }
- if (previous) { previous.next = entry; }
- if (descriptors) { state.size++; }
- else { that.size++; }
- // add to index
- if (index !== 'F') { state.index[index] = entry; }
- } return that;
- };
-
- var getEntry = function (that, key) {
- var state = getInternalState(that);
- // fast case
- var index = fastKey(key);
- var entry;
- if (index !== 'F') { return state.index[index]; }
- // frozen object case
- for (entry = state.first; entry; entry = entry.next) {
- if (entry.key == key) { return entry; }
- }
- };
-
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear() {
- var that = this;
- var state = getInternalState(that);
- var data = state.index;
- var entry = state.first;
- while (entry) {
- entry.removed = true;
- if (entry.previous) { entry.previous = entry.previous.next = undefined; }
- delete data[entry.index];
- entry = entry.next;
- }
- state.first = state.last = undefined;
- if (descriptors) { state.size = 0; }
- else { that.size = 0; }
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function (key) {
- var that = this;
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- if (entry) {
- var next = entry.next;
- var prev = entry.previous;
- delete state.index[entry.index];
- entry.removed = true;
- if (prev) { prev.next = next; }
- if (next) { next.previous = prev; }
- if (state.first == entry) { state.first = next; }
- if (state.last == entry) { state.last = prev; }
- if (descriptors) { state.size--; }
- else { that.size--; }
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /* , that = undefined */) {
- var state = getInternalState(this);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var entry;
- while (entry = entry ? entry.next : state.first) {
- boundFunction(entry.value, entry.key, this);
- // revert to the last existing entry
- while (entry && entry.removed) { entry = entry.previous; }
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key) {
- return !!getEntry(this, key);
- }
- });
-
- redefineAll(C.prototype, IS_MAP ? {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key) {
- var entry = getEntry(this, key);
- return entry && entry.value;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key === 0 ? 0 : key, value);
- }
- } : {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value) {
- return define(this, value = value === 0 ? 0 : value, value);
- }
- });
- if (descriptors) { defineProperty$5(C.prototype, 'size', {
- get: function () {
- return getInternalState(this).size;
- }
- }); }
- return C;
- },
- setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
- var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
- var getInternalCollectionState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
- var getInternalIteratorState = internalStateGetterFor$1(ITERATOR_NAME);
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
- setInternalState$b(this, {
- type: ITERATOR_NAME,
- target: iterated,
- state: getInternalCollectionState(iterated),
- kind: kind,
- last: undefined
- });
- }, function () {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var entry = state.last;
- // revert to the last existing entry
- while (entry && entry.removed) { entry = entry.previous; }
- // get next entry
- if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
- // or finish the iteration
- state.target = undefined;
- return { value: undefined, done: true };
- }
- // return step by kind
- if (kind == 'keys') { return { value: entry.key, done: false }; }
- if (kind == 'values') { return { value: entry.value, done: false }; }
- return { value: [entry.key, entry.value], done: false };
- }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(CONSTRUCTOR_NAME);
- }
- };
-
- // `Map` constructor
- // https://tc39.es/ecma262/#sec-map-objects
- var es_map = collection('Map', function (init) {
- return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
- }, collectionStrong);
+ // `RegExp.prototype.toString` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
+ if (NOT_GENERIC || INCORRECT_NAME) {
+ redefine(RegExp.prototype, TO_STRING, function toString() {
+ var R = anObject(this);
+ var p = String(R.source);
+ var rf = R.flags;
+ var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$3) ? regexpFlags.call(R) : rf);
+ return '/' + p + '/' + f;
+ }, { unsafe: true });
+ }
// `Set` constructor
// https://tc39.es/ecma262/#sec-set-objects
@@ -7569,726 +7382,1064 @@ var doric = (function (exports) {
return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
}, collectionStrong);
- var getWeakData = internalMetadata.getWeakData;
-
-
-
-
-
-
-
-
- var setInternalState$a = internalState.set;
- var internalStateGetterFor = internalState.getterFor;
- var find$1 = arrayIteration.find;
- var findIndex = arrayIteration.findIndex;
- var id = 0;
-
- // fallback for uncaught frozen keys
- var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
+ // `String.prototype.{ codePointAt, at }` methods implementation
+ var createMethod$2 = function (CONVERT_TO_STRING) {
+ return function ($this, pos) {
+ var S = String(requireObjectCoercible($this));
+ var position = toInteger(pos);
+ var size = S.length;
+ var first, second;
+ if (position < 0 || position >= size) { return CONVERT_TO_STRING ? '' : undefined; }
+ first = S.charCodeAt(position);
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
+ };
};
- var UncaughtFrozenStore = function () {
- this.entries = [];
+ var stringMultibyte = {
+ // `String.prototype.codePointAt` method
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
+ codeAt: createMethod$2(false),
+ // `String.prototype.at` method
+ // https://github.com/mathiasbynens/String.prototype.at
+ charAt: createMethod$2(true)
};
- var findUncaughtFrozen = function (store, key) {
- return find$1(store.entries, function (it) {
- return it[0] === key;
- });
- };
+ var codeAt$2 = stringMultibyte.codeAt;
- UncaughtFrozenStore.prototype = {
- get: function (key) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) { return entry[1]; }
- },
- has: function (key) {
- return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) { entry[1] = value; }
- else { this.entries.push([key, value]); }
- },
- 'delete': function (key) {
- var index = findIndex(this.entries, function (it) {
- return it[0] === key;
- });
- if (~index) { this.entries.splice(index, 1); }
- return !!~index;
+ // `String.prototype.codePointAt` method
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
+ _export({ target: 'String', proto: true }, {
+ codePointAt: function codePointAt(pos) {
+ return codeAt$2(this, pos);
}
+ });
+
+ var notARegexp = function (it) {
+ if (isRegexp(it)) {
+ throw TypeError("The method doesn't accept regular expressions");
+ } return it;
};
- var collectionWeak = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState$a(that, {
- type: CONSTRUCTOR_NAME,
- id: id++,
- frozen: undefined
- });
- if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
- });
+ var MATCH = wellKnownSymbol('match');
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
+ var correctIsRegexpLogic = function (METHOD_NAME) {
+ var regexp = /./;
+ try {
+ '/./'[METHOD_NAME](regexp);
+ } catch (error1) {
+ try {
+ regexp[MATCH] = false;
+ return '/./'[METHOD_NAME](regexp);
+ } catch (error2) { /* empty */ }
+ } return false;
+ };
- var define = function (that, key, value) {
- var state = getInternalState(that);
- var data = getWeakData(anObject(key), true);
- if (data === true) { uncaughtFrozenStore(state).set(key, value); }
- else { data[state.id] = value; }
- return that;
- };
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function (key) {
- var state = getInternalState(this);
- if (!isObject(key)) { return false; }
- var data = getWeakData(key);
- if (data === true) { return uncaughtFrozenStore(state)['delete'](key); }
- return data && has$1(data, state.id) && delete data[state.id];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key) {
- var state = getInternalState(this);
- if (!isObject(key)) { return false; }
- var data = getWeakData(key);
- if (data === true) { return uncaughtFrozenStore(state).has(key); }
- return data && has$1(data, state.id);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key) {
- var state = getInternalState(this);
- if (isObject(key)) {
- var data = getWeakData(key);
- if (data === true) { return uncaughtFrozenStore(state).get(key); }
- return data ? data[state.id] : undefined;
+
+
+
+
+ // eslint-disable-next-line es/no-string-prototype-endswith -- safe
+ var $endsWith = ''.endsWith;
+ var min$4 = Math.min;
+
+ var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('endsWith');
+ // https://github.com/zloirock/core-js/pull/702
+ var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
+ var descriptor = getOwnPropertyDescriptor$1(String.prototype, 'endsWith');
+ return descriptor && !descriptor.writable;
+ }();
+
+ // `String.prototype.endsWith` method
+ // https://tc39.es/ecma262/#sec-string.prototype.endswith
+ _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
+ endsWith: function endsWith(searchString /* , endPosition = @length */) {
+ var that = String(requireObjectCoercible(this));
+ notARegexp(searchString);
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
+ var len = toLength(that.length);
+ var end = endPosition === undefined ? len : min$4(toLength(endPosition), len);
+ var search = String(searchString);
+ return $endsWith
+ ? $endsWith.call(that, search, end)
+ : that.slice(end - search.length, end) === search;
+ }
+ });
+
+ var fromCharCode = String.fromCharCode;
+ // eslint-disable-next-line es/no-string-fromcodepoint -- required for testing
+ var $fromCodePoint = String.fromCodePoint;
+
+ // length should be 1, old FF problem
+ var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;
+
+ // `String.fromCodePoint` method
+ // https://tc39.es/ecma262/#sec-string.fromcodepoint
+ _export({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ fromCodePoint: function fromCodePoint(x) {
+ var arguments$1 = arguments;
+
+ var elements = [];
+ var length = arguments.length;
+ var i = 0;
+ var code;
+ while (length > i) {
+ code = +arguments$1[i++];
+ if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw RangeError(code + ' is not a valid code point'); }
+ elements.push(code < 0x10000
+ ? fromCharCode(code)
+ : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)
+ );
+ } return elements.join('');
+ }
+ });
+
+ // `String.prototype.includes` method
+ // https://tc39.es/ecma262/#sec-string.prototype.includes
+ _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
+ includes: function includes(searchString /* , position = 0 */) {
+ return !!~String(requireObjectCoercible(this))
+ .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+
+ var charAt$3 = stringMultibyte.charAt;
+
+
+
+ var STRING_ITERATOR$1 = 'String Iterator';
+ var setInternalState$b = internalState.set;
+ var getInternalState$8 = internalState.getterFor(STRING_ITERATOR$1);
+
+ // `String.prototype[@@iterator]` method
+ // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
+ defineIterator(String, 'String', function (iterated) {
+ setInternalState$b(this, {
+ type: STRING_ITERATOR$1,
+ string: String(iterated),
+ index: 0
+ });
+ // `%StringIteratorPrototype%.next` method
+ // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
+ }, function next() {
+ var state = getInternalState$8(this);
+ var string = state.string;
+ var index = state.index;
+ var point;
+ if (index >= string.length) { return { value: undefined, done: true }; }
+ point = charAt$3(string, index);
+ state.index += point.length;
+ return { value: point, done: false };
+ });
+
+ // TODO: Remove from `core-js@4` since it's moved to entry points
+
+
+
+
+
+
+
+ var SPECIES = wellKnownSymbol('species');
+ var RegExpPrototype$2 = RegExp.prototype;
+
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
+ // #replace needs built-in support for named groups.
+ // #match works fine because it just return the exec results, even if it has
+ // a "grops" property.
+ var re = /./;
+ re.exec = function () {
+ var result = [];
+ result.groups = { a: '7' };
+ return result;
+ };
+ return ''.replace(re, '$') !== '7';
+ });
+
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
+ var REPLACE_KEEPS_$0 = (function () {
+ // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
+ return 'a'.replace(/./, '$0') === '$0';
+ })();
+
+ var REPLACE$1 = wellKnownSymbol('replace');
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
+ if (/./[REPLACE$1]) {
+ return /./[REPLACE$1]('a', '$0') === '';
+ }
+ return false;
+ })();
+
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
+ var re = /(?:)/;
+ var originalExec = re.exec;
+ re.exec = function () { return originalExec.apply(this, arguments); };
+ var result = 'ab'.split(re);
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
+ });
+
+ var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
+ var SYMBOL = wellKnownSymbol(KEY);
+
+ var DELEGATES_TO_SYMBOL = !fails(function () {
+ // String methods call symbol-named RegEp methods
+ var O = {};
+ O[SYMBOL] = function () { return 7; };
+ return ''[KEY](O) != 7;
+ });
+
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
+ // Symbol-named RegExp methods call .exec
+ var execCalled = false;
+ var re = /a/;
+
+ if (KEY === 'split') {
+ // We can't use real regex here since it causes deoptimization
+ // and serious performance degradation in V8
+ // https://github.com/zloirock/core-js/issues/306
+ re = {};
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
+ // a new one. We need to return the patched regex when creating the new one.
+ re.constructor = {};
+ re.constructor[SPECIES] = function () { return re; };
+ re.flags = '';
+ re[SYMBOL] = /./[SYMBOL];
+ }
+
+ re.exec = function () { execCalled = true; return null; };
+
+ re[SYMBOL]('');
+ return !execCalled;
+ });
+
+ if (
+ !DELEGATES_TO_SYMBOL ||
+ !DELEGATES_TO_EXEC ||
+ (KEY === 'replace' && !(
+ REPLACE_SUPPORTS_NAMED_GROUPS &&
+ REPLACE_KEEPS_$0 &&
+ !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
+ )) ||
+ (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
+ ) {
+ var nativeRegExpMethod = /./[SYMBOL];
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
+ var $exec = regexp.exec;
+ if ($exec === regexpExec || $exec === RegExpPrototype$2.exec) {
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
+ // The native String method already delegates to @@method (this
+ // polyfilled function), leasing to infinite recursion.
+ // We avoid it by directly calling the native @@method method.
+ return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
}
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key, value);
- }
- } : {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value) {
- return define(this, value, true);
+ return { done: true, value: nativeMethod.call(str, regexp, arg2) };
}
+ return { done: false };
+ }, {
+ REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
+ REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
});
+ var stringMethod = methods[0];
+ var regexMethod = methods[1];
- return C;
+ redefine(String.prototype, KEY, stringMethod);
+ redefine(RegExpPrototype$2, SYMBOL, length == 2
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
+ ? function (string, arg) { return regexMethod.call(string, this, arg); }
+ // 21.2.5.6 RegExp.prototype[@@match](string)
+ // 21.2.5.9 RegExp.prototype[@@search](string)
+ : function (string) { return regexMethod.call(string, this); }
+ );
}
+
+ if (sham) { createNonEnumerableProperty(RegExpPrototype$2[SYMBOL], 'sham', true); }
};
- var es_weakMap = createCommonjsModule(function (module) {
+ var charAt$2 = stringMultibyte.charAt;
-
-
-
-
-
- var enforceIternalState = internalState.enforce;
-
-
- var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1;
- var isExtensible = Object.isExtensible;
- var InternalWeakMap;
-
- var wrapper = function (init) {
- return function WeakMap() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
+ // `AdvanceStringIndex` abstract operation
+ // https://tc39.es/ecma262/#sec-advancestringindex
+ var advanceStringIndex = function (S, index, unicode) {
+ return index + (unicode ? charAt$2(S, index).length : 1);
};
- // `WeakMap` constructor
- // https://tc39.es/ecma262/#sec-weakmap-constructor
- var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
-
- // IE11 WeakMap frozen keys fix
- // We can't use feature detection because it crash some old IE builds
- // https://github.com/zloirock/core-js/issues/485
- if (nativeWeakMap && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- internalMetadata.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
- 'delete': function (key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) { state.frozen = new InternalWeakMap(); }
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
- } return nativeDelete.call(this, key);
- },
- has: function has(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) { state.frozen = new InternalWeakMap(); }
- return nativeHas.call(this, key) || state.frozen.has(key);
- } return nativeHas.call(this, key);
- },
- get: function get(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) { state.frozen = new InternalWeakMap(); }
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
- } return nativeGet.call(this, key);
- },
- set: function set(key, value) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) { state.frozen = new InternalWeakMap(); }
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
- } else { nativeSet.call(this, key, value); }
- return this;
+ // `RegExpExec` abstract operation
+ // https://tc39.es/ecma262/#sec-regexpexec
+ var regexpExecAbstract = function (R, S) {
+ var exec = R.exec;
+ if (typeof exec === 'function') {
+ var result = exec.call(R, S);
+ if (typeof result !== 'object') {
+ throw TypeError('RegExp exec method returned something other than an Object or null');
}
- });
- }
+ return result;
+ }
+
+ if (classofRaw(R) !== 'RegExp') {
+ throw TypeError('RegExp#exec called on incompatible receiver');
+ }
+
+ return regexpExec.call(R, S);
+ };
+
+ // @@match logic
+ fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
+ return [
+ // `String.prototype.match` method
+ // https://tc39.es/ecma262/#sec-string.prototype.match
+ function match(regexp) {
+ var O = requireObjectCoercible(this);
+ var matcher = regexp == undefined ? undefined : regexp[MATCH];
+ return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
+ },
+ // `RegExp.prototype[@@match]` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
+ function (regexp) {
+ var res = maybeCallNative(nativeMatch, regexp, this);
+ if (res.done) { return res.value; }
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ if (!rx.global) { return regexpExecAbstract(rx, S); }
+
+ var fullUnicode = rx.unicode;
+ rx.lastIndex = 0;
+ var A = [];
+ var n = 0;
+ var result;
+ while ((result = regexpExecAbstract(rx, S)) !== null) {
+ var matchStr = String(result[0]);
+ A[n] = matchStr;
+ if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); }
+ n++;
+ }
+ return n === 0 ? null : A;
+ }
+ ];
});
- // `WeakSet` constructor
- // https://tc39.es/ecma262/#sec-weakset-constructor
- collection('WeakSet', function (init) {
- return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };
- }, collectionWeak);
+ /* eslint-disable es/no-string-prototype-matchall -- safe */
- var arrayBufferNative = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
- // `ToIndex` abstract operation
- // https://tc39.es/ecma262/#sec-toindex
- var toIndex = function (it) {
- if (it === undefined) { return 0; }
- var number = toInteger(it);
- var length = toLength(number);
- if (number !== length) { throw RangeError('Wrong length or index'); }
- return length;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var MATCH_ALL = wellKnownSymbol('matchAll');
+ var REGEXP_STRING = 'RegExp String';
+ var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
+ var setInternalState$a = internalState.set;
+ var getInternalState$7 = internalState.getterFor(REGEXP_STRING_ITERATOR);
+ var RegExpPrototype$1 = RegExp.prototype;
+ var regExpBuiltinExec = RegExpPrototype$1.exec;
+ var nativeMatchAll = ''.matchAll;
+
+ var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () {
+ 'a'.matchAll(/./);
+ });
+
+ var regExpExec = function (R, S) {
+ var exec = R.exec;
+ var result;
+ if (typeof exec == 'function') {
+ result = exec.call(R, S);
+ if (typeof result != 'object') { throw TypeError('Incorrect exec result'); }
+ return result;
+ } return regExpBuiltinExec.call(R, S);
};
- // IEEE754 conversions based on https://github.com/feross/ieee754
- var abs = Math.abs;
- var pow$1 = Math.pow;
+ // eslint-disable-next-line max-len -- ignore
+ var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
+ setInternalState$a(this, {
+ type: REGEXP_STRING_ITERATOR,
+ regexp: regexp,
+ string: string,
+ global: global,
+ unicode: fullUnicode,
+ done: false
+ });
+ }, REGEXP_STRING, function next() {
+ var state = getInternalState$7(this);
+ if (state.done) { return { value: undefined, done: true }; }
+ var R = state.regexp;
+ var S = state.string;
+ var match = regExpExec(R, S);
+ if (match === null) { return { value: undefined, done: state.done = true }; }
+ if (state.global) {
+ if (String(match[0]) == '') { R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); }
+ return { value: match, done: false };
+ }
+ state.done = true;
+ return { value: match, done: false };
+ });
+
+ var $matchAll = function (string) {
+ var R = anObject(this);
+ var S = String(string);
+ var C, flagsValue, flags, matcher, global, fullUnicode;
+ C = speciesConstructor(R, RegExp);
+ flagsValue = R.flags;
+ if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$1)) {
+ flagsValue = regexpFlags.call(R);
+ }
+ flags = flagsValue === undefined ? '' : String(flagsValue);
+ matcher = new C(C === RegExp ? R.source : R, flags);
+ global = !!~flags.indexOf('g');
+ fullUnicode = !!~flags.indexOf('u');
+ matcher.lastIndex = toLength(R.lastIndex);
+ return new $RegExpStringIterator(matcher, S, global, fullUnicode);
+ };
+
+ // `String.prototype.matchAll` method
+ // https://tc39.es/ecma262/#sec-string.prototype.matchall
+ _export({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {
+ matchAll: function matchAll(regexp) {
+ var O = requireObjectCoercible(this);
+ var flags, S, matcher, rx;
+ if (regexp != null) {
+ if (isRegexp(regexp)) {
+ flags = String(requireObjectCoercible('flags' in RegExpPrototype$1
+ ? regexp.flags
+ : regexpFlags.call(regexp)
+ ));
+ if (!~flags.indexOf('g')) { throw TypeError('`.matchAll` does not allow non-global regexes'); }
+ }
+ if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); }
+ matcher = regexp[MATCH_ALL];
+ if (matcher === undefined && isPure && classofRaw(regexp) == 'RegExp') { matcher = $matchAll; }
+ if (matcher != null) { return aFunction(matcher).call(regexp, O); }
+ } else if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); }
+ S = String(O);
+ rx = new RegExp(regexp, 'g');
+ return rx[MATCH_ALL](S);
+ }
+ });
+
+ MATCH_ALL in RegExpPrototype$1 || createNonEnumerableProperty(RegExpPrototype$1, MATCH_ALL, $matchAll);
+
+ // https://github.com/zloirock/core-js/issues/280
+
+
+ // eslint-disable-next-line unicorn/no-unsafe-regex -- safe
+ var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(engineUserAgent);
+
+ var $padEnd = stringPad.end;
+
+
+ // `String.prototype.padEnd` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
+ _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, {
+ padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
+ return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+
+ var $padStart = stringPad.start;
+
+
+ // `String.prototype.padStart` method
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
+ _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, {
+ padStart: function padStart(maxLength /* , fillString = ' ' */) {
+ return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+
+ // `String.raw` method
+ // https://tc39.es/ecma262/#sec-string.raw
+ _export({ target: 'String', stat: true }, {
+ raw: function raw(template) {
+ var arguments$1 = arguments;
+
+ var rawTemplate = toIndexedObject(template.raw);
+ var literalSegments = toLength(rawTemplate.length);
+ var argumentsLength = arguments.length;
+ var elements = [];
+ var i = 0;
+ while (literalSegments > i) {
+ elements.push(String(rawTemplate[i++]));
+ if (i < argumentsLength) { elements.push(String(arguments$1[i])); }
+ } return elements.join('');
+ }
+ });
+
+ // `String.prototype.repeat` method
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
+ _export({ target: 'String', proto: true }, {
+ repeat: stringRepeat
+ });
+
var floor$3 = Math.floor;
- var log = Math.log;
- var LN2 = Math.LN2;
+ var replace$1 = ''.replace;
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
- var pack = function (number, mantissaLength, bytes) {
- var buffer = new Array(bytes);
- var exponentLength = bytes * 8 - mantissaLength - 1;
- var eMax = (1 << exponentLength) - 1;
- var eBias = eMax >> 1;
- var rt = mantissaLength === 23 ? pow$1(2, -24) - pow$1(2, -77) : 0;
- var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
- var index = 0;
- var exponent, mantissa, c;
- number = abs(number);
- // eslint-disable-next-line no-self-compare -- NaN check
- if (number != number || number === Infinity) {
- // eslint-disable-next-line no-self-compare -- NaN check
- mantissa = number != number ? 1 : 0;
- exponent = eMax;
- } else {
- exponent = floor$3(log(number) / LN2);
- if (number * (c = pow$1(2, -exponent)) < 1) {
- exponent--;
- c *= 2;
- }
- if (exponent + eBias >= 1) {
- number += rt / c;
- } else {
- number += rt * pow$1(2, 1 - eBias);
- }
- if (number * c >= 2) {
- exponent++;
- c /= 2;
- }
- if (exponent + eBias >= eMax) {
- mantissa = 0;
- exponent = eMax;
- } else if (exponent + eBias >= 1) {
- mantissa = (number * c - 1) * pow$1(2, mantissaLength);
- exponent = exponent + eBias;
- } else {
- mantissa = number * pow$1(2, eBias - 1) * pow$1(2, mantissaLength);
- exponent = 0;
- }
+ // https://tc39.es/ecma262/#sec-getsubstitution
+ var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
+ var tailPos = position + matched.length;
+ var m = captures.length;
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
+ if (namedCaptures !== undefined) {
+ namedCaptures = toObject(namedCaptures);
+ symbols = SUBSTITUTION_SYMBOLS;
}
- for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8){ }
- exponent = exponent << mantissaLength | mantissa;
- exponentLength += mantissaLength;
- for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8){ }
- buffer[--index] |= sign * 128;
- return buffer;
- };
-
- var unpack = function (buffer, mantissaLength) {
- var bytes = buffer.length;
- var exponentLength = bytes * 8 - mantissaLength - 1;
- var eMax = (1 << exponentLength) - 1;
- var eBias = eMax >> 1;
- var nBits = exponentLength - 7;
- var index = bytes - 1;
- var sign = buffer[index--];
- var exponent = sign & 127;
- var mantissa;
- sign >>= 7;
- for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8){ }
- mantissa = exponent & (1 << -nBits) - 1;
- exponent >>= -nBits;
- nBits += mantissaLength;
- for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8){ }
- if (exponent === 0) {
- exponent = 1 - eBias;
- } else if (exponent === eMax) {
- return mantissa ? NaN : sign ? -Infinity : Infinity;
- } else {
- mantissa = mantissa + pow$1(2, mantissaLength);
- exponent = exponent - eBias;
- } return (sign ? -1 : 1) * mantissa * pow$1(2, exponent - mantissaLength);
- };
-
- var ieee754 = {
- pack: pack,
- unpack: unpack
- };
-
- var getOwnPropertyNames = objectGetOwnPropertyNames.f;
- var defineProperty$4 = objectDefineProperty.f;
-
-
-
-
- var getInternalState$7 = internalState.get;
- var setInternalState$9 = internalState.set;
- var ARRAY_BUFFER$1 = 'ArrayBuffer';
- var DATA_VIEW = 'DataView';
- var PROTOTYPE = 'prototype';
- var WRONG_LENGTH = 'Wrong length';
- var WRONG_INDEX = 'Wrong index';
- var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1];
- var $ArrayBuffer = NativeArrayBuffer$1;
- var $DataView = global_1[DATA_VIEW];
- var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
- var ObjectPrototype$1 = Object.prototype;
- var RangeError$1 = global_1.RangeError;
-
- var packIEEE754 = ieee754.pack;
- var unpackIEEE754 = ieee754.unpack;
-
- var packInt8 = function (number) {
- return [number & 0xFF];
- };
-
- var packInt16 = function (number) {
- return [number & 0xFF, number >> 8 & 0xFF];
- };
-
- var packInt32 = function (number) {
- return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
- };
-
- var unpackInt32 = function (buffer) {
- return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
- };
-
- var packFloat32 = function (number) {
- return packIEEE754(number, 23, 4);
- };
-
- var packFloat64 = function (number) {
- return packIEEE754(number, 52, 8);
- };
-
- var addGetter = function (Constructor, key) {
- defineProperty$4(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$7(this)[key]; } });
- };
-
- var get$1 = function (view, count, index, isLittleEndian) {
- var intIndex = toIndex(index);
- var store = getInternalState$7(view);
- if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); }
- var bytes = getInternalState$7(store.buffer).bytes;
- var start = intIndex + store.byteOffset;
- var pack = bytes.slice(start, start + count);
- return isLittleEndian ? pack : pack.reverse();
- };
-
- var set$1 = function (view, count, index, conversion, value, isLittleEndian) {
- var intIndex = toIndex(index);
- var store = getInternalState$7(view);
- if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); }
- var bytes = getInternalState$7(store.buffer).bytes;
- var start = intIndex + store.byteOffset;
- var pack = conversion(+value);
- for (var i = 0; i < count; i++) { bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; }
- };
-
- if (!arrayBufferNative) {
- $ArrayBuffer = function ArrayBuffer(length) {
- anInstance(this, $ArrayBuffer, ARRAY_BUFFER$1);
- var byteLength = toIndex(length);
- setInternalState$9(this, {
- bytes: arrayFill.call(new Array(byteLength), 0),
- byteLength: byteLength
- });
- if (!descriptors) { this.byteLength = byteLength; }
- };
-
- $DataView = function DataView(buffer, byteOffset, byteLength) {
- anInstance(this, $DataView, DATA_VIEW);
- anInstance(buffer, $ArrayBuffer, DATA_VIEW);
- var bufferLength = getInternalState$7(buffer).byteLength;
- var offset = toInteger(byteOffset);
- if (offset < 0 || offset > bufferLength) { throw RangeError$1('Wrong offset'); }
- byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
- if (offset + byteLength > bufferLength) { throw RangeError$1(WRONG_LENGTH); }
- setInternalState$9(this, {
- buffer: buffer,
- byteLength: byteLength,
- byteOffset: offset
- });
- if (!descriptors) {
- this.buffer = buffer;
- this.byteLength = byteLength;
- this.byteOffset = offset;
- }
- };
-
- if (descriptors) {
- addGetter($ArrayBuffer, 'byteLength');
- addGetter($DataView, 'buffer');
- addGetter($DataView, 'byteLength');
- addGetter($DataView, 'byteOffset');
- }
-
- redefineAll($DataView[PROTOTYPE], {
- getInt8: function getInt8(byteOffset) {
- return get$1(this, 1, byteOffset)[0] << 24 >> 24;
- },
- getUint8: function getUint8(byteOffset) {
- return get$1(this, 1, byteOffset)[0];
- },
- getInt16: function getInt16(byteOffset /* , littleEndian */) {
- var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
- return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
- },
- getUint16: function getUint16(byteOffset /* , littleEndian */) {
- var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
- return bytes[1] << 8 | bytes[0];
- },
- getInt32: function getInt32(byteOffset /* , littleEndian */) {
- return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
- },
- getUint32: function getUint32(byteOffset /* , littleEndian */) {
- return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
- },
- getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
- return unpackIEEE754(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
- },
- getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
- return unpackIEEE754(get$1(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
- },
- setInt8: function setInt8(byteOffset, value) {
- set$1(this, 1, byteOffset, packInt8, value);
- },
- setUint8: function setUint8(byteOffset, value) {
- set$1(this, 1, byteOffset, packInt8, value);
- },
- setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
- set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
- set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
- set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
- set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
- set$1(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
- set$1(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
+ return replace$1.call(replacement, symbols, function (match, ch) {
+ var capture;
+ switch (ch.charAt(0)) {
+ case '$': return '$';
+ case '&': return matched;
+ case '`': return str.slice(0, position);
+ case "'": return str.slice(tailPos);
+ case '<':
+ capture = namedCaptures[ch.slice(1, -1)];
+ break;
+ default: // \d\d?
+ var n = +ch;
+ if (n === 0) { return match; }
+ if (n > m) {
+ var f = floor$3(n / 10);
+ if (f === 0) { return match; }
+ if (f <= m) { return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); }
+ return match;
+ }
+ capture = captures[n - 1];
}
+ return capture === undefined ? '' : capture;
});
- } else {
- /* eslint-disable no-new -- required for testing */
- if (!fails(function () {
- NativeArrayBuffer$1(1);
- }) || !fails(function () {
- new NativeArrayBuffer$1(-1);
- }) || fails(function () {
- new NativeArrayBuffer$1();
- new NativeArrayBuffer$1(1.5);
- new NativeArrayBuffer$1(NaN);
- return NativeArrayBuffer$1.name != ARRAY_BUFFER$1;
- })) {
- /* eslint-enable no-new -- required for testing */
- $ArrayBuffer = function ArrayBuffer(length) {
- anInstance(this, $ArrayBuffer);
- return new NativeArrayBuffer$1(toIndex(length));
- };
- var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer$1[PROTOTYPE];
- for (var keys = getOwnPropertyNames(NativeArrayBuffer$1), j = 0, key; keys.length > j;) {
- if (!((key = keys[j++]) in $ArrayBuffer)) {
- createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer$1[key]);
- }
- }
- ArrayBufferPrototype.constructor = $ArrayBuffer;
- }
+ };
- // WebKit bug - the same parent prototype for typed arrays and data view
- if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$1) {
- objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$1);
- }
+ var max$2 = Math.max;
+ var min$3 = Math.min;
- // iOS Safari 7.x bug
- var testView = new $DataView(new $ArrayBuffer(2));
- var nativeSetInt8 = $DataViewPrototype.setInt8;
- testView.setInt8(0, 2147483648);
- testView.setInt8(1, 2147483649);
- if (testView.getInt8(0) || !testView.getInt8(1)) { redefineAll($DataViewPrototype, {
- setInt8: function setInt8(byteOffset, value) {
- nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
+ var maybeToString = function (it) {
+ return it === undefined ? it : String(it);
+ };
+
+ // @@replace logic
+ fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
+ var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
+
+ return [
+ // `String.prototype.replace` method
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
+ function replace(searchValue, replaceValue) {
+ var O = requireObjectCoercible(this);
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
+ return replacer !== undefined
+ ? replacer.call(searchValue, O, replaceValue)
+ : nativeReplace.call(String(O), searchValue, replaceValue);
},
- setUint8: function setUint8(byteOffset, value) {
- nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
- }
- }, { unsafe: true }); }
- }
-
- setToStringTag($ArrayBuffer, ARRAY_BUFFER$1);
- setToStringTag($DataView, DATA_VIEW);
-
- var arrayBuffer = {
- ArrayBuffer: $ArrayBuffer,
- DataView: $DataView
- };
-
- var ARRAY_BUFFER = 'ArrayBuffer';
- var ArrayBuffer$3 = arrayBuffer[ARRAY_BUFFER];
- var NativeArrayBuffer = global_1[ARRAY_BUFFER];
-
- // `ArrayBuffer` constructor
- // https://tc39.es/ecma262/#sec-arraybuffer-constructor
- _export({ global: true, forced: NativeArrayBuffer !== ArrayBuffer$3 }, {
- ArrayBuffer: ArrayBuffer$3
- });
-
- setSpecies(ARRAY_BUFFER);
-
- var defineProperty$3 = objectDefineProperty.f;
-
-
-
-
-
- var Int8Array$3 = global_1.Int8Array;
- var Int8ArrayPrototype = Int8Array$3 && Int8Array$3.prototype;
- var Uint8ClampedArray = global_1.Uint8ClampedArray;
- var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
- var TypedArray = Int8Array$3 && objectGetPrototypeOf(Int8Array$3);
- var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype);
- var ObjectPrototype = Object.prototype;
- var isPrototypeOf = ObjectPrototype.isPrototypeOf;
-
- var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag');
- var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
- // Fixing native typed arrays in Opera Presto crashes the browser, see #595
- var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera';
- var TYPED_ARRAY_TAG_REQIRED = false;
- var NAME;
-
- var TypedArrayConstructorsList = {
- Int8Array: 1,
- Uint8Array: 1,
- Uint8ClampedArray: 1,
- Int16Array: 2,
- Uint16Array: 2,
- Int32Array: 4,
- Uint32Array: 4,
- Float32Array: 4,
- Float64Array: 8
- };
-
- var BigIntArrayConstructorsList = {
- BigInt64Array: 8,
- BigUint64Array: 8
- };
-
- var isView = function isView(it) {
- if (!isObject(it)) { return false; }
- var klass = classof(it);
- return klass === 'DataView'
- || has$1(TypedArrayConstructorsList, klass)
- || has$1(BigIntArrayConstructorsList, klass);
- };
-
- var isTypedArray = function (it) {
- if (!isObject(it)) { return false; }
- var klass = classof(it);
- return has$1(TypedArrayConstructorsList, klass)
- || has$1(BigIntArrayConstructorsList, klass);
- };
-
- var aTypedArray$r = function (it) {
- if (isTypedArray(it)) { return it; }
- throw TypeError('Target is not a typed array');
- };
-
- var aTypedArrayConstructor$5 = function (C) {
- if (objectSetPrototypeOf) {
- if (isPrototypeOf.call(TypedArray, C)) { return C; }
- } else { for (var ARRAY in TypedArrayConstructorsList) { if (has$1(TypedArrayConstructorsList, NAME)) {
- var TypedArrayConstructor = global_1[ARRAY];
- if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
- return C;
- }
- } } } throw TypeError('Target is not a typed array constructor');
- };
-
- var exportTypedArrayMethod$s = function (KEY, property, forced) {
- if (!descriptors) { return; }
- if (forced) { for (var ARRAY in TypedArrayConstructorsList) {
- var TypedArrayConstructor = global_1[ARRAY];
- if (TypedArrayConstructor && has$1(TypedArrayConstructor.prototype, KEY)) {
- delete TypedArrayConstructor.prototype[KEY];
- }
- } }
- if (!TypedArrayPrototype[KEY] || forced) {
- redefine(TypedArrayPrototype, KEY, forced ? property
- : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8ArrayPrototype[KEY] || property);
- }
- };
-
- var exportTypedArrayStaticMethod$2 = function (KEY, property, forced) {
- var ARRAY, TypedArrayConstructor;
- if (!descriptors) { return; }
- if (objectSetPrototypeOf) {
- if (forced) { for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global_1[ARRAY];
- if (TypedArrayConstructor && has$1(TypedArrayConstructor, KEY)) {
- delete TypedArrayConstructor[KEY];
+ // `RegExp.prototype[@@replace]` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
+ function (regexp, replaceValue) {
+ if (
+ (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
+ (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
+ ) {
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
+ if (res.done) { return res.value; }
}
- } }
- if (!TypedArray[KEY] || forced) {
- // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
- try {
- return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8Array$3[KEY] || property);
- } catch (error) { /* empty */ }
- } else { return; }
- }
- for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global_1[ARRAY];
- if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
- redefine(TypedArrayConstructor, KEY, property);
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ var functionalReplace = typeof replaceValue === 'function';
+ if (!functionalReplace) { replaceValue = String(replaceValue); }
+
+ var global = rx.global;
+ if (global) {
+ var fullUnicode = rx.unicode;
+ rx.lastIndex = 0;
+ }
+ var results = [];
+ while (true) {
+ var result = regexpExecAbstract(rx, S);
+ if (result === null) { break; }
+
+ results.push(result);
+ if (!global) { break; }
+
+ var matchStr = String(result[0]);
+ if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); }
+ }
+
+ var accumulatedResult = '';
+ var nextSourcePosition = 0;
+ for (var i = 0; i < results.length; i++) {
+ result = results[i];
+
+ var matched = String(result[0]);
+ var position = max$2(min$3(toInteger(result.index), S.length), 0);
+ var captures = [];
+ // NOTE: This is equivalent to
+ // captures = result.slice(1).map(maybeToString)
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
+ for (var j = 1; j < result.length; j++) { captures.push(maybeToString(result[j])); }
+ var namedCaptures = result.groups;
+ if (functionalReplace) {
+ var replacerArgs = [matched].concat(captures, position, S);
+ if (namedCaptures !== undefined) { replacerArgs.push(namedCaptures); }
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
+ } else {
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
+ }
+ if (position >= nextSourcePosition) {
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
+ nextSourcePosition = position + matched.length;
+ }
+ }
+ return accumulatedResult + S.slice(nextSourcePosition);
}
- }
+ ];
+ });
+
+ var REPLACE = wellKnownSymbol('replace');
+ var RegExpPrototype = RegExp.prototype;
+ var max$1 = Math.max;
+
+ var stringIndexOf = function (string, searchValue, fromIndex) {
+ if (fromIndex > string.length) { return -1; }
+ if (searchValue === '') { return fromIndex; }
+ return string.indexOf(searchValue, fromIndex);
};
- for (NAME in TypedArrayConstructorsList) {
- if (!global_1[NAME]) { NATIVE_ARRAY_BUFFER_VIEWS$2 = false; }
- }
-
- // WebKit bug - typed arrays constructors prototype is Object.prototype
- if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
- // eslint-disable-next-line no-shadow -- safe
- TypedArray = function TypedArray() {
- throw TypeError('Incorrect invocation');
- };
- if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME in TypedArrayConstructorsList) {
- if (global_1[NAME]) { objectSetPrototypeOf(global_1[NAME], TypedArray); }
- } }
- }
-
- if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
- TypedArrayPrototype = TypedArray.prototype;
- if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME in TypedArrayConstructorsList) {
- if (global_1[NAME]) { objectSetPrototypeOf(global_1[NAME].prototype, TypedArrayPrototype); }
- } }
- }
-
- // WebKit bug - one more object in Uint8ClampedArray prototype chain
- if (NATIVE_ARRAY_BUFFER_VIEWS$2 && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
- objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
- }
-
- if (descriptors && !has$1(TypedArrayPrototype, TO_STRING_TAG$5)) {
- TYPED_ARRAY_TAG_REQIRED = true;
- defineProperty$3(TypedArrayPrototype, TO_STRING_TAG$5, { get: function () {
- return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
- } });
- for (NAME in TypedArrayConstructorsList) { if (global_1[NAME]) {
- createNonEnumerableProperty(global_1[NAME], TYPED_ARRAY_TAG, NAME);
- } }
- }
-
- var arrayBufferViewCore = {
- NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS$2,
- TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
- aTypedArray: aTypedArray$r,
- aTypedArrayConstructor: aTypedArrayConstructor$5,
- exportTypedArrayMethod: exportTypedArrayMethod$s,
- exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$2,
- isView: isView,
- isTypedArray: isTypedArray,
- TypedArray: TypedArray,
- TypedArrayPrototype: TypedArrayPrototype
- };
-
- var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
-
- // `ArrayBuffer.isView` method
- // https://tc39.es/ecma262/#sec-arraybuffer.isview
- _export({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS$1 }, {
- isView: arrayBufferViewCore.isView
- });
-
- var ArrayBuffer$2 = arrayBuffer.ArrayBuffer;
- var DataView$1 = arrayBuffer.DataView;
- var nativeArrayBufferSlice = ArrayBuffer$2.prototype.slice;
-
- var INCORRECT_SLICE = fails(function () {
- return !new ArrayBuffer$2(2).slice(1, undefined).byteLength;
- });
-
- // `ArrayBuffer.prototype.slice` method
- // https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
- _export({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
- slice: function slice(start, end) {
- if (nativeArrayBufferSlice !== undefined && end === undefined) {
- return nativeArrayBufferSlice.call(anObject(this), start); // FF fix
+ // `String.prototype.replaceAll` method
+ // https://tc39.es/ecma262/#sec-string.prototype.replaceall
+ _export({ target: 'String', proto: true }, {
+ replaceAll: function replaceAll(searchValue, replaceValue) {
+ var O = requireObjectCoercible(this);
+ var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;
+ var position = 0;
+ var endOfLastMatch = 0;
+ var result = '';
+ if (searchValue != null) {
+ IS_REG_EXP = isRegexp(searchValue);
+ if (IS_REG_EXP) {
+ flags = String(requireObjectCoercible('flags' in RegExpPrototype
+ ? searchValue.flags
+ : regexpFlags.call(searchValue)
+ ));
+ if (!~flags.indexOf('g')) { throw TypeError('`.replaceAll` does not allow non-global regexes'); }
+ }
+ replacer = searchValue[REPLACE];
+ if (replacer !== undefined) {
+ return replacer.call(searchValue, O, replaceValue);
+ }
}
- var length = anObject(this).byteLength;
- var first = toAbsoluteIndex(start, length);
- var fin = toAbsoluteIndex(end === undefined ? length : end, length);
- var result = new (speciesConstructor(this, ArrayBuffer$2))(toLength(fin - first));
- var viewSource = new DataView$1(this);
- var viewTarget = new DataView$1(result);
- var index = 0;
- while (first < fin) {
- viewTarget.setUint8(index++, viewSource.getUint8(first++));
- } return result;
+ string = String(O);
+ searchString = String(searchValue);
+ functionalReplace = typeof replaceValue === 'function';
+ if (!functionalReplace) { replaceValue = String(replaceValue); }
+ searchLength = searchString.length;
+ advanceBy = max$1(1, searchLength);
+ position = stringIndexOf(string, searchString, 0);
+ while (position !== -1) {
+ if (functionalReplace) {
+ replacement = String(replaceValue(searchString, position, string));
+ } else {
+ replacement = getSubstitution(searchString, string, position, [], undefined, replaceValue);
+ }
+ result += string.slice(endOfLastMatch, position) + replacement;
+ endOfLastMatch = position + searchLength;
+ position = stringIndexOf(string, searchString, position + advanceBy);
+ }
+ if (endOfLastMatch < string.length) {
+ result += string.slice(endOfLastMatch);
+ }
+ return result;
}
});
- // `DataView` constructor
- // https://tc39.es/ecma262/#sec-dataview-constructor
- _export({ global: true, forced: !arrayBufferNative }, {
- DataView: arrayBuffer.DataView
+ // @@search logic
+ fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
+ return [
+ // `String.prototype.search` method
+ // https://tc39.es/ecma262/#sec-string.prototype.search
+ function search(regexp) {
+ var O = requireObjectCoercible(this);
+ var searcher = regexp == undefined ? undefined : regexp[SEARCH];
+ return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
+ },
+ // `RegExp.prototype[@@search]` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
+ function (regexp) {
+ var res = maybeCallNative(nativeSearch, regexp, this);
+ if (res.done) { return res.value; }
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ var previousLastIndex = rx.lastIndex;
+ if (!sameValue(previousLastIndex, 0)) { rx.lastIndex = 0; }
+ var result = regexpExecAbstract(rx, S);
+ if (!sameValue(rx.lastIndex, previousLastIndex)) { rx.lastIndex = previousLastIndex; }
+ return result === null ? -1 : result.index;
+ }
+ ];
+ });
+
+ var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
+ var arrayPush = [].push;
+ var min$2 = Math.min;
+ var MAX_UINT32 = 0xFFFFFFFF;
+
+ // @@split logic
+ fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
+ var internalSplit;
+ if (
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
+ 'test'.split(/(?:)/, -1).length != 4 ||
+ 'ab'.split(/(?:ab)*/).length != 2 ||
+ '.'.split(/(.?)(.?)/).length != 4 ||
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
+ '.'.split(/()()/).length > 1 ||
+ ''.split(/.?/).length
+ ) {
+ // based on es5-shim implementation, need to rework it
+ internalSplit = function (separator, limit) {
+ var string = String(requireObjectCoercible(this));
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
+ if (lim === 0) { return []; }
+ if (separator === undefined) { return [string]; }
+ // If `separator` is not a regex, use native split
+ if (!isRegexp(separator)) {
+ return nativeSplit.call(string, separator, lim);
+ }
+ var output = [];
+ var flags = (separator.ignoreCase ? 'i' : '') +
+ (separator.multiline ? 'm' : '') +
+ (separator.unicode ? 'u' : '') +
+ (separator.sticky ? 'y' : '');
+ var lastLastIndex = 0;
+ // Make `global` and avoid `lastIndex` issues by working with a copy
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
+ var match, lastIndex, lastLength;
+ while (match = regexpExec.call(separatorCopy, string)) {
+ lastIndex = separatorCopy.lastIndex;
+ if (lastIndex > lastLastIndex) {
+ output.push(string.slice(lastLastIndex, match.index));
+ if (match.length > 1 && match.index < string.length) { arrayPush.apply(output, match.slice(1)); }
+ lastLength = match[0].length;
+ lastLastIndex = lastIndex;
+ if (output.length >= lim) { break; }
+ }
+ if (separatorCopy.lastIndex === match.index) { separatorCopy.lastIndex++; } // Avoid an infinite loop
+ }
+ if (lastLastIndex === string.length) {
+ if (lastLength || !separatorCopy.test('')) { output.push(''); }
+ } else { output.push(string.slice(lastLastIndex)); }
+ return output.length > lim ? output.slice(0, lim) : output;
+ };
+ // Chakra, V8
+ } else if ('0'.split(undefined, 0).length) {
+ internalSplit = function (separator, limit) {
+ return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
+ };
+ } else { internalSplit = nativeSplit; }
+
+ return [
+ // `String.prototype.split` method
+ // https://tc39.es/ecma262/#sec-string.prototype.split
+ function split(separator, limit) {
+ var O = requireObjectCoercible(this);
+ var splitter = separator == undefined ? undefined : separator[SPLIT];
+ return splitter !== undefined
+ ? splitter.call(separator, O, limit)
+ : internalSplit.call(String(O), separator, limit);
+ },
+ // `RegExp.prototype[@@split]` method
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
+ //
+ // NOTE: This cannot be properly polyfilled in engines that don't support
+ // the 'y' flag.
+ function (regexp, limit) {
+ var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
+ if (res.done) { return res.value; }
+
+ var rx = anObject(regexp);
+ var S = String(this);
+ var C = speciesConstructor(rx, RegExp);
+
+ var unicodeMatching = rx.unicode;
+ var flags = (rx.ignoreCase ? 'i' : '') +
+ (rx.multiline ? 'm' : '') +
+ (rx.unicode ? 'u' : '') +
+ (UNSUPPORTED_Y ? 'g' : 'y');
+
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
+ // simulate the 'y' flag.
+ var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
+ if (lim === 0) { return []; }
+ if (S.length === 0) { return regexpExecAbstract(splitter, S) === null ? [S] : []; }
+ var p = 0;
+ var q = 0;
+ var A = [];
+ while (q < S.length) {
+ splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
+ var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);
+ var e;
+ if (
+ z === null ||
+ (e = min$2(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p
+ ) {
+ q = advanceStringIndex(S, q, unicodeMatching);
+ } else {
+ A.push(S.slice(p, q));
+ if (A.length === lim) { return A; }
+ for (var i = 1; i <= z.length - 1; i++) {
+ A.push(z[i]);
+ if (A.length === lim) { return A; }
+ }
+ q = p = e;
+ }
+ }
+ A.push(S.slice(p));
+ return A;
+ }
+ ];
+ }, UNSUPPORTED_Y);
+
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
+
+
+
+
+
+
+ // eslint-disable-next-line es/no-string-prototype-startswith -- safe
+ var $startsWith = ''.startsWith;
+ var min$1 = Math.min;
+
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('startsWith');
+ // https://github.com/zloirock/core-js/pull/702
+ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
+ return descriptor && !descriptor.writable;
+ }();
+
+ // `String.prototype.startsWith` method
+ // https://tc39.es/ecma262/#sec-string.prototype.startswith
+ _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
+ startsWith: function startsWith(searchString /* , position = 0 */) {
+ var that = String(requireObjectCoercible(this));
+ notARegexp(searchString);
+ var index = toLength(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length));
+ var search = String(searchString);
+ return $startsWith
+ ? $startsWith.call(that, search, index)
+ : that.slice(index, index + search.length) === search;
+ }
+ });
+
+ var non = '\u200B\u0085\u180E';
+
+ // check that a method works with the correct list
+ // of whitespaces and has a correct name
+ var stringTrimForced = function (METHOD_NAME) {
+ return fails(function () {
+ return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
+ });
+ };
+
+ var $trim = stringTrim.trim;
+
+
+ // `String.prototype.trim` method
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
+ _export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {
+ trim: function trim() {
+ return $trim(this);
+ }
+ });
+
+ var $trimEnd = stringTrim.end;
+
+
+ var FORCED$7 = stringTrimForced('trimEnd');
+
+ var trimEnd = FORCED$7 ? function trimEnd() {
+ return $trimEnd(this);
+ // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe
+ } : ''.trimEnd;
+
+ // `String.prototype.{ trimEnd, trimRight }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
+ // https://tc39.es/ecma262/#String.prototype.trimright
+ _export({ target: 'String', proto: true, forced: FORCED$7 }, {
+ trimEnd: trimEnd,
+ trimRight: trimEnd
+ });
+
+ var $trimStart = stringTrim.start;
+
+
+ var FORCED$6 = stringTrimForced('trimStart');
+
+ var trimStart = FORCED$6 ? function trimStart() {
+ return $trimStart(this);
+ // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe
+ } : ''.trimStart;
+
+ // `String.prototype.{ trimStart, trimLeft }` methods
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
+ // https://tc39.es/ecma262/#String.prototype.trimleft
+ _export({ target: 'String', proto: true, forced: FORCED$6 }, {
+ trimStart: trimStart,
+ trimLeft: trimStart
+ });
+
+ var quot = /"/g;
+
+ // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
+ // https://tc39.es/ecma262/#sec-createhtml
+ var createHtml = function (string, tag, attribute, value) {
+ var S = String(requireObjectCoercible(string));
+ var p1 = '<' + tag;
+ if (attribute !== '') { p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; }
+ return p1 + '>' + S + '' + tag + '>';
+ };
+
+ // check the existence of a method, lowercase
+ // of a tag and escaping quotes in arguments
+ var stringHtmlForced = function (METHOD_NAME) {
+ return fails(function () {
+ var test = ''[METHOD_NAME]('"');
+ return test !== test.toLowerCase() || test.split('"').length > 3;
+ });
+ };
+
+ // `String.prototype.anchor` method
+ // https://tc39.es/ecma262/#sec-string.prototype.anchor
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('anchor') }, {
+ anchor: function anchor(name) {
+ return createHtml(this, 'a', 'name', name);
+ }
+ });
+
+ // `String.prototype.big` method
+ // https://tc39.es/ecma262/#sec-string.prototype.big
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('big') }, {
+ big: function big() {
+ return createHtml(this, 'big', '', '');
+ }
+ });
+
+ // `String.prototype.blink` method
+ // https://tc39.es/ecma262/#sec-string.prototype.blink
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('blink') }, {
+ blink: function blink() {
+ return createHtml(this, 'blink', '', '');
+ }
+ });
+
+ // `String.prototype.bold` method
+ // https://tc39.es/ecma262/#sec-string.prototype.bold
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('bold') }, {
+ bold: function bold() {
+ return createHtml(this, 'b', '', '');
+ }
+ });
+
+ // `String.prototype.fixed` method
+ // https://tc39.es/ecma262/#sec-string.prototype.fixed
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('fixed') }, {
+ fixed: function fixed() {
+ return createHtml(this, 'tt', '', '');
+ }
+ });
+
+ // `String.prototype.fontcolor` method
+ // https://tc39.es/ecma262/#sec-string.prototype.fontcolor
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('fontcolor') }, {
+ fontcolor: function fontcolor(color) {
+ return createHtml(this, 'font', 'color', color);
+ }
+ });
+
+ // `String.prototype.fontsize` method
+ // https://tc39.es/ecma262/#sec-string.prototype.fontsize
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('fontsize') }, {
+ fontsize: function fontsize(size) {
+ return createHtml(this, 'font', 'size', size);
+ }
+ });
+
+ // `String.prototype.italics` method
+ // https://tc39.es/ecma262/#sec-string.prototype.italics
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('italics') }, {
+ italics: function italics() {
+ return createHtml(this, 'i', '', '');
+ }
+ });
+
+ // `String.prototype.link` method
+ // https://tc39.es/ecma262/#sec-string.prototype.link
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('link') }, {
+ link: function link(url) {
+ return createHtml(this, 'a', 'href', url);
+ }
+ });
+
+ // `String.prototype.small` method
+ // https://tc39.es/ecma262/#sec-string.prototype.small
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('small') }, {
+ small: function small() {
+ return createHtml(this, 'small', '', '');
+ }
+ });
+
+ // `String.prototype.strike` method
+ // https://tc39.es/ecma262/#sec-string.prototype.strike
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('strike') }, {
+ strike: function strike() {
+ return createHtml(this, 'strike', '', '');
+ }
+ });
+
+ // `String.prototype.sub` method
+ // https://tc39.es/ecma262/#sec-string.prototype.sub
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('sub') }, {
+ sub: function sub() {
+ return createHtml(this, 'sub', '', '');
+ }
+ });
+
+ // `String.prototype.sup` method
+ // https://tc39.es/ecma262/#sec-string.prototype.sup
+ _export({ target: 'String', proto: true, forced: stringHtmlForced('sup') }, {
+ sup: function sup() {
+ return createHtml(this, 'sup', '', '');
+ }
});
/* eslint-disable no-new -- required for testing */
@@ -8586,6 +8737,22 @@ var doric = (function (exports) {
} else { module.exports = function () { /* empty */ }; }
});
+ // `Float32Array` constructor
+ // https://tc39.es/ecma262/#sec-typedarray-objects
+ typedArrayConstructor('Float32', function (init) {
+ return function Float32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+
+ // `Float64Array` constructor
+ // https://tc39.es/ecma262/#sec-typedarray-objects
+ typedArrayConstructor('Float64', function (init) {
+ return function Float64Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+
// `Int8Array` constructor
// https://tc39.es/ecma262/#sec-typedarray-objects
typedArrayConstructor('Int8', function (init) {
@@ -8594,6 +8761,22 @@ var doric = (function (exports) {
};
});
+ // `Int16Array` constructor
+ // https://tc39.es/ecma262/#sec-typedarray-objects
+ typedArrayConstructor('Int16', function (init) {
+ return function Int16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+
+ // `Int32Array` constructor
+ // https://tc39.es/ecma262/#sec-typedarray-objects
+ typedArrayConstructor('Int32', function (init) {
+ return function Int32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+
// `Uint8Array` constructor
// https://tc39.es/ecma262/#sec-typedarray-objects
typedArrayConstructor('Uint8', function (init) {
@@ -8610,14 +8793,6 @@ var doric = (function (exports) {
};
}, true);
- // `Int16Array` constructor
- // https://tc39.es/ecma262/#sec-typedarray-objects
- typedArrayConstructor('Int16', function (init) {
- return function Int16Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
// `Uint16Array` constructor
// https://tc39.es/ecma262/#sec-typedarray-objects
typedArrayConstructor('Uint16', function (init) {
@@ -8626,14 +8801,6 @@ var doric = (function (exports) {
};
});
- // `Int32Array` constructor
- // https://tc39.es/ecma262/#sec-typedarray-objects
- typedArrayConstructor('Int32', function (init) {
- return function Int32Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
// `Uint32Array` constructor
// https://tc39.es/ecma262/#sec-typedarray-objects
typedArrayConstructor('Uint32', function (init) {
@@ -8642,44 +8809,6 @@ var doric = (function (exports) {
};
});
- // `Float32Array` constructor
- // https://tc39.es/ecma262/#sec-typedarray-objects
- typedArrayConstructor('Float32', function (init) {
- return function Float32Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // `Float64Array` constructor
- // https://tc39.es/ecma262/#sec-typedarray-objects
- typedArrayConstructor('Float64', function (init) {
- return function Float64Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod;
-
-
- // `%TypedArray%.from` method
- // https://tc39.es/ecma262/#sec-%typedarray%.from
- exportTypedArrayStaticMethod$1('from', typedArrayFrom, typedArrayConstructorsRequireWrappers);
-
- var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor;
- var exportTypedArrayStaticMethod = arrayBufferViewCore.exportTypedArrayStaticMethod;
-
- // `%TypedArray%.of` method
- // https://tc39.es/ecma262/#sec-%typedarray%.of
- exportTypedArrayStaticMethod('of', function of(/* ...items */) {
- var arguments$1 = arguments;
-
- var index = 0;
- var length = arguments.length;
- var result = new (aTypedArrayConstructor$3(this))(length);
- while (length > index) { result[index] = arguments$1[index++]; }
- return result;
- }, typedArrayConstructorsRequireWrappers);
-
var aTypedArray$q = arrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod$r = arrayBufferViewCore.exportTypedArrayMethod;
@@ -8710,14 +8839,14 @@ var doric = (function (exports) {
return arrayFill.apply(aTypedArray$o(this), arguments);
});
- var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor;
+ var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor;
var typedArrayFromSpeciesAndList = function (instance, list) {
var C = speciesConstructor(instance, instance.constructor);
var index = 0;
var length = list.length;
- var result = new (aTypedArrayConstructor$2(C))(length);
+ var result = new (aTypedArrayConstructor$3(C))(length);
while (length > index) { result[index] = list[index++]; }
return result;
};
@@ -8768,6 +8897,13 @@ var doric = (function (exports) {
$forEach$1(aTypedArray$k(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
});
+ var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod;
+
+
+ // `%TypedArray%.from` method
+ // https://tc39.es/ecma262/#sec-%typedarray%.from
+ exportTypedArrayStaticMethod$1('from', typedArrayFrom, typedArrayConstructorsRequireWrappers);
+
var $includes = arrayIncludes.includes;
var aTypedArray$j = arrayBufferViewCore.aTypedArray;
@@ -8848,17 +8984,32 @@ var doric = (function (exports) {
var aTypedArray$e = arrayBufferViewCore.aTypedArray;
- var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
+ var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor;
var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod;
// `%TypedArray%.prototype.map` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
exportTypedArrayMethod$f('map', function map(mapfn /* , thisArg */) {
return $map(aTypedArray$e(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
- return new (aTypedArrayConstructor$1(speciesConstructor(O, O.constructor)))(length);
+ return new (aTypedArrayConstructor$2(speciesConstructor(O, O.constructor)))(length);
});
});
+ var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
+ var exportTypedArrayStaticMethod = arrayBufferViewCore.exportTypedArrayStaticMethod;
+
+ // `%TypedArray%.of` method
+ // https://tc39.es/ecma262/#sec-%typedarray%.of
+ exportTypedArrayStaticMethod('of', function of(/* ...items */) {
+ var arguments$1 = arguments;
+
+ var index = 0;
+ var length = arguments.length;
+ var result = new (aTypedArrayConstructor$1(this))(length);
+ while (length > index) { result[index] = arguments$1[index++]; }
+ return result;
+ }, typedArrayConstructorsRequireWrappers);
+
var $reduce = arrayReduce.left;
var aTypedArray$d = arrayBufferViewCore.aTypedArray;
@@ -8903,8 +9054,8 @@ var doric = (function (exports) {
var aTypedArray$a = arrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod;
- var FORCED$6 = fails(function () {
- /* global Int8Array -- safe */
+ var FORCED$5 = fails(function () {
+ // eslint-disable-next-line es/no-typed-arrays -- required for testing
new Int8Array(1).set({});
});
@@ -8919,15 +9070,15 @@ var doric = (function (exports) {
var index = 0;
if (len + offset > length) { throw RangeError('Wrong length'); }
while (index < len) { this[offset + index] = src[index++]; }
- }, FORCED$6);
+ }, FORCED$5);
var aTypedArray$9 = arrayBufferViewCore.aTypedArray;
var aTypedArrayConstructor = arrayBufferViewCore.aTypedArrayConstructor;
var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod;
var $slice$1 = [].slice;
- var FORCED$5 = fails(function () {
- /* global Int8Array -- safe */
+ var FORCED$4 = fails(function () {
+ // eslint-disable-next-line es/no-typed-arrays -- required for testing
new Int8Array(1).slice();
});
@@ -8941,7 +9092,7 @@ var doric = (function (exports) {
var result = new (aTypedArrayConstructor(C))(length);
while (length > index) { result[index] = list[index++]; }
return result;
- }, FORCED$5);
+ }, FORCED$4);
var $some$1 = arrayIteration.some;
@@ -8991,7 +9142,7 @@ var doric = (function (exports) {
$toLocaleString.call(new Int8Array$1(1));
});
- var FORCED$4 = fails(function () {
+ var FORCED$3 = fails(function () {
return [1, 2].toLocaleString() != new Int8Array$1([1, 2]).toLocaleString();
}) || !fails(function () {
Int8Array$1.prototype.toLocaleString.call([1, 2]);
@@ -9001,7 +9152,7 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
exportTypedArrayMethod$6('toLocaleString', function toLocaleString() {
return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray$5(this)) : aTypedArray$5(this), arguments);
- }, FORCED$4);
+ }, FORCED$3);
var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod;
@@ -9024,233 +9175,2359 @@ var doric = (function (exports) {
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
exportTypedArrayMethod$5('toString', arrayToString, IS_NOT_ARRAY_METHOD);
- var nativeApply = getBuiltIn('Reflect', 'apply');
- var functionApply = Function.apply;
+ var getWeakData = internalMetadata.getWeakData;
- // MS Edge argumentsList argument is optional
- var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
- nativeApply(function () { /* empty */ });
- });
- // `Reflect.apply` method
- // https://tc39.es/ecma262/#sec-reflect.apply
- _export({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
- apply: function apply(target, thisArgument, argumentsList) {
- aFunction(target);
- anObject(argumentsList);
- return nativeApply
- ? nativeApply(target, thisArgument, argumentsList)
- : functionApply.call(target, thisArgument, argumentsList);
+
+
+
+
+
+
+ var setInternalState$9 = internalState.set;
+ var internalStateGetterFor = internalState.getterFor;
+ var find$1 = arrayIteration.find;
+ var findIndex = arrayIteration.findIndex;
+ var id = 0;
+
+ // fallback for uncaught frozen keys
+ var uncaughtFrozenStore = function (store) {
+ return store.frozen || (store.frozen = new UncaughtFrozenStore());
+ };
+
+ var UncaughtFrozenStore = function () {
+ this.entries = [];
+ };
+
+ var findUncaughtFrozen = function (store, key) {
+ return find$1(store.entries, function (it) {
+ return it[0] === key;
+ });
+ };
+
+ UncaughtFrozenStore.prototype = {
+ get: function (key) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) { return entry[1]; }
+ },
+ has: function (key) {
+ return !!findUncaughtFrozen(this, key);
+ },
+ set: function (key, value) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) { entry[1] = value; }
+ else { this.entries.push([key, value]); }
+ },
+ 'delete': function (key) {
+ var index = findIndex(this.entries, function (it) {
+ return it[0] === key;
+ });
+ if (~index) { this.entries.splice(index, 1); }
+ return !!~index;
}
- });
+ };
- var nativeConstruct = getBuiltIn('Reflect', 'construct');
+ var collectionWeak = {
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, CONSTRUCTOR_NAME);
+ setInternalState$9(that, {
+ type: CONSTRUCTOR_NAME,
+ id: id++,
+ frozen: undefined
+ });
+ if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); }
+ });
- // `Reflect.construct` method
- // https://tc39.es/ecma262/#sec-reflect.construct
- // MS Edge supports only 2 arguments and argumentsList argument is optional
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
- var NEW_TARGET_BUG = fails(function () {
- function F() { /* empty */ }
- return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
- });
- var ARGS_BUG = !fails(function () {
- nativeConstruct(function () { /* empty */ });
- });
- var FORCED$3 = NEW_TARGET_BUG || ARGS_BUG;
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
- _export({ target: 'Reflect', stat: true, forced: FORCED$3, sham: FORCED$3 }, {
- construct: function construct(Target, args /* , newTarget */) {
- aFunction(Target);
- anObject(args);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if (ARGS_BUG && !NEW_TARGET_BUG) { return nativeConstruct(Target, args, newTarget); }
- if (Target == newTarget) {
- // w/o altered newTarget, optimization for 0-4 arguments
- switch (args.length) {
- case 0: return new Target();
- case 1: return new Target(args[0]);
- case 2: return new Target(args[0], args[1]);
- case 3: return new Target(args[0], args[1], args[2]);
- case 4: return new Target(args[0], args[1], args[2], args[3]);
+ var define = function (that, key, value) {
+ var state = getInternalState(that);
+ var data = getWeakData(anObject(key), true);
+ if (data === true) { uncaughtFrozenStore(state).set(key, value); }
+ else { data[state.id] = value; }
+ return that;
+ };
+
+ redefineAll(C.prototype, {
+ // 23.3.3.2 WeakMap.prototype.delete(key)
+ // 23.4.3.3 WeakSet.prototype.delete(value)
+ 'delete': function (key) {
+ var state = getInternalState(this);
+ if (!isObject(key)) { return false; }
+ var data = getWeakData(key);
+ if (data === true) { return uncaughtFrozenStore(state)['delete'](key); }
+ return data && has$1(data, state.id) && delete data[state.id];
+ },
+ // 23.3.3.4 WeakMap.prototype.has(key)
+ // 23.4.3.4 WeakSet.prototype.has(value)
+ has: function has(key) {
+ var state = getInternalState(this);
+ if (!isObject(key)) { return false; }
+ var data = getWeakData(key);
+ if (data === true) { return uncaughtFrozenStore(state).has(key); }
+ return data && has$1(data, state.id);
}
- // w/o altered newTarget, lot of arguments case
- var $args = [null];
- $args.push.apply($args, args);
- return new (functionBind.apply(Target, $args))();
+ });
+
+ redefineAll(C.prototype, IS_MAP ? {
+ // 23.3.3.3 WeakMap.prototype.get(key)
+ get: function get(key) {
+ var state = getInternalState(this);
+ if (isObject(key)) {
+ var data = getWeakData(key);
+ if (data === true) { return uncaughtFrozenStore(state).get(key); }
+ return data ? data[state.id] : undefined;
+ }
+ },
+ // 23.3.3.5 WeakMap.prototype.set(key, value)
+ set: function set(key, value) {
+ return define(this, key, value);
+ }
+ } : {
+ // 23.4.3.1 WeakSet.prototype.add(value)
+ add: function add(value) {
+ return define(this, value, true);
+ }
+ });
+
+ return C;
+ }
+ };
+
+ var es_weakMap = createCommonjsModule(function (module) {
+
+
+
+
+
+
+ var enforceIternalState = internalState.enforce;
+
+
+ var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1;
+ // eslint-disable-next-line es/no-object-isextensible -- safe
+ var isExtensible = Object.isExtensible;
+ var InternalWeakMap;
+
+ var wrapper = function (init) {
+ return function WeakMap() {
+ return init(this, arguments.length ? arguments[0] : undefined);
+ };
+ };
+
+ // `WeakMap` constructor
+ // https://tc39.es/ecma262/#sec-weakmap-constructor
+ var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
+
+ // IE11 WeakMap frozen keys fix
+ // We can't use feature detection because it crash some old IE builds
+ // https://github.com/zloirock/core-js/issues/485
+ if (nativeWeakMap && IS_IE11) {
+ InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
+ internalMetadata.REQUIRED = true;
+ var WeakMapPrototype = $WeakMap.prototype;
+ var nativeDelete = WeakMapPrototype['delete'];
+ var nativeHas = WeakMapPrototype.has;
+ var nativeGet = WeakMapPrototype.get;
+ var nativeSet = WeakMapPrototype.set;
+ redefineAll(WeakMapPrototype, {
+ 'delete': function (key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) { state.frozen = new InternalWeakMap(); }
+ return nativeDelete.call(this, key) || state.frozen['delete'](key);
+ } return nativeDelete.call(this, key);
+ },
+ has: function has(key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) { state.frozen = new InternalWeakMap(); }
+ return nativeHas.call(this, key) || state.frozen.has(key);
+ } return nativeHas.call(this, key);
+ },
+ get: function get(key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) { state.frozen = new InternalWeakMap(); }
+ return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
+ } return nativeGet.call(this, key);
+ },
+ set: function set(key, value) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) { state.frozen = new InternalWeakMap(); }
+ nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
+ } else { nativeSet.call(this, key, value); }
+ return this;
}
- // with altered newTarget, not support built-in constructors
- var proto = newTarget.prototype;
- var instance = objectCreate(isObject(proto) ? proto : Object.prototype);
- var result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
-
- // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
- var ERROR_INSTEAD_OF_FALSE = fails(function () {
- /* global Reflect -- required for testing */
- Reflect.defineProperty(objectDefineProperty.f({}, 1, { value: 1 }), 1, { value: 2 });
- });
-
- // `Reflect.defineProperty` method
- // https://tc39.es/ecma262/#sec-reflect.defineproperty
- _export({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !descriptors }, {
- defineProperty: function defineProperty(target, propertyKey, attributes) {
- anObject(target);
- var key = toPrimitive(propertyKey, true);
- anObject(attributes);
- try {
- objectDefineProperty.f(target, key, attributes);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
-
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-
- // `Reflect.deleteProperty` method
- // https://tc39.es/ecma262/#sec-reflect.deleteproperty
- _export({ target: 'Reflect', stat: true }, {
- deleteProperty: function deleteProperty(target, propertyKey) {
- var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
- return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
- }
- });
-
- // `Reflect.get` method
- // https://tc39.es/ecma262/#sec-reflect.get
- function get(target, propertyKey /* , receiver */) {
- var receiver = arguments.length < 3 ? target : arguments[2];
- var descriptor, prototype;
- if (anObject(target) === receiver) { return target[propertyKey]; }
- if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) { return has$1(descriptor, 'value')
- ? descriptor.value
- : descriptor.get === undefined
- ? undefined
- : descriptor.get.call(receiver); }
- if (isObject(prototype = objectGetPrototypeOf(target))) { return get(prototype, propertyKey, receiver); }
+ });
}
-
- _export({ target: 'Reflect', stat: true }, {
- get: get
});
- // `Reflect.getOwnPropertyDescriptor` method
- // https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor
- _export({ target: 'Reflect', stat: true, sham: !descriptors }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
- return objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
+ // `WeakSet` constructor
+ // https://tc39.es/ecma262/#sec-weakset-constructor
+ collection('WeakSet', function (init) {
+ return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };
+ }, collectionWeak);
+
+ // `Array.prototype.at` method
+ // https://github.com/tc39/proposal-relative-indexing-method
+ _export({ target: 'Array', proto: true }, {
+ at: function at(index) {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ var relativeIndex = toInteger(index);
+ var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
+ return (k < 0 || k >= len) ? undefined : O[k];
}
});
- // `Reflect.getPrototypeOf` method
- // https://tc39.es/ecma262/#sec-reflect.getprototypeof
- _export({ target: 'Reflect', stat: true, sham: !correctPrototypeGetter }, {
- getPrototypeOf: function getPrototypeOf(target) {
- return objectGetPrototypeOf(anObject(target));
+ addToUnscopables('at');
+
+ var $filterOut$1 = arrayIteration.filterOut;
+
+
+ // `Array.prototype.filterOut` method
+ // https://github.com/tc39/proposal-array-filtering
+ _export({ target: 'Array', proto: true }, {
+ filterOut: function filterOut(callbackfn /* , thisArg */) {
+ return $filterOut$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
});
- // `Reflect.has` method
- // https://tc39.es/ecma262/#sec-reflect.has
- _export({ target: 'Reflect', stat: true }, {
- has: function has(target, propertyKey) {
- return propertyKey in target;
+ addToUnscopables('filterOut');
+
+ // `Array.prototype.{ findLast, findLastIndex }` methods implementation
+ var createMethod$1 = function (TYPE) {
+ var IS_FIND_INDEX = TYPE == 6;
+ return function ($this, callbackfn, that) {
+ var O = toObject($this);
+ var self = indexedObject(O);
+ var boundFunction = functionBindContext(callbackfn, that, 3);
+ var index = toLength(self.length);
+ var value, result;
+ while (index-- > 0) {
+ value = self[index];
+ result = boundFunction(value, index, O);
+ if (result) { switch (TYPE) {
+ case 5: return value; // find
+ case 6: return index; // findIndex
+ } }
+ }
+ return IS_FIND_INDEX ? -1 : undefined;
+ };
+ };
+
+ var arrayIterationFromLast = {
+ // `Array.prototype.findLast` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ findLast: createMethod$1(5),
+ // `Array.prototype.findLastIndex` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ findLastIndex: createMethod$1(6)
+ };
+
+ var $findLast$1 = arrayIterationFromLast.findLast;
+
+
+ // `Array.prototype.findLast` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ _export({ target: 'Array', proto: true }, {
+ findLast: function findLast(callbackfn /* , that = undefined */) {
+ return $findLast$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
});
- var objectIsExtensible = Object.isExtensible;
+ addToUnscopables('findLast');
- // `Reflect.isExtensible` method
- // https://tc39.es/ecma262/#sec-reflect.isextensible
- _export({ target: 'Reflect', stat: true }, {
- isExtensible: function isExtensible(target) {
- anObject(target);
- return objectIsExtensible ? objectIsExtensible(target) : true;
+ var $findLastIndex$1 = arrayIterationFromLast.findLastIndex;
+
+
+ // `Array.prototype.findLastIndex` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ _export({ target: 'Array', proto: true }, {
+ findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) {
+ return $findLastIndex$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
});
- // `Reflect.ownKeys` method
- // https://tc39.es/ecma262/#sec-reflect.ownkeys
- _export({ target: 'Reflect', stat: true }, {
- ownKeys: ownKeys
- });
+ addToUnscopables('findLastIndex');
- // `Reflect.preventExtensions` method
- // https://tc39.es/ecma262/#sec-reflect.preventextensions
- _export({ target: 'Reflect', stat: true, sham: !freezing }, {
- preventExtensions: function preventExtensions(target) {
- anObject(target);
- try {
- var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
- if (objectPreventExtensions) { objectPreventExtensions(target); }
- return true;
- } catch (error) {
+ // eslint-disable-next-line es/no-object-isfrozen -- safe
+ var isFrozen = Object.isFrozen;
+
+ var isFrozenStringArray = function (array, allowUndefined) {
+ if (!isFrozen || !isArray(array) || !isFrozen(array)) { return false; }
+ var index = 0;
+ var length = array.length;
+ var element;
+ while (index < length) {
+ element = array[index++];
+ if (!(typeof element === 'string' || (allowUndefined && typeof element === 'undefined'))) {
return false;
}
- }
- });
+ } return length !== 0;
+ };
- // `Reflect.set` method
- // https://tc39.es/ecma262/#sec-reflect.set
- function set(target, propertyKey, V /* , receiver */) {
- var receiver = arguments.length < 4 ? target : arguments[3];
- var ownDescriptor = objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
- var existingDescriptor, prototype;
- if (!ownDescriptor) {
- if (isObject(prototype = objectGetPrototypeOf(target))) {
- return set(prototype, propertyKey, V, receiver);
- }
- ownDescriptor = createPropertyDescriptor(0);
- }
- if (has$1(ownDescriptor, 'value')) {
- if (ownDescriptor.writable === false || !isObject(receiver)) { return false; }
- if (existingDescriptor = objectGetOwnPropertyDescriptor.f(receiver, propertyKey)) {
- if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) { return false; }
- existingDescriptor.value = V;
- objectDefineProperty.f(receiver, propertyKey, existingDescriptor);
- } else { objectDefineProperty.f(receiver, propertyKey, createPropertyDescriptor(0, V)); }
+ // `Array.isTemplateObject` method
+ // https://github.com/tc39/proposal-array-is-template-object
+ _export({ target: 'Array', stat: true }, {
+ isTemplateObject: function isTemplateObject(value) {
+ if (!isFrozenStringArray(value, true)) { return false; }
+ var raw = value.raw;
+ if (raw.length !== value.length || !isFrozenStringArray(raw, false)) { return false; }
return true;
}
- return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
+ });
+
+ var defineProperty$2 = objectDefineProperty.f;
+
+ // `Array.prototype.lastIndex` getter
+ // https://github.com/keithamus/proposal-array-last
+ if (descriptors && !('lastIndex' in [])) {
+ defineProperty$2(Array.prototype, 'lastIndex', {
+ configurable: true,
+ get: function lastIndex() {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ return len == 0 ? 0 : len - 1;
+ }
+ });
+
+ addToUnscopables('lastIndex');
}
- // MS Edge 17-18 Reflect.set allows setting the property to object
- // with non-writable property on the prototype
- var MS_EDGE_BUG = fails(function () {
- var Constructor = function () { /* empty */ };
- var object = objectDefineProperty.f(new Constructor(), 'a', { configurable: true });
- /* global Reflect -- required for testing */
- return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;
- });
+ var defineProperty$1 = objectDefineProperty.f;
- _export({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {
- set: set
- });
-
- // `Reflect.setPrototypeOf` method
- // https://tc39.es/ecma262/#sec-reflect.setprototypeof
- if (objectSetPrototypeOf) { _export({ target: 'Reflect', stat: true }, {
- setPrototypeOf: function setPrototypeOf(target, proto) {
- anObject(target);
- aPossiblePrototype(proto);
- try {
- objectSetPrototypeOf(target, proto);
- return true;
- } catch (error) {
- return false;
+ // `Array.prototype.lastIndex` accessor
+ // https://github.com/keithamus/proposal-array-last
+ if (descriptors && !('lastItem' in [])) {
+ defineProperty$1(Array.prototype, 'lastItem', {
+ configurable: true,
+ get: function lastItem() {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ return len == 0 ? undefined : O[len - 1];
+ },
+ set: function lastItem(value) {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ return O[len == 0 ? 0 : len - 1] = value;
}
+ });
+
+ addToUnscopables('lastItem');
+ }
+
+ var push$2 = [].push;
+
+ // `Array.prototype.uniqueBy` method
+ // https://github.com/tc39/proposal-array-unique
+ var arrayUniqueBy = function uniqueBy(resolver) {
+ var that = toObject(this);
+ var length = toLength(that.length);
+ var result = arraySpeciesCreate(that, 0);
+ var Map = getBuiltIn('Map');
+ var map = new Map();
+ var resolverFunction, index, item, key;
+ if (typeof resolver == 'function') { resolverFunction = resolver; }
+ else if (resolver == null) { resolverFunction = function (value) {
+ return value;
+ }; }
+ else { throw new TypeError('Incorrect resolver!'); }
+ for (index = 0; index < length; index++) {
+ item = that[index];
+ key = resolverFunction(item);
+ if (!map.has(key)) { map.set(key, item); }
+ }
+ map.forEach(function (value) {
+ push$2.call(result, value);
+ });
+ return result;
+ };
+
+ // `Array.prototype.uniqueBy` method
+ // https://github.com/tc39/proposal-array-unique
+ _export({ target: 'Array', proto: true }, {
+ uniqueBy: arrayUniqueBy
+ });
+
+ addToUnscopables('uniqueBy');
+
+ var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
+ var ASYNC_ITERATOR$1 = wellKnownSymbol('asyncIterator');
+ var AsyncIterator$1 = global_1.AsyncIterator;
+ var PassedAsyncIteratorPrototype = sharedStore.AsyncIteratorPrototype;
+ var AsyncIteratorPrototype, prototype;
+
+ {
+ if (PassedAsyncIteratorPrototype) {
+ AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
+ } else if (typeof AsyncIterator$1 == 'function') {
+ AsyncIteratorPrototype = AsyncIterator$1.prototype;
+ } else if (sharedStore[USE_FUNCTION_CONSTRUCTOR] || global_1[USE_FUNCTION_CONSTRUCTOR]) {
+ try {
+ // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax
+ prototype = objectGetPrototypeOf(objectGetPrototypeOf(objectGetPrototypeOf(Function('return async function*(){}()')())));
+ if (objectGetPrototypeOf(prototype) === Object.prototype) { AsyncIteratorPrototype = prototype; }
+ } catch (error) { /* empty */ }
+ }
+ }
+
+ if (!AsyncIteratorPrototype) { AsyncIteratorPrototype = {}; }
+
+ if (!has$1(AsyncIteratorPrototype, ASYNC_ITERATOR$1)) {
+ createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR$1, function () {
+ return this;
+ });
+ }
+
+ var asyncIteratorPrototype = AsyncIteratorPrototype;
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+
+
+ var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag');
+
+ var AsyncIteratorConstructor = function AsyncIterator() {
+ anInstance(this, AsyncIteratorConstructor);
+ };
+
+ AsyncIteratorConstructor.prototype = asyncIteratorPrototype;
+
+ if (!has$1(asyncIteratorPrototype, TO_STRING_TAG$4)) {
+ createNonEnumerableProperty(asyncIteratorPrototype, TO_STRING_TAG$4, 'AsyncIterator');
+ }
+
+ if (!has$1(asyncIteratorPrototype, 'constructor') || asyncIteratorPrototype.constructor === Object) {
+ createNonEnumerableProperty(asyncIteratorPrototype, 'constructor', AsyncIteratorConstructor);
+ }
+
+ _export({ global: true, forced: isPure }, {
+ AsyncIterator: AsyncIteratorConstructor
+ });
+
+ var Promise$3 = getBuiltIn('Promise');
+
+ var setInternalState$8 = internalState.set;
+ var getInternalState$6 = internalState.get;
+
+ var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
+
+ var $return$1 = function (value) {
+ var iterator = getInternalState$6(this).iterator;
+ var $$return = iterator['return'];
+ return $$return === undefined
+ ? Promise$3.resolve({ done: true, value: value })
+ : anObject($$return.call(iterator, value));
+ };
+
+ var $throw$1 = function (value) {
+ var iterator = getInternalState$6(this).iterator;
+ var $$throw = iterator['throw'];
+ return $$throw === undefined
+ ? Promise$3.reject(value)
+ : $$throw.call(iterator, value);
+ };
+
+ var asyncIteratorCreateProxy = function (nextHandler, IS_ITERATOR) {
+ var AsyncIteratorProxy = function AsyncIterator(state) {
+ state.next = aFunction(state.iterator.next);
+ state.done = false;
+ setInternalState$8(this, state);
+ };
+
+ AsyncIteratorProxy.prototype = redefineAll(objectCreate(path.AsyncIterator.prototype), {
+ next: function next(arg) {
+ var state = getInternalState$6(this);
+ if (state.done) { return Promise$3.resolve({ done: true, value: undefined }); }
+ try {
+ return Promise$3.resolve(anObject(nextHandler.call(state, arg, Promise$3)));
+ } catch (error) {
+ return Promise$3.reject(error);
+ }
+ },
+ 'return': $return$1,
+ 'throw': $throw$1
+ });
+
+ if (!IS_ITERATOR) {
+ createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG$3, 'Generator');
+ }
+
+ return AsyncIteratorProxy;
+ };
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+ var AsyncIteratorProxy$6 = asyncIteratorCreateProxy(function (arg, Promise) {
+ var state = this;
+ var iterator = state.iterator;
+
+ return Promise.resolve(anObject(state.next.call(iterator, arg))).then(function (step) {
+ if (anObject(step).done) {
+ state.done = true;
+ return { done: true, value: undefined };
+ }
+ return { done: false, value: [state.index++, step.value] };
+ });
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ asIndexedPairs: function asIndexedPairs() {
+ return new AsyncIteratorProxy$6({
+ iterator: anObject(this),
+ index: 0
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var AsyncIteratorProxy$5 = asyncIteratorCreateProxy(function (arg, Promise) {
+ var state = this;
+
+ return new Promise(function (resolve, reject) {
+ var loop = function () {
+ try {
+ Promise.resolve(
+ anObject(state.next.call(state.iterator, state.remaining ? undefined : arg))
+ ).then(function (step) {
+ try {
+ if (anObject(step).done) {
+ state.done = true;
+ resolve({ done: true, value: undefined });
+ } else if (state.remaining) {
+ state.remaining--;
+ loop();
+ } else { resolve({ done: false, value: step.value }); }
+ } catch (err) { reject(err); }
+ }, reject);
+ } catch (error) { reject(error); }
+ };
+
+ loop();
+ });
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ drop: function drop(limit) {
+ return new AsyncIteratorProxy$5({
+ iterator: anObject(this),
+ remaining: toPositiveInteger(limit)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+ var Promise$2 = getBuiltIn('Promise');
+ var push$1 = [].push;
+
+ var createMethod = function (TYPE) {
+ var IS_TO_ARRAY = TYPE == 0;
+ var IS_FOR_EACH = TYPE == 1;
+ var IS_EVERY = TYPE == 2;
+ var IS_SOME = TYPE == 3;
+ return function (iterator, fn) {
+ anObject(iterator);
+ var next = aFunction(iterator.next);
+ var array = IS_TO_ARRAY ? [] : undefined;
+ if (!IS_TO_ARRAY) { aFunction(fn); }
+
+ return new Promise$2(function (resolve, reject) {
+ var closeIteration = function (method, argument) {
+ try {
+ var returnMethod = iterator['return'];
+ if (returnMethod !== undefined) {
+ return Promise$2.resolve(returnMethod.call(iterator)).then(function () {
+ method(argument);
+ }, function (error) {
+ reject(error);
+ });
+ }
+ } catch (error2) {
+ return reject(error2);
+ } method(argument);
+ };
+
+ var onError = function (error) {
+ closeIteration(reject, error);
+ };
+
+ var loop = function () {
+ try {
+ Promise$2.resolve(anObject(next.call(iterator))).then(function (step) {
+ try {
+ if (anObject(step).done) {
+ resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined);
+ } else {
+ var value = step.value;
+ if (IS_TO_ARRAY) {
+ push$1.call(array, value);
+ loop();
+ } else {
+ Promise$2.resolve(fn(value)).then(function (result) {
+ if (IS_FOR_EACH) {
+ loop();
+ } else if (IS_EVERY) {
+ result ? loop() : closeIteration(resolve, false);
+ } else {
+ result ? closeIteration(resolve, IS_SOME || value) : loop();
+ }
+ }, onError);
+ }
+ }
+ } catch (error) { onError(error); }
+ }, onError);
+ } catch (error2) { onError(error2); }
+ };
+
+ loop();
+ });
+ };
+ };
+
+ var asyncIteratorIteration = {
+ toArray: createMethod(0),
+ forEach: createMethod(1),
+ every: createMethod(2),
+ some: createMethod(3),
+ find: createMethod(4)
+ };
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+ var $every = asyncIteratorIteration.every;
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ every: function every(fn) {
+ return $every(this, fn);
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var AsyncIteratorProxy$4 = asyncIteratorCreateProxy(function (arg, Promise) {
+ var state = this;
+ var filterer = state.filterer;
+
+ return new Promise(function (resolve, reject) {
+ var loop = function () {
+ try {
+ Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
+ try {
+ if (anObject(step).done) {
+ state.done = true;
+ resolve({ done: true, value: undefined });
+ } else {
+ var value = step.value;
+ Promise.resolve(filterer(value)).then(function (selected) {
+ selected ? resolve({ done: false, value: value }) : loop();
+ }, reject);
+ }
+ } catch (err) { reject(err); }
+ }, reject);
+ } catch (error) { reject(error); }
+ };
+
+ loop();
+ });
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ filter: function filter(filterer) {
+ return new AsyncIteratorProxy$4({
+ iterator: anObject(this),
+ filterer: aFunction(filterer)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+ var $find = asyncIteratorIteration.find;
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ find: function find(fn) {
+ return $find(this, fn);
+ }
+ });
+
+ var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
+
+ var getAsyncIteratorMethod = function (it) {
+ var method = it[ASYNC_ITERATOR];
+ return method === undefined ? getIteratorMethod(it) : method;
+ };
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+ var AsyncIteratorProxy$3 = asyncIteratorCreateProxy(function (arg, Promise) {
+ var state = this;
+ var mapper = state.mapper;
+ var innerIterator, iteratorMethod;
+
+ return new Promise(function (resolve, reject) {
+ var outerLoop = function () {
+ try {
+ Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
+ try {
+ if (anObject(step).done) {
+ state.done = true;
+ resolve({ done: true, value: undefined });
+ } else {
+ Promise.resolve(mapper(step.value)).then(function (mapped) {
+ try {
+ iteratorMethod = getAsyncIteratorMethod(mapped);
+ if (iteratorMethod !== undefined) {
+ state.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
+ state.innerNext = aFunction(innerIterator.next);
+ return innerLoop();
+ } reject(TypeError('.flatMap callback should return an iterable object'));
+ } catch (error2) { reject(error2); }
+ }, reject);
+ }
+ } catch (error1) { reject(error1); }
+ }, reject);
+ } catch (error) { reject(error); }
+ };
+
+ var innerLoop = function () {
+ if (innerIterator = state.innerIterator) {
+ try {
+ Promise.resolve(anObject(state.innerNext.call(innerIterator))).then(function (result) {
+ try {
+ if (anObject(result).done) {
+ state.innerIterator = state.innerNext = null;
+ outerLoop();
+ } else { resolve({ done: false, value: result.value }); }
+ } catch (error1) { reject(error1); }
+ }, reject);
+ } catch (error) { reject(error); }
+ } else { outerLoop(); }
+ };
+
+ innerLoop();
+ });
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ flatMap: function flatMap(mapper) {
+ return new AsyncIteratorProxy$3({
+ iterator: anObject(this),
+ mapper: aFunction(mapper),
+ innerIterator: null,
+ innerNext: null
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+ var $forEach = asyncIteratorIteration.forEach;
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ forEach: function forEach(fn) {
+ return $forEach(this, fn);
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+
+
+ var AsyncIterator = path.AsyncIterator;
+
+ var AsyncIteratorProxy$2 = asyncIteratorCreateProxy(function (arg) {
+ return anObject(this.next.call(this.iterator, arg));
+ }, true);
+
+ _export({ target: 'AsyncIterator', stat: true }, {
+ from: function from(O) {
+ var object = toObject(O);
+ var usingIterator = getAsyncIteratorMethod(object);
+ var iterator;
+ if (usingIterator != null) {
+ iterator = aFunction(usingIterator).call(object);
+ if (iterator instanceof AsyncIterator) { return iterator; }
+ } else {
+ iterator = object;
+ } return new AsyncIteratorProxy$2({
+ iterator: iterator
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var AsyncIteratorProxy$1 = asyncIteratorCreateProxy(function (arg, Promise) {
+ var state = this;
+ var mapper = state.mapper;
+
+ return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
+ if (anObject(step).done) {
+ state.done = true;
+ return { done: true, value: undefined };
+ }
+ return Promise.resolve(mapper(step.value)).then(function (value) {
+ return { done: false, value: value };
+ });
+ });
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ map: function map(mapper) {
+ return new AsyncIteratorProxy$1({
+ iterator: anObject(this),
+ mapper: aFunction(mapper)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var Promise$1 = getBuiltIn('Promise');
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ reduce: function reduce(reducer /* , initialValue */) {
+ var iterator = anObject(this);
+ var next = aFunction(iterator.next);
+ var noInitial = arguments.length < 2;
+ var accumulator = noInitial ? undefined : arguments[1];
+ aFunction(reducer);
+
+ return new Promise$1(function (resolve, reject) {
+ var loop = function () {
+ try {
+ Promise$1.resolve(anObject(next.call(iterator))).then(function (step) {
+ try {
+ if (anObject(step).done) {
+ noInitial ? reject(TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);
+ } else {
+ var value = step.value;
+ if (noInitial) {
+ noInitial = false;
+ accumulator = value;
+ loop();
+ } else {
+ Promise$1.resolve(reducer(accumulator, value)).then(function (result) {
+ accumulator = result;
+ loop();
+ }, reject);
+ }
+ }
+ } catch (err) { reject(err); }
+ }, reject);
+ } catch (error) { reject(error); }
+ };
+
+ loop();
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+ var $some = asyncIteratorIteration.some;
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ some: function some(fn) {
+ return $some(this, fn);
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var AsyncIteratorProxy = asyncIteratorCreateProxy(function (arg, Promise) {
+ var iterator = this.iterator;
+ var returnMethod, result;
+ if (!this.remaining--) {
+ result = { done: true, value: undefined };
+ this.done = true;
+ returnMethod = iterator['return'];
+ if (returnMethod !== undefined) {
+ return Promise.resolve(returnMethod.call(iterator)).then(function () {
+ return result;
+ });
+ }
+ return result;
+ } return this.next.call(iterator, arg);
+ });
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ take: function take(limit) {
+ return new AsyncIteratorProxy({
+ iterator: anObject(this),
+ remaining: toPositiveInteger(limit)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+ var $toArray = asyncIteratorIteration.toArray;
+
+ _export({ target: 'AsyncIterator', proto: true, real: true }, {
+ toArray: function toArray() {
+ return $toArray(this);
+ }
+ });
+
+ var INCORRECT_RANGE = 'Incorrect Number.range arguments';
+ var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';
+
+ var setInternalState$7 = internalState.set;
+ var getInternalState$5 = internalState.getterFor(NUMERIC_RANGE_ITERATOR);
+
+ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
+ if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
+ throw new TypeError(INCORRECT_RANGE);
+ }
+ if (start === Infinity || start === -Infinity) {
+ throw new RangeError(INCORRECT_RANGE);
+ }
+ var ifIncrease = end > start;
+ var inclusiveEnd = false;
+ var step;
+ if (option === undefined) {
+ step = undefined;
+ } else if (isObject(option)) {
+ step = option.step;
+ inclusiveEnd = !!option.inclusive;
+ } else if (typeof option == type) {
+ step = option;
+ } else {
+ throw new TypeError(INCORRECT_RANGE);
+ }
+ if (step == null) {
+ step = ifIncrease ? one : -one;
+ }
+ if (typeof step != type) {
+ throw new TypeError(INCORRECT_RANGE);
+ }
+ if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
+ throw new RangeError(INCORRECT_RANGE);
+ }
+ // eslint-disable-next-line no-self-compare -- NaN check
+ var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
+ setInternalState$7(this, {
+ type: NUMERIC_RANGE_ITERATOR,
+ start: start,
+ end: end,
+ step: step,
+ inclusiveEnd: inclusiveEnd,
+ hitsEnd: hitsEnd,
+ currentCount: zero,
+ zero: zero
+ });
+ if (!descriptors) {
+ this.start = start;
+ this.end = end;
+ this.step = step;
+ this.inclusive = inclusiveEnd;
+ }
+ }, NUMERIC_RANGE_ITERATOR, function next() {
+ var state = getInternalState$5(this);
+ if (state.hitsEnd) { return { value: undefined, done: true }; }
+ var start = state.start;
+ var end = state.end;
+ var step = state.step;
+ var currentYieldingValue = start + (step * state.currentCount++);
+ if (currentYieldingValue === end) { state.hitsEnd = true; }
+ var inclusiveEnd = state.inclusiveEnd;
+ var endCondition;
+ if (end > start) {
+ endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;
+ } else {
+ endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue;
+ }
+ if (endCondition) {
+ return { value: undefined, done: state.hitsEnd = true };
+ } return { value: currentYieldingValue, done: false };
+ });
+
+ var getter = function (fn) {
+ return { get: fn, set: function () { /* empty */ }, configurable: true, enumerable: false };
+ };
+
+ if (descriptors) {
+ objectDefineProperties($RangeIterator.prototype, {
+ start: getter(function () {
+ return getInternalState$5(this).start;
+ }),
+ end: getter(function () {
+ return getInternalState$5(this).end;
+ }),
+ inclusive: getter(function () {
+ return getInternalState$5(this).inclusiveEnd;
+ }),
+ step: getter(function () {
+ return getInternalState$5(this).step;
+ })
+ });
+ }
+
+ var numericRangeIterator = $RangeIterator;
+
+ /* eslint-disable es/no-bigint -- safe */
+
+
+
+ // `BigInt.range` method
+ // https://github.com/tc39/proposal-Number.range
+ if (typeof BigInt == 'function') {
+ _export({ target: 'BigInt', stat: true }, {
+ range: function range(start, end, option) {
+ return new numericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
+ }
+ });
+ }
+
+ // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
+
+
+
+
+
+ var Node = function () {
+ // keys
+ this.object = null;
+ this.symbol = null;
+ // child nodes
+ this.primitives = null;
+ this.objectsByIndex = objectCreate(null);
+ };
+
+ Node.prototype.get = function (key, initializer) {
+ return this[key] || (this[key] = initializer());
+ };
+
+ Node.prototype.next = function (i, it, IS_OBJECT) {
+ var store = IS_OBJECT
+ ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new es_weakMap())
+ : this.primitives || (this.primitives = new es_map());
+ var entry = store.get(it);
+ if (!entry) { store.set(it, entry = new Node()); }
+ return entry;
+ };
+
+ var root = new Node();
+
+ var compositeKey = function () {
+ var arguments$1 = arguments;
+
+ var active = root;
+ var length = arguments.length;
+ var i, it;
+ // for prevent leaking, start from objects
+ for (i = 0; i < length; i++) {
+ if (isObject(it = arguments$1[i])) { active = active.next(i, it, true); }
+ }
+ if (this === Object && active === root) { throw TypeError('Composite keys must contain a non-primitive component'); }
+ for (i = 0; i < length; i++) {
+ if (!isObject(it = arguments$1[i])) { active = active.next(i, it, false); }
+ } return active;
+ };
+
+ var initializer = function () {
+ var freeze = getBuiltIn('Object', 'freeze');
+ return freeze ? freeze(objectCreate(null)) : objectCreate(null);
+ };
+
+ // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
+ _export({ global: true }, {
+ compositeKey: function compositeKey$1() {
+ return compositeKey.apply(Object, arguments).get('object', initializer);
+ }
+ });
+
+ // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
+ _export({ global: true }, {
+ compositeSymbol: function compositeSymbol() {
+ if (arguments.length === 1 && typeof arguments[0] === 'string') { return getBuiltIn('Symbol')['for'](arguments[0]); }
+ return compositeKey.apply(null, arguments).get('symbol', getBuiltIn('Symbol'));
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+
+ var IteratorPrototype = iteratorsCore.IteratorPrototype;
+
+
+ wellKnownSymbol('iterator');
+ var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
+
+ var NativeIterator = global_1.Iterator;
+
+ // FF56- have non-standard global helper `Iterator`
+ var FORCED$2 = typeof NativeIterator != 'function'
+ || NativeIterator.prototype !== IteratorPrototype
+ // FF44- non-standard `Iterator` passes previous tests
+ || !fails(function () { NativeIterator({}); });
+
+ var IteratorConstructor = function Iterator() {
+ anInstance(this, IteratorConstructor);
+ };
+
+ if (!has$1(IteratorPrototype, TO_STRING_TAG$2)) {
+ createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG$2, 'Iterator');
+ }
+
+ if (FORCED$2 || !has$1(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
+ createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);
+ }
+
+ IteratorConstructor.prototype = IteratorPrototype;
+
+ _export({ global: true, forced: FORCED$2 }, {
+ Iterator: IteratorConstructor
+ });
+
+ var setInternalState$6 = internalState.set;
+ var getInternalState$4 = internalState.get;
+
+ var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
+
+ var $return = function (value) {
+ var iterator = getInternalState$4(this).iterator;
+ var $$return = iterator['return'];
+ return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value));
+ };
+
+ var $throw = function (value) {
+ var iterator = getInternalState$4(this).iterator;
+ var $$throw = iterator['throw'];
+ if ($$throw === undefined) { throw value; }
+ return $$throw.call(iterator, value);
+ };
+
+ var iteratorCreateProxy = function (nextHandler, IS_ITERATOR) {
+ var IteratorProxy = function Iterator(state) {
+ state.next = aFunction(state.iterator.next);
+ state.done = false;
+ setInternalState$6(this, state);
+ };
+
+ IteratorProxy.prototype = redefineAll(objectCreate(path.Iterator.prototype), {
+ next: function next() {
+ var state = getInternalState$4(this);
+ var result = state.done ? undefined : nextHandler.apply(state, arguments);
+ return { done: state.done, value: result };
+ },
+ 'return': $return,
+ 'throw': $throw
+ });
+
+ if (!IS_ITERATOR) {
+ createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG$1, 'Generator');
+ }
+
+ return IteratorProxy;
+ };
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+ var IteratorProxy$6 = iteratorCreateProxy(function (arg) {
+ var result = anObject(this.next.call(this.iterator, arg));
+ var done = this.done = !!result.done;
+ if (!done) { return [this.index++, result.value]; }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ asIndexedPairs: function asIndexedPairs() {
+ return new IteratorProxy$6({
+ iterator: anObject(this),
+ index: 0
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ var IteratorProxy$5 = iteratorCreateProxy(function (arg) {
+ var iterator = this.iterator;
+ var next = this.next;
+ var result, done;
+ while (this.remaining) {
+ this.remaining--;
+ result = anObject(next.call(iterator));
+ done = this.done = !!result.done;
+ if (done) { return; }
+ }
+ result = anObject(next.call(iterator, arg));
+ done = this.done = !!result.done;
+ if (!done) { return result.value; }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ drop: function drop(limit) {
+ return new IteratorProxy$5({
+ iterator: anObject(this),
+ remaining: toPositiveInteger(limit)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ every: function every(fn) {
+ anObject(this);
+ aFunction(fn);
+ return !iterate(this, function (value, stop) {
+ if (!fn(value)) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+ var IteratorProxy$4 = iteratorCreateProxy(function (arg) {
+ var iterator = this.iterator;
+ var filterer = this.filterer;
+ var next = this.next;
+ var result, done, value;
+ while (true) {
+ result = anObject(next.call(iterator, arg));
+ done = this.done = !!result.done;
+ if (done) { return; }
+ value = result.value;
+ if (callWithSafeIterationClosing(iterator, filterer, value)) { return value; }
+ }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ filter: function filter(filterer) {
+ return new IteratorProxy$4({
+ iterator: anObject(this),
+ filterer: aFunction(filterer)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ find: function find(fn) {
+ anObject(this);
+ aFunction(fn);
+ return iterate(this, function (value, stop) {
+ if (fn(value)) { return stop(value); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).result;
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+
+ var IteratorProxy$3 = iteratorCreateProxy(function (arg) {
+ var iterator = this.iterator;
+ var mapper = this.mapper;
+ var result, mapped, iteratorMethod, innerIterator;
+
+ while (true) {
+ try {
+ if (innerIterator = this.innerIterator) {
+ result = anObject(this.innerNext.call(innerIterator));
+ if (!result.done) { return result.value; }
+ this.innerIterator = this.innerNext = null;
+ }
+
+ result = anObject(this.next.call(iterator, arg));
+
+ if (this.done = !!result.done) { return; }
+
+ mapped = mapper(result.value);
+ iteratorMethod = getIteratorMethod(mapped);
+
+ if (iteratorMethod === undefined) {
+ throw TypeError('.flatMap callback should return an iterable object');
+ }
+
+ this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
+ this.innerNext = aFunction(innerIterator.next);
+ } catch (error) {
+ iteratorClose(iterator);
+ throw error;
+ }
+ }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ flatMap: function flatMap(mapper) {
+ return new IteratorProxy$3({
+ iterator: anObject(this),
+ mapper: aFunction(mapper),
+ innerIterator: null,
+ innerNext: null
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ forEach: function forEach(fn) {
+ iterate(anObject(this), fn, { IS_ITERATOR: true });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+
+
+ var Iterator = path.Iterator;
+
+ var IteratorProxy$2 = iteratorCreateProxy(function (arg) {
+ var result = anObject(this.next.call(this.iterator, arg));
+ var done = this.done = !!result.done;
+ if (!done) { return result.value; }
+ }, true);
+
+ _export({ target: 'Iterator', stat: true }, {
+ from: function from(O) {
+ var object = toObject(O);
+ var usingIterator = getIteratorMethod(object);
+ var iterator;
+ if (usingIterator != null) {
+ iterator = aFunction(usingIterator).call(object);
+ if (iterator instanceof Iterator) { return iterator; }
+ } else {
+ iterator = object;
+ } return new IteratorProxy$2({
+ iterator: iterator
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+ var IteratorProxy$1 = iteratorCreateProxy(function (arg) {
+ var iterator = this.iterator;
+ var result = anObject(this.next.call(iterator, arg));
+ var done = this.done = !!result.done;
+ if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, result.value); }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ map: function map(mapper) {
+ return new IteratorProxy$1({
+ iterator: anObject(this),
+ mapper: aFunction(mapper)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ reduce: function reduce(reducer /* , initialValue */) {
+ anObject(this);
+ aFunction(reducer);
+ var noInitial = arguments.length < 2;
+ var accumulator = noInitial ? undefined : arguments[1];
+ iterate(this, function (value) {
+ if (noInitial) {
+ noInitial = false;
+ accumulator = value;
+ } else {
+ accumulator = reducer(accumulator, value);
+ }
+ }, { IS_ITERATOR: true });
+ if (noInitial) { throw TypeError('Reduce of empty iterator with no initial value'); }
+ return accumulator;
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ some: function some(fn) {
+ anObject(this);
+ aFunction(fn);
+ return iterate(this, function (value, stop) {
+ if (fn(value)) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+
+
+ var IteratorProxy = iteratorCreateProxy(function (arg) {
+ var iterator = this.iterator;
+ if (!this.remaining--) {
+ this.done = true;
+ return iteratorClose(iterator);
+ }
+ var result = anObject(this.next.call(iterator, arg));
+ var done = this.done = !!result.done;
+ if (!done) { return result.value; }
+ });
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ take: function take(limit) {
+ return new IteratorProxy({
+ iterator: anObject(this),
+ remaining: toPositiveInteger(limit)
+ });
+ }
+ });
+
+ // https://github.com/tc39/proposal-iterator-helpers
+
+
+
+
+ var push = [].push;
+
+ _export({ target: 'Iterator', proto: true, real: true }, {
+ toArray: function toArray() {
+ var result = [];
+ iterate(anObject(this), push, { that: result, IS_ITERATOR: true });
+ return result;
+ }
+ });
+
+ // https://github.com/tc39/collection-methods
+ var collectionDeleteAll = function (/* ...elements */) {
+ var arguments$1 = arguments;
+
+ var collection = anObject(this);
+ var remover = aFunction(collection['delete']);
+ var allDeleted = true;
+ var wasDeleted;
+ for (var k = 0, len = arguments.length; k < len; k++) {
+ wasDeleted = remover.call(collection, arguments$1[k]);
+ allDeleted = allDeleted && wasDeleted;
+ }
+ return !!allDeleted;
+ };
+
+ // `Map.prototype.deleteAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ deleteAll: function deleteAll(/* ...elements */) {
+ return collectionDeleteAll.apply(this, arguments);
+ }
+ });
+
+ // `Map.prototype.emplace` method
+ // https://github.com/thumbsupep/proposal-upsert
+ var mapEmplace = function emplace(key, handler) {
+ var map = anObject(this);
+ var value = (map.has(key) && 'update' in handler)
+ ? handler.update(map.get(key), key, map)
+ : handler.insert(key, map);
+ map.set(key, value);
+ return value;
+ };
+
+ // `Map.prototype.emplace` method
+ // https://github.com/thumbsupep/proposal-upsert
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ emplace: mapEmplace
+ });
+
+ var getIterator = function (it) {
+ var iteratorMethod = getIteratorMethod(it);
+ if (typeof iteratorMethod != 'function') {
+ throw TypeError(String(it) + ' is not iterable');
+ } return anObject(iteratorMethod.call(it));
+ };
+
+ var getMapIterator = function (it) {
+ // eslint-disable-next-line es/no-map -- safe
+ return Map.prototype.entries.call(it);
+ };
+
+ // `Map.prototype.every` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ every: function every(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return !iterate(iterator, function (key, value, stop) {
+ if (!boundFunction(value, key, map)) { return stop(); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Map.prototype.filter` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ filter: function filter(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
+ var setter = aFunction(newMap.set);
+ iterate(iterator, function (key, value) {
+ if (boundFunction(value, key, map)) { setter.call(newMap, key, value); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true });
+ return newMap;
+ }
+ });
+
+ // `Map.prototype.find` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ find: function find(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return iterate(iterator, function (key, value, stop) {
+ if (boundFunction(value, key, map)) { return stop(value); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
+ }
+ });
+
+ // `Map.prototype.findKey` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ findKey: function findKey(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return iterate(iterator, function (key, value, stop) {
+ if (boundFunction(value, key, map)) { return stop(key); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
+ }
+ });
+
+ // https://tc39.github.io/proposal-setmap-offrom/
+
+
+
+
+ var collectionFrom = function from(source /* , mapFn, thisArg */) {
+ var length = arguments.length;
+ var mapFn = length > 1 ? arguments[1] : undefined;
+ var mapping, array, n, boundFunction;
+ aFunction(this);
+ mapping = mapFn !== undefined;
+ if (mapping) { aFunction(mapFn); }
+ if (source == undefined) { return new this(); }
+ array = [];
+ if (mapping) {
+ n = 0;
+ boundFunction = functionBindContext(mapFn, length > 2 ? arguments[2] : undefined, 2);
+ iterate(source, function (nextItem) {
+ array.push(boundFunction(nextItem, n++));
+ });
+ } else {
+ iterate(source, array.push, { that: array });
+ }
+ return new this(array);
+ };
+
+ // `Map.from` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
+ _export({ target: 'Map', stat: true }, {
+ from: collectionFrom
+ });
+
+ // `Map.groupBy` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', stat: true }, {
+ groupBy: function groupBy(iterable, keyDerivative) {
+ var newMap = new this();
+ aFunction(keyDerivative);
+ var has = aFunction(newMap.has);
+ var get = aFunction(newMap.get);
+ var set = aFunction(newMap.set);
+ iterate(iterable, function (element) {
+ var derivedKey = keyDerivative(element);
+ if (!has.call(newMap, derivedKey)) { set.call(newMap, derivedKey, [element]); }
+ else { get.call(newMap, derivedKey).push(element); }
+ });
+ return newMap;
+ }
+ });
+
+ // `SameValueZero` abstract operation
+ // https://tc39.es/ecma262/#sec-samevaluezero
+ var sameValueZero = function (x, y) {
+ // eslint-disable-next-line no-self-compare -- NaN check
+ return x === y || x != x && y != y;
+ };
+
+ // `Map.prototype.includes` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ includes: function includes(searchElement) {
+ return iterate(getMapIterator(anObject(this)), function (key, value, stop) {
+ if (sameValueZero(value, searchElement)) { return stop(); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Map.keyBy` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', stat: true }, {
+ keyBy: function keyBy(iterable, keyDerivative) {
+ var newMap = new this();
+ aFunction(keyDerivative);
+ var setter = aFunction(newMap.set);
+ iterate(iterable, function (element) {
+ setter.call(newMap, keyDerivative(element), element);
+ });
+ return newMap;
+ }
+ });
+
+ // `Map.prototype.includes` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ keyOf: function keyOf(searchElement) {
+ return iterate(getMapIterator(anObject(this)), function (key, value, stop) {
+ if (value === searchElement) { return stop(key); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
+ }
+ });
+
+ // `Map.prototype.mapKeys` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ mapKeys: function mapKeys(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
+ var setter = aFunction(newMap.set);
+ iterate(iterator, function (key, value) {
+ setter.call(newMap, boundFunction(value, key, map), value);
+ }, { AS_ENTRIES: true, IS_ITERATOR: true });
+ return newMap;
+ }
+ });
+
+ // `Map.prototype.mapValues` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ mapValues: function mapValues(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
+ var setter = aFunction(newMap.set);
+ iterate(iterator, function (key, value) {
+ setter.call(newMap, key, boundFunction(value, key, map));
+ }, { AS_ENTRIES: true, IS_ITERATOR: true });
+ return newMap;
+ }
+ });
+
+ // `Map.prototype.merge` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
+ merge: function merge(iterable /* ...iterbles */) {
+ var arguments$1 = arguments;
+
+ var map = anObject(this);
+ var setter = aFunction(map.set);
+ var i = 0;
+ while (i < arguments.length) {
+ iterate(arguments$1[i++], setter, { that: map, AS_ENTRIES: true });
+ }
+ return map;
+ }
+ });
+
+ // https://tc39.github.io/proposal-setmap-offrom/
+ var collectionOf = function of() {
+ var arguments$1 = arguments;
+
+ var length = arguments.length;
+ var A = new Array(length);
+ while (length--) { A[length] = arguments$1[length]; }
+ return new this(A);
+ };
+
+ // `Map.of` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
+ _export({ target: 'Map', stat: true }, {
+ of: collectionOf
+ });
+
+ // `Map.prototype.reduce` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var noInitial = arguments.length < 2;
+ var accumulator = noInitial ? undefined : arguments[1];
+ aFunction(callbackfn);
+ iterate(iterator, function (key, value) {
+ if (noInitial) {
+ noInitial = false;
+ accumulator = value;
+ } else {
+ accumulator = callbackfn(accumulator, value, key, map);
+ }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true });
+ if (noInitial) { throw TypeError('Reduce of empty map with no initial value'); }
+ return accumulator;
+ }
+ });
+
+ // `Set.prototype.some` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ some: function some(callbackfn /* , thisArg */) {
+ var map = anObject(this);
+ var iterator = getMapIterator(map);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return iterate(iterator, function (key, value, stop) {
+ if (boundFunction(value, key, map)) { return stop(); }
+ }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.update` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ update: function update(key, callback /* , thunk */) {
+ var map = anObject(this);
+ var length = arguments.length;
+ aFunction(callback);
+ var isPresentInMap = map.has(key);
+ if (!isPresentInMap && length < 3) {
+ throw TypeError('Updating absent value');
+ }
+ var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map);
+ map.set(key, callback(value, key, map));
+ return map;
+ }
+ });
+
+ // `Map.prototype.upsert` method
+ // https://github.com/thumbsupep/proposal-upsert
+ var mapUpsert = function upsert(key, updateFn /* , insertFn */) {
+ var map = anObject(this);
+ var insertFn = arguments.length > 2 ? arguments[2] : undefined;
+ var value;
+ if (typeof updateFn != 'function' && typeof insertFn != 'function') {
+ throw TypeError('At least one callback required');
+ }
+ if (map.has(key)) {
+ value = map.get(key);
+ if (typeof updateFn == 'function') {
+ value = updateFn(value);
+ map.set(key, value);
+ }
+ } else if (typeof insertFn == 'function') {
+ value = insertFn();
+ map.set(key, value);
+ } return value;
+ };
+
+ // TODO: remove from `core-js@4`
+
+
+
+
+ // `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)
+ // https://github.com/thumbsupep/proposal-upsert
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ updateOrInsert: mapUpsert
+ });
+
+ // TODO: remove from `core-js@4`
+
+
+
+
+ // `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)
+ // https://github.com/thumbsupep/proposal-upsert
+ _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
+ upsert: mapUpsert
+ });
+
+ var min = Math.min;
+ var max = Math.max;
+
+ // `Math.clamp` method
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ clamp: function clamp(x, lower, upper) {
+ return min(upper, max(lower, x));
+ }
+ });
+
+ // `Math.DEG_PER_RAD` constant
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ DEG_PER_RAD: Math.PI / 180
+ });
+
+ var RAD_PER_DEG = 180 / Math.PI;
+
+ // `Math.degrees` method
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ degrees: function degrees(radians) {
+ return radians * RAD_PER_DEG;
+ }
+ });
+
+ // `Math.scale` method implementation
+ // https://rwaldron.github.io/proposal-math-extensions/
+ var mathScale = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
+ if (
+ arguments.length === 0
+ /* eslint-disable no-self-compare -- NaN check */
+ || x != x
+ || inLow != inLow
+ || inHigh != inHigh
+ || outLow != outLow
+ || outHigh != outHigh
+ /* eslint-enable no-self-compare -- NaN check */
+ ) { return NaN; }
+ if (x === Infinity || x === -Infinity) { return x; }
+ return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
+ };
+
+ // `Math.fscale` method
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
+ return mathFround(mathScale(x, inLow, inHigh, outLow, outHigh));
+ }
+ });
+
+ // `Math.iaddh` method
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ // TODO: Remove from `core-js@4`
+ _export({ target: 'Math', stat: true }, {
+ iaddh: function iaddh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0;
+ var $x1 = x1 >>> 0;
+ var $y0 = y0 >>> 0;
+ return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
+ }
+ });
+
+ // `Math.imulh` method
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ // TODO: Remove from `core-js@4`
+ _export({ target: 'Math', stat: true }, {
+ imulh: function imulh(u, v) {
+ var UINT16 = 0xFFFF;
+ var $u = +u;
+ var $v = +v;
+ var u0 = $u & UINT16;
+ var v0 = $v & UINT16;
+ var u1 = $u >> 16;
+ var v1 = $v >> 16;
+ var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
+ }
+ });
+
+ // `Math.isubh` method
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ // TODO: Remove from `core-js@4`
+ _export({ target: 'Math', stat: true }, {
+ isubh: function isubh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0;
+ var $x1 = x1 >>> 0;
+ var $y0 = y0 >>> 0;
+ return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
+ }
+ });
+
+ // `Math.RAD_PER_DEG` constant
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ RAD_PER_DEG: 180 / Math.PI
+ });
+
+ var DEG_PER_RAD = Math.PI / 180;
+
+ // `Math.radians` method
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ radians: function radians(degrees) {
+ return degrees * DEG_PER_RAD;
+ }
+ });
+
+ // `Math.scale` method
+ // https://rwaldron.github.io/proposal-math-extensions/
+ _export({ target: 'Math', stat: true }, {
+ scale: mathScale
+ });
+
+ var SEEDED_RANDOM = 'Seeded Random';
+ var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';
+ var setInternalState$5 = internalState.set;
+ var getInternalState$3 = internalState.getterFor(SEEDED_RANDOM_GENERATOR);
+ var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
+
+ var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {
+ setInternalState$5(this, {
+ type: SEEDED_RANDOM_GENERATOR,
+ seed: seed % 2147483647
+ });
+ }, SEEDED_RANDOM, function next() {
+ var state = getInternalState$3(this);
+ var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647;
+ return { value: (seed & 1073741823) / 1073741823, done: false };
+ });
+
+ // `Math.seededPRNG` method
+ // https://github.com/tc39/proposal-seeded-random
+ // based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html
+ _export({ target: 'Math', stat: true, forced: true }, {
+ seededPRNG: function seededPRNG(it) {
+ var seed = anObject(it).seed;
+ if (!numberIsFinite(seed)) { throw TypeError(SEED_TYPE_ERROR); }
+ return new $SeededRandomGenerator(seed);
+ }
+ });
+
+ // `Math.signbit` method
+ // https://github.com/tc39/proposal-Math.signbit
+ _export({ target: 'Math', stat: true }, {
+ signbit: function signbit(x) {
+ return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0;
+ }
+ });
+
+ // `Math.umulh` method
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ // TODO: Remove from `core-js@4`
+ _export({ target: 'Math', stat: true }, {
+ umulh: function umulh(u, v) {
+ var UINT16 = 0xFFFF;
+ var $u = +u;
+ var $v = +v;
+ var u0 = $u & UINT16;
+ var v0 = $v & UINT16;
+ var u1 = $u >>> 16;
+ var v1 = $v >>> 16;
+ var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
+ }
+ });
+
+ var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
+ var INVALID_RADIX = 'Invalid radix';
+ var valid = /^[\da-z]+$/;
+
+ // `Number.fromString` method
+ // https://github.com/tc39/proposal-number-fromstring
+ _export({ target: 'Number', stat: true }, {
+ fromString: function fromString(string, radix) {
+ var sign = 1;
+ var R, mathNum;
+ if (typeof string != 'string') { throw TypeError(INVALID_NUMBER_REPRESENTATION); }
+ if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); }
+ if (string.charAt(0) == '-') {
+ sign = -1;
+ string = string.slice(1);
+ if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); }
+ }
+ R = radix === undefined ? 10 : toInteger(radix);
+ if (R < 2 || R > 36) { throw RangeError(INVALID_RADIX); }
+ if (!valid.test(string) || (mathNum = numberParseInt(string, R)).toString(R) !== string) {
+ throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
+ }
+ return sign * mathNum;
+ }
+ });
+
+ // `Number.range` method
+ // https://github.com/tc39/proposal-Number.range
+ _export({ target: 'Number', stat: true }, {
+ range: function range(start, end, option) {
+ return new numericRangeIterator(start, end, option, 'number', 0, 1);
+ }
+ });
+
+ // `Object.hasOwn` method
+ // https://github.com/tc39/proposal-accessible-object-hasownproperty
+ _export({ target: 'Object', stat: true }, {
+ hasOwn: has$1
+ });
+
+ var OBJECT_ITERATOR = 'Object Iterator';
+ var setInternalState$4 = internalState.set;
+ var getInternalState$2 = internalState.getterFor(OBJECT_ITERATOR);
+
+ var objectIterator = createIteratorConstructor(function ObjectIterator(source, mode) {
+ var object = toObject(source);
+ setInternalState$4(this, {
+ type: OBJECT_ITERATOR,
+ mode: mode,
+ object: object,
+ keys: objectKeys(object),
+ index: 0
+ });
+ }, 'Object', function next() {
+ var state = getInternalState$2(this);
+ var keys = state.keys;
+ while (true) {
+ if (keys === null || state.index >= keys.length) {
+ state.object = state.keys = null;
+ return { value: undefined, done: true };
+ }
+ var key = keys[state.index++];
+ var object = state.object;
+ if (!has$1(object, key)) { continue; }
+ switch (state.mode) {
+ case 'keys': return { value: key, done: false };
+ case 'values': return { value: object[key], done: false };
+ } /* entries */ return { value: [key, object[key]], done: false };
+ }
+ });
+
+ // `Object.iterateEntries` method
+ // https://github.com/tc39/proposal-object-iteration
+ _export({ target: 'Object', stat: true }, {
+ iterateEntries: function iterateEntries(object) {
+ return new objectIterator(object, 'entries');
+ }
+ });
+
+ // `Object.iterateKeys` method
+ // https://github.com/tc39/proposal-object-iteration
+ _export({ target: 'Object', stat: true }, {
+ iterateKeys: function iterateKeys(object) {
+ return new objectIterator(object, 'keys');
+ }
+ });
+
+ // `Object.iterateValues` method
+ // https://github.com/tc39/proposal-object-iteration
+ _export({ target: 'Object', stat: true }, {
+ iterateValues: function iterateValues(object) {
+ return new objectIterator(object, 'values');
+ }
+ });
+
+ // https://github.com/tc39/proposal-observable
+
+
+
+
+
+
+
+ var defineProperty = objectDefineProperty.f;
+
+
+
+
+
+
+
+
+ var OBSERVABLE = wellKnownSymbol('observable');
+ var getInternalState$1 = internalState.get;
+ var setInternalState$3 = internalState.set;
+
+ var getMethod = function (fn) {
+ return fn == null ? undefined : aFunction(fn);
+ };
+
+ var cleanupSubscription = function (subscriptionState) {
+ var cleanup = subscriptionState.cleanup;
+ if (cleanup) {
+ subscriptionState.cleanup = undefined;
+ try {
+ cleanup();
+ } catch (error) {
+ hostReportErrors(error);
+ }
+ }
+ };
+
+ var subscriptionClosed = function (subscriptionState) {
+ return subscriptionState.observer === undefined;
+ };
+
+ var close = function (subscriptionState) {
+ var subscription = subscriptionState.facade;
+ if (!descriptors) {
+ subscription.closed = true;
+ var subscriptionObserver = subscriptionState.subscriptionObserver;
+ if (subscriptionObserver) { subscriptionObserver.closed = true; }
+ } subscriptionState.observer = undefined;
+ };
+
+ var Subscription = function (observer, subscriber) {
+ var subscriptionState = setInternalState$3(this, {
+ cleanup: undefined,
+ observer: anObject(observer),
+ subscriptionObserver: undefined
+ });
+ var start;
+ if (!descriptors) { this.closed = false; }
+ try {
+ if (start = getMethod(observer.start)) { start.call(observer, this); }
+ } catch (error) {
+ hostReportErrors(error);
+ }
+ if (subscriptionClosed(subscriptionState)) { return; }
+ var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this);
+ try {
+ var cleanup = subscriber(subscriptionObserver);
+ var subscription = cleanup;
+ if (cleanup != null) { subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function'
+ ? function () { subscription.unsubscribe(); }
+ : aFunction(cleanup); }
+ } catch (error$1) {
+ subscriptionObserver.error(error$1);
+ return;
+ } if (subscriptionClosed(subscriptionState)) { cleanupSubscription(subscriptionState); }
+ };
+
+ Subscription.prototype = redefineAll({}, {
+ unsubscribe: function unsubscribe() {
+ var subscriptionState = getInternalState$1(this);
+ if (!subscriptionClosed(subscriptionState)) {
+ close(subscriptionState);
+ cleanupSubscription(subscriptionState);
+ }
+ }
+ });
+
+ if (descriptors) { defineProperty(Subscription.prototype, 'closed', {
+ configurable: true,
+ get: function () {
+ return subscriptionClosed(getInternalState$1(this));
}
}); }
- _export({ global: true }, { Reflect: {} });
+ var SubscriptionObserver = function (subscription) {
+ setInternalState$3(this, { subscription: subscription });
+ if (!descriptors) { this.closed = false; }
+ };
- // Reflect[@@toStringTag] property
- // https://tc39.es/ecma262/#sec-reflect-@@tostringtag
- setToStringTag(global_1.Reflect, 'Reflect', true);
+ SubscriptionObserver.prototype = redefineAll({}, {
+ next: function next(value) {
+ var subscriptionState = getInternalState$1(getInternalState$1(this).subscription);
+ if (!subscriptionClosed(subscriptionState)) {
+ var observer = subscriptionState.observer;
+ try {
+ var nextMethod = getMethod(observer.next);
+ if (nextMethod) { nextMethod.call(observer, value); }
+ } catch (error) {
+ hostReportErrors(error);
+ }
+ }
+ },
+ error: function error(value) {
+ var subscriptionState = getInternalState$1(getInternalState$1(this).subscription);
+ if (!subscriptionClosed(subscriptionState)) {
+ var observer = subscriptionState.observer;
+ close(subscriptionState);
+ try {
+ var errorMethod = getMethod(observer.error);
+ if (errorMethod) { errorMethod.call(observer, value); }
+ else { hostReportErrors(value); }
+ } catch (err) {
+ hostReportErrors(err);
+ } cleanupSubscription(subscriptionState);
+ }
+ },
+ complete: function complete() {
+ var subscriptionState = getInternalState$1(getInternalState$1(this).subscription);
+ if (!subscriptionClosed(subscriptionState)) {
+ var observer = subscriptionState.observer;
+ close(subscriptionState);
+ try {
+ var completeMethod = getMethod(observer.complete);
+ if (completeMethod) { completeMethod.call(observer); }
+ } catch (error) {
+ hostReportErrors(error);
+ } cleanupSubscription(subscriptionState);
+ }
+ }
+ });
+
+ if (descriptors) { defineProperty(SubscriptionObserver.prototype, 'closed', {
+ configurable: true,
+ get: function () {
+ return subscriptionClosed(getInternalState$1(getInternalState$1(this).subscription));
+ }
+ }); }
+
+ var $Observable = function Observable(subscriber) {
+ anInstance(this, $Observable, 'Observable');
+ setInternalState$3(this, { subscriber: aFunction(subscriber) });
+ };
+
+ redefineAll($Observable.prototype, {
+ subscribe: function subscribe(observer) {
+ var length = arguments.length;
+ return new Subscription(typeof observer === 'function' ? {
+ next: observer,
+ error: length > 1 ? arguments[1] : undefined,
+ complete: length > 2 ? arguments[2] : undefined
+ } : isObject(observer) ? observer : {}, getInternalState$1(this).subscriber);
+ }
+ });
+
+ redefineAll($Observable, {
+ from: function from(x) {
+ var C = typeof this === 'function' ? this : $Observable;
+ var observableMethod = getMethod(anObject(x)[OBSERVABLE]);
+ if (observableMethod) {
+ var observable = anObject(observableMethod.call(x));
+ return observable.constructor === C ? observable : new C(function (observer) {
+ return observable.subscribe(observer);
+ });
+ }
+ var iterator = getIterator(x);
+ return new C(function (observer) {
+ iterate(iterator, function (it, stop) {
+ observer.next(it);
+ if (observer.closed) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true });
+ observer.complete();
+ });
+ },
+ of: function of() {
+ var arguments$1 = arguments;
+
+ var C = typeof this === 'function' ? this : $Observable;
+ var length = arguments.length;
+ var items = new Array(length);
+ var index = 0;
+ while (index < length) { items[index] = arguments$1[index++]; }
+ return new C(function (observer) {
+ for (var i = 0; i < length; i++) {
+ observer.next(items[i]);
+ if (observer.closed) { return; }
+ } observer.complete();
+ });
+ }
+ });
+
+ createNonEnumerableProperty($Observable.prototype, OBSERVABLE, function () { return this; });
+
+ _export({ global: true }, {
+ Observable: $Observable
+ });
+
+ setSpecies('Observable');
+
+ // `Promise.try` method
+ // https://github.com/tc39/proposal-promise-try
+ _export({ target: 'Promise', stat: true }, {
+ 'try': function (callbackfn) {
+ var promiseCapability = newPromiseCapability$1.f(this);
+ var result = perform(callbackfn);
+ (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
+ return promiseCapability.promise;
+ }
+ });
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
@@ -9459,80 +11736,578 @@ var doric = (function (exports) {
}
});
- // `Math.iaddh` method
- // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
- // TODO: Remove from `core-js@4`
- _export({ target: 'Math', stat: true }, {
- iaddh: function iaddh(x0, x1, y0, y1) {
- var $x0 = x0 >>> 0;
- var $x1 = x1 >>> 0;
- var $y0 = y0 >>> 0;
- return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
+ // https://github.com/tc39/collection-methods
+ var collectionAddAll = function (/* ...elements */) {
+ var arguments$1 = arguments;
+
+ var set = anObject(this);
+ var adder = aFunction(set.add);
+ for (var k = 0, len = arguments.length; k < len; k++) {
+ adder.call(set, arguments$1[k]);
+ }
+ return set;
+ };
+
+ // `Set.prototype.addAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ addAll: function addAll(/* ...elements */) {
+ return collectionAddAll.apply(this, arguments);
}
});
- // `Math.isubh` method
- // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
- // TODO: Remove from `core-js@4`
- _export({ target: 'Math', stat: true }, {
- isubh: function isubh(x0, x1, y0, y1) {
- var $x0 = x0 >>> 0;
- var $x1 = x1 >>> 0;
- var $y0 = y0 >>> 0;
- return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
+ // `Set.prototype.deleteAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ deleteAll: function deleteAll(/* ...elements */) {
+ return collectionDeleteAll.apply(this, arguments);
}
});
- // `Math.imulh` method
- // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
- // TODO: Remove from `core-js@4`
- _export({ target: 'Math', stat: true }, {
- imulh: function imulh(u, v) {
- var UINT16 = 0xFFFF;
- var $u = +u;
- var $v = +v;
- var u0 = $u & UINT16;
- var v0 = $v & UINT16;
- var u1 = $u >> 16;
- var v1 = $v >> 16;
- var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
- return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
+ // `Set.prototype.difference` method
+ // https://github.com/tc39/proposal-set-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ difference: function difference(iterable) {
+ var set = anObject(this);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
+ var remover = aFunction(newSet['delete']);
+ iterate(iterable, function (value) {
+ remover.call(newSet, value);
+ });
+ return newSet;
}
});
- // `Math.umulh` method
- // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
- // TODO: Remove from `core-js@4`
- _export({ target: 'Math', stat: true }, {
- umulh: function umulh(u, v) {
- var UINT16 = 0xFFFF;
- var $u = +u;
- var $v = +v;
- var u0 = $u & UINT16;
- var v0 = $v & UINT16;
- var u1 = $u >>> 16;
- var v1 = $v >>> 16;
- var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
- return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
+ var getSetIterator = function (it) {
+ // eslint-disable-next-line es/no-set -- safe
+ return Set.prototype.values.call(it);
+ };
+
+ // `Set.prototype.every` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ every: function every(callbackfn /* , thisArg */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return !iterate(iterator, function (value, stop) {
+ if (!boundFunction(value, value, set)) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.filter` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ filter: function filter(callbackfn /* , thisArg */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
+ var adder = aFunction(newSet.add);
+ iterate(iterator, function (value) {
+ if (boundFunction(value, value, set)) { adder.call(newSet, value); }
+ }, { IS_ITERATOR: true });
+ return newSet;
+ }
+ });
+
+ // `Set.prototype.find` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ find: function find(callbackfn /* , thisArg */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return iterate(iterator, function (value, stop) {
+ if (boundFunction(value, value, set)) { return stop(value); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).result;
+ }
+ });
+
+ // `Set.from` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from
+ _export({ target: 'Set', stat: true }, {
+ from: collectionFrom
+ });
+
+ // `Set.prototype.intersection` method
+ // https://github.com/tc39/proposal-set-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ intersection: function intersection(iterable) {
+ var set = anObject(this);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
+ var hasCheck = aFunction(set.has);
+ var adder = aFunction(newSet.add);
+ iterate(iterable, function (value) {
+ if (hasCheck.call(set, value)) { adder.call(newSet, value); }
+ });
+ return newSet;
+ }
+ });
+
+ // `Set.prototype.isDisjointFrom` method
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ isDisjointFrom: function isDisjointFrom(iterable) {
+ var set = anObject(this);
+ var hasCheck = aFunction(set.has);
+ return !iterate(iterable, function (value, stop) {
+ if (hasCheck.call(set, value) === true) { return stop(); }
+ }, { INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.isSubsetOf` method
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ isSubsetOf: function isSubsetOf(iterable) {
+ var iterator = getIterator(this);
+ var otherSet = anObject(iterable);
+ var hasCheck = otherSet.has;
+ if (typeof hasCheck != 'function') {
+ otherSet = new (getBuiltIn('Set'))(iterable);
+ hasCheck = aFunction(otherSet.has);
+ }
+ return !iterate(iterator, function (value, stop) {
+ if (hasCheck.call(otherSet, value) === false) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.isSupersetOf` method
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ isSupersetOf: function isSupersetOf(iterable) {
+ var set = anObject(this);
+ var hasCheck = aFunction(set.has);
+ return !iterate(iterable, function (value, stop) {
+ if (hasCheck.call(set, value) === false) { return stop(); }
+ }, { INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.join` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ join: function join(separator) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var sep = separator === undefined ? ',' : String(separator);
+ var result = [];
+ iterate(iterator, result.push, { that: result, IS_ITERATOR: true });
+ return result.join(sep);
+ }
+ });
+
+ // `Set.prototype.map` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ map: function map(callbackfn /* , thisArg */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
+ var adder = aFunction(newSet.add);
+ iterate(iterator, function (value) {
+ adder.call(newSet, boundFunction(value, value, set));
+ }, { IS_ITERATOR: true });
+ return newSet;
+ }
+ });
+
+ // `Set.of` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of
+ _export({ target: 'Set', stat: true }, {
+ of: collectionOf
+ });
+
+ // `Set.prototype.reduce` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var noInitial = arguments.length < 2;
+ var accumulator = noInitial ? undefined : arguments[1];
+ aFunction(callbackfn);
+ iterate(iterator, function (value) {
+ if (noInitial) {
+ noInitial = false;
+ accumulator = value;
+ } else {
+ accumulator = callbackfn(accumulator, value, value, set);
+ }
+ }, { IS_ITERATOR: true });
+ if (noInitial) { throw TypeError('Reduce of empty set with no initial value'); }
+ return accumulator;
+ }
+ });
+
+ // `Set.prototype.some` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ some: function some(callbackfn /* , thisArg */) {
+ var set = anObject(this);
+ var iterator = getSetIterator(set);
+ var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ return iterate(iterator, function (value, stop) {
+ if (boundFunction(value, value, set)) { return stop(); }
+ }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
+ }
+ });
+
+ // `Set.prototype.symmetricDifference` method
+ // https://github.com/tc39/proposal-set-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ symmetricDifference: function symmetricDifference(iterable) {
+ var set = anObject(this);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
+ var remover = aFunction(newSet['delete']);
+ var adder = aFunction(newSet.add);
+ iterate(iterable, function (value) {
+ remover.call(newSet, value) || adder.call(newSet, value);
+ });
+ return newSet;
+ }
+ });
+
+ // `Set.prototype.union` method
+ // https://github.com/tc39/proposal-set-methods
+ _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
+ union: function union(iterable) {
+ var set = anObject(this);
+ var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
+ iterate(iterable, aFunction(newSet.add), { that: newSet });
+ return newSet;
}
});
var charAt$1 = stringMultibyte.charAt;
- var FORCED$2 = fails(function () {
+ var FORCED$1 = fails(function () {
return '𠮷'.at(0) !== '𠮷';
});
// `String.prototype.at` method
// https://github.com/mathiasbynens/String.prototype.at
- _export({ target: 'String', proto: true, forced: FORCED$2 }, {
+ _export({ target: 'String', proto: true, forced: FORCED$1 }, {
at: function at(pos) {
return charAt$1(this, pos);
}
});
+ var codeAt$1 = stringMultibyte.codeAt;
+ var charAt = stringMultibyte.charAt;
+ var STRING_ITERATOR = 'String Iterator';
+ var setInternalState$2 = internalState.set;
+ var getInternalState = internalState.getterFor(STRING_ITERATOR);
+
+ // TODO: unify with String#@@iterator
+ var $StringIterator = createIteratorConstructor(function StringIterator(string) {
+ setInternalState$2(this, {
+ type: STRING_ITERATOR,
+ string: string,
+ index: 0
+ });
+ }, 'String', function next() {
+ var state = getInternalState(this);
+ var string = state.string;
+ var index = state.index;
+ var point;
+ if (index >= string.length) { return { value: undefined, done: true }; }
+ point = charAt(string, index);
+ state.index += point.length;
+ return { value: { codePoint: codeAt$1(point, 0), position: index }, done: false };
+ });
+
+ // `String.prototype.codePoints` method
+ // https://github.com/tc39/proposal-string-prototype-codepoints
+ _export({ target: 'String', proto: true }, {
+ codePoints: function codePoints() {
+ return new $StringIterator(String(requireObjectCoercible(this)));
+ }
+ });
+
+ // `Symbol.asyncDispose` well-known symbol
+ // https://github.com/tc39/proposal-using-statement
+ defineWellKnownSymbol('asyncDispose');
+
+ // `Symbol.dispose` well-known symbol
+ // https://github.com/tc39/proposal-using-statement
+ defineWellKnownSymbol('dispose');
+
+ // `Symbol.matcher` well-known symbol
+ // https://github.com/tc39/proposal-pattern-matching
+ defineWellKnownSymbol('matcher');
+
+ // `Symbol.metadata` well-known symbol
+ // https://github.com/tc39/proposal-decorators
+ defineWellKnownSymbol('metadata');
+
+ // `Symbol.observable` well-known symbol
+ // https://github.com/tc39/proposal-observable
+ defineWellKnownSymbol('observable');
+
+ // TODO: remove from `core-js@4`
+
+
+ // `Symbol.patternMatch` well-known symbol
+ // https://github.com/tc39/proposal-pattern-matching
+ defineWellKnownSymbol('patternMatch');
+
+ // TODO: remove from `core-js@4`
+
+
+ defineWellKnownSymbol('replaceAll');
+
+ var aTypedArray$4 = arrayBufferViewCore.aTypedArray;
+ var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod;
+
+ // `%TypedArray%.prototype.at` method
+ // https://github.com/tc39/proposal-relative-indexing-method
+ exportTypedArrayMethod$4('at', function at(index) {
+ var O = aTypedArray$4(this);
+ var len = toLength(O.length);
+ var relativeIndex = toInteger(index);
+ var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
+ return (k < 0 || k >= len) ? undefined : O[k];
+ });
+
+ var $filterOut = arrayIteration.filterOut;
+
+
+ var aTypedArray$3 = arrayBufferViewCore.aTypedArray;
+ var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod;
+
+ // `%TypedArray%.prototype.filterOut` method
+ // https://github.com/tc39/proposal-array-filtering
+ exportTypedArrayMethod$3('filterOut', function filterOut(callbackfn /* , thisArg */) {
+ var list = $filterOut(aTypedArray$3(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ return typedArrayFromSpeciesAndList(this, list);
+ });
+
+ var $findLast = arrayIterationFromLast.findLast;
+
+ var aTypedArray$2 = arrayBufferViewCore.aTypedArray;
+ var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod;
+
+ // `%TypedArray%.prototype.findLast` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ exportTypedArrayMethod$2('findLast', function findLast(predicate /* , thisArg */) {
+ return $findLast(aTypedArray$2(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ });
+
+ var $findLastIndex = arrayIterationFromLast.findLastIndex;
+
+ var aTypedArray$1 = arrayBufferViewCore.aTypedArray;
+ var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod;
+
+ // `%TypedArray%.prototype.findLastIndex` method
+ // https://github.com/tc39/proposal-array-find-from-last
+ exportTypedArrayMethod$1('findLastIndex', function findLastIndex(predicate /* , thisArg */) {
+ return $findLastIndex(aTypedArray$1(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ });
+
+ var aTypedArray = arrayBufferViewCore.aTypedArray;
+ var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod;
+
+ // `%TypedArray%.prototype.uniqueBy` method
+ // https://github.com/tc39/proposal-array-unique
+ exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {
+ return typedArrayFromSpeciesAndList(this, arrayUniqueBy.call(aTypedArray(this), resolver));
+ });
+
+ // `WeakMap.prototype.deleteAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
+ deleteAll: function deleteAll(/* ...elements */) {
+ return collectionDeleteAll.apply(this, arguments);
+ }
+ });
+
+ // `WeakMap.from` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
+ _export({ target: 'WeakMap', stat: true }, {
+ from: collectionFrom
+ });
+
+ // `WeakMap.of` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
+ _export({ target: 'WeakMap', stat: true }, {
+ of: collectionOf
+ });
+
+ // `WeakMap.prototype.emplace` method
+ // https://github.com/tc39/proposal-upsert
+ _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
+ emplace: mapEmplace
+ });
+
+ // TODO: remove from `core-js@4`
+
+
+
+
+ // `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)
+ // https://github.com/tc39/proposal-upsert
+ _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
+ upsert: mapUpsert
+ });
+
+ // `WeakSet.prototype.addAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, {
+ addAll: function addAll(/* ...elements */) {
+ return collectionAddAll.apply(this, arguments);
+ }
+ });
+
+ // `WeakSet.prototype.deleteAll` method
+ // https://github.com/tc39/proposal-collection-methods
+ _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, {
+ deleteAll: function deleteAll(/* ...elements */) {
+ return collectionDeleteAll.apply(this, arguments);
+ }
+ });
+
+ // `WeakSet.from` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from
+ _export({ target: 'WeakSet', stat: true }, {
+ from: collectionFrom
+ });
+
+ // `WeakSet.of` method
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of
+ _export({ target: 'WeakSet', stat: true }, {
+ of: collectionOf
+ });
+
+ // iterable DOM collections
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
+ var domIterables = {
+ CSSRuleList: 0,
+ CSSStyleDeclaration: 0,
+ CSSValueList: 0,
+ ClientRectList: 0,
+ DOMRectList: 0,
+ DOMStringList: 0,
+ DOMTokenList: 1,
+ DataTransferItemList: 0,
+ FileList: 0,
+ HTMLAllCollection: 0,
+ HTMLCollection: 0,
+ HTMLFormElement: 0,
+ HTMLSelectElement: 0,
+ MediaList: 0,
+ MimeTypeArray: 0,
+ NamedNodeMap: 0,
+ NodeList: 1,
+ PaintRequestList: 0,
+ Plugin: 0,
+ PluginArray: 0,
+ SVGLengthList: 0,
+ SVGNumberList: 0,
+ SVGPathSegList: 0,
+ SVGPointList: 0,
+ SVGStringList: 0,
+ SVGTransformList: 0,
+ SourceBufferList: 0,
+ StyleSheetList: 0,
+ TextTrackCueList: 0,
+ TextTrackList: 0,
+ TouchList: 0
+ };
+
+ for (var COLLECTION_NAME$1 in domIterables) {
+ var Collection$1 = global_1[COLLECTION_NAME$1];
+ var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype$1 && CollectionPrototype$1.forEach !== arrayForEach) { try {
+ createNonEnumerableProperty(CollectionPrototype$1, 'forEach', arrayForEach);
+ } catch (error) {
+ CollectionPrototype$1.forEach = arrayForEach;
+ } }
+ }
+
var ITERATOR$2 = wellKnownSymbol('iterator');
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+ var ArrayValues = es_array_iterator.values;
+
+ for (var COLLECTION_NAME in domIterables) {
+ var Collection = global_1[COLLECTION_NAME];
+ var CollectionPrototype = Collection && Collection.prototype;
+ if (CollectionPrototype) {
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype[ITERATOR$2] !== ArrayValues) { try {
+ createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
+ } catch (error) {
+ CollectionPrototype[ITERATOR$2] = ArrayValues;
+ } }
+ if (!CollectionPrototype[TO_STRING_TAG]) {
+ createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
+ }
+ if (domIterables[COLLECTION_NAME]) { for (var METHOD_NAME in es_array_iterator) {
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) { try {
+ createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
+ } catch (error$1) {
+ CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
+ } }
+ } }
+ }
+ }
+
+ var FORCED = !global_1.setImmediate || !global_1.clearImmediate;
+
+ // http://w3c.github.io/setImmediate/
+ _export({ global: true, bind: true, enumerable: true, forced: FORCED }, {
+ // `setImmediate` method
+ // http://w3c.github.io/setImmediate/#si-setImmediate
+ setImmediate: task$1.set,
+ // `clearImmediate` method
+ // http://w3c.github.io/setImmediate/#si-clearImmediate
+ clearImmediate: task$1.clear
+ });
+
+ var process$1 = global_1.process;
+
+ // `queueMicrotask` method
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
+ _export({ global: true, enumerable: true, noTargetGet: true }, {
+ queueMicrotask: function queueMicrotask(fn) {
+ var domain = engineIsNode && process$1.domain;
+ microtask(domain ? domain.bind(fn) : fn);
+ }
+ });
+
+ var slice = [].slice;
+ var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check
+
+ var wrap = function (scheduler) {
+ return function (handler, timeout /* , ...arguments */) {
+ var boundArgs = arguments.length > 2;
+ var args = boundArgs ? slice.call(arguments, 2) : undefined;
+ return scheduler(boundArgs ? function () {
+ // eslint-disable-next-line no-new-func -- spec requirement
+ (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
+ } : handler, timeout);
+ };
+ };
+
+ // ie9- setTimeout & setInterval additional parameters fix
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
+ _export({ global: true, bind: true, forced: MSIE }, {
+ // `setTimeout` method
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
+ setTimeout: wrap(global_1.setTimeout),
+ // `setInterval` method
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
+ setInterval: wrap(global_1.setInterval)
+ });
+
+ var ITERATOR$1 = wellKnownSymbol('iterator');
var nativeUrl = !fails(function () {
var url = new URL('b?a=1&b=2&c=3', 'http://a');
@@ -9548,7 +12323,7 @@ var doric = (function (exports) {
|| url.href !== 'http://a/c%20d?a=1&c=3'
|| searchParams.get('c') !== '3'
|| String(new URLSearchParams('?a=1')) !== 'a=1'
- || !searchParams[ITERATOR$2]
+ || !searchParams[ITERATOR$1]
// throws in Edge
|| new URL('https://a@b').username !== 'a'
|| new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
@@ -9730,13 +12505,6 @@ var doric = (function (exports) {
return encoded.join('.');
};
- var getIterator = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
- throw TypeError(String(it) + ' is not iterable');
- } return anObject(iteratorMethod.call(it));
- };
-
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
@@ -9761,10 +12529,10 @@ var doric = (function (exports) {
var $fetch = getBuiltIn('fetch');
var Headers = getBuiltIn('Headers');
- var ITERATOR$1 = wellKnownSymbol('iterator');
+ var ITERATOR = wellKnownSymbol('iterator');
var URL_SEARCH_PARAMS = 'URLSearchParams';
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
- var setInternalState$8 = internalState.set;
+ var setInternalState$1 = internalState.set;
var getInternalParamsState = internalState.getterFor(URL_SEARCH_PARAMS);
var getInternalIteratorState = internalState.getterFor(URL_SEARCH_PARAMS_ITERATOR);
@@ -9843,7 +12611,7 @@ var doric = (function (exports) {
};
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState$8(this, {
+ setInternalState$1(this, {
type: URL_SEARCH_PARAMS_ITERATOR,
iterator: getIterator(getInternalParamsState(params).entries),
kind: kind
@@ -9867,7 +12635,7 @@ var doric = (function (exports) {
var entries = [];
var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
- setInternalState$8(that, {
+ setInternalState$1(that, {
type: URL_SEARCH_PARAMS,
entries: entries,
updateURL: function () { /* empty */ },
@@ -10030,7 +12798,7 @@ var doric = (function (exports) {
}, { enumerable: true });
// `URLSearchParams.prototype[@@iterator]` method
- redefine(URLSearchParamsPrototype, ITERATOR$1, URLSearchParamsPrototype.entries);
+ redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
// `URLSearchParams.prototype.toString` method
// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
@@ -10096,7 +12864,7 @@ var doric = (function (exports) {
- var codeAt$1 = stringMultibyte.codeAt;
+ var codeAt = stringMultibyte.codeAt;
@@ -10105,7 +12873,7 @@ var doric = (function (exports) {
var NativeURL = global_1.URL;
var URLSearchParams$1 = web_urlSearchParams.URLSearchParams;
var getInternalSearchParamsState = web_urlSearchParams.getState;
- var setInternalState$7 = internalState.set;
+ var setInternalState = internalState.set;
var getInternalURLState = internalState.getterFor('URL');
var floor = Math.floor;
var pow = Math.pow;
@@ -10116,6 +12884,7 @@ var doric = (function (exports) {
var INVALID_PORT = 'Invalid port';
var ALPHA = /[A-Za-z]/;
+ // eslint-disable-next-line regexp/no-obscure-range -- safe
var ALPHANUMERIC = /[\d+-.A-Za-z]/;
var DIGIT = /\d/;
var HEX_START = /^(0x|0X)/;
@@ -10123,10 +12892,10 @@ var doric = (function (exports) {
var DEC = /^\d+$/;
var HEX = /^[\dA-Fa-f]+$/;
/* eslint-disable no-control-regex -- safe */
- var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/;
- var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/;
+ var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:?@[\\]]/;
+ var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:?@[\\]]/;
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
- var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g;
+ var TAB_AND_NEW_LINE = /[\t\n\r]/g;
/* eslint-enable no-control-regex -- safe */
var EOF;
@@ -10336,7 +13105,7 @@ var doric = (function (exports) {
});
var percentEncode = function (char, set) {
- var code = codeAt$1(char, 0);
+ var code = codeAt(char, 0);
return code > 0x20 && code < 0x7F && !has$1(set, char) ? char : encodeURIComponent(char);
};
@@ -10820,7 +13589,7 @@ var doric = (function (exports) {
var that = anInstance(this, URLConstructor, 'URL');
var base = arguments.length > 1 ? arguments[1] : undefined;
var urlString = String(url);
- var state = setInternalState$7(that, { type: 'URL' });
+ var state = setInternalState(that, { type: 'URL' });
var baseState, failure;
if (base !== undefined) {
if (base instanceof URLConstructor) { baseState = getInternalURLState(base); }
@@ -10885,7 +13654,7 @@ var doric = (function (exports) {
var scheme = url.scheme;
var port = url.port;
if (scheme == 'blob') { try {
- return new URL(scheme.path[0]).origin;
+ return new URLConstructor(scheme.path[0]).origin;
} catch (error) {
return 'null';
} }
@@ -11097,2636 +13866,9 @@ var doric = (function (exports) {
}
});
- var $filterOut$1 = arrayIteration.filterOut;
+ var features = path;
-
- // `Array.prototype.filterOut` method
- // https://github.com/tc39/proposal-array-filtering
- _export({ target: 'Array', proto: true }, {
- filterOut: function filterOut(callbackfn /* , thisArg */) {
- return $filterOut$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- addToUnscopables('filterOut');
-
- var $filterOut = arrayIteration.filterOut;
-
-
- var aTypedArray$4 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod;
-
- // `%TypedArray%.prototype.filterOut` method
- // https://github.com/tc39/proposal-array-filtering
- exportTypedArrayMethod$4('filterOut', function filterOut(callbackfn /* , thisArg */) {
- var list = $filterOut(aTypedArray$4(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- return typedArrayFromSpeciesAndList(this, list);
- });
-
- // `Array.prototype.{ findLast, findLastIndex }` methods implementation
- var createMethod$1 = function (TYPE) {
- var IS_FIND_INDEX = TYPE == 6;
- return function ($this, callbackfn, that) {
- var O = toObject($this);
- var self = indexedObject(O);
- var boundFunction = functionBindContext(callbackfn, that, 3);
- var index = toLength(self.length);
- var value, result;
- while (index-- > 0) {
- value = self[index];
- result = boundFunction(value, index, O);
- if (result) { switch (TYPE) {
- case 5: return value; // find
- case 6: return index; // findIndex
- } }
- }
- return IS_FIND_INDEX ? -1 : undefined;
- };
- };
-
- var arrayIterationFromLast = {
- // `Array.prototype.findLast` method
- // https://github.com/tc39/proposal-array-find-from-last
- findLast: createMethod$1(5),
- // `Array.prototype.findLastIndex` method
- // https://github.com/tc39/proposal-array-find-from-last
- findLastIndex: createMethod$1(6)
- };
-
- var $findLast$1 = arrayIterationFromLast.findLast;
-
-
- // `Array.prototype.findLast` method
- // https://github.com/tc39/proposal-array-find-from-last
- _export({ target: 'Array', proto: true }, {
- findLast: function findLast(callbackfn /* , that = undefined */) {
- return $findLast$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- addToUnscopables('findLast');
-
- var $findLastIndex$1 = arrayIterationFromLast.findLastIndex;
-
-
- // `Array.prototype.findLastIndex` method
- // https://github.com/tc39/proposal-array-find-from-last
- _export({ target: 'Array', proto: true }, {
- findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) {
- return $findLastIndex$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- addToUnscopables('findLastIndex');
-
- var $findLast = arrayIterationFromLast.findLast;
-
- var aTypedArray$3 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod;
-
- // `%TypedArray%.prototype.findLast` method
- // https://github.com/tc39/proposal-array-find-from-last
- exportTypedArrayMethod$3('findLast', function findLast(predicate /* , thisArg */) {
- return $findLast(aTypedArray$3(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var $findLastIndex = arrayIterationFromLast.findLastIndex;
-
- var aTypedArray$2 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod;
-
- // `%TypedArray%.prototype.findLastIndex` method
- // https://github.com/tc39/proposal-array-find-from-last
- exportTypedArrayMethod$2('findLastIndex', function findLastIndex(predicate /* , thisArg */) {
- return $findLastIndex(aTypedArray$2(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var defineProperty$2 = objectDefineProperty.f;
-
- // `Array.prototype.lastIndex` getter
- // https://github.com/keithamus/proposal-array-last
- if (descriptors && !('lastIndex' in [])) {
- defineProperty$2(Array.prototype, 'lastIndex', {
- configurable: true,
- get: function lastIndex() {
- var O = toObject(this);
- var len = toLength(O.length);
- return len == 0 ? 0 : len - 1;
- }
- });
-
- addToUnscopables('lastIndex');
- }
-
- var defineProperty$1 = objectDefineProperty.f;
-
- // `Array.prototype.lastIndex` accessor
- // https://github.com/keithamus/proposal-array-last
- if (descriptors && !('lastItem' in [])) {
- defineProperty$1(Array.prototype, 'lastItem', {
- configurable: true,
- get: function lastItem() {
- var O = toObject(this);
- var len = toLength(O.length);
- return len == 0 ? undefined : O[len - 1];
- },
- set: function lastItem(value) {
- var O = toObject(this);
- var len = toLength(O.length);
- return O[len == 0 ? 0 : len - 1] = value;
- }
- });
-
- addToUnscopables('lastItem');
- }
-
- var push$2 = [].push;
-
- // `Array.prototype.uniqueBy` method
- // https://github.com/tc39/proposal-array-unique
- var arrayUniqueBy = function uniqueBy(resolver) {
- var that = toObject(this);
- var length = toLength(that.length);
- var result = arraySpeciesCreate(that, 0);
- var Map = getBuiltIn('Map');
- var map = new Map();
- var resolverFunction, index, item, key;
- if (typeof resolver == 'function') { resolverFunction = resolver; }
- else if (resolver == null) { resolverFunction = function (value) {
- return value;
- }; }
- else { throw new TypeError('Incorrect resolver!'); }
- for (index = 0; index < length; index++) {
- item = that[index];
- key = resolverFunction(item);
- if (!map.has(key)) { map.set(key, item); }
- }
- map.forEach(function (value) {
- push$2.call(result, value);
- });
- return result;
- };
-
- // `Array.prototype.uniqueBy` method
- // https://github.com/tc39/proposal-array-unique
- _export({ target: 'Array', proto: true }, {
- uniqueBy: arrayUniqueBy
- });
-
- addToUnscopables('uniqueBy');
-
- var aTypedArray$1 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod;
-
- // `%TypedArray%.prototype.uniqueBy` method
- // https://github.com/tc39/proposal-array-unique
- exportTypedArrayMethod$1('uniqueBy', function uniqueBy(resolver) {
- return typedArrayFromSpeciesAndList(this, arrayUniqueBy.call(aTypedArray$1(this), resolver));
- });
-
- // `Map.groupBy` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', stat: true }, {
- groupBy: function groupBy(iterable, keyDerivative) {
- var newMap = new this();
- aFunction(keyDerivative);
- var has = aFunction(newMap.has);
- var get = aFunction(newMap.get);
- var set = aFunction(newMap.set);
- iterate(iterable, function (element) {
- var derivedKey = keyDerivative(element);
- if (!has.call(newMap, derivedKey)) { set.call(newMap, derivedKey, [element]); }
- else { get.call(newMap, derivedKey).push(element); }
- });
- return newMap;
- }
- });
-
- // `Map.keyBy` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', stat: true }, {
- keyBy: function keyBy(iterable, keyDerivative) {
- var newMap = new this();
- aFunction(keyDerivative);
- var setter = aFunction(newMap.set);
- iterate(iterable, function (element) {
- setter.call(newMap, keyDerivative(element), element);
- });
- return newMap;
- }
- });
-
- // https://github.com/tc39/collection-methods
- var collectionDeleteAll = function (/* ...elements */) {
- var arguments$1 = arguments;
-
- var collection = anObject(this);
- var remover = aFunction(collection['delete']);
- var allDeleted = true;
- var wasDeleted;
- for (var k = 0, len = arguments.length; k < len; k++) {
- wasDeleted = remover.call(collection, arguments$1[k]);
- allDeleted = allDeleted && wasDeleted;
- }
- return !!allDeleted;
- };
-
- // `Map.prototype.deleteAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- deleteAll: function deleteAll(/* ...elements */) {
- return collectionDeleteAll.apply(this, arguments);
- }
- });
-
- var getMapIterator = function (it) {
- // eslint-disable-next-line no-undef -- safe
- return Map.prototype.entries.call(it);
- };
-
- // `Map.prototype.every` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- every: function every(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return !iterate(iterator, function (key, value, stop) {
- if (!boundFunction(value, key, map)) { return stop(); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `Map.prototype.filter` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- filter: function filter(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
- var setter = aFunction(newMap.set);
- iterate(iterator, function (key, value) {
- if (boundFunction(value, key, map)) { setter.call(newMap, key, value); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true });
- return newMap;
- }
- });
-
- // `Map.prototype.find` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- find: function find(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return iterate(iterator, function (key, value, stop) {
- if (boundFunction(value, key, map)) { return stop(value); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
- }
- });
-
- // `Map.prototype.findKey` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- findKey: function findKey(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return iterate(iterator, function (key, value, stop) {
- if (boundFunction(value, key, map)) { return stop(key); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
- }
- });
-
- // `SameValueZero` abstract operation
- // https://tc39.es/ecma262/#sec-samevaluezero
- var sameValueZero = function (x, y) {
- // eslint-disable-next-line no-self-compare -- NaN check
- return x === y || x != x && y != y;
- };
-
- // `Map.prototype.includes` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- includes: function includes(searchElement) {
- return iterate(getMapIterator(anObject(this)), function (key, value, stop) {
- if (sameValueZero(value, searchElement)) { return stop(); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `Map.prototype.includes` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- keyOf: function keyOf(searchElement) {
- return iterate(getMapIterator(anObject(this)), function (key, value, stop) {
- if (value === searchElement) { return stop(key); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
- }
- });
-
- // `Map.prototype.mapKeys` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- mapKeys: function mapKeys(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
- var setter = aFunction(newMap.set);
- iterate(iterator, function (key, value) {
- setter.call(newMap, boundFunction(value, key, map), value);
- }, { AS_ENTRIES: true, IS_ITERATOR: true });
- return newMap;
- }
- });
-
- // `Map.prototype.mapValues` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- mapValues: function mapValues(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
- var setter = aFunction(newMap.set);
- iterate(iterator, function (key, value) {
- setter.call(newMap, key, boundFunction(value, key, map));
- }, { AS_ENTRIES: true, IS_ITERATOR: true });
- return newMap;
- }
- });
-
- // `Map.prototype.merge` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- // eslint-disable-next-line no-unused-vars -- required for `.length`
- merge: function merge(iterable /* ...iterbles */) {
- var arguments$1 = arguments;
-
- var map = anObject(this);
- var setter = aFunction(map.set);
- var i = 0;
- while (i < arguments.length) {
- iterate(arguments$1[i++], setter, { that: map, AS_ENTRIES: true });
- }
- return map;
- }
- });
-
- // `Map.prototype.reduce` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- reduce: function reduce(callbackfn /* , initialValue */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var noInitial = arguments.length < 2;
- var accumulator = noInitial ? undefined : arguments[1];
- aFunction(callbackfn);
- iterate(iterator, function (key, value) {
- if (noInitial) {
- noInitial = false;
- accumulator = value;
- } else {
- accumulator = callbackfn(accumulator, value, key, map);
- }
- }, { AS_ENTRIES: true, IS_ITERATOR: true });
- if (noInitial) { throw TypeError('Reduce of empty map with no initial value'); }
- return accumulator;
- }
- });
-
- // `Set.prototype.some` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- some: function some(callbackfn /* , thisArg */) {
- var map = anObject(this);
- var iterator = getMapIterator(map);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return iterate(iterator, function (key, value, stop) {
- if (boundFunction(value, key, map)) { return stop(); }
- }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `Set.prototype.update` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- update: function update(key, callback /* , thunk */) {
- var map = anObject(this);
- var length = arguments.length;
- aFunction(callback);
- var isPresentInMap = map.has(key);
- if (!isPresentInMap && length < 3) {
- throw TypeError('Updating absent value');
- }
- var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map);
- map.set(key, callback(value, key, map));
- return map;
- }
- });
-
- // https://github.com/tc39/collection-methods
- var collectionAddAll = function (/* ...elements */) {
- var arguments$1 = arguments;
-
- var set = anObject(this);
- var adder = aFunction(set.add);
- for (var k = 0, len = arguments.length; k < len; k++) {
- adder.call(set, arguments$1[k]);
- }
- return set;
- };
-
- // `Set.prototype.addAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- addAll: function addAll(/* ...elements */) {
- return collectionAddAll.apply(this, arguments);
- }
- });
-
- // `Set.prototype.deleteAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- deleteAll: function deleteAll(/* ...elements */) {
- return collectionDeleteAll.apply(this, arguments);
- }
- });
-
- var getSetIterator = function (it) {
- // eslint-disable-next-line no-undef -- safe
- return Set.prototype.values.call(it);
- };
-
- // `Set.prototype.every` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- every: function every(callbackfn /* , thisArg */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return !iterate(iterator, function (value, stop) {
- if (!boundFunction(value, value, set)) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `Set.prototype.filter` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- filter: function filter(callbackfn /* , thisArg */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
- var adder = aFunction(newSet.add);
- iterate(iterator, function (value) {
- if (boundFunction(value, value, set)) { adder.call(newSet, value); }
- }, { IS_ITERATOR: true });
- return newSet;
- }
- });
-
- // `Set.prototype.find` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- find: function find(callbackfn /* , thisArg */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return iterate(iterator, function (value, stop) {
- if (boundFunction(value, value, set)) { return stop(value); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).result;
- }
- });
-
- // `Set.prototype.join` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- join: function join(separator) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var sep = separator === undefined ? ',' : String(separator);
- var result = [];
- iterate(iterator, result.push, { that: result, IS_ITERATOR: true });
- return result.join(sep);
- }
- });
-
- // `Set.prototype.map` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- map: function map(callbackfn /* , thisArg */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
- var adder = aFunction(newSet.add);
- iterate(iterator, function (value) {
- adder.call(newSet, boundFunction(value, value, set));
- }, { IS_ITERATOR: true });
- return newSet;
- }
- });
-
- // `Set.prototype.reduce` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- reduce: function reduce(callbackfn /* , initialValue */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var noInitial = arguments.length < 2;
- var accumulator = noInitial ? undefined : arguments[1];
- aFunction(callbackfn);
- iterate(iterator, function (value) {
- if (noInitial) {
- noInitial = false;
- accumulator = value;
- } else {
- accumulator = callbackfn(accumulator, value, value, set);
- }
- }, { IS_ITERATOR: true });
- if (noInitial) { throw TypeError('Reduce of empty set with no initial value'); }
- return accumulator;
- }
- });
-
- // `Set.prototype.some` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- some: function some(callbackfn /* , thisArg */) {
- var set = anObject(this);
- var iterator = getSetIterator(set);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- return iterate(iterator, function (value, stop) {
- if (boundFunction(value, value, set)) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `WeakMap.prototype.deleteAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
- deleteAll: function deleteAll(/* ...elements */) {
- return collectionDeleteAll.apply(this, arguments);
- }
- });
-
- // `WeakSet.prototype.addAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, {
- addAll: function addAll(/* ...elements */) {
- return collectionAddAll.apply(this, arguments);
- }
- });
-
- // `WeakSet.prototype.deleteAll` method
- // https://github.com/tc39/proposal-collection-methods
- _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, {
- deleteAll: function deleteAll(/* ...elements */) {
- return collectionDeleteAll.apply(this, arguments);
- }
- });
-
- // https://tc39.github.io/proposal-setmap-offrom/
-
-
-
-
- var collectionFrom = function from(source /* , mapFn, thisArg */) {
- var length = arguments.length;
- var mapFn = length > 1 ? arguments[1] : undefined;
- var mapping, array, n, boundFunction;
- aFunction(this);
- mapping = mapFn !== undefined;
- if (mapping) { aFunction(mapFn); }
- if (source == undefined) { return new this(); }
- array = [];
- if (mapping) {
- n = 0;
- boundFunction = functionBindContext(mapFn, length > 2 ? arguments[2] : undefined, 2);
- iterate(source, function (nextItem) {
- array.push(boundFunction(nextItem, n++));
- });
- } else {
- iterate(source, array.push, { that: array });
- }
- return new this(array);
- };
-
- // `Map.from` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
- _export({ target: 'Map', stat: true }, {
- from: collectionFrom
- });
-
- // https://tc39.github.io/proposal-setmap-offrom/
- var collectionOf = function of() {
- var arguments$1 = arguments;
-
- var length = arguments.length;
- var A = new Array(length);
- while (length--) { A[length] = arguments$1[length]; }
- return new this(A);
- };
-
- // `Map.of` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
- _export({ target: 'Map', stat: true }, {
- of: collectionOf
- });
-
- // `Set.from` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from
- _export({ target: 'Set', stat: true }, {
- from: collectionFrom
- });
-
- // `Set.of` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of
- _export({ target: 'Set', stat: true }, {
- of: collectionOf
- });
-
- // `WeakMap.from` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
- _export({ target: 'WeakMap', stat: true }, {
- from: collectionFrom
- });
-
- // `WeakMap.of` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
- _export({ target: 'WeakMap', stat: true }, {
- of: collectionOf
- });
-
- // `WeakSet.from` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from
- _export({ target: 'WeakSet', stat: true }, {
- from: collectionFrom
- });
-
- // `WeakSet.of` method
- // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of
- _export({ target: 'WeakSet', stat: true }, {
- of: collectionOf
- });
-
- // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
-
-
-
-
-
- var Node = function () {
- // keys
- this.object = null;
- this.symbol = null;
- // child nodes
- this.primitives = null;
- this.objectsByIndex = objectCreate(null);
- };
-
- Node.prototype.get = function (key, initializer) {
- return this[key] || (this[key] = initializer());
- };
-
- Node.prototype.next = function (i, it, IS_OBJECT) {
- var store = IS_OBJECT
- ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new es_weakMap())
- : this.primitives || (this.primitives = new es_map());
- var entry = store.get(it);
- if (!entry) { store.set(it, entry = new Node()); }
- return entry;
- };
-
- var root = new Node();
-
- var compositeKey = function () {
- var arguments$1 = arguments;
-
- var active = root;
- var length = arguments.length;
- var i, it;
- // for prevent leaking, start from objects
- for (i = 0; i < length; i++) {
- if (isObject(it = arguments$1[i])) { active = active.next(i, it, true); }
- }
- if (this === Object && active === root) { throw TypeError('Composite keys must contain a non-primitive component'); }
- for (i = 0; i < length; i++) {
- if (!isObject(it = arguments$1[i])) { active = active.next(i, it, false); }
- } return active;
- };
-
- var initializer = function () {
- var freeze = getBuiltIn('Object', 'freeze');
- return freeze ? freeze(objectCreate(null)) : objectCreate(null);
- };
-
- // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
- _export({ global: true }, {
- compositeKey: function compositeKey$1() {
- return compositeKey.apply(Object, arguments).get('object', initializer);
- }
- });
-
- // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
- _export({ global: true }, {
- compositeSymbol: function compositeSymbol() {
- if (arguments.length === 1 && typeof arguments[0] === 'string') { return getBuiltIn('Symbol')['for'](arguments[0]); }
- return compositeKey.apply(null, arguments).get('symbol', getBuiltIn('Symbol'));
- }
- });
-
- var min = Math.min;
- var max = Math.max;
-
- // `Math.clamp` method
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- clamp: function clamp(x, lower, upper) {
- return min(upper, max(lower, x));
- }
- });
-
- // `Math.DEG_PER_RAD` constant
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- DEG_PER_RAD: Math.PI / 180
- });
-
- var RAD_PER_DEG = 180 / Math.PI;
-
- // `Math.degrees` method
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- degrees: function degrees(radians) {
- return radians * RAD_PER_DEG;
- }
- });
-
- // `Math.scale` method implementation
- // https://rwaldron.github.io/proposal-math-extensions/
- var mathScale = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
- if (
- arguments.length === 0
- /* eslint-disable no-self-compare -- NaN check */
- || x != x
- || inLow != inLow
- || inHigh != inHigh
- || outLow != outLow
- || outHigh != outHigh
- /* eslint-enable no-self-compare -- NaN check */
- ) { return NaN; }
- if (x === Infinity || x === -Infinity) { return x; }
- return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
- };
-
- // `Math.fscale` method
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
- return mathFround(mathScale(x, inLow, inHigh, outLow, outHigh));
- }
- });
-
- // `Math.RAD_PER_DEG` constant
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- RAD_PER_DEG: 180 / Math.PI
- });
-
- var DEG_PER_RAD = Math.PI / 180;
-
- // `Math.radians` method
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- radians: function radians(degrees) {
- return degrees * DEG_PER_RAD;
- }
- });
-
- // `Math.scale` method
- // https://rwaldron.github.io/proposal-math-extensions/
- _export({ target: 'Math', stat: true }, {
- scale: mathScale
- });
-
- // `Math.signbit` method
- // https://github.com/tc39/proposal-Math.signbit
- _export({ target: 'Math', stat: true }, {
- signbit: function signbit(x) {
- return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0;
- }
- });
-
- var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
- var INVALID_RADIX = 'Invalid radix';
- var valid = /^[\da-z]+$/;
-
- // `Number.fromString` method
- // https://github.com/tc39/proposal-number-fromstring
- _export({ target: 'Number', stat: true }, {
- fromString: function fromString(string, radix) {
- var sign = 1;
- var R, mathNum;
- if (typeof string != 'string') { throw TypeError(INVALID_NUMBER_REPRESENTATION); }
- if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); }
- if (string.charAt(0) == '-') {
- sign = -1;
- string = string.slice(1);
- if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); }
- }
- R = radix === undefined ? 10 : toInteger(radix);
- if (R < 2 || R > 36) { throw RangeError(INVALID_RADIX); }
- if (!valid.test(string) || (mathNum = numberParseInt(string, R)).toString(R) !== string) {
- throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
- }
- return sign * mathNum;
- }
- });
-
- var INCORRECT_RANGE = 'Incorrect Number.range arguments';
- var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';
-
- var setInternalState$6 = internalState.set;
- var getInternalState$6 = internalState.getterFor(NUMERIC_RANGE_ITERATOR);
-
- var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
- if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
- throw new TypeError(INCORRECT_RANGE);
- }
- if (start === Infinity || start === -Infinity) {
- throw new RangeError(INCORRECT_RANGE);
- }
- var ifIncrease = end > start;
- var inclusiveEnd = false;
- var step;
- if (option === undefined) {
- step = undefined;
- } else if (isObject(option)) {
- step = option.step;
- inclusiveEnd = !!option.inclusive;
- } else if (typeof option == type) {
- step = option;
- } else {
- throw new TypeError(INCORRECT_RANGE);
- }
- if (step == null) {
- step = ifIncrease ? one : -one;
- }
- if (typeof step != type) {
- throw new TypeError(INCORRECT_RANGE);
- }
- if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
- throw new RangeError(INCORRECT_RANGE);
- }
- // eslint-disable-next-line no-self-compare -- NaN check
- var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
- setInternalState$6(this, {
- type: NUMERIC_RANGE_ITERATOR,
- start: start,
- end: end,
- step: step,
- inclusiveEnd: inclusiveEnd,
- hitsEnd: hitsEnd,
- currentCount: zero,
- zero: zero
- });
- if (!descriptors) {
- this.start = start;
- this.end = end;
- this.step = step;
- this.inclusive = inclusiveEnd;
- }
- }, NUMERIC_RANGE_ITERATOR, function next() {
- var state = getInternalState$6(this);
- if (state.hitsEnd) { return { value: undefined, done: true }; }
- var start = state.start;
- var end = state.end;
- var step = state.step;
- var currentYieldingValue = start + (step * state.currentCount++);
- if (currentYieldingValue === end) { state.hitsEnd = true; }
- var inclusiveEnd = state.inclusiveEnd;
- var endCondition;
- if (end > start) {
- endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;
- } else {
- endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue;
- }
- if (endCondition) {
- return { value: undefined, done: state.hitsEnd = true };
- } return { value: currentYieldingValue, done: false };
- });
-
- var getter = function (fn) {
- return { get: fn, set: function () { /* empty */ }, configurable: true, enumerable: false };
- };
-
- if (descriptors) {
- objectDefineProperties($RangeIterator.prototype, {
- start: getter(function () {
- return getInternalState$6(this).start;
- }),
- end: getter(function () {
- return getInternalState$6(this).end;
- }),
- inclusive: getter(function () {
- return getInternalState$6(this).inclusiveEnd;
- }),
- step: getter(function () {
- return getInternalState$6(this).step;
- })
- });
- }
-
- var numericRangeIterator = $RangeIterator;
-
- // `BigInt.range` method
- // https://github.com/tc39/proposal-Number.range
- if (typeof BigInt == 'function') {
- _export({ target: 'BigInt', stat: true }, {
- range: function range(start, end, option) {
- /* global BigInt -- safe */
- return new numericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
- }
- });
- }
-
- // `Number.range` method
- // https://github.com/tc39/proposal-Number.range
- _export({ target: 'Number', stat: true }, {
- range: function range(start, end, option) {
- return new numericRangeIterator(start, end, option, 'number', 0, 1);
- }
- });
-
- var OBJECT_ITERATOR = 'Object Iterator';
- var setInternalState$5 = internalState.set;
- var getInternalState$5 = internalState.getterFor(OBJECT_ITERATOR);
-
- var objectIterator = createIteratorConstructor(function ObjectIterator(source, mode) {
- var object = toObject(source);
- setInternalState$5(this, {
- type: OBJECT_ITERATOR,
- mode: mode,
- object: object,
- keys: objectKeys(object),
- index: 0
- });
- }, 'Object', function next() {
- var state = getInternalState$5(this);
- var keys = state.keys;
- while (true) {
- if (keys === null || state.index >= keys.length) {
- state.object = state.keys = null;
- return { value: undefined, done: true };
- }
- var key = keys[state.index++];
- var object = state.object;
- if (!has$1(object, key)) { continue; }
- switch (state.mode) {
- case 'keys': return { value: key, done: false };
- case 'values': return { value: object[key], done: false };
- } /* entries */ return { value: [key, object[key]], done: false };
- }
- });
-
- // `Object.iterateEntries` method
- // https://github.com/tc39/proposal-object-iteration
- _export({ target: 'Object', stat: true }, {
- iterateEntries: function iterateEntries(object) {
- return new objectIterator(object, 'entries');
- }
- });
-
- // `Object.iterateKeys` method
- // https://github.com/tc39/proposal-object-iteration
- _export({ target: 'Object', stat: true }, {
- iterateKeys: function iterateKeys(object) {
- return new objectIterator(object, 'keys');
- }
- });
-
- // `Object.iterateValues` method
- // https://github.com/tc39/proposal-object-iteration
- _export({ target: 'Object', stat: true }, {
- iterateValues: function iterateValues(object) {
- return new objectIterator(object, 'values');
- }
- });
-
- // https://github.com/tc39/proposal-observable
-
-
-
-
-
-
-
- var defineProperty = objectDefineProperty.f;
-
-
-
-
-
-
-
-
- var OBSERVABLE = wellKnownSymbol('observable');
- var getInternalState$4 = internalState.get;
- var setInternalState$4 = internalState.set;
-
- var getMethod = function (fn) {
- return fn == null ? undefined : aFunction(fn);
- };
-
- var cleanupSubscription = function (subscriptionState) {
- var cleanup = subscriptionState.cleanup;
- if (cleanup) {
- subscriptionState.cleanup = undefined;
- try {
- cleanup();
- } catch (error) {
- hostReportErrors(error);
- }
- }
- };
-
- var subscriptionClosed = function (subscriptionState) {
- return subscriptionState.observer === undefined;
- };
-
- var close = function (subscription, subscriptionState) {
- if (!descriptors) {
- subscription.closed = true;
- var subscriptionObserver = subscriptionState.subscriptionObserver;
- if (subscriptionObserver) { subscriptionObserver.closed = true; }
- } subscriptionState.observer = undefined;
- };
-
- var Subscription = function (observer, subscriber) {
- var subscriptionState = setInternalState$4(this, {
- cleanup: undefined,
- observer: anObject(observer),
- subscriptionObserver: undefined
- });
- var start;
- if (!descriptors) { this.closed = false; }
- try {
- if (start = getMethod(observer.start)) { start.call(observer, this); }
- } catch (error) {
- hostReportErrors(error);
- }
- if (subscriptionClosed(subscriptionState)) { return; }
- var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this);
- try {
- var cleanup = subscriber(subscriptionObserver);
- var subscription = cleanup;
- if (cleanup != null) { subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function'
- ? function () { subscription.unsubscribe(); }
- : aFunction(cleanup); }
- } catch (error$1) {
- subscriptionObserver.error(error$1);
- return;
- } if (subscriptionClosed(subscriptionState)) { cleanupSubscription(subscriptionState); }
- };
-
- Subscription.prototype = redefineAll({}, {
- unsubscribe: function unsubscribe() {
- var subscriptionState = getInternalState$4(this);
- if (!subscriptionClosed(subscriptionState)) {
- close(this, subscriptionState);
- cleanupSubscription(subscriptionState);
- }
- }
- });
-
- if (descriptors) { defineProperty(Subscription.prototype, 'closed', {
- configurable: true,
- get: function () {
- return subscriptionClosed(getInternalState$4(this));
- }
- }); }
-
- var SubscriptionObserver = function (subscription) {
- setInternalState$4(this, { subscription: subscription });
- if (!descriptors) { this.closed = false; }
- };
-
- SubscriptionObserver.prototype = redefineAll({}, {
- next: function next(value) {
- var subscriptionState = getInternalState$4(getInternalState$4(this).subscription);
- if (!subscriptionClosed(subscriptionState)) {
- var observer = subscriptionState.observer;
- try {
- var nextMethod = getMethod(observer.next);
- if (nextMethod) { nextMethod.call(observer, value); }
- } catch (error) {
- hostReportErrors(error);
- }
- }
- },
- error: function error(value) {
- var subscription = getInternalState$4(this).subscription;
- var subscriptionState = getInternalState$4(subscription);
- if (!subscriptionClosed(subscriptionState)) {
- var observer = subscriptionState.observer;
- close(subscription, subscriptionState);
- try {
- var errorMethod = getMethod(observer.error);
- if (errorMethod) { errorMethod.call(observer, value); }
- else { hostReportErrors(value); }
- } catch (err) {
- hostReportErrors(err);
- } cleanupSubscription(subscriptionState);
- }
- },
- complete: function complete() {
- var subscription = getInternalState$4(this).subscription;
- var subscriptionState = getInternalState$4(subscription);
- if (!subscriptionClosed(subscriptionState)) {
- var observer = subscriptionState.observer;
- close(subscription, subscriptionState);
- try {
- var completeMethod = getMethod(observer.complete);
- if (completeMethod) { completeMethod.call(observer); }
- } catch (error) {
- hostReportErrors(error);
- } cleanupSubscription(subscriptionState);
- }
- }
- });
-
- if (descriptors) { defineProperty(SubscriptionObserver.prototype, 'closed', {
- configurable: true,
- get: function () {
- return subscriptionClosed(getInternalState$4(getInternalState$4(this).subscription));
- }
- }); }
-
- var $Observable = function Observable(subscriber) {
- anInstance(this, $Observable, 'Observable');
- setInternalState$4(this, { subscriber: aFunction(subscriber) });
- };
-
- redefineAll($Observable.prototype, {
- subscribe: function subscribe(observer) {
- var length = arguments.length;
- return new Subscription(typeof observer === 'function' ? {
- next: observer,
- error: length > 1 ? arguments[1] : undefined,
- complete: length > 2 ? arguments[2] : undefined
- } : isObject(observer) ? observer : {}, getInternalState$4(this).subscriber);
- }
- });
-
- redefineAll($Observable, {
- from: function from(x) {
- var C = typeof this === 'function' ? this : $Observable;
- var observableMethod = getMethod(anObject(x)[OBSERVABLE]);
- if (observableMethod) {
- var observable = anObject(observableMethod.call(x));
- return observable.constructor === C ? observable : new C(function (observer) {
- return observable.subscribe(observer);
- });
- }
- var iterator = getIterator(x);
- return new C(function (observer) {
- iterate(iterator, function (it, stop) {
- observer.next(it);
- if (observer.closed) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true });
- observer.complete();
- });
- },
- of: function of() {
- var arguments$1 = arguments;
-
- var C = typeof this === 'function' ? this : $Observable;
- var length = arguments.length;
- var items = new Array(length);
- var index = 0;
- while (index < length) { items[index] = arguments$1[index++]; }
- return new C(function (observer) {
- for (var i = 0; i < length; i++) {
- observer.next(items[i]);
- if (observer.closed) { return; }
- } observer.complete();
- });
- }
- });
-
- createNonEnumerableProperty($Observable.prototype, OBSERVABLE, function () { return this; });
-
- _export({ global: true }, {
- Observable: $Observable
- });
-
- setSpecies('Observable');
-
- // `Symbol.observable` well-known symbol
- // https://github.com/tc39/proposal-observable
- defineWellKnownSymbol('observable');
-
- // `Symbol.patternMatch` well-known symbol
- // https://github.com/tc39/proposal-pattern-matching
- defineWellKnownSymbol('patternMatch');
-
- // `Promise.try` method
- // https://github.com/tc39/proposal-promise-try
- _export({ target: 'Promise', stat: true }, {
- 'try': function (callbackfn) {
- var promiseCapability = newPromiseCapability$1.f(this);
- var result = perform(callbackfn);
- (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
- return promiseCapability.promise;
- }
- });
-
- var SEEDED_RANDOM = 'Seeded Random';
- var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';
- var setInternalState$3 = internalState.set;
- var getInternalState$3 = internalState.getterFor(SEEDED_RANDOM_GENERATOR);
- var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
-
- var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {
- setInternalState$3(this, {
- type: SEEDED_RANDOM_GENERATOR,
- seed: seed % 2147483647
- });
- }, SEEDED_RANDOM, function next() {
- var state = getInternalState$3(this);
- var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647;
- return { value: (seed & 1073741823) / 1073741823, done: false };
- });
-
- // `Math.seededPRNG` method
- // https://github.com/tc39/proposal-seeded-random
- // based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html
- _export({ target: 'Math', stat: true, forced: true }, {
- seededPRNG: function seededPRNG(it) {
- var seed = anObject(it).seed;
- if (!numberIsFinite(seed)) { throw TypeError(SEED_TYPE_ERROR); }
- return new $SeededRandomGenerator(seed);
- }
- });
-
- var codeAt = stringMultibyte.codeAt;
- var charAt = stringMultibyte.charAt;
- var STRING_ITERATOR = 'String Iterator';
- var setInternalState$2 = internalState.set;
- var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
- // TODO: unify with String#@@iterator
- var $StringIterator = createIteratorConstructor(function StringIterator(string) {
- setInternalState$2(this, {
- type: STRING_ITERATOR,
- string: string,
- index: 0
- });
- }, 'String', function next() {
- var state = getInternalState$2(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length) { return { value: undefined, done: true }; }
- point = charAt(string, index);
- state.index += point.length;
- return { value: { codePoint: codeAt(point, 0), position: index }, done: false };
- });
-
- // `String.prototype.codePoints` method
- // https://github.com/tc39/proposal-string-prototype-codepoints
- _export({ target: 'String', proto: true }, {
- codePoints: function codePoints() {
- return new $StringIterator(String(requireObjectCoercible(this)));
- }
- });
-
- var isFrozen = Object.isFrozen;
-
- var isFrozenStringArray = function (array, allowUndefined) {
- if (!isFrozen || !isArray(array) || !isFrozen(array)) { return false; }
- var index = 0;
- var length = array.length;
- var element;
- while (index < length) {
- element = array[index++];
- if (!(typeof element === 'string' || (allowUndefined && typeof element === 'undefined'))) {
- return false;
- }
- } return length !== 0;
- };
-
- // `Array.isTemplateObject` method
- // https://github.com/tc39/proposal-array-is-template-object
- _export({ target: 'Array', stat: true }, {
- isTemplateObject: function isTemplateObject(value) {
- if (!isFrozenStringArray(value, true)) { return false; }
- var raw = value.raw;
- if (raw.length !== value.length || !isFrozenStringArray(raw, false)) { return false; }
- return true;
- }
- });
-
- var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
- var ASYNC_ITERATOR$1 = wellKnownSymbol('asyncIterator');
- var AsyncIterator$1 = global_1.AsyncIterator;
- var PassedAsyncIteratorPrototype = sharedStore.AsyncIteratorPrototype;
- var AsyncIteratorPrototype, prototype;
-
- {
- if (PassedAsyncIteratorPrototype) {
- AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
- } else if (typeof AsyncIterator$1 == 'function') {
- AsyncIteratorPrototype = AsyncIterator$1.prototype;
- } else if (sharedStore[USE_FUNCTION_CONSTRUCTOR] || global_1[USE_FUNCTION_CONSTRUCTOR]) {
- try {
- // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax
- prototype = objectGetPrototypeOf(objectGetPrototypeOf(objectGetPrototypeOf(Function('return async function*(){}()')())));
- if (objectGetPrototypeOf(prototype) === Object.prototype) { AsyncIteratorPrototype = prototype; }
- } catch (error) { /* empty */ }
- }
- }
-
- if (!AsyncIteratorPrototype) { AsyncIteratorPrototype = {}; }
-
- if (!has$1(AsyncIteratorPrototype, ASYNC_ITERATOR$1)) {
- createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR$1, function () {
- return this;
- });
- }
-
- var asyncIteratorPrototype = AsyncIteratorPrototype;
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
-
-
- var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag');
-
- var AsyncIteratorConstructor = function AsyncIterator() {
- anInstance(this, AsyncIteratorConstructor);
- };
-
- AsyncIteratorConstructor.prototype = asyncIteratorPrototype;
-
- if (!has$1(asyncIteratorPrototype, TO_STRING_TAG$4)) {
- createNonEnumerableProperty(asyncIteratorPrototype, TO_STRING_TAG$4, 'AsyncIterator');
- }
-
- if (!has$1(asyncIteratorPrototype, 'constructor') || asyncIteratorPrototype.constructor === Object) {
- createNonEnumerableProperty(asyncIteratorPrototype, 'constructor', AsyncIteratorConstructor);
- }
-
- _export({ global: true, forced: isPure }, {
- AsyncIterator: AsyncIteratorConstructor
- });
-
- var Promise$3 = getBuiltIn('Promise');
-
- var setInternalState$1 = internalState.set;
- var getInternalState$1 = internalState.get;
-
- var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-
- var $return$1 = function (value) {
- var iterator = getInternalState$1(this).iterator;
- var $$return = iterator['return'];
- return $$return === undefined
- ? Promise$3.resolve({ done: true, value: value })
- : anObject($$return.call(iterator, value));
- };
-
- var $throw$1 = function (value) {
- var iterator = getInternalState$1(this).iterator;
- var $$throw = iterator['throw'];
- return $$throw === undefined
- ? Promise$3.reject(value)
- : $$throw.call(iterator, value);
- };
-
- var asyncIteratorCreateProxy = function (nextHandler, IS_ITERATOR) {
- var AsyncIteratorProxy = function AsyncIterator(state) {
- state.next = aFunction(state.iterator.next);
- state.done = false;
- setInternalState$1(this, state);
- };
-
- AsyncIteratorProxy.prototype = redefineAll(objectCreate(path.AsyncIterator.prototype), {
- next: function next(arg) {
- var state = getInternalState$1(this);
- if (state.done) { return Promise$3.resolve({ done: true, value: undefined }); }
- try {
- return Promise$3.resolve(anObject(nextHandler.call(state, arg, Promise$3)));
- } catch (error) {
- return Promise$3.reject(error);
- }
- },
- 'return': $return$1,
- 'throw': $throw$1
- });
-
- if (!IS_ITERATOR) {
- createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG$3, 'Generator');
- }
-
- return AsyncIteratorProxy;
- };
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
- var AsyncIteratorProxy$6 = asyncIteratorCreateProxy(function (arg, Promise) {
- var state = this;
- var iterator = state.iterator;
-
- return Promise.resolve(anObject(state.next.call(iterator, arg))).then(function (step) {
- if (anObject(step).done) {
- state.done = true;
- return { done: true, value: undefined };
- }
- return { done: false, value: [state.index++, step.value] };
- });
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- asIndexedPairs: function asIndexedPairs() {
- return new AsyncIteratorProxy$6({
- iterator: anObject(this),
- index: 0
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var AsyncIteratorProxy$5 = asyncIteratorCreateProxy(function (arg, Promise) {
- var state = this;
-
- return new Promise(function (resolve, reject) {
- var loop = function () {
- try {
- Promise.resolve(
- anObject(state.next.call(state.iterator, state.remaining ? undefined : arg))
- ).then(function (step) {
- try {
- if (anObject(step).done) {
- state.done = true;
- resolve({ done: true, value: undefined });
- } else if (state.remaining) {
- state.remaining--;
- loop();
- } else { resolve({ done: false, value: step.value }); }
- } catch (err) { reject(err); }
- }, reject);
- } catch (error) { reject(error); }
- };
-
- loop();
- });
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- drop: function drop(limit) {
- return new AsyncIteratorProxy$5({
- iterator: anObject(this),
- remaining: toPositiveInteger(limit)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
- var Promise$2 = getBuiltIn('Promise');
- var push$1 = [].push;
-
- var createMethod = function (TYPE) {
- var IS_TO_ARRAY = TYPE == 0;
- var IS_FOR_EACH = TYPE == 1;
- var IS_EVERY = TYPE == 2;
- var IS_SOME = TYPE == 3;
- return function (iterator, fn) {
- anObject(iterator);
- var next = aFunction(iterator.next);
- var array = IS_TO_ARRAY ? [] : undefined;
- if (!IS_TO_ARRAY) { aFunction(fn); }
-
- return new Promise$2(function (resolve, reject) {
- var closeIteration = function (method, argument) {
- try {
- var returnMethod = iterator['return'];
- if (returnMethod !== undefined) {
- return Promise$2.resolve(returnMethod.call(iterator)).then(function () {
- method(argument);
- }, function (error) {
- reject(error);
- });
- }
- } catch (error2) {
- return reject(error2);
- } method(argument);
- };
-
- var onError = function (error) {
- closeIteration(reject, error);
- };
-
- var loop = function () {
- try {
- Promise$2.resolve(anObject(next.call(iterator))).then(function (step) {
- try {
- if (anObject(step).done) {
- resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined);
- } else {
- var value = step.value;
- if (IS_TO_ARRAY) {
- push$1.call(array, value);
- loop();
- } else {
- Promise$2.resolve(fn(value)).then(function (result) {
- if (IS_FOR_EACH) {
- loop();
- } else if (IS_EVERY) {
- result ? loop() : closeIteration(resolve, false);
- } else {
- result ? closeIteration(resolve, IS_SOME || value) : loop();
- }
- }, onError);
- }
- }
- } catch (error) { onError(error); }
- }, onError);
- } catch (error2) { onError(error2); }
- };
-
- loop();
- });
- };
- };
-
- var asyncIteratorIteration = {
- toArray: createMethod(0),
- forEach: createMethod(1),
- every: createMethod(2),
- some: createMethod(3),
- find: createMethod(4)
- };
-
- // https://github.com/tc39/proposal-iterator-helpers
-
- var $every = asyncIteratorIteration.every;
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- every: function every(fn) {
- return $every(this, fn);
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var AsyncIteratorProxy$4 = asyncIteratorCreateProxy(function (arg, Promise) {
- var state = this;
- var filterer = state.filterer;
-
- return new Promise(function (resolve, reject) {
- var loop = function () {
- try {
- Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
- try {
- if (anObject(step).done) {
- state.done = true;
- resolve({ done: true, value: undefined });
- } else {
- var value = step.value;
- Promise.resolve(filterer(value)).then(function (selected) {
- selected ? resolve({ done: false, value: value }) : loop();
- }, reject);
- }
- } catch (err) { reject(err); }
- }, reject);
- } catch (error) { reject(error); }
- };
-
- loop();
- });
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- filter: function filter(filterer) {
- return new AsyncIteratorProxy$4({
- iterator: anObject(this),
- filterer: aFunction(filterer)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
- var $find = asyncIteratorIteration.find;
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- find: function find(fn) {
- return $find(this, fn);
- }
- });
-
- var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
-
- var getAsyncIteratorMethod = function (it) {
- var method = it[ASYNC_ITERATOR];
- return method === undefined ? getIteratorMethod(it) : method;
- };
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
- var AsyncIteratorProxy$3 = asyncIteratorCreateProxy(function (arg, Promise) {
- var state = this;
- var mapper = state.mapper;
- var innerIterator, iteratorMethod;
-
- return new Promise(function (resolve, reject) {
- var outerLoop = function () {
- try {
- Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
- try {
- if (anObject(step).done) {
- state.done = true;
- resolve({ done: true, value: undefined });
- } else {
- Promise.resolve(mapper(step.value)).then(function (mapped) {
- try {
- iteratorMethod = getAsyncIteratorMethod(mapped);
- if (iteratorMethod !== undefined) {
- state.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
- state.innerNext = aFunction(innerIterator.next);
- return innerLoop();
- } reject(TypeError('.flatMap callback should return an iterable object'));
- } catch (error2) { reject(error2); }
- }, reject);
- }
- } catch (error1) { reject(error1); }
- }, reject);
- } catch (error) { reject(error); }
- };
-
- var innerLoop = function () {
- if (innerIterator = state.innerIterator) {
- try {
- Promise.resolve(anObject(state.innerNext.call(innerIterator))).then(function (result) {
- try {
- if (anObject(result).done) {
- state.innerIterator = state.innerNext = null;
- outerLoop();
- } else { resolve({ done: false, value: result.value }); }
- } catch (error1) { reject(error1); }
- }, reject);
- } catch (error) { reject(error); }
- } else { outerLoop(); }
- };
-
- innerLoop();
- });
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- flatMap: function flatMap(mapper) {
- return new AsyncIteratorProxy$3({
- iterator: anObject(this),
- mapper: aFunction(mapper),
- innerIterator: null,
- innerNext: null
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
- var $forEach = asyncIteratorIteration.forEach;
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- forEach: function forEach(fn) {
- return $forEach(this, fn);
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
-
-
- var AsyncIterator = path.AsyncIterator;
-
- var AsyncIteratorProxy$2 = asyncIteratorCreateProxy(function (arg) {
- return anObject(this.next.call(this.iterator, arg));
- }, true);
-
- _export({ target: 'AsyncIterator', stat: true }, {
- from: function from(O) {
- var object = toObject(O);
- var usingIterator = getAsyncIteratorMethod(object);
- var iterator;
- if (usingIterator != null) {
- iterator = aFunction(usingIterator).call(object);
- if (iterator instanceof AsyncIterator) { return iterator; }
- } else {
- iterator = object;
- } return new AsyncIteratorProxy$2({
- iterator: iterator
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var AsyncIteratorProxy$1 = asyncIteratorCreateProxy(function (arg, Promise) {
- var state = this;
- var mapper = state.mapper;
-
- return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) {
- if (anObject(step).done) {
- state.done = true;
- return { done: true, value: undefined };
- }
- return Promise.resolve(mapper(step.value)).then(function (value) {
- return { done: false, value: value };
- });
- });
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- map: function map(mapper) {
- return new AsyncIteratorProxy$1({
- iterator: anObject(this),
- mapper: aFunction(mapper)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var Promise$1 = getBuiltIn('Promise');
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- reduce: function reduce(reducer /* , initialValue */) {
- var iterator = anObject(this);
- var next = aFunction(iterator.next);
- var noInitial = arguments.length < 2;
- var accumulator = noInitial ? undefined : arguments[1];
- aFunction(reducer);
-
- return new Promise$1(function (resolve, reject) {
- var loop = function () {
- try {
- Promise$1.resolve(anObject(next.call(iterator))).then(function (step) {
- try {
- if (anObject(step).done) {
- noInitial ? reject(TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);
- } else {
- var value = step.value;
- if (noInitial) {
- noInitial = false;
- accumulator = value;
- loop();
- } else {
- Promise$1.resolve(reducer(accumulator, value)).then(function (result) {
- accumulator = result;
- loop();
- }, reject);
- }
- }
- } catch (err) { reject(err); }
- }, reject);
- } catch (error) { reject(error); }
- };
-
- loop();
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
- var $some = asyncIteratorIteration.some;
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- some: function some(fn) {
- return $some(this, fn);
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var AsyncIteratorProxy = asyncIteratorCreateProxy(function (arg, Promise) {
- var iterator = this.iterator;
- var returnMethod, result;
- if (!this.remaining--) {
- result = { done: true, value: undefined };
- this.done = true;
- returnMethod = iterator['return'];
- if (returnMethod !== undefined) {
- return Promise.resolve(returnMethod.call(iterator)).then(function () {
- return result;
- });
- }
- return result;
- } return this.next.call(iterator, arg);
- });
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- take: function take(limit) {
- return new AsyncIteratorProxy({
- iterator: anObject(this),
- remaining: toPositiveInteger(limit)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
- var $toArray = asyncIteratorIteration.toArray;
-
- _export({ target: 'AsyncIterator', proto: true, real: true }, {
- toArray: function toArray() {
- return $toArray(this);
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
-
- var IteratorPrototype = iteratorsCore.IteratorPrototype;
-
-
- wellKnownSymbol('iterator');
- var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-
- var NativeIterator = global_1.Iterator;
-
- // FF56- have non-standard global helper `Iterator`
- var FORCED$1 = typeof NativeIterator != 'function'
- || NativeIterator.prototype !== IteratorPrototype
- // FF44- non-standard `Iterator` passes previous tests
- || !fails(function () { NativeIterator({}); });
-
- var IteratorConstructor = function Iterator() {
- anInstance(this, IteratorConstructor);
- };
-
- if (!has$1(IteratorPrototype, TO_STRING_TAG$2)) {
- createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG$2, 'Iterator');
- }
-
- if (FORCED$1 || !has$1(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
- createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);
- }
-
- IteratorConstructor.prototype = IteratorPrototype;
-
- _export({ global: true, forced: FORCED$1 }, {
- Iterator: IteratorConstructor
- });
-
- var setInternalState = internalState.set;
- var getInternalState = internalState.get;
-
- var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-
- var $return = function (value) {
- var iterator = getInternalState(this).iterator;
- var $$return = iterator['return'];
- return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value));
- };
-
- var $throw = function (value) {
- var iterator = getInternalState(this).iterator;
- var $$throw = iterator['throw'];
- if ($$throw === undefined) { throw value; }
- return $$throw.call(iterator, value);
- };
-
- var iteratorCreateProxy = function (nextHandler, IS_ITERATOR) {
- var IteratorProxy = function Iterator(state) {
- state.next = aFunction(state.iterator.next);
- state.done = false;
- setInternalState(this, state);
- };
-
- IteratorProxy.prototype = redefineAll(objectCreate(path.Iterator.prototype), {
- next: function next() {
- var state = getInternalState(this);
- var result = state.done ? undefined : nextHandler.apply(state, arguments);
- return { done: state.done, value: result };
- },
- 'return': $return,
- 'throw': $throw
- });
-
- if (!IS_ITERATOR) {
- createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG$1, 'Generator');
- }
-
- return IteratorProxy;
- };
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
- var IteratorProxy$6 = iteratorCreateProxy(function (arg) {
- var result = anObject(this.next.call(this.iterator, arg));
- var done = this.done = !!result.done;
- if (!done) { return [this.index++, result.value]; }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- asIndexedPairs: function asIndexedPairs() {
- return new IteratorProxy$6({
- iterator: anObject(this),
- index: 0
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- var IteratorProxy$5 = iteratorCreateProxy(function (arg) {
- var iterator = this.iterator;
- var next = this.next;
- var result, done;
- while (this.remaining) {
- this.remaining--;
- result = anObject(next.call(iterator));
- done = this.done = !!result.done;
- if (done) { return; }
- }
- result = anObject(next.call(iterator, arg));
- done = this.done = !!result.done;
- if (!done) { return result.value; }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- drop: function drop(limit) {
- return new IteratorProxy$5({
- iterator: anObject(this),
- remaining: toPositiveInteger(limit)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- every: function every(fn) {
- anObject(this);
- aFunction(fn);
- return !iterate(this, function (value, stop) {
- if (!fn(value)) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
- var IteratorProxy$4 = iteratorCreateProxy(function (arg) {
- var iterator = this.iterator;
- var filterer = this.filterer;
- var next = this.next;
- var result, done, value;
- while (true) {
- result = anObject(next.call(iterator, arg));
- done = this.done = !!result.done;
- if (done) { return; }
- value = result.value;
- if (callWithSafeIterationClosing(iterator, filterer, value)) { return value; }
- }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- filter: function filter(filterer) {
- return new IteratorProxy$4({
- iterator: anObject(this),
- filterer: aFunction(filterer)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- find: function find(fn) {
- anObject(this);
- aFunction(fn);
- return iterate(this, function (value, stop) {
- if (fn(value)) { return stop(value); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).result;
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
-
- var IteratorProxy$3 = iteratorCreateProxy(function (arg) {
- var iterator = this.iterator;
- var mapper = this.mapper;
- var result, mapped, iteratorMethod, innerIterator;
-
- while (true) {
- try {
- if (innerIterator = this.innerIterator) {
- result = anObject(this.innerNext.call(innerIterator));
- if (!result.done) { return result.value; }
- this.innerIterator = this.innerNext = null;
- }
-
- result = anObject(this.next.call(iterator, arg));
-
- if (this.done = !!result.done) { return; }
-
- mapped = mapper(result.value);
- iteratorMethod = getIteratorMethod(mapped);
-
- if (iteratorMethod === undefined) {
- throw TypeError('.flatMap callback should return an iterable object');
- }
-
- this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
- this.innerNext = aFunction(innerIterator.next);
- } catch (error) {
- iteratorClose(iterator);
- throw error;
- }
- }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- flatMap: function flatMap(mapper) {
- return new IteratorProxy$3({
- iterator: anObject(this),
- mapper: aFunction(mapper),
- innerIterator: null,
- innerNext: null
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- forEach: function forEach(fn) {
- iterate(anObject(this), fn, { IS_ITERATOR: true });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
-
-
- var Iterator = path.Iterator;
-
- var IteratorProxy$2 = iteratorCreateProxy(function (arg) {
- var result = anObject(this.next.call(this.iterator, arg));
- var done = this.done = !!result.done;
- if (!done) { return result.value; }
- }, true);
-
- _export({ target: 'Iterator', stat: true }, {
- from: function from(O) {
- var object = toObject(O);
- var usingIterator = getIteratorMethod(object);
- var iterator;
- if (usingIterator != null) {
- iterator = aFunction(usingIterator).call(object);
- if (iterator instanceof Iterator) { return iterator; }
- } else {
- iterator = object;
- } return new IteratorProxy$2({
- iterator: iterator
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
- var IteratorProxy$1 = iteratorCreateProxy(function (arg) {
- var iterator = this.iterator;
- var result = anObject(this.next.call(iterator, arg));
- var done = this.done = !!result.done;
- if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, result.value); }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- map: function map(mapper) {
- return new IteratorProxy$1({
- iterator: anObject(this),
- mapper: aFunction(mapper)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- reduce: function reduce(reducer /* , initialValue */) {
- anObject(this);
- aFunction(reducer);
- var noInitial = arguments.length < 2;
- var accumulator = noInitial ? undefined : arguments[1];
- iterate(this, function (value) {
- if (noInitial) {
- noInitial = false;
- accumulator = value;
- } else {
- accumulator = reducer(accumulator, value);
- }
- }, { IS_ITERATOR: true });
- if (noInitial) { throw TypeError('Reduce of empty iterator with no initial value'); }
- return accumulator;
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- some: function some(fn) {
- anObject(this);
- aFunction(fn);
- return iterate(this, function (value, stop) {
- if (fn(value)) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
-
-
- var IteratorProxy = iteratorCreateProxy(function (arg) {
- var iterator = this.iterator;
- if (!this.remaining--) {
- this.done = true;
- return iteratorClose(iterator);
- }
- var result = anObject(this.next.call(iterator, arg));
- var done = this.done = !!result.done;
- if (!done) { return result.value; }
- });
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- take: function take(limit) {
- return new IteratorProxy({
- iterator: anObject(this),
- remaining: toPositiveInteger(limit)
- });
- }
- });
-
- // https://github.com/tc39/proposal-iterator-helpers
-
-
-
-
- var push = [].push;
-
- _export({ target: 'Iterator', proto: true, real: true }, {
- toArray: function toArray() {
- var result = [];
- iterate(anObject(this), push, { that: result, IS_ITERATOR: true });
- return result;
- }
- });
-
- // `Map.prototype.emplace` method
- // https://github.com/thumbsupep/proposal-upsert
- var mapEmplace = function emplace(key, handler) {
- var map = anObject(this);
- var value = (map.has(key) && 'update' in handler)
- ? handler.update(map.get(key), key, map)
- : handler.insert(key, map);
- map.set(key, value);
- return value;
- };
-
- // `Map.prototype.emplace` method
- // https://github.com/thumbsupep/proposal-upsert
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- emplace: mapEmplace
- });
-
- // `Map.prototype.upsert` method
- // https://github.com/thumbsupep/proposal-upsert
- var mapUpsert = function upsert(key, updateFn /* , insertFn */) {
- var map = anObject(this);
- var insertFn = arguments.length > 2 ? arguments[2] : undefined;
- var value;
- if (typeof updateFn != 'function' && typeof insertFn != 'function') {
- throw TypeError('At least one callback required');
- }
- if (map.has(key)) {
- value = map.get(key);
- if (typeof updateFn == 'function') {
- value = updateFn(value);
- map.set(key, value);
- }
- } else if (typeof insertFn == 'function') {
- value = insertFn();
- map.set(key, value);
- } return value;
- };
-
- // TODO: remove from `core-js@4`
-
-
-
-
- // `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)
- // https://github.com/thumbsupep/proposal-upsert
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- updateOrInsert: mapUpsert
- });
-
- // TODO: remove from `core-js@4`
-
-
-
-
- // `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)
- // https://github.com/thumbsupep/proposal-upsert
- _export({ target: 'Map', proto: true, real: true, forced: isPure }, {
- upsert: mapUpsert
- });
-
- // `WeakMap.prototype.emplace` method
- // https://github.com/tc39/proposal-upsert
- _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
- emplace: mapEmplace
- });
-
- // TODO: remove from `core-js@4`
-
-
-
-
- // `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)
- // https://github.com/tc39/proposal-upsert
- _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, {
- upsert: mapUpsert
- });
-
- // `Set.prototype.difference` method
- // https://github.com/tc39/proposal-set-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- difference: function difference(iterable) {
- var set = anObject(this);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
- var remover = aFunction(newSet['delete']);
- iterate(iterable, function (value) {
- remover.call(newSet, value);
- });
- return newSet;
- }
- });
-
- // `Set.prototype.intersection` method
- // https://github.com/tc39/proposal-set-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- intersection: function intersection(iterable) {
- var set = anObject(this);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
- var hasCheck = aFunction(set.has);
- var adder = aFunction(newSet.add);
- iterate(iterable, function (value) {
- if (hasCheck.call(set, value)) { adder.call(newSet, value); }
- });
- return newSet;
- }
- });
-
- // `Set.prototype.isDisjointFrom` method
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- isDisjointFrom: function isDisjointFrom(iterable) {
- var set = anObject(this);
- var hasCheck = aFunction(set.has);
- return !iterate(iterable, function (value, stop) {
- if (hasCheck.call(set, value) === true) { return stop(); }
- }, { INTERRUPTED: true }).stopped;
- }
- });
-
- // `Set.prototype.isSubsetOf` method
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- isSubsetOf: function isSubsetOf(iterable) {
- var iterator = getIterator(this);
- var otherSet = anObject(iterable);
- var hasCheck = otherSet.has;
- if (typeof hasCheck != 'function') {
- otherSet = new (getBuiltIn('Set'))(iterable);
- hasCheck = aFunction(otherSet.has);
- }
- return !iterate(iterator, function (value, stop) {
- if (hasCheck.call(otherSet, value) === false) { return stop(); }
- }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
- }
- });
-
- // `Set.prototype.isSupersetOf` method
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- isSupersetOf: function isSupersetOf(iterable) {
- var set = anObject(this);
- var hasCheck = aFunction(set.has);
- return !iterate(iterable, function (value, stop) {
- if (hasCheck.call(set, value) === false) { return stop(); }
- }, { INTERRUPTED: true }).stopped;
- }
- });
-
- // `Set.prototype.union` method
- // https://github.com/tc39/proposal-set-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- union: function union(iterable) {
- var set = anObject(this);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
- iterate(iterable, aFunction(newSet.add), { that: newSet });
- return newSet;
- }
- });
-
- // `Set.prototype.symmetricDifference` method
- // https://github.com/tc39/proposal-set-methods
- _export({ target: 'Set', proto: true, real: true, forced: isPure }, {
- symmetricDifference: function symmetricDifference(iterable) {
- var set = anObject(this);
- var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
- var remover = aFunction(newSet['delete']);
- var adder = aFunction(newSet.add);
- iterate(iterable, function (value) {
- remover.call(newSet, value) || adder.call(newSet, value);
- });
- return newSet;
- }
- });
-
- // `Symbol.asyncDispose` well-known symbol
- // https://github.com/tc39/proposal-using-statement
- defineWellKnownSymbol('asyncDispose');
-
- // `Symbol.dispose` well-known symbol
- // https://github.com/tc39/proposal-using-statement
- defineWellKnownSymbol('dispose');
-
- // `Array.prototype.at` method
- // https://github.com/tc39/proposal-relative-indexing-method
- _export({ target: 'Array', proto: true }, {
- at: function at(index) {
- var O = toObject(this);
- var len = toLength(O.length);
- var relativeIndex = toInteger(index);
- var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
- return (k < 0 || k >= len) ? undefined : O[k];
- }
- });
-
- addToUnscopables('at');
-
- var aTypedArray = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod;
-
- // `%TypedArray%.prototype.at` method
- // https://github.com/tc39/proposal-relative-indexing-method
- exportTypedArrayMethod('at', function at(index) {
- var O = aTypedArray(this);
- var len = toLength(O.length);
- var relativeIndex = toInteger(index);
- var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
- return (k < 0 || k >= len) ? undefined : O[k];
- });
-
- // TODO: remove from `core-js@4`
-
-
- defineWellKnownSymbol('replaceAll');
-
- // iterable DOM collections
- // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
- var domIterables = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
- };
-
- for (var COLLECTION_NAME$1 in domIterables) {
- var Collection$1 = global_1[COLLECTION_NAME$1];
- var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype$1 && CollectionPrototype$1.forEach !== arrayForEach) { try {
- createNonEnumerableProperty(CollectionPrototype$1, 'forEach', arrayForEach);
- } catch (error) {
- CollectionPrototype$1.forEach = arrayForEach;
- } }
- }
-
- var ITERATOR = wellKnownSymbol('iterator');
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
- var ArrayValues = es_array_iterator.values;
-
- for (var COLLECTION_NAME in domIterables) {
- var Collection = global_1[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype[ITERATOR] !== ArrayValues) { try {
- createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
- } catch (error) {
- CollectionPrototype[ITERATOR] = ArrayValues;
- } }
- if (!CollectionPrototype[TO_STRING_TAG]) {
- createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
- }
- if (domIterables[COLLECTION_NAME]) { for (var METHOD_NAME in es_array_iterator) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) { try {
- createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
- } catch (error$1) {
- CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
- } }
- } }
- }
- }
-
- var FORCED = !global_1.setImmediate || !global_1.clearImmediate;
-
- // http://w3c.github.io/setImmediate/
- _export({ global: true, bind: true, enumerable: true, forced: FORCED }, {
- // `setImmediate` method
- // http://w3c.github.io/setImmediate/#si-setImmediate
- setImmediate: task$1.set,
- // `clearImmediate` method
- // http://w3c.github.io/setImmediate/#si-clearImmediate
- clearImmediate: task$1.clear
- });
-
- var process$1 = global_1.process;
-
- // `queueMicrotask` method
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
- _export({ global: true, enumerable: true, noTargetGet: true }, {
- queueMicrotask: function queueMicrotask(fn) {
- var domain = engineIsNode && process$1.domain;
- microtask(domain ? domain.bind(fn) : fn);
- }
- });
-
- var slice = [].slice;
- var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check
-
- var wrap = function (scheduler) {
- return function (handler, timeout /* , ...arguments */) {
- var boundArgs = arguments.length > 2;
- var args = boundArgs ? slice.call(arguments, 2) : undefined;
- return scheduler(boundArgs ? function () {
- // eslint-disable-next-line no-new-func -- spec requirement
- (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
- } : handler, timeout);
- };
- };
-
- // ie9- setTimeout & setInterval additional parameters fix
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
- _export({ global: true, bind: true, forced: MSIE }, {
- // `setTimeout` method
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
- setTimeout: wrap(global_1.setTimeout),
- // `setInterval` method
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
- setInterval: wrap(global_1.setInterval)
- });
-
- var coreJs = path;
+ var coreJs = features;
/*
* Copyright [2019] [Doric.Pub]