summaryrefslogtreecommitdiffstats
path: root/js/vendor/es6-shim
diff options
context:
space:
mode:
Diffstat (limited to 'js/vendor/es6-shim')
-rw-r--r--js/vendor/es6-shim/.bower.json10
-rw-r--r--js/vendor/es6-shim/CHANGELOG.md14
-rw-r--r--js/vendor/es6-shim/Gruntfile.js8
-rw-r--r--js/vendor/es6-shim/bower.json2
-rw-r--r--js/vendor/es6-shim/component.json2
-rw-r--r--js/vendor/es6-shim/es6-sham.js4
-rw-r--r--js/vendor/es6-shim/es6-sham.min.js4
-rw-r--r--js/vendor/es6-shim/es6-shim.js422
-rw-r--r--js/vendor/es6-shim/es6-shim.map2
-rw-r--r--js/vendor/es6-shim/es6-shim.min.js7
-rw-r--r--js/vendor/es6-shim/package.json6
-rw-r--r--js/vendor/es6-shim/testling.html1
12 files changed, 428 insertions, 54 deletions
diff --git a/js/vendor/es6-shim/.bower.json b/js/vendor/es6-shim/.bower.json
index 8b258b232..de406f10b 100644
--- a/js/vendor/es6-shim/.bower.json
+++ b/js/vendor/es6-shim/.bower.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.23.0",
+ "version": "0.25.0",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
@@ -28,13 +28,13 @@
"test"
],
"homepage": "https://github.com/paulmillr/es6-shim",
- "_release": "0.23.0",
+ "_release": "0.25.0",
"_resolution": {
"type": "version",
- "tag": "0.23.0",
- "commit": "fde6f2134762d36e9b1324f212fd939282700ca5"
+ "tag": "0.25.0",
+ "commit": "7781aad3fb2a35048cce9d10bf929dd9fc192ab6"
},
"_source": "git://github.com/paulmillr/es6-shim.git",
- "_target": "~0.23.*",
+ "_target": "~0.*",
"_originalSource": "es6-shim"
} \ No newline at end of file
diff --git a/js/vendor/es6-shim/CHANGELOG.md b/js/vendor/es6-shim/CHANGELOG.md
index dc2011087..de20f2aff 100644
--- a/js/vendor/es6-shim/CHANGELOG.md
+++ b/js/vendor/es6-shim/CHANGELOG.md
@@ -1,5 +1,19 @@
# es6-shim x.x.x (not yet released)
+# es6-shim 0.25.0 (16 Feb 2015)
+* Ensure Object.getOwnPropertyNames accepts primitives.
+* Make sure the replaced `Object.keys` is non-enumerable.
+* Clean up lots of tests to make failures easier to read, and false negatives less common
+
+# es6-shim 0.24.0 (5 Feb 2015)
+* Improving accuracy of Math.expm1 values, and ensuring a shim on Linux FF 35, which reports an inaccurate value for Math.expm1(10).
+* Fix bug from 7454db144e5aa251d599415cfb296b67aa3cf992 which prevented String#startsWith and String#endsWith from being overwritten in old Firefox.
+* Improve tests across a wider list of browsers
+* Ensure that individual Reflect methods are added when possible
+* Add Reflect (#313)
+* Fix node 0.11: it has an imprecise Math.sinh with very small numbers.
+* Alter String#repeat RangeError message to align with Firefox’s native implementation.
+
# es6-shim 0.23.0 (26 Jan 2015)
* Use Symbol.species when available, else fall back to "@@species" (renamed from "@@create")
* Fix `npm run test-native`
diff --git a/js/vendor/es6-shim/Gruntfile.js b/js/vendor/es6-shim/Gruntfile.js
index 6df7ca70b..370443762 100644
--- a/js/vendor/es6-shim/Gruntfile.js
+++ b/js/vendor/es6-shim/Gruntfile.js
@@ -2,26 +2,28 @@ module.exports = function (grunt) {
var browsers = [
{ browserName: "firefox", version: "19", platform: "XP" },
{ browserName: "firefox", platform: "linux" },
+ { browserName: "firefox", platform: "OS X 10.10" },
{ browserName: "chrome", platform: "linux" },
+ { browserName: "chrome", platform: "OS X 10.9" },
+ { browserName: "chrome", platform: "XP" },
{ browserName: "internet explorer", platform: "Windows 8.1", version: "11" },
{ browserName: "internet explorer", platform: "WIN8", version: "10" },
{ browserName: "internet explorer", platform: "VISTA", version: "9" },
{ browserName: 'safari', platform: 'OS X 10.6' },
{ browserName: 'safari', platform: 'OS X 10.8' },
{ browserName: 'safari', platform: 'OS X 10.9' },
+ { browserName: 'safari', platform: 'OS X 10.10' },
{ browserName: 'iphone', platform: 'OS X 10.9', version: '7.1' },
{ browserName: 'android', platform: 'Linux', version: '4.4' },
];
var extraBrowsers = [
{ browserName: "firefox", platform: "linux", version: "30" },
{ browserName: "firefox", platform: "linux", version: "25" },
- { browserName: "firefox", platform: "OS X 10.9" },
- { browserName: "chrome", platform: "XP" },
- { browserName: "chrome", platform: "OS X 10.9" },
{ browserName: 'iphone', platform: 'OS X 10.8', version: '6.1' },
{ browserName: 'iphone', platform: 'OS X 10.8', version: '5.1' },
{ browserName: 'android', platform: 'Linux', version: '4.2' },
// XXX haven't investigated these:
+ //{ browserName: "opera", platform: "Windows 7", version: "12" },
//{ browserName: "opera", platform: "Windows 2008", version: "12" }
//{ browserName: 'iphone', platform: 'OS X 10.6', version: '4.3' },
//{ browserName: 'android', platform: 'Linux', version: '4.0' },
diff --git a/js/vendor/es6-shim/bower.json b/js/vendor/es6-shim/bower.json
index 426d2618f..767c6292f 100644
--- a/js/vendor/es6-shim/bower.json
+++ b/js/vendor/es6-shim/bower.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.23.0",
+ "version": "0.25.0",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
diff --git a/js/vendor/es6-shim/component.json b/js/vendor/es6-shim/component.json
index fee8fd913..c80e27993 100644
--- a/js/vendor/es6-shim/component.json
+++ b/js/vendor/es6-shim/component.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.23.0",
+ "version": "0.25.0",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
diff --git a/js/vendor/es6-shim/es6-sham.js b/js/vendor/es6-shim/es6-sham.js
index fe67bfd45..6d974975b 100644
--- a/js/vendor/es6-shim/es6-sham.js
+++ b/js/vendor/es6-shim/es6-sham.js
@@ -2,8 +2,8 @@
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2014 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
- * es6-sham: v0.23.0
- * see https://github.com/paulmillr/es6-shim/blob/0.22.2/LICENSE
+ * es6-sham: v0.25.0
+ * see https://github.com/paulmillr/es6-shim/blob/0.25.0/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
diff --git a/js/vendor/es6-shim/es6-sham.min.js b/js/vendor/es6-shim/es6-sham.min.js
index 6ad81ae68..d7cc819de 100644
--- a/js/vendor/es6-shim/es6-sham.min.js
+++ b/js/vendor/es6-shim/es6-sham.min.js
@@ -2,8 +2,8 @@
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2014 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
- * es6-sham: v0.23.0
- * see https://github.com/paulmillr/es6-shim/blob/0.22.2/LICENSE
+ * es6-sham: v0.25.0
+ * see https://github.com/paulmillr/es6-shim/blob/0.25.0/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
diff --git a/js/vendor/es6-shim/es6-shim.js b/js/vendor/es6-shim/es6-shim.js
index 888bec378..231f768ff 100644
--- a/js/vendor/es6-shim/es6-shim.js
+++ b/js/vendor/es6-shim/es6-shim.js
@@ -2,8 +2,8 @@
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2014 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
- * es6-shim: v0.23.0
- * see https://github.com/paulmillr/es6-shim/blob/0.22.2/LICENSE
+ * es6-shim: v0.25.0
+ * see https://github.com/paulmillr/es6-shim/blob/0.25.0/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
@@ -206,7 +206,18 @@
return result;
};
+ var safeApply = Function.call.bind(Function.apply);
+
var ES = {
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
+ Call: function Call(F, V) {
+ var args = arguments.length > 2 ? arguments[2] : [];
+ if (!ES.IsCallable(F)) {
+ throw new TypeError(F + ' is not a function');
+ }
+ return safeApply(F, V, args);
+ },
+
RequireObjectCoercible: function (x, optMessage) {
/* jshint eqnull:true */
if (x == null) {
@@ -315,7 +326,7 @@
// (see emulateES6construct)
defineProperties(obj, { _es6construct: true });
// Call the constructor.
- var result = C.apply(obj, args);
+ var result = ES.Call(C, obj, args);
return ES.TypeIsObject(result) ? result : obj;
}
};
@@ -532,27 +543,26 @@
defineProperty(String, 'fromCodePoint', function fromCodePoint(codePoints) { return originalFromCodePoint(this, arguments); }, true);
}
- var StringShims = {
- // Fast repeat, uses the `Exponentiation by squaring` algorithm.
- // Perf: http://jsperf.com/string-repeat2/2
- repeat: (function () {
- var repeat = function (s, times) {
- if (times < 1) { return ''; }
- if (times % 2) { return repeat(s, times - 1) + s; }
- var half = repeat(s, times / 2);
- return half + half;
- };
+ // Fast repeat, uses the `Exponentiation by squaring` algorithm.
+ // Perf: http://jsperf.com/string-repeat2/2
+ var stringRepeat = function repeat(s, times) {
+ if (times < 1) { return ''; }
+ if (times % 2) { return repeat(s, times - 1) + s; }
+ var half = repeat(s, times / 2);
+ return half + half;
+ };
+ var stringMaxLength = Infinity;
- return function (times) {
- ES.RequireObjectCoercible(this);
- var thisStr = String(this);
- times = ES.ToInteger(times);
- if (times < 0 || times === Infinity) {
- throw new RangeError('Invalid String#repeat value');
- }
- return repeat(thisStr, times);
- };
- }()),
+ var StringShims = {
+ repeat: function repeat(times) {
+ ES.RequireObjectCoercible(this);
+ var thisStr = String(this);
+ times = ES.ToInteger(times);
+ if (times < 0 || times >= stringMaxLength) {
+ throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');
+ }
+ return stringRepeat(thisStr, times);
+ },
startsWith: function (searchStr) {
ES.RequireObjectCoercible(this);
@@ -653,10 +663,8 @@
if (!startsWithIsCompliant) {
// Firefox has a noncompliant startsWith implementation
- defineProperties(String.prototype, {
- startsWith: StringShims.startsWith,
- endsWith: StringShims.endsWith
- });
+ defineProperty(String.prototype, 'startsWith', StringShims.startsWith, true);
+ defineProperty(String.prototype, 'endsWith', StringShims.endsWith, true);
}
var ArrayShims = {
@@ -733,6 +741,13 @@
defineProperty(Array, 'from', ArrayShims.from, true);
}
+ // Given an argument x, it will return an IteratorResult object,
+ // with value set to x and done to false.
+ // Given no arguments, it will return an iterator completion object.
+ var iterator_result = function (x) {
+ return { value: x, done: arguments.length === 0 };
+ };
+
// Our ArrayIterator is private; see
// https://github.com/paulmillr/es6-shim/issues/252
ArrayIterator = function (array, kind) {
@@ -769,6 +784,61 @@
});
addIterator(ArrayIterator.prototype);
+ var ObjectIterator = function (object, kind) {
+ this.object = object;
+ // Don't generate keys yet.
+ this.array = null;
+ this.kind = kind;
+ };
+
+ function getAllKeys(object) {
+ var keys = [];
+
+ for (var key in object) {
+ keys.push(key);
+ }
+
+ return keys;
+ }
+
+ defineProperties(ObjectIterator.prototype, {
+ next: function () {
+ var key, array = this.array;
+
+ if (!(this instanceof ObjectIterator)) {
+ throw new TypeError('Not an ObjectIterator');
+ }
+
+ // Keys not generated
+ if (array === null) {
+ array = this.array = getAllKeys(this.object);
+ }
+
+ // Find next key in the object
+ while (ES.ToLength(array.length) > 0) {
+ key = array.shift();
+
+ // The candidate key isn't defined on object.
+ // Must have been deleted, or object[[Prototype]]
+ // has been modified.
+ if (!(key in this.object)) {
+ continue;
+ }
+
+ if (this.kind === 'key') {
+ return iterator_result(key);
+ } else if (this.kind === 'value') {
+ return iterator_result(this.object[key]);
+ } else {
+ return iterator_result([key, this.object[key]]);
+ }
+ }
+
+ return iterator_result();
+ }
+ });
+ addIterator(ObjectIterator.prototype);
+
var ArrayPrototypeShims = {
copyWithin: function (target, start) {
var end = arguments[2]; // copyWithin.length must be 2
@@ -1028,13 +1098,36 @@
}());
}
- try {
- Object.keys('foo');
- } catch (e) {
+ var objectKeysAcceptsPrimitives = (function () {
+ try {
+ Object.keys('foo');
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }());
+ if (!objectKeysAcceptsPrimitives) {
var originalObjectKeys = Object.keys;
- Object.keys = function (obj) {
- return originalObjectKeys(ES.ToObject(obj));
- };
+ defineProperty(Object, 'keys', function keys(value) {
+ return originalObjectKeys(ES.ToObject(value));
+ }, true);
+ }
+
+ if (Object.getOwnPropertyNames) {
+ var objectGOPNAcceptsPrimitives = (function () {
+ try {
+ Object.getOwnPropertyNames('foo');
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }());
+ if (!objectGOPNAcceptsPrimitives) {
+ var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
+ defineProperty(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {
+ return originalObjectGetOwnPropertyNames(ES.ToObject(value));
+ }, true);
+ }
}
if (!RegExp.prototype.flags && supportsDescriptors) {
@@ -1284,6 +1377,11 @@
defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);
// Chrome 40 loses Math.acosh precision with high numbers
defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);
+ // node 0.11 has an imprecise Math.sinh with very small numbers
+ defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);
+ // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)
+ var expm1OfTen = Math.expm1(10);
+ defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);
var roundHandlesBoundaryConditions = Math.round(0.5 - Number.EPSILON / 4) === 0 && Math.round(-0.5 + Number.EPSILON / 3.99) === 1;
var origMathRound = Math.round;
@@ -2132,5 +2230,263 @@
addIterator(Object.getPrototypeOf((new globals.Set()).keys()));
}
+ // Reflect
+ if (!globals.Reflect) {
+ defineProperty(globals, 'Reflect', {});
+ }
+ var Reflect = globals.Reflect;
+
+ var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {
+ if (!ES.TypeIsObject(target)) {
+ throw new TypeError('target must be an object');
+ }
+ };
+
+ // Some Reflect methods are basically the same as
+ // those on the Object global, except that a TypeError is thrown if
+ // target isn't an object. As well as returning a boolean indicating
+ // the success of the operation.
+ defineProperties(globals.Reflect, {
+ // Apply method in a functional form.
+ apply: function apply() {
+ return ES.Call.apply(null, arguments);
+ },
+
+ // New operator in a functional form.
+ construct: function construct(constructor, args) {
+ if (!ES.IsCallable(constructor)) {
+ throw new TypeError('First argument must be callable.');
+ }
+
+ return ES.Construct(constructor, args);
+ },
+
+ // When deleting a non-existent or configurable property,
+ // true is returned.
+ // When attempting to delete a non-configurable property,
+ // it will return false.
+ deleteProperty: function deleteProperty(target, key) {
+ throwUnlessTargetIsObject(target);
+ if (supportsDescriptors) {
+ var desc = Object.getOwnPropertyDescriptor(target, key);
+
+ if (desc && !desc.configurable) {
+ return false;
+ }
+ }
+
+ // Will return true.
+ return delete target[key];
+ },
+
+ enumerate: function enumerate(target) {
+ throwUnlessTargetIsObject(target);
+ return new ObjectIterator(target, 'key');
+ },
+
+ has: function has(target, key) {
+ throwUnlessTargetIsObject(target);
+ return key in target;
+ }
+ });
+
+ if (Object.getOwnPropertyNames) {
+ defineProperties(globals.Reflect, {
+ // Basically the result of calling the internal [[OwnPropertyKeys]].
+ // Concatenating propertyNames and propertySymbols should do the trick.
+ // This should continue to work together with a Symbol shim
+ // which overrides Object.getOwnPropertyNames and implements
+ // Object.getOwnPropertySymbols.
+ ownKeys: function ownKeys(target) {
+ throwUnlessTargetIsObject(target);
+ var keys = Object.getOwnPropertyNames(target);
+
+ if (ES.IsCallable(Object.getOwnPropertySymbols)) {
+ keys.push.apply(keys, Object.getOwnPropertySymbols(target));
+ }
+
+ return keys;
+ }
+ });
+ }
+
+ if (Object.preventExtensions) {
+ defineProperties(globals.Reflect, {
+ isExtensible: function isExtensible(target) {
+ throwUnlessTargetIsObject(target);
+ return Object.isExtensible(target);
+ },
+ preventExtensions: function preventExtensions(target) {
+ throwUnlessTargetIsObject(target);
+ return callAndCatchException(function () {
+ Object.preventExtensions(target);
+ });
+ }
+ });
+ }
+
+ if (supportsDescriptors) {
+ var internal_get = function get(target, key, receiver) {
+ var desc = Object.getOwnPropertyDescriptor(target, key);
+
+ if (!desc) {
+ var parent = Object.getPrototypeOf(target);
+
+ if (parent === null) {
+ return undefined;
+ }
+
+ return internal_get(parent, key, receiver);
+ }
+
+ if ('value' in desc) {
+ return desc.value;
+ }
+
+ if (desc.get) {
+ return desc.get.call(receiver);
+ }
+
+ return undefined;
+ };
+
+ var internal_set = function set(target, key, value, receiver) {
+ var desc = Object.getOwnPropertyDescriptor(target, key);
+
+ if (!desc) {
+ var parent = Object.getPrototypeOf(target);
+
+ if (parent !== null) {
+ return internal_set(parent, key, value, receiver);
+ }
+
+ desc = {
+ value: void 0,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ };
+ }
+
+ if ('value' in desc) {
+ if (!desc.writable) {
+ return false;
+ }
+
+ if (!ES.TypeIsObject(receiver)) {
+ return false;
+ }
+
+ var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);
+
+ if (existingDesc) {
+ return Reflect.defineProperty(receiver, key, {
+ value: value
+ });
+ } else {
+ return Reflect.defineProperty(receiver, key, {
+ value: value,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ }
+ }
+
+ if (desc.set) {
+ desc.set.call(receiver, value);
+ return true;
+ }
+
+ return false;
+ };
+
+ var callAndCatchException = function ConvertExceptionToBoolean(func) {
+ try { func(); } catch (_) { return false; }
+ return true;
+ };
+
+ defineProperties(globals.Reflect, {
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
+ throwUnlessTargetIsObject(target);
+ return callAndCatchException(function () {
+ Object.defineProperty(target, propertyKey, attributes);
+ });
+ },
+
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
+ throwUnlessTargetIsObject(target);
+ return Object.getOwnPropertyDescriptor(target, propertyKey);
+ },
+
+ // Syntax in a functional form.
+ get: function get(target, key) {
+ throwUnlessTargetIsObject(target);
+ var receiver = arguments.length > 2 ? arguments[2] : target;
+
+ return internal_get(target, key, receiver);
+ },
+
+ set: function set(target, key, value) {
+ throwUnlessTargetIsObject(target);
+ var receiver = arguments.length > 3 ? arguments[3] : target;
+
+ return internal_set(target, key, value, receiver);
+ }
+ });
+ }
+
+ if (Object.getPrototypeOf) {
+ var objectDotGetPrototypeOf = Object.getPrototypeOf;
+ defineProperties(globals.Reflect, {
+ getPrototypeOf: function getPrototypeOf(target) {
+ throwUnlessTargetIsObject(target);
+ return objectDotGetPrototypeOf(target);
+ }
+ });
+ }
+
+ if (Object.setPrototypeOf) {
+ var willCreateCircularPrototype = function (object, proto) {
+ while (proto) {
+ if (object === proto) {
+ return true;
+ }
+ proto = Reflect.getPrototypeOf(proto);
+ }
+ return false;
+ };
+
+ defineProperties(globals.Reflect, {
+ // Sets the prototype of the given object.
+ // Returns true on success, otherwise false.
+ setPrototypeOf: function setPrototypeOf(object, proto) {
+ throwUnlessTargetIsObject(object);
+ if (proto !== null && !ES.TypeIsObject(proto)) {
+ throw new TypeError('proto must be an object or null');
+ }
+
+ // If they already are the same, we're done.
+ if (proto === Reflect.getPrototypeOf(object)) {
+ return true;
+ }
+
+ // Cannot alter prototype if object not extensible.
+ if (Reflect.isExtensible && !Reflect.isExtensible(object)) {
+ return false;
+ }
+
+ // Ensure that we do not create a circular prototype chain.
+ if (willCreateCircularPrototype(object, proto)) {
+ return false;
+ }
+
+ Object.setPrototypeOf(object, proto);
+
+ return true;
+ }
+ });
+ }
+
return globals;
}));
diff --git a/js/vendor/es6-shim/es6-shim.map b/js/vendor/es6-shim/es6-shim.map
index 87ba70fb5..76b8c1bc1 100644
--- a/js/vendor/es6-shim/es6-shim.map
+++ b/js/vendor/es6-shim/es6-shim.map
@@ -1 +1 @@
-{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","isCallableWithoutNew","func","e","supportsSubclassing","C","f","Sub","apply","arguments","__proto__","Object","setPrototypeOf","prototype","create","constructor","value","arePropertyDescriptorsSupported","defineProperty","startsWithRejectsRegex","rejectsRegex","String","startsWith","getGlobal","Function","globals","global_isFinite","isFinite","supportsDescriptors","startsWithIsCompliant","_indexOf","call","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","string","x","regex","symbol","object","name","force","configurable","enumerable","writable","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineProperties","map","keys","forEach","method","properties","Prototype","$iterator$","iterator","Set","addIterator","impl","o","isArguments","str","result","length","callee","ES","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsCallable","ToInt32","ToNumber","ToUint32","ToInteger","number","Number","isNaN","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","args","obj","_es6construct","emulateES6construct","numberConversion","roundToEven","n","w","packIEEE754","v","ebits","fbits","bias","s","i","bits","bytes","pow","Infinity","min","log","LN2","push","reverse","join","parseInt","slice","unpackIEEE754","j","NaN","unpackFloat64","packFloat64","unpackFloat32","packFloat32","conversions","toFloat32","num","Float32Array","float32array","fromCodePoint","codePoints","RangeError","fromCharCode","raw","callSite","cooked","rawValue","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","originalFromCodePoint","StringShims","repeat","times","half","thisStr","searchStr","startArg","start","max","endsWith","thisLen","posArg","pos","end","includes","searchString","position","codePointAt","first","charCodeAt","isEnd","second","hasStringTrimBug","trim","ws","trimRegexp","RegExp","replace","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","arrayFromSwallowsNegativeLengths","array","kind","retval","ArrayPrototypeShims","copyWithin","target","to","fin","count","direction","fill","O","relativeStart","relativeEnd","find","predicate","findIndex","values","entries","unscopables","getPrototypeOf","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","item","idx","assign","source","reduce","is","magic","checkArgs","proto","polyfill","FAKENULL","gpo","spo","p","originalObjectKeys","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","getOwnPropertyNames","MathShims","acosh","E","sqrt","asinh","atanh","cbrt","negate","clz32","cosh","exp","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","arg","sort","largest","divided","log2","LOG2E","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","MAX_VALUE","roundHandlesBoundaryConditions","round","origMathRound","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","shift","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","S","promiseIgnoresNonFunctionThenCallbacks","ex","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","add","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","M"],"mappings":"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