UNPKG

@olist/ui-commons

Version:
1,530 lines (1,274 loc) 263 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var luxon = require('luxon'); var React = require('react'); require('prop-types'); var axios = require('axios'); var X2JS = require('x2js'); var Cookie = require('js-cookie'); var styledComponents = require('styled-components'); var require$$1 = require('react-dom'); var united = require('@olist/united'); var Uppy = require('@uppy/core'); var XHRUpload = require('@uppy/xhr-upload'); var UppyAwsS3 = require('@uppy/aws-s3'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios); var X2JS__default = /*#__PURE__*/_interopDefaultLegacy(X2JS); var Cookie__default = /*#__PURE__*/_interopDefaultLegacy(Cookie); var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1); var Uppy__default = /*#__PURE__*/_interopDefaultLegacy(Uppy); var XHRUpload__default = /*#__PURE__*/_interopDefaultLegacy(XHRUpload); var UppyAwsS3__default = /*#__PURE__*/_interopDefaultLegacy(UppyAwsS3); function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function (obj) { return typeof obj; }; } else { _typeof = function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { return it && it.Math == Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global$o = // 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 (function () { return this; })() || Function('return this')(); var objectGetOwnPropertyDescriptor = {}; var fails$k = function (exec) { try { return !!exec(); } catch (error) { return true; } }; var fails$j = fails$k; // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$j(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); var objectPropertyIsEnumerable = {}; var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug var NASHORN_BUG = getOwnPropertyDescriptor$3 && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor$3(this, V); return !!descriptor && descriptor.enumerable; } : $propertyIsEnumerable; var createPropertyDescriptor$5 = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; var toString$1 = {}.toString; var classofRaw$1 = function (it) { return toString$1.call(it).slice(8, -1); }; var fails$i = fails$k; var classof$8 = classofRaw$1; var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings var indexedObject = fails$i(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof$8(it) == 'String' ? split.call(it, '') : Object(it); } : Object; // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$a = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; // toObject with fallback for non-array-like ES3 strings var IndexedObject$4 = indexedObject; var requireObjectCoercible$9 = requireObjectCoercible$a; var toIndexedObject$6 = function (it) { return IndexedObject$4(requireObjectCoercible$9(it)); }; var isObject$e = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; var isObject$d = isObject$e; // `ToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-toprimitive // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string var toPrimitive$3 = function (input, PREFERRED_STRING) { if (!isObject$d(input)) return input; var fn, val; if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$d(val = fn.call(input))) return val; if (typeof (fn = input.valueOf) == 'function' && !isObject$d(val = fn.call(input))) return val; if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$d(val = fn.call(input))) return val; throw TypeError("Can't convert object to primitive value"); }; var requireObjectCoercible$8 = requireObjectCoercible$a; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject var toObject$a = function (argument) { return Object(requireObjectCoercible$8(argument)); }; var toObject$9 = toObject$a; var hasOwnProperty = {}.hasOwnProperty; var has$b = function hasOwn(it, key) { return hasOwnProperty.call(toObject$9(it), key); }; var global$n = global$o; var isObject$c = isObject$e; var document$3 = global$n.document; // typeof document.createElement is 'object' in old IE var EXISTS = isObject$c(document$3) && isObject$c(document$3.createElement); var documentCreateElement$1 = function (it) { return EXISTS ? document$3.createElement(it) : {}; }; var DESCRIPTORS$a = descriptors; var fails$h = fails$k; var createElement$1 = documentCreateElement$1; // Thank's IE8 for his funny defineProperty var ie8DomDefine = !DESCRIPTORS$a && !fails$h(function () { // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(createElement$1('div'), 'a', { get: function () { return 7; } }).a != 7; }); var DESCRIPTORS$9 = descriptors; var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable; var createPropertyDescriptor$4 = createPropertyDescriptor$5; var toIndexedObject$5 = toIndexedObject$6; var toPrimitive$2 = toPrimitive$3; var has$a = has$b; var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor objectGetOwnPropertyDescriptor.f = DESCRIPTORS$9 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject$5(O); P = toPrimitive$2(P, true); if (IE8_DOM_DEFINE$1) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has$a(O, P)) return createPropertyDescriptor$4(!propertyIsEnumerableModule$1.f.call(O, P), O[P]); }; var objectDefineProperty = {}; var isObject$b = isObject$e; var anObject$f = function (it) { if (!isObject$b(it)) { throw TypeError(String(it) + ' is not an object'); } return it; }; var DESCRIPTORS$8 = descriptors; var IE8_DOM_DEFINE = ie8DomDefine; var anObject$e = anObject$f; var toPrimitive$1 = toPrimitive$3; // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty objectDefineProperty.f = DESCRIPTORS$8 ? $defineProperty : function defineProperty(O, P, Attributes) { anObject$e(O); P = toPrimitive$1(P, true); anObject$e(Attributes); if (IE8_DOM_DEFINE) try { return $defineProperty(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; return O; }; var DESCRIPTORS$7 = descriptors; var definePropertyModule$5 = objectDefineProperty; var createPropertyDescriptor$3 = createPropertyDescriptor$5; var createNonEnumerableProperty$9 = DESCRIPTORS$7 ? function (object, key, value) { return definePropertyModule$5.f(object, key, createPropertyDescriptor$3(1, value)); } : function (object, key, value) { object[key] = value; return object; }; var redefine$a = {exports: {}}; var global$m = global$o; var createNonEnumerableProperty$8 = createNonEnumerableProperty$9; var setGlobal$3 = function (key, value) { try { createNonEnumerableProperty$8(global$m, key, value); } catch (error) { global$m[key] = value; } return value; }; var global$l = global$o; var setGlobal$2 = setGlobal$3; var SHARED = '__core-js_shared__'; var store$3 = global$l[SHARED] || setGlobal$2(SHARED, {}); var sharedStore = store$3; var store$2 = sharedStore; var functionToString = Function.toString; // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper if (typeof store$2.inspectSource != 'function') { store$2.inspectSource = function (it) { return functionToString.call(it); }; } var inspectSource$3 = store$2.inspectSource; var global$k = global$o; var inspectSource$2 = inspectSource$3; var WeakMap$1 = global$k.WeakMap; var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource$2(WeakMap$1)); var shared$4 = {exports: {}}; var isPure = false; var store$1 = sharedStore; (shared$4.exports = function (key, value) { return store$1[key] || (store$1[key] = value !== undefined ? value : {}); })('versions', []).push({ version: '3.12.1', mode: 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); var id$1 = 0; var postfix = Math.random(); var uid$3 = function (key) { return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id$1 + postfix).toString(36); }; var shared$3 = shared$4.exports; var uid$2 = uid$3; var keys = shared$3('keys'); var sharedKey$3 = function (key) { return keys[key] || (keys[key] = uid$2(key)); }; var hiddenKeys$5 = {}; var NATIVE_WEAK_MAP = nativeWeakMap; var global$j = global$o; var isObject$a = isObject$e; var createNonEnumerableProperty$7 = createNonEnumerableProperty$9; var objectHas = has$b; var shared$2 = sharedStore; var sharedKey$2 = sharedKey$3; var hiddenKeys$4 = hiddenKeys$5; var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; var WeakMap = global$j.WeakMap; var set$1, get, has$9; var enforce = function (it) { return has$9(it) ? get(it) : set$1(it, {}); }; var getterFor = function (TYPE) { return function (it) { var state; if (!isObject$a(it) || (state = get(it)).type !== TYPE) { throw TypeError('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; if (NATIVE_WEAK_MAP || shared$2.state) { var store = shared$2.state || (shared$2.state = new WeakMap()); var wmget = store.get; var wmhas = store.has; var wmset = store.set; set$1 = function (it, metadata) { if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; wmset.call(store, it, metadata); return metadata; }; get = function (it) { return wmget.call(store, it) || {}; }; has$9 = function (it) { return wmhas.call(store, it); }; } else { var STATE = sharedKey$2('state'); hiddenKeys$4[STATE] = true; set$1 = function (it, metadata) { if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$7(it, STATE, metadata); return metadata; }; get = function (it) { return objectHas(it, STATE) ? it[STATE] : {}; }; has$9 = function (it) { return objectHas(it, STATE); }; } var internalState = { set: set$1, get: get, has: has$9, enforce: enforce, getterFor: getterFor }; var global$i = global$o; var createNonEnumerableProperty$6 = createNonEnumerableProperty$9; var has$8 = has$b; var setGlobal$1 = setGlobal$3; var inspectSource$1 = inspectSource$3; var InternalStateModule$6 = internalState; var getInternalState$3 = InternalStateModule$6.get; var enforceInternalState = InternalStateModule$6.enforce; var TEMPLATE = String(String).split('String'); (redefine$a.exports = function (O, key, value, options) { var unsafe = options ? !!options.unsafe : false; var simple = options ? !!options.enumerable : false; var noTargetGet = options ? !!options.noTargetGet : false; var state; if (typeof value == 'function') { if (typeof key == 'string' && !has$8(value, 'name')) { createNonEnumerableProperty$6(value, 'name', key); } state = enforceInternalState(value); if (!state.source) { state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); } } if (O === global$i) { if (simple) O[key] = value; else setGlobal$1(key, value); return; } else if (!unsafe) { delete O[key]; } else if (!noTargetGet && O[key]) { simple = true; } if (simple) O[key] = value; else createNonEnumerableProperty$6(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative })(Function.prototype, 'toString', function toString() { return typeof this == 'function' && getInternalState$3(this).source || inspectSource$1(this); }); var global$h = global$o; var path$1 = global$h; var path = path$1; var global$g = global$o; var aFunction$6 = function (variable) { return typeof variable == 'function' ? variable : undefined; }; var getBuiltIn$6 = function (namespace, method) { return arguments.length < 2 ? aFunction$6(path[namespace]) || aFunction$6(global$g[namespace]) : path[namespace] && path[namespace][method] || global$g[namespace] && global$g[namespace][method]; }; var objectGetOwnPropertyNames = {}; var ceil$1 = Math.ceil; var floor$3 = Math.floor; // `ToInteger` abstract operation // https://tc39.es/ecma262/#sec-tointeger var toInteger$6 = function (argument) { return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$3 : ceil$1)(argument); }; var toInteger$5 = toInteger$6; var min$5 = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength var toLength$b = function (argument) { return argument > 0 ? min$5(toInteger$5(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; var toInteger$4 = toInteger$6; var max$2 = Math.max; var min$4 = Math.min; // Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). var toAbsoluteIndex$2 = function (index, length) { var integer = toInteger$4(index); return integer < 0 ? max$2(integer + length, 0) : min$4(integer, length); }; var toIndexedObject$4 = toIndexedObject$6; var toLength$a = toLength$b; var toAbsoluteIndex$1 = toAbsoluteIndex$2; // `Array.prototype.{ indexOf, includes }` methods implementation var createMethod$6 = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject$4($this); var length = toLength$a(O.length); var index = toAbsoluteIndex$1(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare -- NaN check if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) { if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; var arrayIncludes = { // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes includes: createMethod$6(true), // `Array.prototype.indexOf` method // https://tc39.es/ecma262/#sec-array.prototype.indexof indexOf: createMethod$6(false) }; var has$7 = has$b; var toIndexedObject$3 = toIndexedObject$6; var indexOf = arrayIncludes.indexOf; var hiddenKeys$3 = hiddenKeys$5; var objectKeysInternal = function (object, names) { var O = toIndexedObject$3(object); var i = 0; var result = []; var key; for (key in O) !has$7(hiddenKeys$3, key) && has$7(O, key) && result.push(key); // Don't enum bug & hidden keys while (names.length > i) if (has$7(O, key = names[i++])) { ~indexOf(result, key) || result.push(key); } return result; }; // IE8- don't enum bug keys var enumBugKeys$3 = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ]; var internalObjectKeys$1 = objectKeysInternal; var enumBugKeys$2 = enumBugKeys$3; var hiddenKeys$2 = enumBugKeys$2.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys$1(O, hiddenKeys$2); }; var objectGetOwnPropertySymbols = {}; // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; var getBuiltIn$5 = getBuiltIn$6; var getOwnPropertyNamesModule = objectGetOwnPropertyNames; var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols; var anObject$d = anObject$f; // all object keys, includes non-enumerable and symbols var ownKeys$1 = getBuiltIn$5('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject$d(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f; return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; }; var has$6 = has$b; var ownKeys = ownKeys$1; var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; var definePropertyModule$4 = objectDefineProperty; var copyConstructorProperties$1 = function (target, source) { var keys = ownKeys(source); var defineProperty = definePropertyModule$4.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (!has$6(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } }; var fails$g = fails$k; var replacement = /#|\.prototype\./; var isForced$3 = function (feature, detection) { var value = data[normalize(feature)]; return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails$g(detection) : !!detection; }; var normalize = isForced$3.normalize = function (string) { return String(string).replace(replacement, '.').toLowerCase(); }; var data = isForced$3.data = {}; var NATIVE = isForced$3.NATIVE = 'N'; var POLYFILL = isForced$3.POLYFILL = 'P'; var isForced_1 = isForced$3; var global$f = global$o; var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$5 = createNonEnumerableProperty$9; var redefine$9 = redefine$a.exports; var setGlobal = setGlobal$3; var copyConstructorProperties = copyConstructorProperties$1; var isForced$2 = isForced_1; /* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.noTargetGet - prevent calling a getter on target */ var _export = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; var STATIC = options.stat; var FORCED, target, key, targetProperty, sourceProperty, descriptor; if (GLOBAL) { target = global$f; } else if (STATIC) { target = global$f[TARGET] || setGlobal(TARGET, {}); } else { target = (global$f[TARGET] || {}).prototype; } if (target) for (key in source) { sourceProperty = source[key]; if (options.noTargetGet) { descriptor = getOwnPropertyDescriptor$2(target, key); targetProperty = descriptor && descriptor.value; } else targetProperty = target[key]; FORCED = isForced$2(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty === typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } // add a flag to not completely full polyfills if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty$5(sourceProperty, 'sham', true); } // extend global redefine$9(target, key, sourceProperty, options); } }; var classof$7 = classofRaw$1; // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$3 = Array.isArray || function isArray(arg) { return classof$7(arg) == 'Array'; }; var getBuiltIn$4 = getBuiltIn$6; var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || ''; var global$e = global$o; var userAgent$3 = engineUserAgent; var process$3 = global$e.process; var versions = process$3 && process$3.versions; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); version = match[0] < 4 ? 1 : match[0] + match[1]; } else if (userAgent$3) { match = userAgent$3.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent$3.match(/Chrome\/(\d+)/); if (match) version = match[1]; } } var engineV8Version = version && +version; /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION$3 = engineV8Version; var fails$f = fails$k; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$f(function () { return !String(Symbol()) || // Chrome 38 Symbol has incorrect toString conversion // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$3 && V8_VERSION$3 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ var NATIVE_SYMBOL$1 = nativeSymbol; var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == 'symbol'; var global$d = global$o; var shared$1 = shared$4.exports; var has$5 = has$b; var uid$1 = uid$3; var NATIVE_SYMBOL = nativeSymbol; var USE_SYMBOL_AS_UID = useSymbolAsUid; var WellKnownSymbolsStore = shared$1('wks'); var Symbol$1 = global$d.Symbol; var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; var wellKnownSymbol$l = function (name) { if (!has$5(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { if (NATIVE_SYMBOL && has$5(Symbol$1, name)) { WellKnownSymbolsStore[name] = Symbol$1[name]; } else { WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); } } return WellKnownSymbolsStore[name]; }; var isObject$9 = isObject$e; var isArray$2 = isArray$3; var wellKnownSymbol$k = wellKnownSymbol$l; var SPECIES$5 = wellKnownSymbol$k('species'); // `ArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#sec-arrayspeciescreate var arraySpeciesCreate$3 = function (originalArray, length) { var C; if (isArray$2(originalArray)) { C = originalArray.constructor; // cross-realm fallback if (typeof C == 'function' && (C === Array || isArray$2(C.prototype))) C = undefined; else if (isObject$9(C)) { C = C[SPECIES$5]; if (C === null) C = undefined; } } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); }; var toPrimitive = toPrimitive$3; var definePropertyModule$3 = objectDefineProperty; var createPropertyDescriptor$2 = createPropertyDescriptor$5; var createProperty$4 = function (object, key, value) { var propertyKey = toPrimitive(key); if (propertyKey in object) definePropertyModule$3.f(object, propertyKey, createPropertyDescriptor$2(0, value)); else object[propertyKey] = value; }; var fails$e = fails$k; var wellKnownSymbol$j = wellKnownSymbol$l; var V8_VERSION$2 = engineV8Version; var SPECIES$4 = wellKnownSymbol$j('species'); var arrayMethodHasSpeciesSupport$4 = function (METHOD_NAME) { // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 return V8_VERSION$2 >= 51 || !fails$e(function () { var array = []; var constructor = array.constructor = {}; constructor[SPECIES$4] = function () { return { foo: 1 }; }; return array[METHOD_NAME](Boolean).foo !== 1; }); }; var $$p = _export; var toAbsoluteIndex = toAbsoluteIndex$2; var toInteger$3 = toInteger$6; var toLength$9 = toLength$b; var toObject$8 = toObject$a; var arraySpeciesCreate$2 = arraySpeciesCreate$3; var createProperty$3 = createProperty$4; var arrayMethodHasSpeciesSupport$3 = arrayMethodHasSpeciesSupport$4; var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport$3('splice'); var max$1 = Math.max; var min$3 = Math.min; var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF; var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; // `Array.prototype.splice` method // https://tc39.es/ecma262/#sec-array.prototype.splice // with adding support of @@species $$p({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 }, { splice: function splice(start, deleteCount /* , ...items */) { var O = toObject$8(this); var len = toLength$9(O.length); var actualStart = toAbsoluteIndex(start, len); var argumentsLength = arguments.length; var insertCount, actualDeleteCount, A, k, from, to; if (argumentsLength === 0) { insertCount = actualDeleteCount = 0; } else if (argumentsLength === 1) { insertCount = 0; actualDeleteCount = len - actualStart; } else { insertCount = argumentsLength - 2; actualDeleteCount = min$3(max$1(toInteger$3(deleteCount), 0), len - actualStart); } if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) { throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); } A = arraySpeciesCreate$2(O, actualDeleteCount); for (k = 0; k < actualDeleteCount; k++) { from = actualStart + k; if (from in O) createProperty$3(A, k, O[from]); } A.length = actualDeleteCount; if (insertCount < actualDeleteCount) { for (k = actualStart; k < len - actualDeleteCount; k++) { from = k + actualDeleteCount; to = k + insertCount; if (from in O) O[to] = O[from]; else delete O[to]; } for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; } else if (insertCount > actualDeleteCount) { for (k = len - actualDeleteCount; k > actualStart; k--) { from = k + actualDeleteCount - 1; to = k + insertCount - 1; if (from in O) O[to] = O[from]; else delete O[to]; } } for (k = 0; k < insertCount; k++) { O[k + actualStart] = arguments[k + 2]; } O.length = len - actualDeleteCount + insertCount; return A; } }); var aFunction$5 = function (it) { if (typeof it != 'function') { throw TypeError(String(it) + ' is not a function'); } return it; }; var aFunction$4 = aFunction$5; // optional / simple context binding var functionBindContext = function (fn, that, length) { aFunction$4(fn); if (that === undefined) return fn; switch (length) { case 0: return function () { return fn.call(that); }; case 1: return function (a) { return fn.call(that, a); }; case 2: return function (a, b) { return fn.call(that, a, b); }; case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } return function (/* ...args */) { return fn.apply(that, arguments); }; }; var bind$6 = functionBindContext; var IndexedObject$3 = indexedObject; var toObject$7 = toObject$a; var toLength$8 = toLength$b; var arraySpeciesCreate$1 = arraySpeciesCreate$3; var push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation var createMethod$5 = function (TYPE) { var IS_MAP = TYPE == 1; var IS_FILTER = TYPE == 2; var IS_SOME = TYPE == 3; var IS_EVERY = TYPE == 4; var IS_FIND_INDEX = TYPE == 6; var IS_FILTER_OUT = TYPE == 7; var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject$7($this); var self = IndexedObject$3(O); var boundFunction = bind$6(callbackfn, that, 3); var length = toLength$8(self.length); var index = 0; var create = specificCreate || arraySpeciesCreate$1; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; var value, result; for (;length > index; index++) if (NO_HOLES || index in self) { value = self[index]; result = boundFunction(value, index, O); if (TYPE) { if (IS_MAP) target[index] = result; // map else if (result) switch (TYPE) { case 3: return true; // some case 5: return value; // find case 6: return index; // findIndex case 2: push.call(target, value); // filter } else switch (TYPE) { case 4: return false; // every case 7: push.call(target, value); // filterOut } } } return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; }; }; var arrayIteration = { // `Array.prototype.forEach` method // https://tc39.es/ecma262/#sec-array.prototype.foreach forEach: createMethod$5(0), // `Array.prototype.map` method // https://tc39.es/ecma262/#sec-array.prototype.map map: createMethod$5(1), // `Array.prototype.filter` method // https://tc39.es/ecma262/#sec-array.prototype.filter filter: createMethod$5(2), // `Array.prototype.some` method // https://tc39.es/ecma262/#sec-array.prototype.some some: createMethod$5(3), // `Array.prototype.every` method // https://tc39.es/ecma262/#sec-array.prototype.every every: createMethod$5(4), // `Array.prototype.find` method // https://tc39.es/ecma262/#sec-array.prototype.find find: createMethod$5(5), // `Array.prototype.findIndex` method // https://tc39.es/ecma262/#sec-array.prototype.findIndex findIndex: createMethod$5(6), // `Array.prototype.filterOut` method // https://github.com/tc39/proposal-array-filtering filterOut: createMethod$5(7) }; var $$o = _export; var $filter = arrayIteration.filter; var arrayMethodHasSpeciesSupport$2 = arrayMethodHasSpeciesSupport$4; var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport$2('filter'); // `Array.prototype.filter` method // https://tc39.es/ecma262/#sec-array.prototype.filter // with adding support of @@species $$o({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, { filter: function filter(callbackfn /* , thisArg */) { return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); var internalObjectKeys = objectKeysInternal; var enumBugKeys$1 = enumBugKeys$3; // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys // eslint-disable-next-line es/no-object-keys -- safe var objectKeys$3 = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys$1); }; var DESCRIPTORS$6 = descriptors; var definePropertyModule$2 = objectDefineProperty; var anObject$c = anObject$f; var objectKeys$2 = objectKeys$3; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties // eslint-disable-next-line es/no-object-defineproperties -- safe var objectDefineProperties = DESCRIPTORS$6 ? Object.defineProperties : function defineProperties(O, Properties) { anObject$c(O); var keys = objectKeys$2(Properties); var length = keys.length; var index = 0; var key; while (length > index) definePropertyModule$2.f(O, key = keys[index++], Properties[key]); return O; }; var getBuiltIn$3 = getBuiltIn$6; var html$2 = getBuiltIn$3('document', 'documentElement'); var anObject$b = anObject$f; var defineProperties$1 = objectDefineProperties; var enumBugKeys = enumBugKeys$3; var hiddenKeys$1 = hiddenKeys$5; var html$1 = html$2; var documentCreateElement = documentCreateElement$1; var sharedKey$1 = sharedKey$3; var GT = '>'; var LT = '<'; var PROTOTYPE = 'prototype'; var SCRIPT = 'script'; var IE_PROTO$1 = sharedKey$1('IE_PROTO'); var EmptyConstructor = function () { /* empty */ }; var scriptTag = function (content) { return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype var NullProtoObjectViaActiveX = function (activeXDocument) { activeXDocument.write(scriptTag('')); activeXDocument.close(); var temp = activeXDocument.parentWindow.Object; activeXDocument = null; // avoid memory leak return temp; }; // Create object with fake `null` prototype: use iframe Object with cleared prototype var NullProtoObjectViaIFrame = function () { // Thrash, waste and sodomy: IE GC bug var iframe = documentCreateElement('iframe'); var JS = 'java' + SCRIPT + ':'; var iframeDocument; iframe.style.display = 'none'; html$1.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475 iframe.src = String(JS); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(scriptTag('document.F=Object')); iframeDocument.close(); return iframeDocument.F; }; // Check for document.domain and active x support // No need to use active x approach when document.domain is not set // see https://github.com/es-shims/es5-shim/issues/150 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 // avoid IE GC bug var activeXDocument; var NullProtoObject = function () { try { /* global ActiveXObject -- old IE */ activeXDocument = document.domain && new ActiveXObject('htmlfile'); } catch (error) { /* ignore */ } NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); var length = enumBugKeys.length; while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; return NullProtoObject(); }; hiddenKeys$1[IE_PROTO$1] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create var objectCreate = Object.create || function create(O, Properties) { var result; if (O !== null) { EmptyConstructor[PROTOTYPE] = anObject$b(O); result = new EmptyConstructor(); EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO$1] = O; } else result = NullProtoObject(); return Properties === undefined ? result : defineProperties$1(result, Properties); }; var wellKnownSymbol$i = wellKnownSymbol$l; var create$3 = objectCreate; var definePropertyModule$1 = objectDefineProperty; var UNSCOPABLES = wellKnownSymbol$i('unscopables'); var ArrayPrototype$1 = Array.prototype; // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables if (ArrayPrototype$1[UNSCOPABLES] == undefined) { definePropertyModule$1.f(ArrayPrototype$1, UNSCOPABLES, { configurable: true, value: create$3(null) }); } // add a key to Array.prototype[@@unscopables] var addToUnscopables$2 = function (key) { ArrayPrototype$1[UNSCOPABLES][key] = true; }; var iterators = {}; var fails$d = fails$k; var correctPrototypeGetter = !fails$d(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; }); var has$4 = has$b; var toObject$6 = toObject$a; var sharedKey = sharedKey$3; var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter; var IE_PROTO = sharedKey('IE_PROTO'); var ObjectPrototype = Object.prototype; // `Object.getPrototypeOf` method // https://tc39.es/ecma262/#sec-object.getprototypeof // eslint-disable-next-line es/no-object-getprototypeof -- safe var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { O = toObject$6(O); if (has$4(O, IE_PROTO)) return O[IE_PROTO]; if (typeof O.constructor == 'function' && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectPrototype : null; }; var fails$c = fails$k; var getPrototypeOf$1 = objectGetPrototypeOf; var createNonEnumerableProperty$4 = createNonEnumerableProperty$9; var has$3 = has$b; var wellKnownSymbol$h = wellKnownSymbol$l; var ITERATOR$7 = wellKnownSymbol$h('iterator'); var BUGGY_SAFARI_ITERATORS$1 = false; var returnThis$2 = function () { return this; }; // `%IteratorPrototype%` object // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype$2, 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 = getPrototypeOf$1(getPrototypeOf$1(arrayIterator)); if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype; } } var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails$c(function () { var test = {}; // FF44- legacy iterators case return IteratorPrototype$2[ITERATOR$7].call(test) !== test; }); if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() if (!has$3(IteratorPrototype$2, ITERATOR$7)) { createNonEnumerableProperty$4(IteratorPrototype$2, ITERATOR$7, returnThis$2); } var iteratorsCore = { IteratorPrototype: IteratorPrototype$2, BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1 }; var defineProperty$4 = objectDefineProperty.f; var has$2 = has$b; var wellKnownSymbol$g = wellKnownSymbol$l; var TO_STRING_TAG$3 = wellKnownSymbol$g('toStringTag'); var setToStringTag$6 = function (it, TAG, STATIC) { if (it && !has$2(it = STATIC ? it : it.prototype, TO_STRING_TAG$3)) { defineProperty$4(it, TO_STRING_TAG$3, { configurable: true, value: TAG }); } }; var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; var create$2 = objectCreate; var createPropertyDescriptor$1 = createPropertyDescriptor$5; var setToStringTag$5 = setToStringTag$6; var Iterators$4 = iterators; var returnThis$1 = function () { return this; }; var createIteratorConstructor$2 = function (IteratorConstructor, NAME, next) { var TO_STRING_TAG = NAME + ' Iterator'; IteratorConstructor.prototype = create$2(IteratorPrototype$1, { next: createPropertyDescriptor$1(1, next) }); setToStringTag$5(IteratorConstructor, TO_STRING_TAG, false); Iterators$4[TO_STRING_TAG] = returnThis$1; return IteratorConstructor; }; var isObject$8 = isObject$e; var aPossiblePrototype$1 = function (it) { if (!isObject$8(it) && it !== null) { throw TypeError("Can't set " + String(it) + ' as a prototype'); } return it; }; /* eslint-disable no-proto -- safe */ var anObject$a = anObject$f; var aPossiblePrototype = aPossiblePrototype$1; // `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; } catch (error) { /* empty */ } return function setPrototypeOf(O, proto) { anObject$a(O); aPossiblePrototype(proto); if (CORRECT_SETTER) setter.call(O, proto); else O.__proto__ = proto; return O; }; }() : undefined); var $$n = _export; var createIteratorConstructor$1 = createIteratorConstructor$2; var getPrototypeOf = objectGetPrototypeOf; var setPrototypeOf$2 = objectSetPrototypeOf; var setToStringTag$4 = setToStringTag$6; var createNonEnumerableProperty$3 = createNonEnumerableProperty$9; var redefine$8 = redefine$a.exports; var wellKnownSymbol$f = wellKnownSymbol$l; var Iterators$3 = iterators; var IteratorsCore = iteratorsCore; var IteratorPrototype = IteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; var ITERATOR$6 = wellKnownSymbol$f('iterator'); var KEYS = 'keys'; var VALUES = 'values'; var ENTRIES = 'entries'; var returnThis = function () { return this; }; var defineIterator$3 = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { createIteratorConstructor$1(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$6] || 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 = getPrototypeOf(anyNativeIterator.call(new Iterable())); if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { if (setPrototypeOf$2) { setPrototypeOf$2(CurrentIteratorPrototype, IteratorPrototype); } else if (typeof CurrentIteratorPrototype[ITERATOR$6] != 'function') { createNonEnumerableProperty$3(CurrentIteratorPrototype, ITERATOR$6, returnThis); } } // Set @@toStringTag to native iterators setToStringTag$4(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$6] !== defaultIterator) { createNonEnumerableProperty$3(IterablePrototype, ITERATOR$6, defaultIterator);