@near-wallet-selector/core
Version:
This is the core package for NEAR Wallet Selector.
1,588 lines (1,361 loc) • 219 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var nearAPI = require('near-api-js');
var providers = require('near-api-js/lib/providers');
var events = require('events');
var rxjs = require('rxjs');
var borsh = require('borsh');
var jsSha256 = require('js-sha256');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var nearAPI__namespace = /*#__PURE__*/_interopNamespace(nearAPI);
/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
class Provider {
constructor(urls) {
this.provider = new nearAPI__namespace.providers.FailoverRpcProvider(this.urlsToProviders(urls));
}
query(paramsOrPath, data) {
if (typeof paramsOrPath === "string" && data !== undefined) {
return this.provider.query(paramsOrPath, data);
} else {
return this.provider.query(paramsOrPath);
}
}
viewAccessKey({
accountId,
publicKey
}) {
return this.query({
request_type: "view_access_key",
finality: "final",
account_id: accountId,
public_key: publicKey
});
}
block(reference) {
return this.provider.block(reference);
}
sendTransaction(signedTransaction) {
return this.provider.sendTransaction(signedTransaction);
}
urlsToProviders(urls) {
return urls && urls.length > 0 ? urls.map(url => new providers.JsonRpcProvider({
url
})) : [];
}
}
const KEY_DELIMITER = ":";
class JsonStorage {
constructor(storage, namespace) {
this.storage = storage;
this.namespace = Array.isArray(namespace) ? namespace.join(KEY_DELIMITER) : namespace;
}
resolveKey(key) {
return [this.namespace, key].join(KEY_DELIMITER);
}
getItem(key) {
return this.storage.getItem(this.resolveKey(key)).then(item => {
return typeof item === "string" ? JSON.parse(item) : null;
});
}
setItem(key, value) {
return this.storage.setItem(this.resolveKey(key), JSON.stringify(value));
}
removeItem(key) {
return this.storage.removeItem(this.resolveKey(key));
}
}
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$n =
// eslint-disable-next-line no-undef
check(typeof globalThis == 'object' && globalThis) ||
check(typeof window == 'object' && window) ||
check(typeof self == 'object' && self) ||
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
// eslint-disable-next-line no-new-func
Function('return this')();
var objectGetOwnPropertyDescriptor = {};
var fails$h = function (exec) {
try {
return !!exec();
} catch (error) {
return true;
}
};
var fails$g = fails$h;
// Thank's IE8 for his funny defineProperty
var descriptors = !fails$g(function () {
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
});
var objectPropertyIsEnumerable = {};
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor$2 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor$2(this, V);
return !!descriptor && descriptor.enumerable;
} : nativePropertyIsEnumerable;
var createPropertyDescriptor$4 = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
var toString = {}.toString;
var classofRaw$1 = function (it) {
return toString.call(it).slice(8, -1);
};
var fails$f = fails$h;
var classof$9 = classofRaw$1;
var split = ''.split;
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var indexedObject = fails$f(function () {
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
// eslint-disable-next-line no-prototype-builtins
return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
return classof$9(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;
// `RequireObjectCoercible` abstract operation
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
var requireObjectCoercible$4 = 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$3 = indexedObject;
var requireObjectCoercible$3 = requireObjectCoercible$4;
var toIndexedObject$4 = function (it) {
return IndexedObject$3(requireObjectCoercible$3(it));
};
var isObject$c = function (it) {
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
var isObject$b = isObject$c;
// `ToPrimitive` abstract operation
// https://tc39.github.io/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$b(input)) return input;
var fn, val;
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$b(val = fn.call(input))) return val;
if (typeof (fn = input.valueOf) == 'function' && !isObject$b(val = fn.call(input))) return val;
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$b(val = fn.call(input))) return val;
throw TypeError("Can't convert object to primitive value");
};
var hasOwnProperty = {}.hasOwnProperty;
var has$c = function (it, key) {
return hasOwnProperty.call(it, key);
};
var global$m = global$n;
var isObject$a = isObject$c;
var document$2 = global$m.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject$a(document$2) && isObject$a(document$2.createElement);
var documentCreateElement$1 = function (it) {
return EXISTS ? document$2.createElement(it) : {};
};
var DESCRIPTORS$a = descriptors;
var fails$e = fails$h;
var createElement$1 = documentCreateElement$1;
// Thank's IE8 for his funny defineProperty
var ie8DomDefine = !DESCRIPTORS$a && !fails$e(function () {
return Object.defineProperty(createElement$1('div'), 'a', {
get: function () { return 7; }
}).a != 7;
});
var DESCRIPTORS$9 = descriptors;
var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
var createPropertyDescriptor$3 = createPropertyDescriptor$4;
var toIndexedObject$3 = toIndexedObject$4;
var toPrimitive$2 = toPrimitive$3;
var has$b = has$c;
var IE8_DOM_DEFINE$1 = ie8DomDefine;
var nativeGetOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
// `Object.getOwnPropertyDescriptor` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
objectGetOwnPropertyDescriptor.f = DESCRIPTORS$9 ? nativeGetOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
O = toIndexedObject$3(O);
P = toPrimitive$2(P, true);
if (IE8_DOM_DEFINE$1) try {
return nativeGetOwnPropertyDescriptor$1(O, P);
} catch (error) { /* empty */ }
if (has$b(O, P)) return createPropertyDescriptor$3(!propertyIsEnumerableModule$1.f.call(O, P), O[P]);
};
var objectDefineProperty = {};
var isObject$9 = isObject$c;
var anObject$b = function (it) {
if (!isObject$9(it)) {
throw TypeError(String(it) + ' is not an object');
} return it;
};
var DESCRIPTORS$8 = descriptors;
var IE8_DOM_DEFINE = ie8DomDefine;
var anObject$a = anObject$b;
var toPrimitive$1 = toPrimitive$3;
var nativeDefineProperty$1 = Object.defineProperty;
// `Object.defineProperty` method
// https://tc39.github.io/ecma262/#sec-object.defineproperty
objectDefineProperty.f = DESCRIPTORS$8 ? nativeDefineProperty$1 : function defineProperty(O, P, Attributes) {
anObject$a(O);
P = toPrimitive$1(P, true);
anObject$a(Attributes);
if (IE8_DOM_DEFINE) try {
return nativeDefineProperty$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;
return O;
};
var DESCRIPTORS$7 = descriptors;
var definePropertyModule$5 = objectDefineProperty;
var createPropertyDescriptor$2 = createPropertyDescriptor$4;
var createNonEnumerableProperty$a = DESCRIPTORS$7 ? function (object, key, value) {
return definePropertyModule$5.f(object, key, createPropertyDescriptor$2(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
var redefine$5 = {exports: {}};
var global$l = global$n;
var createNonEnumerableProperty$9 = createNonEnumerableProperty$a;
var setGlobal$3 = function (key, value) {
try {
createNonEnumerableProperty$9(global$l, key, value);
} catch (error) {
global$l[key] = value;
} return value;
};
var global$k = global$n;
var setGlobal$2 = setGlobal$3;
var SHARED = '__core-js_shared__';
var store$3 = global$k[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$j = global$n;
var inspectSource$2 = inspectSource$3;
var WeakMap$1 = global$j.WeakMap;
var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource$2(WeakMap$1));
var shared$2 = {exports: {}};
var store$1 = sharedStore;
(shared$2.exports = function (key, value) {
return store$1[key] || (store$1[key] = value !== undefined ? value : {});
})('versions', []).push({
version: '3.6.5',
mode: 'global',
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
});
var id = 0;
var postfix = Math.random();
var uid$3 = function (key) {
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
};
var shared$1 = shared$2.exports;
var uid$2 = uid$3;
var keys$1 = shared$1('keys');
var sharedKey$3 = function (key) {
return keys$1[key] || (keys$1[key] = uid$2(key));
};
var hiddenKeys$4 = {};
var NATIVE_WEAK_MAP = nativeWeakMap;
var global$i = global$n;
var isObject$8 = isObject$c;
var createNonEnumerableProperty$8 = createNonEnumerableProperty$a;
var objectHas = has$c;
var sharedKey$2 = sharedKey$3;
var hiddenKeys$3 = hiddenKeys$4;
var WeakMap = global$i.WeakMap;
var set$2, get$1, has$a;
var enforce = function (it) {
return has$a(it) ? get$1(it) : set$2(it, {});
};
var getterFor = function (TYPE) {
return function (it) {
var state;
if (!isObject$8(it) || (state = get$1(it)).type !== TYPE) {
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
} return state;
};
};
if (NATIVE_WEAK_MAP) {
var store = new WeakMap();
var wmget = store.get;
var wmhas = store.has;
var wmset = store.set;
set$2 = function (it, metadata) {
wmset.call(store, it, metadata);
return metadata;
};
get$1 = function (it) {
return wmget.call(store, it) || {};
};
has$a = function (it) {
return wmhas.call(store, it);
};
} else {
var STATE = sharedKey$2('state');
hiddenKeys$3[STATE] = true;
set$2 = function (it, metadata) {
createNonEnumerableProperty$8(it, STATE, metadata);
return metadata;
};
get$1 = function (it) {
return objectHas(it, STATE) ? it[STATE] : {};
};
has$a = function (it) {
return objectHas(it, STATE);
};
}
var internalState = {
set: set$2,
get: get$1,
has: has$a,
enforce: enforce,
getterFor: getterFor
};
var global$h = global$n;
var createNonEnumerableProperty$7 = createNonEnumerableProperty$a;
var has$9 = has$c;
var setGlobal$1 = setGlobal$3;
var inspectSource$1 = inspectSource$3;
var InternalStateModule$4 = internalState;
var getInternalState$4 = InternalStateModule$4.get;
var enforceInternalState = InternalStateModule$4.enforce;
var TEMPLATE = String(String).split('String');
(redefine$5.exports = function (O, key, value, options) {
var unsafe = options ? !!options.unsafe : false;
var simple = options ? !!options.enumerable : false;
var noTargetGet = options ? !!options.noTargetGet : false;
if (typeof value == 'function') {
if (typeof key == 'string' && !has$9(value, 'name')) createNonEnumerableProperty$7(value, 'name', key);
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
}
if (O === global$h) {
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$7(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$4(this).source || inspectSource$1(this);
});
var global$g = global$n;
var path$1 = global$g;
var path = path$1;
var global$f = global$n;
var aFunction$6 = function (variable) {
return typeof variable == 'function' ? variable : undefined;
};
var getBuiltIn$5 = function (namespace, method) {
return arguments.length < 2 ? aFunction$6(path[namespace]) || aFunction$6(global$f[namespace])
: path[namespace] && path[namespace][method] || global$f[namespace] && global$f[namespace][method];
};
var objectGetOwnPropertyNames = {};
var ceil = Math.ceil;
var floor$1 = Math.floor;
// `ToInteger` abstract operation
// https://tc39.github.io/ecma262/#sec-tointeger
var toInteger$5 = function (argument) {
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
};
var toInteger$4 = toInteger$5;
var min$1 = Math.min;
// `ToLength` abstract operation
// https://tc39.github.io/ecma262/#sec-tolength
var toLength$b = function (argument) {
return argument > 0 ? min$1(toInteger$4(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
var toInteger$3 = toInteger$5;
var max = Math.max;
var min = 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$3 = function (index, length) {
var integer = toInteger$3(index);
return integer < 0 ? max(integer + length, 0) : min(integer, length);
};
var toIndexedObject$2 = toIndexedObject$4;
var toLength$a = toLength$b;
var toAbsoluteIndex$2 = toAbsoluteIndex$3;
// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod$3 = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIndexedObject$2($this);
var length = toLength$a(O.length);
var index = toAbsoluteIndex$2(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare
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.github.io/ecma262/#sec-array.prototype.includes
includes: createMethod$3(true),
// `Array.prototype.indexOf` method
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
indexOf: createMethod$3(false)
};
var has$8 = has$c;
var toIndexedObject$1 = toIndexedObject$4;
var indexOf = arrayIncludes.indexOf;
var hiddenKeys$2 = hiddenKeys$4;
var objectKeysInternal = function (object, names) {
var O = toIndexedObject$1(object);
var i = 0;
var result = [];
var key;
for (key in O) !has$8(hiddenKeys$2, key) && has$8(O, key) && result.push(key);
// Don't enum bug & hidden keys
while (names.length > i) if (has$8(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$1 = enumBugKeys$2.concat('length', 'prototype');
// `Object.getOwnPropertyNames` method
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return internalObjectKeys$1(O, hiddenKeys$1);
};
var objectGetOwnPropertySymbols = {};
objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
var getBuiltIn$4 = getBuiltIn$5;
var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
var anObject$9 = anObject$b;
// all object keys, includes non-enumerable and symbols
var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
var keys = getOwnPropertyNamesModule.f(anObject$9(it));
var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
};
var has$7 = has$c;
var ownKeys = ownKeys$1;
var getOwnPropertyDescriptorModule$1 = objectGetOwnPropertyDescriptor;
var definePropertyModule$4 = objectDefineProperty;
var copyConstructorProperties$1 = function (target, source) {
var keys = ownKeys(source);
var defineProperty = definePropertyModule$4.f;
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule$1.f;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!has$7(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
}
};
var fails$d = fails$h;
var replacement = /#|\.prototype\./;
var isForced$2 = function (feature, detection) {
var value = data[normalize(feature)];
return value == POLYFILL ? true
: value == NATIVE ? false
: typeof detection == 'function' ? fails$d(detection)
: !!detection;
};
var normalize = isForced$2.normalize = function (string) {
return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced$2.data = {};
var NATIVE = isForced$2.NATIVE = 'N';
var POLYFILL = isForced$2.POLYFILL = 'P';
var isForced_1 = isForced$2;
var global$e = global$n;
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
var createNonEnumerableProperty$6 = createNonEnumerableProperty$a;
var redefine$4 = redefine$5.exports;
var setGlobal = setGlobal$3;
var copyConstructorProperties = copyConstructorProperties$1;
var isForced$1 = 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$e;
} else if (STATIC) {
target = global$e[TARGET] || setGlobal(TARGET, {});
} else {
target = (global$e[TARGET] || {}).prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.noTargetGet) {
descriptor = getOwnPropertyDescriptor$1(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED = isForced$1(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$6(sourceProperty, 'sham', true);
}
// extend global
redefine$4(target, key, sourceProperty, options);
}
};
var global$d = global$n;
var nativePromiseConstructor = global$d.Promise;
var redefine$3 = redefine$5.exports;
var redefineAll$2 = function (target, src, options) {
for (var key in src) redefine$3(target, key, src[key], options);
return target;
};
var fails$c = fails$h;
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$c(function () {
// Chrome 38 Symbol has incorrect toString conversion
// eslint-disable-next-line no-undef
return !String(Symbol());
});
var NATIVE_SYMBOL$1 = nativeSymbol;
var useSymbolAsUid = NATIVE_SYMBOL$1
// eslint-disable-next-line no-undef
&& !Symbol.sham
// eslint-disable-next-line no-undef
&& typeof Symbol.iterator == 'symbol';
var global$c = global$n;
var shared = shared$2.exports;
var has$6 = has$c;
var uid$1 = uid$3;
var NATIVE_SYMBOL = nativeSymbol;
var USE_SYMBOL_AS_UID = useSymbolAsUid;
var WellKnownSymbolsStore = shared('wks');
var Symbol$1 = global$c.Symbol;
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
var wellKnownSymbol$h = function (name) {
if (!has$6(WellKnownSymbolsStore, name)) {
if (NATIVE_SYMBOL && has$6(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
} return WellKnownSymbolsStore[name];
};
var defineProperty$4 = objectDefineProperty.f;
var has$5 = has$c;
var wellKnownSymbol$g = wellKnownSymbol$h;
var TO_STRING_TAG$4 = wellKnownSymbol$g('toStringTag');
var setToStringTag$4 = function (it, TAG, STATIC) {
if (it && !has$5(it = STATIC ? it : it.prototype, TO_STRING_TAG$4)) {
defineProperty$4(it, TO_STRING_TAG$4, { configurable: true, value: TAG });
}
};
var getBuiltIn$3 = getBuiltIn$5;
var definePropertyModule$3 = objectDefineProperty;
var wellKnownSymbol$f = wellKnownSymbol$h;
var DESCRIPTORS$6 = descriptors;
var SPECIES$3 = wellKnownSymbol$f('species');
var setSpecies$2 = function (CONSTRUCTOR_NAME) {
var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
var defineProperty = definePropertyModule$3.f;
if (DESCRIPTORS$6 && Constructor && !Constructor[SPECIES$3]) {
defineProperty(Constructor, SPECIES$3, {
configurable: true,
get: function () { return this; }
});
}
};
var aFunction$5 = function (it) {
if (typeof it != 'function') {
throw TypeError(String(it) + ' is not a function');
} return it;
};
var anInstance$3 = function (it, Constructor, name) {
if (!(it instanceof Constructor)) {
throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
} return it;
};
var iterate$2 = {exports: {}};
var iterators = {};
var wellKnownSymbol$e = wellKnownSymbol$h;
var Iterators$4 = iterators;
var ITERATOR$5 = wellKnownSymbol$e('iterator');
var ArrayPrototype$1 = Array.prototype;
// check on default Array iterator
var isArrayIteratorMethod$2 = function (it) {
return it !== undefined && (Iterators$4.Array === it || ArrayPrototype$1[ITERATOR$5] === 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 wellKnownSymbol$d = wellKnownSymbol$h;
var TO_STRING_TAG$3 = wellKnownSymbol$d('toStringTag');
var test = {};
test[TO_STRING_TAG$3] = 'z';
var toStringTagSupport = String(test) === '[object z]';
var TO_STRING_TAG_SUPPORT = toStringTagSupport;
var classofRaw = classofRaw$1;
var wellKnownSymbol$c = wellKnownSymbol$h;
var TO_STRING_TAG$2 = wellKnownSymbol$c('toStringTag');
// ES3 wrong here
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
// fallback for IE11 Script Access Denied error
var tryGet = function (it, key) {
try {
return it[key];
} catch (error) { /* empty */ }
};
// getting tag from ES6+ `Object.prototype.toString`
var classof$8 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
var O, tag, result;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
// builtinTag case
: CORRECT_ARGUMENTS ? classofRaw(O)
// ES3 arguments fallback
: (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
};
var classof$7 = classof$8;
var Iterators$3 = iterators;
var wellKnownSymbol$b = wellKnownSymbol$h;
var ITERATOR$4 = wellKnownSymbol$b('iterator');
var getIteratorMethod$2 = function (it) {
if (it != undefined) return it[ITERATOR$4]
|| it['@@iterator']
|| Iterators$3[classof$7(it)];
};
var anObject$8 = anObject$b;
// call something on iterator step with safe closing on error
var callWithSafeIterationClosing$1 = function (iterator, fn, value, ENTRIES) {
try {
return ENTRIES ? fn(anObject$8(value)[0], value[1]) : fn(value);
// 7.4.6 IteratorClose(iterator, completion)
} catch (error) {
var returnMethod = iterator['return'];
if (returnMethod !== undefined) anObject$8(returnMethod.call(iterator));
throw error;
}
};
var anObject$7 = anObject$b;
var isArrayIteratorMethod$1 = isArrayIteratorMethod$2;
var toLength$9 = toLength$b;
var bind$4 = functionBindContext;
var getIteratorMethod$1 = getIteratorMethod$2;
var callWithSafeIterationClosing = callWithSafeIterationClosing$1;
var Result = function (stopped, result) {
this.stopped = stopped;
this.result = result;
};
var iterate$1 = iterate$2.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
var boundFunction = bind$4(fn, that, AS_ENTRIES ? 2 : 1);
var iterator, iterFn, index, length, result, next, step;
if (IS_ITERATOR) {
iterator = iterable;
} else {
iterFn = getIteratorMethod$1(iterable);
if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
// optimisation for array iterators
if (isArrayIteratorMethod$1(iterFn)) {
for (index = 0, length = toLength$9(iterable.length); length > index; index++) {
result = AS_ENTRIES
? boundFunction(anObject$7(step = iterable[index])[0], step[1])
: boundFunction(iterable[index]);
if (result && result instanceof Result) return result;
} return new Result(false);
}
iterator = iterFn.call(iterable);
}
next = iterator.next;
while (!(step = next.call(iterator)).done) {
result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
if (typeof result == 'object' && result && result instanceof Result) return result;
} return new Result(false);
};
iterate$1.stop = function (result) {
return new Result(true, result);
};
var wellKnownSymbol$a = wellKnownSymbol$h;
var ITERATOR$3 = wellKnownSymbol$a('iterator');
var SAFE_CLOSING = false;
try {
var called = 0;
var iteratorWithReturn = {
next: function () {
return { done: !!called++ };
},
'return': function () {
SAFE_CLOSING = true;
}
};
iteratorWithReturn[ITERATOR$3] = function () {
return this;
};
// eslint-disable-next-line no-throw-literal
Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ }
var checkCorrectnessOfIteration$2 = function (exec, SKIP_CLOSING) {
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
var ITERATION_SUPPORT = false;
try {
var object = {};
object[ITERATOR$3] = function () {
return {
next: function () {
return { done: ITERATION_SUPPORT = true };
}
};
};
exec(object);
} catch (error) { /* empty */ }
return ITERATION_SUPPORT;
};
var anObject$6 = anObject$b;
var aFunction$3 = aFunction$5;
var wellKnownSymbol$9 = wellKnownSymbol$h;
var SPECIES$2 = wellKnownSymbol$9('species');
// `SpeciesConstructor` abstract operation
// https://tc39.github.io/ecma262/#sec-speciesconstructor
var speciesConstructor$2 = function (O, defaultConstructor) {
var C = anObject$6(O).constructor;
var S;
return C === undefined || (S = anObject$6(C)[SPECIES$2]) == undefined ? defaultConstructor : aFunction$3(S);
};
var getBuiltIn$2 = getBuiltIn$5;
var html$2 = getBuiltIn$2('document', 'documentElement');
var getBuiltIn$1 = getBuiltIn$5;
var engineUserAgent = getBuiltIn$1('navigator', 'userAgent') || '';
var userAgent$1 = engineUserAgent;
var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent$1);
var global$b = global$n;
var fails$b = fails$h;
var classof$6 = classofRaw$1;
var bind$3 = functionBindContext;
var html$1 = html$2;
var createElement = documentCreateElement$1;
var IS_IOS$1 = engineIsIos;
var location = global$b.location;
var set$1 = global$b.setImmediate;
var clear = global$b.clearImmediate;
var process$3 = global$b.process;
var MessageChannel = global$b.MessageChannel;
var Dispatch = global$b.Dispatch;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var defer, channel, port;
var run = function (id) {
// eslint-disable-next-line no-prototype-builtins
if (queue.hasOwnProperty(id)) {
var fn = queue[id];
delete queue[id];
fn();
}
};
var runner = function (id) {
return function () {
run(id);
};
};
var listener = function (event) {
run(event.data);
};
var post = function (id) {
// old engines have not location.origin
global$b.postMessage(id + '', location.protocol + '//' + location.host);
};
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if (!set$1 || !clear) {
set$1 = function setImmediate(fn) {
var args = [];
var i = 1;
while (arguments.length > i) args.push(arguments[i++]);
queue[++counter] = function () {
// eslint-disable-next-line no-new-func
(typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
};
defer(counter);
return counter;
};
clear = function clearImmediate(id) {
delete queue[id];
};
// Node.js 0.8-
if (classof$6(process$3) == 'process') {
defer = function (id) {
process$3.nextTick(runner(id));
};
// Sphere (JS game engine) Dispatch API
} else if (Dispatch && Dispatch.now) {
defer = function (id) {
Dispatch.now(runner(id));
};
// Browsers with MessageChannel, includes WebWorkers
// except iOS - https://github.com/zloirock/core-js/issues/624
} else if (MessageChannel && !IS_IOS$1) {
channel = new MessageChannel();
port = channel.port2;
channel.port1.onmessage = listener;
defer = bind$3(port.postMessage, port, 1);
// Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if (
global$b.addEventListener &&
typeof postMessage == 'function' &&
!global$b.importScripts &&
!fails$b(post) &&
location.protocol !== 'file:'
) {
defer = post;
global$b.addEventListener('message', listener, false);
// IE8-
} else if (ONREADYSTATECHANGE in createElement('script')) {
defer = function (id) {
html$1.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
html$1.removeChild(this);
run(id);
};
};
// Rest old browsers
} else {
defer = function (id) {
setTimeout(runner(id), 0);
};
}
}
var task$1 = {
set: set$1,
clear: clear
};
var global$a = global$n;
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
var classof$5 = classofRaw$1;
var macrotask = task$1.set;
var IS_IOS = engineIsIos;
var MutationObserver = global$a.MutationObserver || global$a.WebKitMutationObserver;
var process$2 = global$a.process;
var Promise$1 = global$a.Promise;
var IS_NODE$1 = classof$5(process$2) == 'process';
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global$a, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
var flush, head, last, notify$1, toggle, node, promise, then;
// modern engines have queueMicrotask method
if (!queueMicrotask) {
flush = function () {
var parent, fn;
if (IS_NODE$1 && (parent = process$2.domain)) parent.exit();
while (head) {
fn = head.fn;
head = head.next;
try {
fn();
} catch (error) {
if (head) notify$1();
else last = undefined;
throw error;
}
} last = undefined;
if (parent) parent.enter();
};
// Node.js
if (IS_NODE$1) {
notify$1 = function () {
process$2.nextTick(flush);
};
// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
} else if (MutationObserver && !IS_IOS) {
toggle = true;
node = document.createTextNode('');
new MutationObserver(flush).observe(node, { characterData: true });
notify$1 = function () {
node.data = toggle = !toggle;
};
// environments with maybe non-completely correct, but existent Promise
} else if (Promise$1 && Promise$1.resolve) {
// Promise.resolve without an argument throws an error in LG WebOS 2
promise = Promise$1.resolve(undefined);
then = promise.then;
notify$1 = function () {
then.call(promise, flush);
};
// for other environments - macrotask based on:
// - setImmediate
// - MessageChannel
// - window.postMessag
// - onreadystatechange
// - setTimeout
} else {
notify$1 = function () {
// strange IE + webpack dev server bug - use .call(global)
macrotask.call(global$a, flush);
};
}
}
var microtask$1 = queueMicrotask || function (fn) {
var task = { fn: fn, next: undefined };
if (last) last.next = task;
if (!head) {
head = task;
notify$1();
} last = task;
};
var newPromiseCapability$2 = {};
var aFunction$2 = aFunction$5;
var PromiseCapability = function (C) {
var resolve, reject;
this.promise = new C(function ($$resolve, $$reject) {
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
resolve = $$resolve;
reject = $$reject;
});
this.resolve = aFunction$2(resolve);
this.reject = aFunction$2(reject);
};
// 25.4.1.5 NewPromiseCapability(C)
newPromiseCapability$2.f = function (C) {
return new PromiseCapability(C);
};
var anObject$5 = anObject$b;
var isObject$7 = isObject$c;
var newPromiseCapability$1 = newPromiseCapability$2;
var promiseResolve$1 = function (C, x) {
anObject$5(C);
if (isObject$7(x) && x.constructor === C) return x;
var promiseCapability = newPromiseCapability$1.f(C);
var resolve = promiseCapability.resolve;
resolve(x);
return promiseCapability.promise;
};
var global$9 = global$n;
var hostReportErrors$1 = function (a, b) {
var console = global$9.console;
if (console && console.error) {
arguments.length === 1 ? console.error(a) : console.error(a, b);
}
};
var perform$1 = function (exec) {
try {
return { error: false, value: exec() };
} catch (error) {
return { error: true, value: error };
}
};
var global$8 = global$n;
var userAgent = engineUserAgent;
var process$1 = global$8.process;
var versions = process$1 && process$1.versions;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
match = v8.split('.');
version = match[0] + match[1];
} else if (userAgent) {
match = userAgent.match(/Edge\/(\d+)/);
if (!match || match[1] >= 74) {
match = userAgent.match(/Chrome\/(\d+)/);
if (match) version = match[1];
}
}
var engineV8Version = version && +version;
var $$9 = _export;
var global$7 = global$n;
var getBuiltIn = getBuiltIn$5;
var NativePromise = nativePromiseConstructor;
var redefine$2 = redefine$5.exports;
var redefineAll$1 = redefineAll$2;
var setToStringTag$3 = setToStringTag$4;
var setSpecies$1 = setSpecies$2;
var isObject$6 = isObject$c;
var aFunction$1 = aFunction$5;
var anInstance$2 = anInstance$3;
var classof$4 = classofRaw$1;
var inspectSource = inspectSource$3;
var iterate = iterate$2.exports;
var checkCorrectnessOfIteration$1 = checkCorrectnessOfIteration$2;
var speciesConstructor$1 = speciesConstructor$2;
var task = task$1.set;
var microtask = microtask$1;
var promiseResolve = promiseResolve$1;
var hostReportErrors = hostReportErrors$1;
var newPromiseCapabilityModule = newPromiseCapability$2;
var perform = perform$1;
var InternalStateModule$3 = internalState;
var isForced = isForced_1;
var wellKnownSymbol$8 = wellKnownSymbol$h;
var V8_VERSION = engineV8Version;
var SPECIES$1 = wellKnownSymbol$8('species');
var PROMISE = 'Promise';
var getInternalState$3 = InternalStateModule$3.get;
var setInternalState$3 = InternalStateModule$3.set;
var getInternalPromiseState = InternalStateModule$3.getterFor(PROMISE);
var PromiseConstructor = NativePromise;
var TypeError$1 = global$7.TypeError;
var document$1 = global$7.document;
var process = global$7.process;
var $fetch = getBuiltIn('fetch');
var newPromiseCapability = newPromiseCapabilityModule.f;
var newGenericPromiseCapability = newPromiseCapability;
var IS_NODE = classof$4(process) == 'process';
var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$7.dispatchEvent);
var UNHANDLED_REJECTION = 'unhandledrejection';
var REJECTION_HANDLED = 'rejectionhandled';
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
var FORCED$2 = isForced(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 (V8_VERSION === 66) return true;
// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
if (!IS_NODE && typeof PromiseRejectionEvent != 'function') 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 (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
// Detect correctness of subclassing with @@species support
var promise = PromiseConstructor.resolve(1);
var FakePromise = function (exec) {
exec(function () { /* empty */ }, function () { /* empty */ });
};
var constructor = promise.constructor = {};
constructor[SPECIES$1] = FakePromise;
return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
});
var INCORRECT_ITERATION = FORCED$2 || !checkCorrectnessOfIteration$1(function (iterable) {
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
});
// helpers
var isThenable = function (it) {
var then;
return isObject$6(it) && typeof (then = it.then) == 'function' ? then : false;
};
var notify = function (promise, state, isReject) {
if (state.notified) return;
state.notified = true;
var chain = state.reactions;
microtask(function () {
var value = state.value;
var ok = state.state == FULFILLED;
var index = 0;
// variable length - can't use forEach
while (chain.length > index) {
var reaction = chain[index++];
var handler = ok ? reaction.ok : reaction.fail;
var resolve = reaction.resolve;
var reject = reaction.reject;
var domain = reaction.domain;
var result, then, exited;
try {
if (handler) {
if (!ok) {
if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);
state.rejection = HANDLED;
}
if (handler === true) result = value;
else {
if (domain) domain.enter();
result = handler(value); // can throw
if (domain) {
domain.exit();
exited = true;
}
}
if (result === reaction.promise) {
reject(TypeError$1('Promise-chain cycle'));
} else if (then = isThenable(result)) {
then.call(result, resolve, reject);
} else resolve(result);
} else reject(value);
} catch (error) {
if (domain && !exited) domain.exit();
reject(error);
}
}
state.reactions = [];
state.notified = false;
if (isReject && !state.rejection) onUnhandled(promise, state);
});
};
var dispatchEvent = function (name, promise, reason) {
var event, handler;
if (DISPATCH_EVENT) {
event = document$1.createEvent('Event');
event.promise = promise;
event.reason = reason;
event.initEvent(name, false, true);
global$7.dispatchEvent(event);
} else event = { promise: promise, reason: reason };
if (handler = global$7['on' + name]) handler(event);
else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
};
var onUnhandled = function (promise, state) {
task.call(global$7, function () {
var value = state.value;
var IS_UNHANDLED = isUnhandled(state);
var result;
if (IS_UNHANDLED) {
result = perform(function () {
if (IS_NODE) {
process.emit('unhandledRejection', value, promise);
} else dispatchEvent(UNHANDLED_REJECTION, promise, value);
});
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
if (result.error) throw result.value;
}
});
};
var isUnhandled = function (state) {
return state.rejection !== HANDLED && !state.parent;
};
var onHandleUnhandled = function (promise, state) {
task.call(global$7, function () {
if (IS_NODE) {
process.emit('rejectionHandled', promise);
} else dispatchEvent(REJECTION_HANDLED, promise, state.value);
});
};
var bind$2 = function (fn, promise, state, unwrap) {
return function (value) {
fn(promise, state, value, unwrap);
};
};
var internalReject = function (promise, state, value, unwrap) {
if (state.done) return;
state.done = true;
if (unwrap) state = unwrap;
state.value = value;
state.state = REJECTED;
notify(promise, state, true);
};
var internalResolve = function (promise, state, value, unwrap) {
if (state.done) return;
state.done = true;
if (unwrap) state = unwrap;
try {
if (promise === value) throw TypeError$1("Promise can't be resolved itself");
var then = isThenable(value);
if (then) {
microtask(function () {
var wrapper = { done: false };
try {
then.call(value,
bind$2(internalResolve, promise, wrapper, state),
bind$2(internalReject, promise, wrapper, state)
);
} catch (error) {
internalReject(promise, wrapper, error, state);
}
});
} else {
state.value = value;
state.state = FULFILLED;
notify(promise, state, false);
}
} catch (error) {
internalReject(promise, { done: false }, error, state);
}
};
// constructor polyfill
if (FORCED$2) {
// 25.4.3.1 Promise(executor)
PromiseConstructor = function Promise(executor) {
anInstance$2(this, PromiseConstructor, PROMISE);
aFunction$1(executor);
Internal.call(this);
var state = getInternalState$3(this);
try {
executor(bind$2(internalResolve, this, state), bind$2(internalReject, this, state));
} catch (error) {
internalReject(this, state, error);
}
};
// eslint-disable-next-line no-unused-vars
Internal = function Promise(executor) {
setInternalState$3(this, {
type: PROMISE,
done: false,
notified: false,
parent: false,
reactions: [],
rejection: false,
state: PENDING,
value: undefined
});
};
Internal.prototype = redefineAll$1(PromiseConstructor.prototype, {
// `Promise.prototype.then` method
// https://tc39.github.io/ecma262/#sec-promise.prototype.then
then: function then(onFulfilled, onRejected) {
var state = getInternalPromiseState(this);
var reaction = newPromiseCapability(speciesConstructor$1(this, PromiseConstructor));
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
reaction.fail = typeof onRejected == 'function' && onRejected;
reaction.domain = IS_NODE ? process.domain : undefined;
state.parent = true;
state.reactions.push(reaction);
if (state.state != PENDING) notify(this, state, false);
return reaction.promise;
},
// `Promise.prototype.catch` method
// https://tc39.github.io/ecma262/#sec-promise.prototype.catch
'catch': function (onRejected) {
return this.then(undefined, onRejected);
}
});
OwnPromiseCapability = function () {
var promise = new Internal();
var state = getInternalState$3(promise);
this.promise = promise;
this.resolve = bind$2(internalResolve, promise, state);
this.reject = bind$2(internalReject, promise, state);
};
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
return C === PromiseConstructor || C === PromiseWrapper
? new OwnPromiseCapability(C)
: newGenericPromiseCapability(C);
};
if (typeof NativePromise == 'function') {
nativeThen = NativePromise.prototype.then;
// wrap native Promise#then for native async functions
redefine$2(NativePromise.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 });
// wrap fetch result
if (typeof $fetch == 'function') $$9({ global: true, enumerable: true, forced: true }, {
// eslint-disable-next-line no-unused-vars
fetch: function fetch(input /* , init */) {
return promiseResolve(PromiseConstructor, $fetch.apply(global$7, arguments));
}
});
}
}
$$9({ global: true, wrap: true, forced: FORCED$2 }, {
Promise: PromiseConstructor
});
setToStringTag$3(PromiseConstructor, PROMISE, false);
setSpecies$1(PROMISE);
PromiseWrapper = getBuiltIn(PROMISE);
// statics
$$9({ targe