From 35c6d03d14687435da0cdd734cedece84422e054 Mon Sep 17 00:00:00 2001 From: "pengfei.zhou" Date: Mon, 4 Jul 2022 14:13:41 +0800 Subject: [PATCH] jsx support use function as component --- doric-demo/src/FunctionalComponentDemo.tsx | 20 + doric-js/bundle/doric-lib.es5.js | 116 +- doric-js/bundle/doric-lib.js | 56 +- doric-js/bundle/doric-sandbox.es5.js | 7168 +++++++------------- doric-js/bundle/doric-vm.js | 56 +- doric-js/index.d.ts | 27 +- doric-js/lib/src/native/navigator.d.ts | 10 +- doric-js/lib/src/native/network.d.ts | 8 +- doric-js/lib/src/native/storage.d.ts | 6 +- doric-js/lib/src/ui/view.d.ts | 1 + doric-js/lib/src/ui/view.js | 3 + doric-js/lib/src/util/jsx.d.ts | 2 +- doric-js/lib/src/util/jsx.js | 53 +- doric-js/src/ui/view.es5.ts | 3 + doric-js/src/ui/view.ts | 3 + doric-js/src/util/jsx.ts | 58 +- doric-web/dist/index.js | 56 +- doric-web/dist/index.js.map | 2 +- 18 files changed, 2934 insertions(+), 4714 deletions(-) create mode 100644 doric-demo/src/FunctionalComponentDemo.tsx diff --git a/doric-demo/src/FunctionalComponentDemo.tsx b/doric-demo/src/FunctionalComponentDemo.tsx new file mode 100644 index 00000000..580d4b01 --- /dev/null +++ b/doric-demo/src/FunctionalComponentDemo.tsx @@ -0,0 +1,20 @@ +import { Text, Group, Panel, jsx, VLayout, layoutConfig, HLayout } from "doric"; + +function CellItem(props: { text: string }) { + return ( + + {props.text} + + ); +} + +@Entry +class FunctionalComponentDemo extends Panel { + build(root: Group) { + + + + + ; + } +} diff --git a/doric-js/bundle/doric-lib.es5.js b/doric-js/bundle/doric-lib.es5.js index 03389f19..177ac75e 100644 --- a/doric-js/bundle/doric-lib.es5.js +++ b/doric-js/bundle/doric-lib.es5.js @@ -68,7 +68,7 @@ var Mutable = /** @class */ (function () { */ var __uniqueId__ = 0; function uniqueId(prefix) { - return "__".concat(prefix, "_").concat(__uniqueId__++, "__"); + return "__" + prefix + "_" + __uniqueId__++ + "__"; } function toString(message) { @@ -92,6 +92,11 @@ function toString(message) { } function log() { var arguments$1 = arguments; + + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -103,6 +108,11 @@ function log() { } function loge() { var arguments$1 = arguments; + + var message = []; + for (var _i = 0; _i < arguments.length; _i++) { + message[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -114,6 +124,11 @@ function loge() { } function logw() { var arguments$1 = arguments; + + var message = []; + for (var _i = 0; _i < arguments.length; _i++) { + message[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -162,11 +177,11 @@ var __values$5 = (undefined && undefined.__values) || function(o) { function Property(target, propKey) { Object.defineProperty(target, propKey, { get: function () { - return Reflect.get(this, "__prop__".concat(propKey), this); + return Reflect.get(this, "__prop__" + propKey, this); }, set: function (v) { - var oldV = Reflect.get(this, "__prop__".concat(propKey), this); - Reflect.set(this, "__prop__".concat(propKey), v, this); + var oldV = Reflect.get(this, "__prop__" + propKey, this); + Reflect.set(this, "__prop__" + propKey, v, this); if (oldV !== v) { Reflect.apply(this.onPropertyChanged, this, [propKey, oldV, v]); } @@ -176,11 +191,11 @@ function Property(target, propKey) { function InconsistProperty(target, propKey) { Object.defineProperty(target, propKey, { get: function () { - return Reflect.get(this, "__prop__".concat(propKey), this); + return Reflect.get(this, "__prop__" + propKey, this); }, set: function (v) { - var oldV = Reflect.get(this, "__prop__".concat(propKey), this); - Reflect.set(this, "__prop__".concat(propKey), v, this); + var oldV = Reflect.get(this, "__prop__" + propKey, this); + Reflect.set(this, "__prop__" + propKey, v, this); Reflect.apply(this.onPropertyChanged, this, [propKey, oldV, v]); }, }); @@ -344,6 +359,11 @@ var View = /** @class */ (function () { }; View.prototype.responseCallback = function (id) { var arguments$1 = arguments; + + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments$1[_i]; + } var f = this.id2Callback(id); if (f instanceof Function) { var argumentsList = []; @@ -353,7 +373,7 @@ var View = /** @class */ (function () { return Reflect.apply(f, this, argumentsList); } else { - loge("Cannot find callback:".concat(id, " for ").concat(JSON.stringify(this.toModel()))); + loge("Cannot find callback:" + id + " for " + JSON.stringify(this.toModel())); } }; View.prototype.toModel = function () { @@ -457,6 +477,9 @@ var View = /** @class */ (function () { } }); }; + View.isViewClass = function () { + return true; + }; __decorate$f([ Property, __metadata$f("design:type", Number) @@ -694,7 +717,7 @@ var Group = /** @class */ (function (_super) { this.addChild(e); } else { - loge("Not allowed to add ".concat(typeof e)); + loge("Not allowed to add " + typeof e); } }; Object.defineProperty(Group.prototype, "innerElement", { @@ -1209,7 +1232,7 @@ var Panel = /** @class */ (function () { var v = this.retrospectView(viewIds); if (v === undefined) { - loge("Cannot find view for ".concat(viewIds)); + loge("Cannot find view for " + viewIds); } else { var argumentsList = [callbackId]; @@ -1411,7 +1434,7 @@ var Color = /** @class */ (function () { } Color.parse = function (str) { if (!str.startsWith("#")) { - throw new Error("Parse color error with ".concat(str)); + throw new Error("Parse color error with " + str); } var val = parseInt(str.substr(1), 16); if (str.length === 7) { @@ -1421,7 +1444,7 @@ var Color = /** @class */ (function () { return new Color(val); } else { - throw new Error("Parse color error with ".concat(str)); + throw new Error("Parse color error with " + str); } }; Color.safeParse = function (str, defVal) { @@ -2224,7 +2247,7 @@ var MainBundleResource = /** @class */ (function (_super) { var BundleResource = /** @class */ (function (_super) { __extends$f(BundleResource, _super); function BundleResource(bundleName, fileName) { - return _super.call(this, "bundle", "".concat(bundleName, "://").concat(fileName)) || this; + return _super.call(this, "bundle", bundleName + "://" + fileName) || this; } return BundleResource; }(iOSResource)); @@ -2507,7 +2530,7 @@ var List = /** @class */ (function (_super) { List.prototype.getItem = function (itemIdx) { var view = this.renderItem(itemIdx); view.superview = this; - this.cachedViews.set("".concat(itemIdx), view); + this.cachedViews.set("" + itemIdx, view); return view; }; List.prototype.renderBunchedItems = function (start, length) { @@ -2657,7 +2680,7 @@ var Slider = /** @class */ (function (_super) { Slider.prototype.getItem = function (itemIdx) { var view = this.renderPage(itemIdx); view.superview = this; - this.cachedViews.set("".concat(itemIdx), view); + this.cachedViews.set("" + itemIdx, view); return view; }; Slider.prototype.renderBunchedItems = function (start, length) { @@ -3005,26 +3028,47 @@ exports.jsx = void 0; for (var _i = 2; _i < arguments.length; _i++) { children[_i - 2] = arguments$1[_i]; } - var e = new constructor(); - if (e instanceof Fragment) { - return children; - } - e.layoutConfig = layoutConfig().fit(); - if (config) { - e.apply(config); - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0]; + if (!!constructor.isViewClass) { + var e = new constructor(); + if (e instanceof Fragment) { + return children; } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e); + e.layoutConfig = layoutConfig().fit(); + if (config) { + e.apply(config); } - else { - throw new Error("Do not support ".concat(constructor.name, " for ").concat(children)); + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error("Do not support " + constructor.name + " for " + children); + } } + return e; + } + else { + var f = constructor; + var e = Reflect.apply(f, undefined, [config]); + if (e instanceof Fragment) { + return children; + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error("Do not support add child for " + e.viewType()); + } + } + return e; } - return e; } jsx.createElement = createElement; var Fragment = /** @class */ (function (_super) { @@ -3139,7 +3183,7 @@ var FlowLayout = /** @class */ (function (_super) { FlowLayout.prototype.getItem = function (itemIdx) { var view = this.renderItem(itemIdx); view.superview = this; - this.cachedViews.set("".concat(itemIdx), view); + this.cachedViews.set("" + itemIdx, view); return view; }; FlowLayout.prototype.renderBunchedItems = function (start, length) { @@ -3820,7 +3864,7 @@ function navbar(context) { } function internalScheme(context, panelClass) { - return "_internal_://export?class=".concat(encodeURIComponent(panelClass.name), "&context=").concat(context.id); + return "_internal_://export?class=" + encodeURIComponent(panelClass.name) + "&context=" + context.id; } function navigator(context) { var moduleName = "navigator"; @@ -3860,9 +3904,9 @@ function transformRequest(request) { if (request.params !== undefined) { var queryStrings = []; for (var key in request.params) { - queryStrings.push("".concat(key, "=").concat(encodeURIComponent(request.params[key]))); + queryStrings.push(key + "=" + encodeURIComponent(request.params[key])); } - request.url = "".concat(request.url).concat(url.indexOf('?') >= 0 ? '&' : '?').concat(queryStrings.join('&')); + request.url = "" + request.url + (url.indexOf('?') >= 0 ? '&' : '?') + queryStrings.join('&'); } if (typeof request.data === 'object') { request.data = JSON.stringify(request.data); @@ -4138,7 +4182,7 @@ function animate(context) { } else { return function (args) { - return Promise.reject("Cannot find panel in Context:".concat(context.id)); + return Promise.reject("Cannot find panel in Context:" + context.id); }; } } diff --git a/doric-js/bundle/doric-lib.js b/doric-js/bundle/doric-lib.js index f13c00a8..927a687a 100644 --- a/doric-js/bundle/doric-lib.js +++ b/doric-js/bundle/doric-lib.js @@ -371,6 +371,9 @@ class View { } }); } + static isViewClass() { + return true; + } } __decorate$f([ Property, @@ -2294,26 +2297,47 @@ exports.Display = void 0; exports.jsx = void 0; (function (jsx) { function createElement(constructor, config, ...children) { - const e = new constructor(); - if (e instanceof Fragment) { - return children; - } - e.layoutConfig = layoutConfig().fit(); - if (config) { - e.apply(config); - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0]; + if (!!constructor.isViewClass) { + const e = new constructor(); + if (e instanceof Fragment) { + return children; } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e); + e.layoutConfig = layoutConfig().fit(); + if (config) { + e.apply(config); } - else { - throw new Error(`Do not support ${constructor.name} for ${children}`); + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support ${constructor.name} for ${children}`); + } } + return e; + } + else { + const f = constructor; + const e = Reflect.apply(f, undefined, [config]); + if (e instanceof Fragment) { + return children; + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support add child for ${e.viewType()}`); + } + } + return e; } - return e; } jsx.createElement = createElement; class Fragment extends Group { diff --git a/doric-js/bundle/doric-sandbox.es5.js b/doric-js/bundle/doric-sandbox.es5.js index 1e1df100..a910f970 100644 --- a/doric-js/bundle/doric-sandbox.es5.js +++ b/doric-js/bundle/doric-sandbox.es5.js @@ -18,7 +18,7 @@ var doric = (function (exports) { */ var __uniqueId__ = 0; function uniqueId(prefix) { - return "__".concat(prefix, "_").concat(__uniqueId__++, "__"); + return "__" + prefix + "_" + __uniqueId__++ + "__"; } function toString$2(message) { @@ -42,6 +42,11 @@ var doric = (function (exports) { } function log$9() { var arguments$1 = arguments; + + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -53,6 +58,11 @@ var doric = (function (exports) { } function loge() { var arguments$1 = arguments; + + var message = []; + for (var _i = 0; _i < arguments.length; _i++) { + message[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -64,6 +74,11 @@ var doric = (function (exports) { } function logw() { var arguments$1 = arguments; + + var message = []; + for (var _i = 0; _i < arguments.length; _i++) { + message[_i] = arguments$1[_i]; + } var out = ""; for (var i = 0; i < arguments.length; i++) { if (i > 0) { @@ -1254,12 +1269,12 @@ var doric = (function (exports) { var context = gContexts.get(contextId); if (context === undefined) { - loge("Cannot find context for context id:".concat(contextId)); + loge("Cannot find context for context id:" + contextId); return; } var callback = context.callbacks.get(callbackId); if (callback === undefined) { - loge("Cannot find call for context id:".concat(contextId, ",callback id:").concat(callbackId)); + loge("Cannot find call for context id:" + contextId + ",callback id:" + callbackId); return; } var argumentsList = []; @@ -1274,12 +1289,12 @@ var doric = (function (exports) { var context = gContexts.get(contextId); if (context === undefined) { - loge("Cannot find context for context id:".concat(contextId)); + loge("Cannot find context for context id:" + contextId); return; } var callback = context.callbacks.get(callbackId); if (callback === undefined) { - loge("Cannot find call for context id:".concat(contextId, ",callback id:").concat(callbackId)); + loge("Cannot find call for context id:" + contextId + ",callback id:" + callbackId); return; } var argumentsList = []; @@ -1387,11 +1402,11 @@ var doric = (function (exports) { var context = gContexts.get(contextId); if (context === undefined) { - loge("Cannot find context for context id:".concat(contextId)); + loge("Cannot find context for context id:" + contextId); return; } if (context.entity === undefined) { - loge("Cannot find holder for context id:".concat(contextId)); + loge("Cannot find holder for context id:" + contextId); return; } if (Reflect.has(context.entity, methodName)) { @@ -1404,7 +1419,7 @@ var doric = (function (exports) { return ret; } else { - loge("Cannot find method for context id:".concat(contextId, ",method name is:").concat(methodName)); + loge("Cannot find method for context id:" + contextId + ",method name is:" + methodName); } } function pureCallEntityMethod(contextId, methodName, args) { @@ -1412,11 +1427,11 @@ var doric = (function (exports) { var context = gContexts.get(contextId); if (context === undefined) { - loge("Cannot find context for context id:".concat(contextId)); + loge("Cannot find context for context id:" + contextId); return; } if (context.entity === undefined) { - loge("Cannot find holder for context id:".concat(contextId)); + loge("Cannot find holder for context id:" + contextId); return; } if (Reflect.has(context.entity, methodName)) { @@ -1427,7 +1442,7 @@ var doric = (function (exports) { return Reflect.apply(Reflect.get(context.entity, methodName), context.entity, argumentsList); } else { - loge("Cannot find method for context id:".concat(contextId, ",method name is:").concat(methodName)); + loge("Cannot find method for context id:" + contextId + ",method name is:" + methodName); } } function jsObtainEntry(contextId) { @@ -1466,15 +1481,15 @@ var doric = (function (exports) { return exportFunc(clz); } else { - throw new Error("Cannot find class:".concat(className, " in context:").concat(srcContextId)); + throw new Error("Cannot find class:" + className + " in context:" + srcContextId); } } else { - throw new Error("Cannot find context for ".concat(srcContextId)); + throw new Error("Cannot find context for " + srcContextId); } } else { - throw new Error("Entry arguments error:".concat(arguments)); + throw new Error("Entry arguments error:" + arguments); } }; } @@ -1593,7 +1608,7 @@ var doric = (function (exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global_1 = - // eslint-disable-next-line es-x/no-global-this -- safe + // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe @@ -1612,39 +1627,32 @@ var doric = (function (exports) { // Detect IE8's incomplete defineProperty implementation var descriptors = !fails(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); - var functionBindNative = !fails(function () { - // eslint-disable-next-line es-x/no-function-prototype-bind -- safe - var test = (function () { /* empty */ }).bind(); - // eslint-disable-next-line no-prototype-builtins -- safe - return typeof test != 'function' || test.hasOwnProperty('prototype'); - }); - var call$2 = Function.prototype.call; - var functionCall = functionBindNative ? call$2.bind(call$2) : function () { + var functionCall = call$2.bind ? call$2.bind(call$2) : function () { return call$2.apply(call$2, arguments); }; var $propertyIsEnumerable$2 = {}.propertyIsEnumerable; - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var getOwnPropertyDescriptor$a = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$8 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$a && !$propertyIsEnumerable$2.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$8 && !$propertyIsEnumerable$2.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable - var f$8 = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor$a(this, V); + var f$7 = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor$8(this, V); return !!descriptor && descriptor.enumerable; } : $propertyIsEnumerable$2; var objectPropertyIsEnumerable = { - f: f$8 + f: f$7 }; var createPropertyDescriptor = function (bitmap, value) { @@ -1657,12 +1665,12 @@ var doric = (function (exports) { }; var FunctionPrototype$4 = Function.prototype; - var bind$2 = FunctionPrototype$4.bind; + var bind$3 = FunctionPrototype$4.bind; var call$1 = FunctionPrototype$4.call; - var uncurryThis = functionBindNative && bind$2.bind(call$1, call$1); + var callBind = bind$3 && bind$3.bind(call$1); - var functionUncurryThis = functionBindNative ? function (fn) { - return fn && uncurryThis(fn); + var functionUncurryThis = bind$3 ? function (fn) { + return fn && callBind(call$1, fn); } : function (fn) { return fn && function () { return call$1.apply(fn, arguments); @@ -1670,30 +1678,30 @@ var doric = (function (exports) { }; var toString$1 = functionUncurryThis({}.toString); - var stringSlice$h = functionUncurryThis(''.slice); + var stringSlice$g = functionUncurryThis(''.slice); var classofRaw = function (it) { - return stringSlice$h(toString$1(it), 8, -1); + return stringSlice$g(toString$1(it), 8, -1); }; - var $Object$6 = Object; - var split$3 = functionUncurryThis(''.split); + var Object$7 = global_1.Object; + var split$4 = functionUncurryThis(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings var indexedObject = fails(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe - return !$Object$6('z').propertyIsEnumerable(0); + return !Object$7('z').propertyIsEnumerable(0); }) ? function (it) { - return classofRaw(it) == 'String' ? split$3(it, '') : $Object$6(it); - } : $Object$6; + return classofRaw(it) == 'String' ? split$4(it, '') : Object$7(it); + } : Object$7; - var $TypeError$z = TypeError; + var TypeError$F = global_1.TypeError; // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible = function (it) { - if (it == undefined) { throw $TypeError$z("Can't call method on " + it); } + if (it == undefined) { throw TypeError$F("Can't call method on " + it); } return it; }; @@ -1728,8 +1736,8 @@ var doric = (function (exports) { var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; var process$5 = global_1.process; - var Deno$1 = global_1.Deno; - var versions = process$5 && process$5.versions || Deno$1 && Deno$1.version; + var Deno = global_1.Deno; + var versions = process$5 && process$5.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -1752,11 +1760,11 @@ var doric = (function (exports) { var engineV8Version = version; - /* eslint-disable es-x/no-symbol -- required for testing */ + /* eslint-disable es/no-symbol -- required for testing */ - // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion @@ -1766,38 +1774,38 @@ var doric = (function (exports) { !Symbol.sham && engineV8Version && engineV8Version < 41; }); - /* eslint-disable es-x/no-symbol -- required for testing */ + /* eslint-disable es/no-symbol -- required for testing */ var useSymbolAsUid = nativeSymbol && !Symbol.sham && typeof Symbol.iterator == 'symbol'; - var $Object$5 = Object; + var Object$6 = global_1.Object; var isSymbol = useSymbolAsUid ? function (it) { return typeof it == 'symbol'; } : function (it) { var $Symbol = getBuiltIn('Symbol'); - return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, $Object$5(it)); + return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, Object$6(it)); }; - var $String$5 = String; + var String$6 = global_1.String; var tryToString = function (argument) { try { - return $String$5(argument); + return String$6(argument); } catch (error) { return 'Object'; } }; - var $TypeError$y = TypeError; + var TypeError$E = global_1.TypeError; // `Assert: IsCallable(argument) is true` var aCallable = function (argument) { if (isCallable(argument)) { return argument; } - throw $TypeError$y(tryToString(argument) + ' is not a function'); + throw TypeError$E(tryToString(argument) + ' is not a function'); }; // `GetMethod` abstract operation @@ -1807,7 +1815,7 @@ var doric = (function (exports) { return func == null ? undefined : aCallable(func); }; - var $TypeError$x = TypeError; + var TypeError$D = global_1.TypeError; // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive @@ -1816,15 +1824,15 @@ var doric = (function (exports) { if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) { return val; } if (isCallable(fn = input.valueOf) && !isObject(val = functionCall(fn, input))) { return val; } if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) { return val; } - throw $TypeError$x("Can't convert object to primitive value"); + throw TypeError$D("Can't convert object to primitive value"); }; var isPure = false; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$f = Object.defineProperty; - var defineGlobalProperty = function (key, value) { + var setGlobal = function (key, value) { try { defineProperty$f(global_1, key, { value: value, configurable: true, writable: true }); } catch (error) { @@ -1833,7 +1841,7 @@ var doric = (function (exports) { }; var SHARED = '__core-js_shared__'; - var store$3 = global_1[SHARED] || defineGlobalProperty(SHARED, {}); + var store$3 = global_1[SHARED] || setGlobal(SHARED, {}); var sharedStore = store$3; @@ -1841,27 +1849,24 @@ var doric = (function (exports) { (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.23.1', + version: '3.19.0', mode: 'global', - copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.23.1/LICENSE', - source: 'https://github.com/zloirock/core-js' + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); }); - var $Object$4 = Object; + var Object$5 = global_1.Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject var toObject = function (argument) { - return $Object$4(requireObjectCoercible(argument)); + return Object$5(requireObjectCoercible(argument)); }; var hasOwnProperty = functionUncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty - // eslint-disable-next-line es-x/no-object-hasown -- safe var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; @@ -1892,20 +1897,20 @@ var doric = (function (exports) { } return WellKnownSymbolsStore$1[name]; }; - var $TypeError$w = TypeError; - var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive'); + var TypeError$C = global_1.TypeError; + var TO_PRIMITIVE$2 = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-toprimitive var toPrimitive = function (input, pref) { if (!isObject(input) || isSymbol(input)) { return input; } - var exoticToPrim = getMethod(input, TO_PRIMITIVE$1); + var exoticToPrim = getMethod(input, TO_PRIMITIVE$2); var result; if (exoticToPrim) { if (pref === undefined) { pref = 'default'; } result = functionCall(exoticToPrim, input, pref); if (!isObject(result) || isSymbol(result)) { return result; } - throw $TypeError$w("Can't convert object to primitive value"); + throw TypeError$C("Can't convert object to primitive value"); } if (pref === undefined) { pref = 'number'; } return ordinaryToPrimitive(input, pref); @@ -1926,91 +1931,61 @@ var doric = (function (exports) { return EXISTS$1 ? document$3.createElement(it) : {}; }; - // Thanks to IE8 for its funny defineProperty + // Thank's IE8 for his funny defineProperty var ie8DomDefine = !descriptors && !fails(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - var f$7 = descriptors ? $getOwnPropertyDescriptor$2 : function getOwnPropertyDescriptor(O, P) { + var f$6 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (ie8DomDefine) { try { - return $getOwnPropertyDescriptor$2(O, P); + return $getOwnPropertyDescriptor$1(O, P); } catch (error) { /* empty */ } } if (hasOwnProperty_1(O, P)) { return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]); } }; var objectGetOwnPropertyDescriptor = { - f: f$7 + f: f$6 }; - // V8 ~ Chrome 36- - // https://bugs.chromium.org/p/v8/issues/detail?id=3334 - var v8PrototypeDefineBug = descriptors && fails(function () { - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing - return Object.defineProperty(function () { /* empty */ }, 'prototype', { - value: 42, - writable: false - }).prototype != 42; - }); - - var $String$4 = String; - var $TypeError$v = TypeError; + var String$5 = global_1.String; + var TypeError$B = global_1.TypeError; // `Assert: Type(argument) is Object` var anObject = function (argument) { if (isObject(argument)) { return argument; } - throw $TypeError$v($String$4(argument) + ' is not an object'); + throw TypeError$B(String$5(argument) + ' is not an object'); }; - var $TypeError$u = TypeError; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var TypeError$A = global_1.TypeError; + // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty$1 = Object.defineProperty; - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; - var ENUMERABLE = 'enumerable'; - var CONFIGURABLE$1 = 'configurable'; - var WRITABLE = 'writable'; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - var f$6 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { - var current = $getOwnPropertyDescriptor$1(O, P); - if (current && current[WRITABLE]) { - O[P] = Attributes.value; - Attributes = { - configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1], - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], - writable: false - }; - } - } return $defineProperty$1(O, P, Attributes); - } : $defineProperty$1 : function defineProperty(O, P, Attributes) { + var f$5 = descriptors ? $defineProperty$1 : function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (ie8DomDefine) { try { return $defineProperty$1(O, P, Attributes); } catch (error) { /* empty */ } } - if ('get' in Attributes || 'set' in Attributes) { throw $TypeError$u('Accessors not supported'); } + if ('get' in Attributes || 'set' in Attributes) { throw TypeError$A('Accessors not supported'); } if ('value' in Attributes) { O[P] = Attributes.value; } return O; }; var objectDefineProperty = { - f: f$6 + f: f$5 }; var createNonEnumerableProperty = descriptors ? function (object, key, value) { @@ -2020,21 +1995,6 @@ var doric = (function (exports) { return object; }; - var FunctionPrototype$3 = Function.prototype; - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var getDescriptor = descriptors && Object.getOwnPropertyDescriptor; - - var EXISTS = hasOwnProperty_1(FunctionPrototype$3, 'name'); - // additional protection from minified / mangled / dropped function names - var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; - var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$3, 'name').configurable)); - - var functionName = { - EXISTS: EXISTS, - PROPER: PROPER, - CONFIGURABLE: CONFIGURABLE - }; - var functionToString$1 = functionUncurryThis(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper @@ -2059,7 +2019,7 @@ var doric = (function (exports) { var hiddenKeys$1 = {}; var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; - var TypeError$8 = global_1.TypeError; + var TypeError$z = global_1.TypeError; var WeakMap$3 = global_1.WeakMap; var set$3, get$2, has; @@ -2067,11 +2027,11 @@ var doric = (function (exports) { return has(it) ? get$2(it) : set$3(it, {}); }; - var getterFor$2 = function (TYPE) { + var getterFor = function (TYPE) { return function (it) { var state; if (!isObject(it) || (state = get$2(it)).type !== TYPE) { - throw TypeError$8('Incompatible receiver, ' + TYPE + ' required'); + throw TypeError$z('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -2082,7 +2042,7 @@ var doric = (function (exports) { var wmhas = functionUncurryThis(store$2.has); var wmset = functionUncurryThis(store$2.set); set$3 = function (it, metadata) { - if (wmhas(store$2, it)) { throw new TypeError$8(OBJECT_ALREADY_INITIALIZED); } + if (wmhas(store$2, it)) { throw new TypeError$z(OBJECT_ALREADY_INITIALIZED); } metadata.facade = it; wmset(store$2, it, metadata); return metadata; @@ -2097,7 +2057,7 @@ var doric = (function (exports) { var STATE = sharedKey('state'); hiddenKeys$1[STATE] = true; set$3 = function (it, metadata) { - if (hasOwnProperty_1(it, STATE)) { throw new TypeError$8(OBJECT_ALREADY_INITIALIZED); } + if (hasOwnProperty_1(it, STATE)) { throw new TypeError$z(OBJECT_ALREADY_INITIALIZED); } metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; @@ -2115,113 +2075,94 @@ var doric = (function (exports) { get: get$2, has: has, enforce: enforce, - getterFor: getterFor$2 + getterFor: getterFor }; - var makeBuiltIn_1 = createCommonjsModule(function (module) { + var FunctionPrototype$3 = Function.prototype; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getDescriptor = descriptors && Object.getOwnPropertyDescriptor; + + var EXISTS = hasOwnProperty_1(FunctionPrototype$3, 'name'); + // additional protection from minified / mangled / dropped function names + var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; + var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$3, 'name').configurable)); + + var functionName = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE + }; + + var redefine = createCommonjsModule(function (module) { var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; - - - var enforceInternalState = internalState.enforce; var getInternalState = internalState.get; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - var defineProperty = Object.defineProperty; - - var CONFIGURABLE_LENGTH = descriptors && !fails(function () { - return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; - }); - + var enforceInternalState = internalState.enforce; var TEMPLATE = String(String).split('String'); - var makeBuiltIn = module.exports = function (value, name, options) { - if (String(name).slice(0, 7) === 'Symbol(') { - name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + (module.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 name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + createNonEnumerableProperty(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } } - if (options && options.getter) { name = 'get ' + name; } - if (options && options.setter) { name = 'set ' + name; } - if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { - defineProperty(value, 'name', { value: name, configurable: true }); + if (O === global_1) { + if (simple) { O[key] = value; } + else { setGlobal(key, value); } + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; } - if (CONFIGURABLE_LENGTH && options && hasOwnProperty_1(options, 'arity') && value.length !== options.arity) { - defineProperty(value, 'length', { value: options.arity }); - } - try { - if (options && hasOwnProperty_1(options, 'constructor') && options.constructor) { - if (descriptors) { defineProperty(value, 'prototype', { writable: false }); } - // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable - } else if (value.prototype) { value.prototype = undefined; } - } catch (error) { /* empty */ } - var state = enforceInternalState(value); - if (!hasOwnProperty_1(state, 'source')) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); - } return value; - }; - + if (simple) { O[key] = value; } + else { createNonEnumerableProperty(O, key, value); } // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - // eslint-disable-next-line no-extend-native -- required - Function.prototype.toString = makeBuiltIn(function toString() { + })(Function.prototype, 'toString', function toString() { return isCallable(this) && getInternalState(this).source || inspectSource(this); - }, 'toString'); + }); }); - var defineBuiltIn = function (O, key, value, options) { - if (!options) { options = {}; } - var simple = options.enumerable; - var name = options.name !== undefined ? options.name : key; - if (isCallable(value)) { makeBuiltIn_1(value, name, options); } - if (options.global) { - if (simple) { O[key] = value; } - else { defineGlobalProperty(key, value); } - } else { - if (!options.unsafe) { delete O[key]; } - else if (O[key]) { simple = true; } - if (simple) { O[key] = value; } - else { objectDefineProperty.f(O, key, { - value: value, - enumerable: false, - configurable: !options.nonConfigurable, - writable: !options.nonWritable - }); } - } return O; - }; - - var ceil$1 = Math.ceil; + var ceil$2 = Math.ceil; var floor$a = Math.floor; - // `Math.trunc` method - // https://tc39.es/ecma262/#sec-math.trunc - // eslint-disable-next-line es-x/no-math-trunc -- safe - var mathTrunc = Math.trunc || function trunc(x) { - var n = +x; - return (n > 0 ? floor$a : ceil$1)(n); - }; - // `ToIntegerOrInfinity` abstract operation // https://tc39.es/ecma262/#sec-tointegerorinfinity var toIntegerOrInfinity = function (argument) { var number = +argument; - // eslint-disable-next-line no-self-compare -- NaN check - return number !== number || number === 0 ? 0 : mathTrunc(number); + // eslint-disable-next-line no-self-compare -- safe + return number !== number || number === 0 ? 0 : (number > 0 ? floor$a : ceil$2)(number); }; - var max$8 = Math.max; - var min$b = Math.min; + var max$6 = Math.max; + var min$a = 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 = function (index, length) { var integer = toIntegerOrInfinity(index); - return integer < 0 ? max$8(integer + length, 0) : min$b(integer, length); + return integer < 0 ? max$6(integer + length, 0) : min$a(integer, length); }; - var min$a = Math.min; + var min$9 = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength var toLength = function (argument) { - return argument > 0 ? min$a(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 + return argument > 0 ? min$9(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; // `LengthOfArrayLike` abstract operation @@ -2262,17 +2203,17 @@ var doric = (function (exports) { var indexOf$2 = arrayIncludes.indexOf; - var push$m = functionUncurryThis([].push); + var push$j = functionUncurryThis([].push); var objectKeysInternal = function (object, names) { var O = toIndexedObject(object); var i = 0; var result = []; var key; - for (key in O) { !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push$m(result, key); } + for (key in O) { !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push$j(result, key); } // Don't enum bug & hidden keys while (names.length > i) { if (hasOwnProperty_1(O, key = names[i++])) { - ~indexOf$2(result, key) || push$m(result, key); + ~indexOf$2(result, key) || push$j(result, key); } } return result; }; @@ -2292,20 +2233,20 @@ var doric = (function (exports) { // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames - // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe - var f$5 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + // eslint-disable-next-line es/no-object-getownpropertynames -- safe + var f$4 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; var objectGetOwnPropertyNames = { - f: f$5 + f: f$4 }; - // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe - var f$4 = Object.getOwnPropertySymbols; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe + var f$3 = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { - f: f$4 + f: f$3 }; var concat$4 = functionUncurryThis([].concat); @@ -2317,15 +2258,13 @@ var doric = (function (exports) { return getOwnPropertySymbols ? concat$4(keys, getOwnPropertySymbols(it)) : keys; }; - var copyConstructorProperties = function (target, source, exceptions) { + var copyConstructorProperties = function (target, source) { var keys = ownKeys(source); var defineProperty = objectDefineProperty.f; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) { - defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } + if (!hasOwnProperty_1(target, key)) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } } }; @@ -2349,7 +2288,7 @@ var doric = (function (exports) { var isForced_1 = isForced; - var getOwnPropertyDescriptor$9 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f; @@ -2357,19 +2296,19 @@ var doric = (function (exports) { /* - 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.dontCallGetSet - prevent calling a getter on target - options.name - the .name of the function if it does not match the key + 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 + options.name - the .name of the function if it does not match the key */ var _export = function (options, source) { var TARGET = options.target; @@ -2379,14 +2318,14 @@ var doric = (function (exports) { if (GLOBAL) { target = global_1; } else if (STATIC) { - target = global_1[TARGET] || defineGlobalProperty(TARGET, {}); + target = global_1[TARGET] || setGlobal(TARGET, {}); } else { target = (global_1[TARGET] || {}).prototype; } if (target) { for (key in source) { sourceProperty = source[key]; - if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor$9(target, key); + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor$7(target, key); targetProperty = descriptor && descriptor.value; } else { targetProperty = target[key]; } FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); @@ -2399,19 +2338,37 @@ var doric = (function (exports) { if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } - defineBuiltIn(target, key, sourceProperty, options); + // extend global + redefine(target, key, sourceProperty, options); } } }; - var TO_STRING_TAG$9 = wellKnownSymbol('toStringTag'); + var FunctionPrototype$2 = Function.prototype; + var apply = FunctionPrototype$2.apply; + var bind$2 = FunctionPrototype$2.bind; + var call = FunctionPrototype$2.call; + + // eslint-disable-next-line es/no-reflect -- safe + var functionApply = typeof Reflect == 'object' && Reflect.apply || (bind$2 ? call.bind(apply) : function () { + return call.apply(apply, arguments); + }); + + // `IsArray` abstract operation + // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe + var isArray = Array.isArray || function isArray(argument) { + return classofRaw(argument) == 'Array'; + }; + + var TO_STRING_TAG$8 = wellKnownSymbol('toStringTag'); var test$2 = {}; - test$2[TO_STRING_TAG$9] = 'z'; + test$2[TO_STRING_TAG$8] = 'z'; var toStringTagSupport = String(test$2) === '[object z]'; - var TO_STRING_TAG$8 = wellKnownSymbol('toStringTag'); - var $Object$3 = Object; + var TO_STRING_TAG$7 = wellKnownSymbol('toStringTag'); + var Object$4 = global_1.Object; // ES3 wrong here var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; @@ -2428,34 +2385,34 @@ var doric = (function (exports) { var O, tag, result; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case - : typeof (tag = tryGet(O = $Object$3(it), TO_STRING_TAG$8)) == 'string' ? tag + : typeof (tag = tryGet(O = Object$4(it), TO_STRING_TAG$7)) == 'string' ? tag // builtinTag case : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; }; - var $String$3 = String; + var String$4 = global_1.String; var toString_1 = function (argument) { if (classof(argument) === 'Symbol') { throw TypeError('Cannot convert a Symbol value to a string'); } - return $String$3(argument); + return String$4(argument); }; // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys - // eslint-disable-next-line es-x/no-object-keys -- safe - var objectKeys$1 = Object.keys || function keys(O) { + // eslint-disable-next-line es/no-object-keys -- safe + var objectKeys = Object.keys || function keys(O) { return objectKeysInternal(O, enumBugKeys); }; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties - // eslint-disable-next-line es-x/no-object-defineproperties -- safe - var f$3 = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) { + // eslint-disable-next-line es/no-object-defineproperties -- safe + var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); - var keys = objectKeys$1(Properties); + var keys = objectKeys(Properties); var length = keys.length; var index = 0; var key; @@ -2463,10 +2420,6 @@ var doric = (function (exports) { return O; }; - var objectDefineProperties = { - f: f$3 - }; - var html = getBuiltIn('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ @@ -2540,7 +2493,6 @@ var doric = (function (exports) { // `Object.create` method // https://tc39.es/ecma262/#sec-object.create - // eslint-disable-next-line es-x/no-object-create -- safe var objectCreate = Object.create || function create(O, Properties) { var result; if (O !== null) { @@ -2550,29 +2502,12 @@ var doric = (function (exports) { // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO$1] = O; } else { result = NullProtoObject(); } - return Properties === undefined ? result : objectDefineProperties.f(result, Properties); + return Properties === undefined ? result : objectDefineProperties(result, Properties); }; - var createProperty = function (object, key, value) { - var propertyKey = toPropertyKey(key); - if (propertyKey in object) { objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); } - else { object[propertyKey] = value; } - }; + var arraySlice$1 = functionUncurryThis([].slice); - var $Array$a = Array; - var max$7 = Math.max; - - var arraySliceSimple = function (O, start, end) { - var length = lengthOfArrayLike(O); - var k = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); - var result = $Array$a(max$7(fin - k, 0)); - for (var n = 0; k < fin; k++, n++) { createProperty(result, n, O[k]); } - result.length = n; - return result; - }; - - /* eslint-disable es-x/no-object-getownpropertynames -- safe */ + /* eslint-disable es/no-object-getownpropertynames -- safe */ var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f; @@ -2585,7 +2520,7 @@ var doric = (function (exports) { try { return $getOwnPropertyNames$1(it); } catch (error) { - return arraySliceSimple(windowNames); + return arraySlice$1(windowNames); } }; @@ -2617,32 +2552,15 @@ var doric = (function (exports) { }); } }; - var symbolDefineToPrimitive = function () { - var Symbol = getBuiltIn('Symbol'); - var SymbolPrototype = Symbol && Symbol.prototype; - var valueOf = SymbolPrototype && SymbolPrototype.valueOf; - var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); - - if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { - // `Symbol.prototype[@@toPrimitive]` method - // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive - // eslint-disable-next-line no-unused-vars -- required for .length - defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { - return functionCall(valueOf, this); - }, { arity: 1 }); - } - }; - var defineProperty$d = objectDefineProperty.f; - var TO_STRING_TAG$7 = wellKnownSymbol('toStringTag'); + var TO_STRING_TAG$6 = wellKnownSymbol('toStringTag'); - var setToStringTag = function (target, TAG, STATIC) { - if (target && !STATIC) { target = target.prototype; } - if (target && !hasOwnProperty_1(target, TO_STRING_TAG$7)) { - defineProperty$d(target, TO_STRING_TAG$7, { configurable: true, value: TAG }); + var setToStringTag = function (it, TAG, STATIC) { + if (it && !hasOwnProperty_1(it = STATIC ? it : it.prototype, TO_STRING_TAG$6)) { + defineProperty$d(it, TO_STRING_TAG$6, { configurable: true, value: TAG }); } }; @@ -2651,26 +2569,19 @@ var doric = (function (exports) { // optional / simple context binding var functionBindContext = function (fn, that) { aCallable(fn); - return that === undefined ? fn : functionBindNative ? bind$1(fn, that) : function (/* ...args */) { + return that === undefined ? fn : bind$1 ? bind$1(fn, that) : function (/* ...args */) { return fn.apply(that, arguments); }; }; - // `IsArray` abstract operation - // https://tc39.es/ecma262/#sec-isarray - // eslint-disable-next-line es-x/no-array-isarray -- safe - var isArray = Array.isArray || function isArray(argument) { - return classofRaw(argument) == 'Array'; - }; - var noop = function () { /* empty */ }; var empty = []; var construct$1 = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; - var exec$b = functionUncurryThis(constructorRegExp.exec); - var INCORRECT_TO_STRING$2 = !constructorRegExp.exec(noop); + var exec$9 = functionUncurryThis(constructorRegExp.exec); + var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); - var isConstructorModern = function isConstructor(argument) { + var isConstructorModern = function (argument) { if (!isCallable(argument)) { return false; } try { construct$1(noop, empty, argument); @@ -2680,25 +2591,16 @@ var doric = (function (exports) { } }; - var isConstructorLegacy = function isConstructor(argument) { + var isConstructorLegacy = function (argument) { if (!isCallable(argument)) { return false; } switch (classof(argument)) { case 'AsyncFunction': case 'GeneratorFunction': case 'AsyncGeneratorFunction': return false; - } - try { // we can't check .prototype since constructors produced by .bind haven't it - // `Function#toString` throws on some built-it function in some legacy engines - // (for example, `DOMQuad` and similar in FF41-) - return INCORRECT_TO_STRING$2 || !!exec$b(constructorRegExp, inspectSource(argument)); - } catch (error) { - return true; - } + } return INCORRECT_TO_STRING || !!exec$9(constructorRegExp, inspectSource(argument)); }; - isConstructorLegacy.sham = true; - // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor var isConstructor = !construct$1 || fails(function () { @@ -2710,7 +2612,7 @@ var doric = (function (exports) { }) ? isConstructorLegacy : isConstructorModern; var SPECIES$6 = wellKnownSymbol('species'); - var $Array$9 = Array; + var Array$a = global_1.Array; // a part of `ArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#sec-arrayspeciescreate @@ -2719,12 +2621,12 @@ var doric = (function (exports) { if (isArray(originalArray)) { C = originalArray.constructor; // cross-realm fallback - if (isConstructor(C) && (C === $Array$9 || isArray(C.prototype))) { C = undefined; } + if (isConstructor(C) && (C === Array$a || isArray(C.prototype))) { C = undefined; } else if (isObject(C)) { C = C[SPECIES$6]; if (C === null) { C = undefined; } } - } return C === undefined ? $Array$9 : C; + } return C === undefined ? Array$a : C; }; // `ArraySpeciesCreate` abstract operation @@ -2733,7 +2635,7 @@ var doric = (function (exports) { return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); }; - var push$l = functionUncurryThis([].push); + var push$i = functionUncurryThis([].push); // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod$7 = function (TYPE) { @@ -2762,10 +2664,10 @@ var doric = (function (exports) { case 3: return true; // some case 5: return value; // find case 6: return index; // findIndex - case 2: push$l(target, value); // filter + case 2: push$i(target, value); // filter } } else { switch (TYPE) { case 4: return false; // every - case 7: push$l(target, value); // filterReject + case 7: push$i(target, value); // filterReject } } } } } @@ -2805,23 +2707,27 @@ var doric = (function (exports) { var HIDDEN = sharedKey('hidden'); var SYMBOL = 'Symbol'; var PROTOTYPE$1 = 'prototype'; + var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive'); - var setInternalState$i = internalState.set; - var getInternalState$f = internalState.getterFor(SYMBOL); + var setInternalState$h = internalState.set; + var getInternalState$g = internalState.getterFor(SYMBOL); var ObjectPrototype$4 = Object[PROTOTYPE$1]; var $Symbol = global_1.Symbol; var SymbolPrototype$1 = $Symbol && $Symbol[PROTOTYPE$1]; - var TypeError$7 = global_1.TypeError; + var TypeError$y = global_1.TypeError; var QObject = global_1.QObject; + var $stringify$1 = getBuiltIn('JSON', 'stringify'); var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; var nativeDefineProperty = objectDefineProperty.f; var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f; var nativePropertyIsEnumerable = objectPropertyIsEnumerable.f; - var push$k = functionUncurryThis([].push); + var push$h = functionUncurryThis([].push); var AllSymbols = shared('symbols'); var ObjectPrototypeSymbols = shared('op-symbols'); + var StringToSymbolRegistry = shared('string-to-symbol-registry'); + var SymbolToStringRegistry = shared('symbol-to-string-registry'); var WellKnownSymbolsStore = shared('wks'); // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 @@ -2843,7 +2749,7 @@ var doric = (function (exports) { var wrap$1 = function (tag, description) { var symbol = AllSymbols[tag] = objectCreate(SymbolPrototype$1); - setInternalState$i(symbol, { + setInternalState$h(symbol, { type: SYMBOL, tag: tag, description: description @@ -2871,7 +2777,7 @@ var doric = (function (exports) { var $defineProperties = function defineProperties(O, Properties) { anObject(O); var properties = toIndexedObject(Properties); - var keys = objectKeys$1(properties).concat($getOwnPropertySymbols(properties)); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); $forEach$3(keys, function (key) { if (!descriptors || functionCall($propertyIsEnumerable$1, properties, key)) { $defineProperty(O, key, properties[key]); } }); @@ -2905,18 +2811,18 @@ var doric = (function (exports) { var names = nativeGetOwnPropertyNames(toIndexedObject(O)); var result = []; $forEach$3(names, function (key) { - if (!hasOwnProperty_1(AllSymbols, key) && !hasOwnProperty_1(hiddenKeys$1, key)) { push$k(result, key); } + if (!hasOwnProperty_1(AllSymbols, key) && !hasOwnProperty_1(hiddenKeys$1, key)) { push$h(result, key); } }); return result; }; - var $getOwnPropertySymbols = function (O) { + var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$4; var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); var result = []; $forEach$3(names, function (key) { if (hasOwnProperty_1(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwnProperty_1(ObjectPrototype$4, key))) { - push$k(result, AllSymbols[key]); + push$h(result, AllSymbols[key]); } }); return result; @@ -2926,7 +2832,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-symbol-constructor if (!nativeSymbol) { $Symbol = function Symbol() { - if (objectIsPrototypeOf(SymbolPrototype$1, this)) { throw TypeError$7('Symbol is not a constructor'); } + if (objectIsPrototypeOf(SymbolPrototype$1, this)) { throw TypeError$y('Symbol is not a constructor'); } var description = !arguments.length || arguments[0] === undefined ? undefined : toString_1(arguments[0]); var tag = uid(description); var setter = function (value) { @@ -2940,17 +2846,16 @@ var doric = (function (exports) { SymbolPrototype$1 = $Symbol[PROTOTYPE$1]; - defineBuiltIn(SymbolPrototype$1, 'toString', function toString() { - return getInternalState$f(this).tag; + redefine(SymbolPrototype$1, 'toString', function toString() { + return getInternalState$g(this).tag; }); - defineBuiltIn($Symbol, 'withoutSetter', function (description) { + redefine($Symbol, 'withoutSetter', function (description) { return wrap$1(uid(description), description); }); objectPropertyIsEnumerable.f = $propertyIsEnumerable$1; objectDefineProperty.f = $defineProperty; - objectDefineProperties.f = $defineProperties; objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor; objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames; objectGetOwnPropertySymbols.f = $getOwnPropertySymbols; @@ -2964,24 +2869,40 @@ var doric = (function (exports) { nativeDefineProperty(SymbolPrototype$1, 'description', { configurable: true, get: function description() { - return getInternalState$f(this).description; + return getInternalState$g(this).description; } }); { - defineBuiltIn(ObjectPrototype$4, 'propertyIsEnumerable', $propertyIsEnumerable$1, { unsafe: true }); + redefine(ObjectPrototype$4, 'propertyIsEnumerable', $propertyIsEnumerable$1, { unsafe: true }); } } } - _export({ global: true, constructor: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, { + _export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, { Symbol: $Symbol }); - $forEach$3(objectKeys$1(WellKnownSymbolsStore), function (name) { + $forEach$3(objectKeys(WellKnownSymbolsStore), function (name) { defineWellKnownSymbol(name); }); _export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, { + // `Symbol.for` method + // https://tc39.es/ecma262/#sec-symbol.for + 'for': function (key) { + var string = toString_1(key); + if (hasOwnProperty_1(StringToSymbolRegistry, string)) { return StringToSymbolRegistry[string]; } + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.es/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) { throw TypeError$y(sym + ' is not a symbol'); } + if (hasOwnProperty_1(SymbolToStringRegistry, sym)) { return SymbolToStringRegistry[sym]; } + }, useSetter: function () { USE_SETTER = true; }, useSimple: function () { USE_SETTER = false; } }); @@ -3004,133 +2925,65 @@ var doric = (function (exports) { _export({ target: 'Object', stat: true, forced: !nativeSymbol }, { // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.es/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols }); + // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives + // https://bugs.chromium.org/p/v8/issues/detail?id=3443 + _export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return objectGetOwnPropertySymbols.f(toObject(it)); + } + }); + + // `JSON.stringify` method behavior with symbols + // https://tc39.es/ecma262/#sec-json.stringify + if ($stringify$1) { + var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify$1([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify$1({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify$1(Object(symbol)) != '{}'; + }); + + _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice$1(arguments); + var $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) { return; } // IE8 returns string on undefined + if (!isArray(replacer)) { replacer = function (key, value) { + if (isCallable($replacer)) { value = functionCall($replacer, this, key, value); } + if (!isSymbol(value)) { return value; } + }; } + args[1] = replacer; + return functionApply($stringify$1, null, args); + } + }); + } + // `Symbol.prototype[@@toPrimitive]` method // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive - symbolDefineToPrimitive(); - + if (!SymbolPrototype$1[TO_PRIMITIVE$1]) { + var valueOf = SymbolPrototype$1.valueOf; + // eslint-disable-next-line no-unused-vars -- required for .length + redefine(SymbolPrototype$1, TO_PRIMITIVE$1, function (hint) { + // TODO: improve hint logic + return functionCall(valueOf, this); + }); + } // `Symbol.prototype[@@toStringTag]` property // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag setToStringTag($Symbol, SYMBOL); hiddenKeys$1[HIDDEN] = true; - /* eslint-disable es-x/no-symbol -- safe */ - var nativeSymbolRegistry = nativeSymbol && !!Symbol['for'] && !!Symbol.keyFor; - - var StringToSymbolRegistry = shared('string-to-symbol-registry'); - var SymbolToStringRegistry$1 = shared('symbol-to-string-registry'); - - // `Symbol.for` method - // https://tc39.es/ecma262/#sec-symbol.for - _export({ target: 'Symbol', stat: true, forced: !nativeSymbolRegistry }, { - 'for': function (key) { - var string = toString_1(key); - if (hasOwnProperty_1(StringToSymbolRegistry, string)) { return StringToSymbolRegistry[string]; } - var symbol = getBuiltIn('Symbol')(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry$1[symbol] = string; - return symbol; - } - }); - - var SymbolToStringRegistry = shared('symbol-to-string-registry'); - - // `Symbol.keyFor` method - // https://tc39.es/ecma262/#sec-symbol.keyfor - _export({ target: 'Symbol', stat: true, forced: !nativeSymbolRegistry }, { - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) { throw TypeError(tryToString(sym) + ' is not a symbol'); } - if (hasOwnProperty_1(SymbolToStringRegistry, sym)) { return SymbolToStringRegistry[sym]; } - } - }); - - var FunctionPrototype$2 = Function.prototype; - var apply = FunctionPrototype$2.apply; - var call = FunctionPrototype$2.call; - - // eslint-disable-next-line es-x/no-reflect -- safe - var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () { - return call.apply(apply, arguments); - }); - - var arraySlice$1 = functionUncurryThis([].slice); - - var $stringify = getBuiltIn('JSON', 'stringify'); - var exec$a = functionUncurryThis(/./.exec); - var charAt$h = functionUncurryThis(''.charAt); - var charCodeAt$5 = functionUncurryThis(''.charCodeAt); - var replace$b = functionUncurryThis(''.replace); - var numberToString$3 = functionUncurryThis(1.0.toString); - - var tester = /[\uD800-\uDFFF]/g; - var low = /^[\uD800-\uDBFF]$/; - var hi = /^[\uDC00-\uDFFF]$/; - - var WRONG_SYMBOLS_CONVERSION = !nativeSymbol || fails(function () { - var symbol = getBuiltIn('Symbol')(); - // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' - // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' - // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - - // https://github.com/tc39/proposal-well-formed-stringify - var ILL_FORMED_UNICODE = fails(function () { - return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' - || $stringify('\uDEAD') !== '"\\udead"'; - }); - - var stringifyWithSymbolsFix = function (it, replacer) { - var args = arraySlice$1(arguments); - var $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) { return; } // IE8 returns string on undefined - if (!isArray(replacer)) { replacer = function (key, value) { - if (isCallable($replacer)) { value = functionCall($replacer, this, key, value); } - if (!isSymbol(value)) { return value; } - }; } - args[1] = replacer; - return functionApply($stringify, null, args); - }; - - var fixIllFormed = function (match, offset, string) { - var prev = charAt$h(string, offset - 1); - var next = charAt$h(string, offset + 1); - if ((exec$a(low, match) && !exec$a(hi, next)) || (exec$a(hi, match) && !exec$a(low, prev))) { - return '\\u' + numberToString$3(charCodeAt$5(match, 0), 16); - } return match; - }; - - if ($stringify) { - // `JSON.stringify` method - // https://tc39.es/ecma262/#sec-json.stringify - _export({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { - // eslint-disable-next-line no-unused-vars -- required for `.length` - stringify: function stringify(it, replacer, space) { - var args = arraySlice$1(arguments); - var result = functionApply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); - return ILL_FORMED_UNICODE && typeof result == 'string' ? replace$b(result, tester, fixIllFormed) : result; - } - }); - } - - // V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives - // https://bugs.chromium.org/p/v8/issues/detail?id=3443 - var FORCED$n = !nativeSymbol || fails(function () { objectGetOwnPropertySymbols.f(1); }); - - // `Object.getOwnPropertySymbols` method - // https://tc39.es/ecma262/#sec-object.getownpropertysymbols - _export({ target: 'Object', stat: true, forced: FORCED$n }, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - var $getOwnPropertySymbols = objectGetOwnPropertySymbols.f; - return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; - } - }); - var defineProperty$c = objectDefineProperty.f; @@ -3162,7 +3015,7 @@ var doric = (function (exports) { var symbolValueOf = functionUncurryThis(SymbolPrototype.valueOf); var regexp = /^Symbol\((.*)\)[^)]+$/; var replace$a = functionUncurryThis(''.replace); - var stringSlice$g = functionUncurryThis(''.slice); + var stringSlice$f = functionUncurryThis(''.slice); defineProperty$c(SymbolPrototype, 'description', { configurable: true, @@ -3170,12 +3023,12 @@ var doric = (function (exports) { var symbol = symbolValueOf(this); var string = symbolToString(symbol); if (hasOwnProperty_1(EmptyStringDescriptionStore, symbol)) { return ''; } - var desc = NATIVE_SYMBOL ? stringSlice$g(string, 7, -1) : replace$a(string, regexp, '$1'); + var desc = NATIVE_SYMBOL ? stringSlice$f(string, 7, -1) : replace$a(string, regexp, '$1'); return desc === '' ? undefined : desc; } }); - _export({ global: true, constructor: true, forced: true }, { + _export({ global: true, forced: true }, { Symbol: SymbolWrapper }); } @@ -3224,28 +3077,42 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-symbol.toprimitive defineWellKnownSymbol('toPrimitive'); - // `Symbol.prototype[@@toPrimitive]` method - // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive - symbolDefineToPrimitive(); - // `Symbol.toStringTag` well-known symbol // https://tc39.es/ecma262/#sec-symbol.tostringtag defineWellKnownSymbol('toStringTag'); - // `Symbol.prototype[@@toStringTag]` property - // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag - setToStringTag(getBuiltIn('Symbol'), 'Symbol'); - // `Symbol.unscopables` well-known symbol // https://tc39.es/ecma262/#sec-symbol.unscopables defineWellKnownSymbol('unscopables'); - var $String$2 = String; - var $TypeError$t = TypeError; + var correctPrototypeGetter = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; + }); + + var IE_PROTO = sharedKey('IE_PROTO'); + var Object$3 = global_1.Object; + var ObjectPrototype$3 = Object$3.prototype; + + // `Object.getPrototypeOf` method + // https://tc39.es/ecma262/#sec-object.getprototypeof + var objectGetPrototypeOf = correctPrototypeGetter ? Object$3.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwnProperty_1(object, IE_PROTO)) { return object[IE_PROTO]; } + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof Object$3 ? ObjectPrototype$3 : null; + }; + + var String$3 = global_1.String; + var TypeError$x = global_1.TypeError; var aPossiblePrototype = function (argument) { if (typeof argument == 'object' || isCallable(argument)) { return argument; } - throw $TypeError$t("Can't set " + $String$2(argument) + ' as a prototype'); + throw TypeError$x("Can't set " + String$3(argument) + ' as a prototype'); }; /* eslint-disable no-proto -- safe */ @@ -3256,13 +3123,13 @@ var doric = (function (exports) { // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. - // eslint-disable-next-line es-x/no-object-setprototypeof -- safe + // 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-x/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe setter = functionUncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); setter(test, []); CORRECT_SETTER = test instanceof Array; @@ -3276,33 +3143,22 @@ var doric = (function (exports) { }; }() : undefined); - var defineProperty$b = objectDefineProperty.f; + var replace$9 = functionUncurryThis(''.replace); + var split$3 = functionUncurryThis(''.split); + var join$7 = functionUncurryThis([].join); - var proxyAccessor = function (Target, Source, key) { - key in Target || defineProperty$b(Target, key, { - configurable: true, - get: function () { return Source[key]; }, - set: function (it) { Source[key] = it; } - }); - }; + var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd'); + var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; + var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + var IS_FIREFOX_OR_SAFARI_STACK = /@[^\n]*\n/.test(TEST) && !/zxcasd/.test(TEST); - // makes subclassing work correct for wrapped built-ins - var inheritIfRequired = function ($this, dummy, Wrapper) { - var NewTarget, NewTargetPrototype; - if ( - // it can work only with native `setPrototypeOf` - objectSetPrototypeOf && - // we haven't completely correct pre-ES6 way for getting `new.target`, so use this - isCallable(NewTarget = dummy.constructor) && - NewTarget !== Wrapper && - isObject(NewTargetPrototype = NewTarget.prototype) && - NewTargetPrototype !== Wrapper.prototype - ) { objectSetPrototypeOf($this, NewTargetPrototype); } - return $this; - }; - - var normalizeStringArgument = function (argument, $default) { - return argument === undefined ? arguments.length < 2 ? '' : $default : toString_1(argument); + var clearErrorStack = function (stack, dropEntries) { + if (typeof stack != 'string') { return stack; } + if (IS_V8_OR_CHAKRA_STACK) { + while (dropEntries--) { stack = replace$9(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } + } else if (IS_FIREFOX_OR_SAFARI_STACK) { + return join$7(arraySlice$1(split$3(stack, '\n'), dropEntries), '\n'); + } return stack; }; // `InstallErrorCause` abstract operation @@ -3313,198 +3169,14 @@ var doric = (function (exports) { } }; - var $Error$1 = Error; - var replace$9 = functionUncurryThis(''.replace); - - var TEST = (function (arg) { return String($Error$1(arg).stack); })('zxcasd'); - var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; - var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); - - var clearErrorStack = function (stack, dropEntries) { - if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error$1.prepareStackTrace) { - while (dropEntries--) { stack = replace$9(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } - } return stack; - }; - - var errorStackInstallable = !fails(function () { - var error = Error('a'); - if (!('stack' in error)) { return true; } - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); - return error.stack !== 7; - }); - - var wrapErrorConstructorWithCause = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { - var STACK_TRACE_LIMIT = 'stackTraceLimit'; - var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; - var path = FULL_NAME.split('.'); - var ERROR_NAME = path[path.length - 1]; - var OriginalError = getBuiltIn.apply(null, path); - - if (!OriginalError) { return; } - - var OriginalErrorPrototype = OriginalError.prototype; - - // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 - if (hasOwnProperty_1(OriginalErrorPrototype, 'cause')) { delete OriginalErrorPrototype.cause; } - - if (!FORCED) { return OriginalError; } - - var BaseError = getBuiltIn('Error'); - - var WrappedError = wrapper(function (a, b) { - var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); - var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); - if (message !== undefined) { createNonEnumerableProperty(result, 'message', message); } - if (errorStackInstallable) { createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2)); } - if (this && objectIsPrototypeOf(OriginalErrorPrototype, this)) { inheritIfRequired(result, this, WrappedError); } - if (arguments.length > OPTIONS_POSITION) { installErrorCause(result, arguments[OPTIONS_POSITION]); } - return result; - }); - - WrappedError.prototype = OriginalErrorPrototype; - - if (ERROR_NAME !== 'Error') { - if (objectSetPrototypeOf) { objectSetPrototypeOf(WrappedError, BaseError); } - else { copyConstructorProperties(WrappedError, BaseError, { name: true }); } - } else if (descriptors && STACK_TRACE_LIMIT in OriginalError) { - proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); - proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); - } - - copyConstructorProperties(WrappedError, OriginalError); - - { try { - // Safari 13- bug: WebAssembly errors does not have a proper `.name` - if (OriginalErrorPrototype.name !== ERROR_NAME) { - createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); - } - OriginalErrorPrototype.constructor = WrappedError; - } catch (error) { /* empty */ } } - - return WrappedError; - }; - - /* eslint-disable no-unused-vars -- required for functions `.length` */ - - - - - - var WEB_ASSEMBLY = 'WebAssembly'; - var WebAssembly$1 = global_1[WEB_ASSEMBLY]; - - var FORCED$m = Error('e', { cause: 7 }).cause !== 7; - - var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { - var O = {}; - O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED$m); - _export({ global: true, constructor: true, arity: 1, forced: FORCED$m }, O); - }; - - var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { - if (WebAssembly$1 && WebAssembly$1[ERROR_NAME]) { - var O = {}; - O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED$m); - _export({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED$m }, O); - } - }; - - // https://github.com/tc39/proposal-error-cause - exportGlobalErrorCauseWrapper('Error', function (init) { - return function Error(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('EvalError', function (init) { - return function EvalError(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('RangeError', function (init) { - return function RangeError(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('ReferenceError', function (init) { - return function ReferenceError(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('SyntaxError', function (init) { - return function SyntaxError(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('TypeError', function (init) { - return function TypeError(message) { return functionApply(init, this, arguments); }; - }); - exportGlobalErrorCauseWrapper('URIError', function (init) { - return function URIError(message) { return functionApply(init, this, arguments); }; - }); - exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { - return function CompileError(message) { return functionApply(init, this, arguments); }; - }); - exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { - return function LinkError(message) { return functionApply(init, this, arguments); }; - }); - exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { - return function RuntimeError(message) { return functionApply(init, this, arguments); }; - }); - - var nativeErrorToString = Error.prototype.toString; - - var INCORRECT_TO_STRING$1 = fails(function () { - if (descriptors) { - // Chrome 32- incorrectly call accessor - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - var object = objectCreate(Object.defineProperty({}, 'name', { get: function () { - return this === object; - } })); - if (nativeErrorToString.call(object) !== 'true') { return true; } - } - // FF10- does not properly handle non-strings - return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' - // IE8 does not properly handle defaults - || nativeErrorToString.call({}) !== 'Error'; - }); - - var errorToString = INCORRECT_TO_STRING$1 ? function toString() { - var O = anObject(this); - var name = normalizeStringArgument(O.name, 'Error'); - var message = normalizeStringArgument(O.message); - return !name ? message : !message ? name : name + ': ' + message; - } : nativeErrorToString; - - var ErrorPrototype$1 = Error.prototype; - - // `Error.prototype.toString` method fix - // https://tc39.es/ecma262/#sec-error.prototype.tostring - if (ErrorPrototype$1.toString !== errorToString) { - defineBuiltIn(ErrorPrototype$1, 'toString', errorToString); - } - - var correctPrototypeGetter = !fails(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing - return Object.getPrototypeOf(new F()) !== F.prototype; - }); - - var IE_PROTO = sharedKey('IE_PROTO'); - var $Object$2 = Object; - var ObjectPrototype$3 = $Object$2.prototype; - - // `Object.getPrototypeOf` method - // https://tc39.es/ecma262/#sec-object.getprototypeof - // eslint-disable-next-line es-x/no-object-getprototypeof -- safe - var objectGetPrototypeOf = correctPrototypeGetter ? $Object$2.getPrototypeOf : function (O) { - var object = toObject(O); - if (hasOwnProperty_1(object, IE_PROTO)) { return object[IE_PROTO]; } - var constructor = object.constructor; - if (isCallable(constructor) && object instanceof constructor) { - return constructor.prototype; - } return object instanceof $Object$2 ? ObjectPrototype$3 : null; - }; - var iterators = {}; var ITERATOR$a = wellKnownSymbol('iterator'); - var ArrayPrototype$2 = Array.prototype; + var ArrayPrototype$1 = Array.prototype; // check on default Array iterator var isArrayIteratorMethod = function (it) { - return it !== undefined && (iterators.Array === it || ArrayPrototype$2[ITERATOR$a] === it); + return it !== undefined && (iterators.Array === it || ArrayPrototype$1[ITERATOR$a] === it); }; var ITERATOR$9 = wellKnownSymbol('iterator'); @@ -3515,12 +3187,12 @@ var doric = (function (exports) { || iterators[classof(it)]; } }; - var $TypeError$s = TypeError; + var TypeError$w = global_1.TypeError; var getIterator = function (argument, usingIterator) { var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; if (aCallable(iteratorMethod)) { return anObject(functionCall(iteratorMethod, argument)); } - throw $TypeError$s(tryToString(argument) + ' is not iterable'); + throw TypeError$w(tryToString(argument) + ' is not iterable'); }; var iteratorClose = function (iterator, kind, value) { @@ -3543,7 +3215,7 @@ var doric = (function (exports) { return value; }; - var $TypeError$r = TypeError; + var TypeError$v = global_1.TypeError; var Result = function (stopped, result) { this.stopped = stopped; @@ -3576,7 +3248,7 @@ var doric = (function (exports) { iterator = iterable; } else { iterFn = getIteratorMethod(iterable); - if (!iterFn) { throw $TypeError$r(tryToString(iterable) + ' is not iterable'); } + if (!iterFn) { throw TypeError$v(tryToString(iterable) + ' is not iterable'); } // optimisation for array iterators if (isArrayIteratorMethod(iterFn)) { for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { @@ -3598,69 +3270,58 @@ var doric = (function (exports) { } return new Result(false); }; - var TO_STRING_TAG$6 = wellKnownSymbol('toStringTag'); - var $Error = Error; - var push$j = [].push; + var normalizeStringArgument = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString_1(argument); + }; - var $AggregateError$1 = function AggregateError(errors, message /* , options */) { + var errorStackInstallable = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) { return true; } + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; + }); + + var Error$2 = global_1.Error; + var push$g = [].push; + + var $AggregateError = function AggregateError(errors, message /* , options */) { + var that = objectIsPrototypeOf(AggregateErrorPrototype, this) ? this : objectCreate(AggregateErrorPrototype); var options = arguments.length > 2 ? arguments[2] : undefined; - var isInstance = objectIsPrototypeOf(AggregateErrorPrototype, this); - var that; if (objectSetPrototypeOf) { - that = objectSetPrototypeOf(new $Error(), isInstance ? objectGetPrototypeOf(this) : AggregateErrorPrototype); - } else { - that = isInstance ? this : objectCreate(AggregateErrorPrototype); - createNonEnumerableProperty(that, TO_STRING_TAG$6, 'Error'); + that = objectSetPrototypeOf(new Error$2(undefined), objectGetPrototypeOf(that)); } - if (message !== undefined) { createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); } + createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, '')); if (errorStackInstallable) { createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1)); } installErrorCause(that, options); var errorsArray = []; - iterate(errors, push$j, { that: errorsArray }); + iterate(errors, push$g, { that: errorsArray }); createNonEnumerableProperty(that, 'errors', errorsArray); return that; }; - if (objectSetPrototypeOf) { objectSetPrototypeOf($AggregateError$1, $Error); } - else { copyConstructorProperties($AggregateError$1, $Error, { name: true }); } + if (objectSetPrototypeOf) { objectSetPrototypeOf($AggregateError, Error$2); } + else { copyConstructorProperties($AggregateError, Error$2); } - var AggregateErrorPrototype = $AggregateError$1.prototype = objectCreate($Error.prototype, { - constructor: createPropertyDescriptor(1, $AggregateError$1), + var AggregateErrorPrototype = $AggregateError.prototype = objectCreate(Error$2.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), message: createPropertyDescriptor(1, ''), name: createPropertyDescriptor(1, 'AggregateError') }); // `AggregateError` constructor // https://tc39.es/ecma262/#sec-aggregate-error-constructor - _export({ global: true, constructor: true, arity: 2 }, { - AggregateError: $AggregateError$1 + _export({ global: true }, { + AggregateError: $AggregateError }); - var AGGREGATE_ERROR = 'AggregateError'; - var $AggregateError = getBuiltIn(AGGREGATE_ERROR); - var FORCED$l = !fails(function () { - return $AggregateError([1]).errors[0] !== 1; - }) && fails(function () { - return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; - }); - - // https://github.com/tc39/proposal-error-cause - _export({ global: true, constructor: true, arity: 2, forced: FORCED$l }, { - AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { - // eslint-disable-next-line no-unused-vars -- required for functions `.length` - return function AggregateError(errors, message) { return functionApply(init, this, arguments); }; - }, FORCED$l, true) - }); - - var defineProperty$a = objectDefineProperty.f; - var UNSCOPABLES = wellKnownSymbol('unscopables'); - var ArrayPrototype$1 = Array.prototype; + var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype$1[UNSCOPABLES] == undefined) { - defineProperty$a(ArrayPrototype$1, UNSCOPABLES, { + if (ArrayPrototype[UNSCOPABLES] == undefined) { + objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, { configurable: true, value: objectCreate(null) }); @@ -3668,7 +3329,7 @@ var doric = (function (exports) { // add a key to Array.prototype[@@unscopables] var addToUnscopables = function (key) { - ArrayPrototype$1[UNSCOPABLES][key] = true; + ArrayPrototype[UNSCOPABLES][key] = true; }; // `Array.prototype.at` method @@ -3685,12 +3346,10 @@ var doric = (function (exports) { addToUnscopables('at'); - var $TypeError$q = TypeError; - var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 - - var doesNotExceedSafeInteger = function (it) { - if (it > MAX_SAFE_INTEGER) { throw $TypeError$q('Maximum allowed index exceeded'); } - return it; + var createProperty = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) { objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); } + else { object[propertyKey] = value; } }; var SPECIES$5 = wellKnownSymbol('species'); @@ -3710,6 +3369,9 @@ var doric = (function (exports) { }; var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + var MAX_SAFE_INTEGER$2 = 0x1FFFFFFFFFFFFF; + var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + var TypeError$u = global_1.TypeError; // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation @@ -3728,12 +3390,12 @@ var doric = (function (exports) { return spreadable !== undefined ? !!spreadable : isArray(O); }; - var FORCED$k = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + var FORCED$q = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method // https://tc39.es/ecma262/#sec-array.prototype.concat // with adding support of @@isConcatSpreadable and @@species - _export({ target: 'Array', proto: true, arity: 1, forced: FORCED$k }, { + _export({ target: 'Array', proto: true, forced: FORCED$q }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { var arguments$1 = arguments; @@ -3746,10 +3408,10 @@ var doric = (function (exports) { E = i === -1 ? O : arguments$1[i]; if (isConcatSpreadable(E)) { len = lengthOfArrayLike(E); - doesNotExceedSafeInteger(n + len); + if (n + len > MAX_SAFE_INTEGER$2) { throw TypeError$u(MAXIMUM_ALLOWED_INDEX_EXCEEDED); } for (k = 0; k < len; k++, n++) { if (k in E) { createProperty(A, n, E[k]); } } } else { - doesNotExceedSafeInteger(n + 1); + if (n >= MAX_SAFE_INTEGER$2) { throw TypeError$u(MAXIMUM_ALLOWED_INDEX_EXCEEDED); } createProperty(A, n++, E); } } @@ -3758,24 +3420,18 @@ var doric = (function (exports) { } }); - var $TypeError$p = TypeError; - - var deletePropertyOrThrow = function (O, P) { - if (!delete O[P]) { throw $TypeError$p('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); } - }; - - var min$9 = Math.min; + var min$8 = Math.min; // `Array.prototype.copyWithin` method implementation // https://tc39.es/ecma262/#sec-array.prototype.copywithin - // eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe + // eslint-disable-next-line es/no-array-prototype-copywithin -- safe var arrayCopyWithin = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { var O = toObject(this); var len = lengthOfArrayLike(O); var to = toAbsoluteIndex(target, len); var from = toAbsoluteIndex(start, len); var end = arguments.length > 2 ? arguments[2] : undefined; - var count = min$9((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var count = min$8((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); var inc = 1; if (from < to && to < from + count) { inc = -1; @@ -3784,7 +3440,7 @@ var doric = (function (exports) { } while (count-- > 0) { if (from in O) { O[to] = O[from]; } - else { deletePropertyOrThrow(O, to); } + else { delete O[to]; } to += inc; from += inc; } return O; @@ -3802,8 +3458,8 @@ var doric = (function (exports) { var arrayMethodIsStrict = function (METHOD_NAME, argument) { var method = [][METHOD_NAME]; return !!method && fails(function () { - // eslint-disable-next-line no-useless-call -- required for testing - method.call(null, argument || function () { return 1; }, 1); + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); }); }; @@ -3896,61 +3552,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables(FIND_INDEX); - // `Array.prototype.{ findLast, findLastIndex }` methods implementation - var createMethod$6 = function (TYPE) { - var IS_FIND_LAST_INDEX = TYPE == 1; - return function ($this, callbackfn, that) { - var O = toObject($this); - var self = indexedObject(O); - var boundFunction = functionBindContext(callbackfn, that); - var index = lengthOfArrayLike(self); - var value, result; - while (index-- > 0) { - value = self[index]; - result = boundFunction(value, index, O); - if (result) { switch (TYPE) { - case 0: return value; // findLast - case 1: return index; // findLastIndex - } } - } - return IS_FIND_LAST_INDEX ? -1 : undefined; - }; - }; - - var arrayIterationFromLast = { - // `Array.prototype.findLast` method - // https://github.com/tc39/proposal-array-find-from-last - findLast: createMethod$6(0), - // `Array.prototype.findLastIndex` method - // https://github.com/tc39/proposal-array-find-from-last - findLastIndex: createMethod$6(1) - }; - - var $findLast$1 = arrayIterationFromLast.findLast; - - - // `Array.prototype.findLast` method - // https://github.com/tc39/proposal-array-find-from-last - _export({ target: 'Array', proto: true }, { - findLast: function findLast(callbackfn /* , that = undefined */) { - return $findLast$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - addToUnscopables('findLast'); - - var $findLastIndex$1 = arrayIterationFromLast.findLastIndex; - - - // `Array.prototype.findLastIndex` method - // https://github.com/tc39/proposal-array-find-from-last - _export({ target: 'Array', proto: true }, { - findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { - return $findLastIndex$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - addToUnscopables('findLastIndex'); + var TypeError$t = global_1.TypeError; // `FlattenIntoArray` abstract operation // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray @@ -3968,7 +3570,7 @@ var doric = (function (exports) { elementLen = lengthOfArrayLike(element); targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; } else { - doesNotExceedSafeInteger(targetIndex + 1); + if (targetIndex >= 0x1FFFFFFFFFFFFF) { throw TypeError$t('Exceed the acceptable array length'); } target[targetIndex] = element; } @@ -4017,12 +3619,12 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype.foreach var arrayForEach = !STRICT_METHOD$7 ? function forEach(callbackfn /* , thisArg */) { return $forEach$2(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - // eslint-disable-next-line es-x/no-array-prototype-foreach -- safe + // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; // `Array.prototype.forEach` method // https://tc39.es/ecma262/#sec-array.prototype.foreach - // eslint-disable-next-line es-x/no-array-prototype-foreach -- safe + // eslint-disable-next-line es/no-array-prototype-foreach -- safe _export({ target: 'Array', proto: true, forced: [].forEach != arrayForEach }, { forEach: arrayForEach }); @@ -4036,7 +3638,7 @@ var doric = (function (exports) { } }; - var $Array$8 = Array; + var Array$9 = global_1.Array; // `Array.from` method implementation // https://tc39.es/ecma262/#sec-array.from @@ -4051,7 +3653,7 @@ var doric = (function (exports) { var index = 0; var length, result, step, iterator, next, value; // if the target is not iterable or it's an array with the default iterator - use a simple case - if (iteratorMethod && !(this === $Array$8 && isArrayIteratorMethod(iteratorMethod))) { + if (iteratorMethod && !(this == Array$9 && isArrayIteratorMethod(iteratorMethod))) { iterator = getIterator(O, iteratorMethod); next = iterator.next; result = IS_CONSTRUCTOR ? new this() : []; @@ -4061,7 +3663,7 @@ var doric = (function (exports) { } } else { length = lengthOfArrayLike(O); - result = IS_CONSTRUCTOR ? new this(length) : $Array$8(length); + result = IS_CONSTRUCTOR ? new this(length) : Array$9(length); for (;length > index; index++) { value = mapping ? mapfn(O[index], index) : O[index]; createProperty(result, index, value); @@ -4087,7 +3689,7 @@ var doric = (function (exports) { iteratorWithReturn[ITERATOR$8] = function () { return this; }; - // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing Array.from(iteratorWithReturn, function () { throw 2; }); } catch (error) { /* empty */ } @@ -4108,29 +3710,23 @@ var doric = (function (exports) { return ITERATION_SUPPORT; }; - var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - // eslint-disable-next-line es-x/no-array-from -- required for testing + var INCORRECT_ITERATION$1 = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing Array.from(iterable); }); // `Array.from` method // https://tc39.es/ecma262/#sec-array.from - _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION$1 }, { from: arrayFrom }); var $includes$1 = arrayIncludes.includes; - - // FF99+ bug - var BROKEN_ON_SPARSE = fails(function () { - return !Array(1).includes(); - }); - // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes - _export({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + _export({ target: 'Array', proto: true }, { includes: function includes(el /* , fromIndex = 0 */) { return $includes$1(this, el, arguments.length > 1 ? arguments[1] : undefined); } @@ -4139,7 +3735,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('includes'); - /* eslint-disable es-x/no-array-prototype-indexof -- required for testing */ + /* eslint-disable es/no-array-prototype-indexof -- required for testing */ var $IndexOf = arrayIncludes.indexOf; @@ -4175,7 +3771,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype$5, PrototypeOfArrayIteratorPrototype, arrayIterator$1; - /* eslint-disable es-x/no-array-prototype-keys -- safe */ + /* eslint-disable es/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator$1 = [].keys(); // Safari 8 has buggy iterators w/o `next` @@ -4197,7 +3793,7 @@ var doric = (function (exports) { // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator if (!isCallable(IteratorPrototype$5[ITERATOR$7])) { - defineBuiltIn(IteratorPrototype$5, ITERATOR$7, function () { + redefine(IteratorPrototype$5, ITERATOR$7, function () { return this; }); } @@ -4215,15 +3811,15 @@ var doric = (function (exports) { var returnThis$1 = function () { return this; }; - var createIteratorConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var createIteratorConstructor = function (IteratorConstructor, NAME, next) { var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = objectCreate(IteratorPrototype$4, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + IteratorConstructor.prototype = objectCreate(IteratorPrototype$4, { next: createPropertyDescriptor(1, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false); iterators[TO_STRING_TAG] = returnThis$1; return IteratorConstructor; }; - var PROPER_FUNCTION_NAME$3 = functionName.PROPER; + var PROPER_FUNCTION_NAME$4 = functionName.PROPER; var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE; var IteratorPrototype$3 = iteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS; @@ -4265,7 +3861,7 @@ var doric = (function (exports) { if (objectSetPrototypeOf) { objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$3); } else if (!isCallable(CurrentIteratorPrototype[ITERATOR$6])) { - defineBuiltIn(CurrentIteratorPrototype, ITERATOR$6, returnThis); + redefine(CurrentIteratorPrototype, ITERATOR$6, returnThis); } } // Set @@toStringTag to native iterators @@ -4274,7 +3870,7 @@ var doric = (function (exports) { } // fix Array.prototype.{ values, @@iterator }.name in V8 / FF - if (PROPER_FUNCTION_NAME$3 && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (PROPER_FUNCTION_NAME$4 && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { if (CONFIGURABLE_FUNCTION_NAME$1) { createNonEnumerableProperty(IterablePrototype, 'name', VALUES); } else { @@ -4292,28 +3888,23 @@ var doric = (function (exports) { }; if (FORCED) { for (KEY in methods) { if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + redefine(IterablePrototype, KEY, methods[KEY]); } } } else { _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } } // define iterator if (IterablePrototype[ITERATOR$6] !== defaultIterator) { - defineBuiltIn(IterablePrototype, ITERATOR$6, defaultIterator, { name: DEFAULT }); + redefine(IterablePrototype, ITERATOR$6, defaultIterator, { name: DEFAULT }); } iterators[NAME] = defaultIterator; return methods; }; - var defineProperty$9 = objectDefineProperty.f; - - - - var ARRAY_ITERATOR = 'Array Iterator'; - var setInternalState$h = internalState.set; - var getInternalState$e = internalState.getterFor(ARRAY_ITERATOR); + var setInternalState$g = internalState.set; + var getInternalState$f = internalState.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method // https://tc39.es/ecma262/#sec-array.prototype.entries @@ -4326,7 +3917,7 @@ var doric = (function (exports) { // `CreateArrayIterator` internal method // https://tc39.es/ecma262/#sec-createarrayiterator var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState$h(this, { + setInternalState$g(this, { type: ARRAY_ITERATOR, target: toIndexedObject(iterated), // target index: 0, // next index @@ -4335,7 +3926,7 @@ var doric = (function (exports) { // `%ArrayIteratorPrototype%.next` method // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next }, function () { - var state = getInternalState$e(this); + var state = getInternalState$f(this); var target = state.target; var kind = state.kind; var index = state.index++; @@ -4351,18 +3942,13 @@ var doric = (function (exports) { // argumentsList[@@iterator] is %ArrayProto_values% // https://tc39.es/ecma262/#sec-createunmappedargumentsobject // https://tc39.es/ecma262/#sec-createmappedargumentsobject - var values = iterators.Arguments = iterators.Array; + iterators.Arguments = iterators.Array; // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); - // V8 ~ Chrome 45- bug - if (descriptors && values.name !== 'values') { try { - defineProperty$9(values, 'name', { value: 'values' }); - } catch (error) { /* empty */ } } - var un$Join = functionUncurryThis([].join); var ES3_STRINGS = indexedObject != Object; @@ -4376,28 +3962,28 @@ var doric = (function (exports) { } }); - /* eslint-disable es-x/no-array-prototype-lastindexof -- safe */ + /* eslint-disable es/no-array-prototype-lastindexof -- safe */ - var min$8 = Math.min; + var min$7 = Math.min; var $lastIndexOf = [].lastIndexOf; var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; var STRICT_METHOD$4 = arrayMethodIsStrict('lastIndexOf'); - var FORCED$j = NEGATIVE_ZERO || !STRICT_METHOD$4; + var FORCED$p = NEGATIVE_ZERO || !STRICT_METHOD$4; // `Array.prototype.lastIndexOf` method implementation // https://tc39.es/ecma262/#sec-array.prototype.lastindexof - var arrayLastIndexOf = FORCED$j ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + var arrayLastIndexOf = FORCED$p ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { // convert -0 to +0 if (NEGATIVE_ZERO) { return functionApply($lastIndexOf, this, arguments) || 0; } var O = toIndexedObject(this); var length = lengthOfArrayLike(O); var index = length - 1; - if (arguments.length > 1) { index = min$8(index, toIntegerOrInfinity(arguments[1])); } + if (arguments.length > 1) { index = min$7(index, toIntegerOrInfinity(arguments[1])); } if (index < 0) { index = length + index; } for (;index >= 0; index--) { if (index in O && O[index] === searchElement) { return index || 0; } } return -1; @@ -4405,7 +3991,7 @@ var doric = (function (exports) { // `Array.prototype.lastIndexOf` method // https://tc39.es/ecma262/#sec-array.prototype.lastindexof - // eslint-disable-next-line es-x/no-array-prototype-lastindexof -- required for testing + // eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing _export({ target: 'Array', proto: true, forced: arrayLastIndexOf !== [].lastIndexOf }, { lastIndexOf: arrayLastIndexOf }); @@ -4424,12 +4010,11 @@ var doric = (function (exports) { } }); - var $Array$7 = Array; + var Array$8 = global_1.Array; var ISNT_GENERIC = fails(function () { function F() { /* empty */ } - // eslint-disable-next-line es-x/no-array-of -- safe - return !($Array$7.of.call(F) instanceof F); + return !(Array$8.of.call(F) instanceof F); }); // `Array.of` method @@ -4441,52 +4026,17 @@ var doric = (function (exports) { var index = 0; var argumentsLength = arguments.length; - var result = new (isConstructor(this) ? this : $Array$7)(argumentsLength); + var result = new (isConstructor(this) ? this : Array$8)(argumentsLength); while (argumentsLength > index) { createProperty(result, index, arguments$1[index++]); } result.length = argumentsLength; return result; } }); - var INCORRECT_TO_LENGTH = fails(function () { - return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; - }); - - // V8 and Safari <= 15.4, FF < 23 throws InternalError - // https://bugs.chromium.org/p/v8/issues/detail?id=12681 - var SILENT_ON_NON_WRITABLE_LENGTH$1 = !function () { - try { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - Object.defineProperty([], 'length', { writable: false }).push(); - } catch (error) { - return error instanceof TypeError; - } - }(); - - // `Array.prototype.push` method - // https://tc39.es/ecma262/#sec-array.prototype.push - _export({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILENT_ON_NON_WRITABLE_LENGTH$1 }, { - // eslint-disable-next-line no-unused-vars -- required for `.length` - push: function push(item) { - var arguments$1 = arguments; - - var O = toObject(this); - var len = lengthOfArrayLike(O); - var argCount = arguments.length; - doesNotExceedSafeInteger(len + argCount); - for (var i = 0; i < argCount; i++) { - O[len] = arguments$1[i]; - len++; - } - O.length = len; - return len; - } - }); - - var $TypeError$o = TypeError; + var TypeError$s = global_1.TypeError; // `Array.prototype.{ reduce, reduceRight }` methods implementation - var createMethod$5 = function (IS_RIGHT) { + var createMethod$6 = function (IS_RIGHT) { return function (that, callbackfn, argumentsLength, memo) { aCallable(callbackfn); var O = toObject(that); @@ -4502,7 +4052,7 @@ var doric = (function (exports) { } index += i; if (IS_RIGHT ? index < 0 : length <= index) { - throw $TypeError$o('Reduce of empty array with no initial value'); + throw TypeError$s('Reduce of empty array with no initial value'); } } } for (;IS_RIGHT ? index >= 0 : length > index; index += i) { if (index in self) { @@ -4515,10 +4065,10 @@ var doric = (function (exports) { var arrayReduce = { // `Array.prototype.reduce` method // https://tc39.es/ecma262/#sec-array.prototype.reduce - left: createMethod$5(false), + left: createMethod$6(false), // `Array.prototype.reduceRight` method // https://tc39.es/ecma262/#sec-array.prototype.reduceright - right: createMethod$5(true) + right: createMethod$6(true) }; var engineIsNode = classofRaw(global_1.process) == 'process'; @@ -4578,8 +4128,8 @@ var doric = (function (exports) { var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('slice'); var SPECIES$4 = wellKnownSymbol('species'); - var $Array$6 = Array; - var max$6 = Math.max; + var Array$7 = global_1.Array; + var max$5 = Math.max; // `Array.prototype.slice` method // https://tc39.es/ecma262/#sec-array.prototype.slice @@ -4595,17 +4145,17 @@ var doric = (function (exports) { if (isArray(O)) { Constructor = O.constructor; // cross-realm fallback - if (isConstructor(Constructor) && (Constructor === $Array$6 || isArray(Constructor.prototype))) { + if (isConstructor(Constructor) && (Constructor === Array$7 || isArray(Constructor.prototype))) { Constructor = undefined; } else if (isObject(Constructor)) { Constructor = Constructor[SPECIES$4]; if (Constructor === null) { Constructor = undefined; } } - if (Constructor === $Array$6 || Constructor === undefined) { + if (Constructor === Array$7 || Constructor === undefined) { return arraySlice$1(O, k, fin); } } - result = new (Constructor === undefined ? $Array$6 : Constructor)(max$6(fin - k, 0)); + result = new (Constructor === undefined ? Array$7 : Constructor)(max$5(fin - k, 0)); for (n = 0; k < fin; k++, n++) { if (k in O) { createProperty(result, n, O[k]); } } result.length = n; return result; @@ -4632,8 +4182,8 @@ var doric = (function (exports) { var middle = floor$9(length / 2); return length < 8 ? insertionSort(array, comparefn) : merge( array, - mergeSort(arraySliceSimple(array, 0, middle), comparefn), - mergeSort(arraySliceSimple(array, middle), comparefn), + mergeSort(arraySlice$1(array, 0, middle), comparefn), + mergeSort(arraySlice$1(array, middle), comparefn), comparefn ); }; @@ -4680,7 +4230,7 @@ var doric = (function (exports) { var test = []; var un$Sort$1 = functionUncurryThis(test.sort); - var push$i = functionUncurryThis(test.push); + var push$f = functionUncurryThis(test.push); // IE8- var FAILS_ON_UNDEFINED = fails(function () { @@ -4728,7 +4278,7 @@ var doric = (function (exports) { return result !== 'DGBEFHACIJK'; }); - var FORCED$i = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT$1; + var FORCED$o = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT$1; var getSortCompare$1 = function (comparefn) { return function (x, y) { @@ -4741,7 +4291,7 @@ var doric = (function (exports) { // `Array.prototype.sort` method // https://tc39.es/ecma262/#sec-array.prototype.sort - _export({ target: 'Array', proto: true, forced: FORCED$i }, { + _export({ target: 'Array', proto: true, forced: FORCED$o }, { sort: function sort(comparefn) { if (comparefn !== undefined) { aCallable(comparefn); } @@ -4754,7 +4304,7 @@ var doric = (function (exports) { var itemsLength, index; for (index = 0; index < arrayLength; index++) { - if (index in array) { push$i(items, array[index]); } + if (index in array) { push$f(items, array[index]); } } arraySort(items, getSortCompare$1(comparefn)); @@ -4763,7 +4313,7 @@ var doric = (function (exports) { index = 0; while (index < itemsLength) { array[index] = items[index++]; } - while (index < arrayLength) { deletePropertyOrThrow(array, index++); } + while (index < arrayLength) { delete array[index++]; } return array; } @@ -4789,8 +4339,11 @@ var doric = (function (exports) { var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); - var max$5 = Math.max; - var min$7 = Math.min; + var TypeError$r = global_1.TypeError; + var max$4 = Math.max; + var min$6 = 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 @@ -4811,9 +4364,11 @@ var doric = (function (exports) { actualDeleteCount = len - actualStart; } else { insertCount = argumentsLength - 2; - actualDeleteCount = min$7(max$5(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + actualDeleteCount = min$6(max$4(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) { + throw TypeError$r(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); } - doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); A = arraySpeciesCreate(O, actualDeleteCount); for (k = 0; k < actualDeleteCount; k++) { from = actualStart + k; @@ -4825,15 +4380,15 @@ var doric = (function (exports) { from = k + actualDeleteCount; to = k + insertCount; if (from in O) { O[to] = O[from]; } - else { deletePropertyOrThrow(O, to); } + else { delete O[to]; } } - for (k = len; k > len - actualDeleteCount + insertCount; k--) { deletePropertyOrThrow(O, k - 1); } + 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 { deletePropertyOrThrow(O, to); } + else { delete O[to]; } } } for (k = 0; k < insertCount; k++) { @@ -4858,60 +4413,22 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('flatMap'); - // IE8- - var INCORRECT_RESULT = [].unshift(0) !== 1; - - // V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError - var SILENT_ON_NON_WRITABLE_LENGTH = !function () { - try { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - Object.defineProperty([], 'length', { writable: false }).unshift(); - } catch (error) { - return error instanceof TypeError; - } - }(); - - // `Array.prototype.unshift` method - // https://tc39.es/ecma262/#sec-array.prototype.unshift - _export({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_RESULT || SILENT_ON_NON_WRITABLE_LENGTH }, { - // eslint-disable-next-line no-unused-vars -- required for `.length` - unshift: function unshift(item) { - var arguments$1 = arguments; - - var O = toObject(this); - var len = lengthOfArrayLike(O); - var argCount = arguments.length; - if (argCount) { - doesNotExceedSafeInteger(len + argCount); - var k = len; - while (k--) { - var to = k + argCount; - if (k in O) { O[to] = O[k]; } - else { deletePropertyOrThrow(O, to); } - } - for (var j = 0; j < argCount; j++) { - O[j] = arguments$1[j]; - } - } return O.length = len + argCount; - } - }); - - // eslint-disable-next-line es-x/no-typed-arrays -- safe + // eslint-disable-next-line es/no-typed-arrays -- safe var arrayBufferNative = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; - var defineBuiltIns = function (target, src, options) { - for (var key in src) { defineBuiltIn(target, key, src[key], options); } + var redefineAll = function (target, src, options) { + for (var key in src) { redefine(target, key, src[key], options); } return target; }; - var $TypeError$n = TypeError; + var TypeError$q = global_1.TypeError; var anInstance = function (it, Prototype) { if (objectIsPrototypeOf(Prototype, it)) { return it; } - throw $TypeError$n('Incorrect invocation'); + throw TypeError$q('Incorrect invocation'); }; - var $RangeError$b = RangeError; + var RangeError$b = global_1.RangeError; // `ToIndex` abstract operation // https://tc39.es/ecma262/#sec-toindex @@ -4919,28 +4436,30 @@ var doric = (function (exports) { if (it === undefined) { return 0; } var number = toIntegerOrInfinity(it); var length = toLength(number); - if (number !== length) { throw $RangeError$b('Wrong length or index'); } + if (number !== length) { throw RangeError$b('Wrong length or index'); } return length; }; // IEEE754 conversions based on https://github.com/feross/ieee754 - var $Array$5 = Array; - var abs$8 = Math.abs; - var pow$5 = Math.pow; + + + var Array$6 = global_1.Array; + var abs$7 = Math.abs; + var pow$4 = Math.pow; var floor$8 = Math.floor; var log$8 = Math.log; var LN2$2 = Math.LN2; var pack = function (number, mantissaLength, bytes) { - var buffer = $Array$5(bytes); + var buffer = Array$6(bytes); var exponentLength = bytes * 8 - mantissaLength - 1; var eMax = (1 << exponentLength) - 1; var eBias = eMax >> 1; - var rt = mantissaLength === 23 ? pow$5(2, -24) - pow$5(2, -77) : 0; + var rt = mantissaLength === 23 ? pow$4(2, -24) - pow$4(2, -77) : 0; var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; var index = 0; var exponent, mantissa, c; - number = abs$8(number); + number = abs$7(number); // eslint-disable-next-line no-self-compare -- NaN check if (number != number || number === Infinity) { // eslint-disable-next-line no-self-compare -- NaN check @@ -4948,15 +4467,14 @@ var doric = (function (exports) { exponent = eMax; } else { exponent = floor$8(log$8(number) / LN2$2); - c = pow$5(2, -exponent); - if (number * c < 1) { + if (number * (c = pow$4(2, -exponent)) < 1) { exponent--; c *= 2; } if (exponent + eBias >= 1) { number += rt / c; } else { - number += rt * pow$5(2, 1 - eBias); + number += rt * pow$4(2, 1 - eBias); } if (number * c >= 2) { exponent++; @@ -4966,25 +4484,17 @@ var doric = (function (exports) { mantissa = 0; exponent = eMax; } else if (exponent + eBias >= 1) { - mantissa = (number * c - 1) * pow$5(2, mantissaLength); + mantissa = (number * c - 1) * pow$4(2, mantissaLength); exponent = exponent + eBias; } else { - mantissa = number * pow$5(2, eBias - 1) * pow$5(2, mantissaLength); + mantissa = number * pow$4(2, eBias - 1) * pow$4(2, mantissaLength); exponent = 0; } } - while (mantissaLength >= 8) { - buffer[index++] = mantissa & 255; - mantissa /= 256; - mantissaLength -= 8; - } + for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8){ } exponent = exponent << mantissaLength | mantissa; exponentLength += mantissaLength; - while (exponentLength > 0) { - buffer[index++] = exponent & 255; - exponent /= 256; - exponentLength -= 8; - } + for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8){ } buffer[--index] |= sign * 128; return buffer; }; @@ -5000,25 +4510,19 @@ var doric = (function (exports) { var exponent = sign & 127; var mantissa; sign >>= 7; - while (nBits > 0) { - exponent = exponent * 256 + buffer[index--]; - nBits -= 8; - } + for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8){ } mantissa = exponent & (1 << -nBits) - 1; exponent >>= -nBits; nBits += mantissaLength; - while (nBits > 0) { - mantissa = mantissa * 256 + buffer[index--]; - nBits -= 8; - } + for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8){ } if (exponent === 0) { exponent = 1 - eBias; } else if (exponent === eMax) { return mantissa ? NaN : sign ? -Infinity : Infinity; } else { - mantissa = mantissa + pow$5(2, mantissaLength); + mantissa = mantissa + pow$4(2, mantissaLength); exponent = exponent - eBias; - } return (sign ? -1 : 1) * mantissa * pow$5(2, exponent - mantissaLength); + } return (sign ? -1 : 1) * mantissa * pow$4(2, exponent - mantissaLength); }; var ieee754 = { @@ -5027,16 +4531,16 @@ var doric = (function (exports) { }; var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f; - var defineProperty$8 = objectDefineProperty.f; + var defineProperty$b = objectDefineProperty.f; - var PROPER_FUNCTION_NAME$2 = functionName.PROPER; + var PROPER_FUNCTION_NAME$3 = functionName.PROPER; var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; - var getInternalState$d = internalState.get; - var setInternalState$g = internalState.set; + var getInternalState$e = internalState.get; + var setInternalState$f = internalState.set; var ARRAY_BUFFER$1 = 'ArrayBuffer'; var DATA_VIEW = 'DataView'; var PROTOTYPE = 'prototype'; @@ -5048,8 +4552,8 @@ var doric = (function (exports) { var $DataView = global_1[DATA_VIEW]; var DataViewPrototype$1 = $DataView && $DataView[PROTOTYPE]; var ObjectPrototype$2 = Object.prototype; - var Array$2 = global_1.Array; - var RangeError$3 = global_1.RangeError; + var Array$5 = global_1.Array; + var RangeError$a = global_1.RangeError; var fill = functionUncurryThis(arrayFill); var reverse = functionUncurryThis([].reverse); @@ -5081,24 +4585,24 @@ var doric = (function (exports) { }; var addGetter = function (Constructor, key) { - defineProperty$8(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$d(this)[key]; } }); + defineProperty$b(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$e(this)[key]; } }); }; var get$1 = function (view, count, index, isLittleEndian) { var intIndex = toIndex(index); - var store = getInternalState$d(view); - if (intIndex + count > store.byteLength) { throw RangeError$3(WRONG_INDEX); } - var bytes = getInternalState$d(store.buffer).bytes; + var store = getInternalState$e(view); + if (intIndex + count > store.byteLength) { throw RangeError$a(WRONG_INDEX); } + var bytes = getInternalState$e(store.buffer).bytes; var start = intIndex + store.byteOffset; - var pack = arraySliceSimple(bytes, start, start + count); + var pack = arraySlice$1(bytes, start, start + count); return isLittleEndian ? pack : reverse(pack); }; var set$2 = function (view, count, index, conversion, value, isLittleEndian) { var intIndex = toIndex(index); - var store = getInternalState$d(view); - if (intIndex + count > store.byteLength) { throw RangeError$3(WRONG_INDEX); } - var bytes = getInternalState$d(store.buffer).bytes; + var store = getInternalState$e(view); + if (intIndex + count > store.byteLength) { throw RangeError$a(WRONG_INDEX); } + var bytes = getInternalState$e(store.buffer).bytes; var start = intIndex + store.byteOffset; var pack = conversion(+value); for (var i = 0; i < count; i++) { bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; } @@ -5108,8 +4612,8 @@ var doric = (function (exports) { $ArrayBuffer = function ArrayBuffer(length) { anInstance(this, ArrayBufferPrototype); var byteLength = toIndex(length); - setInternalState$g(this, { - bytes: fill(Array$2(byteLength), 0), + setInternalState$f(this, { + bytes: fill(Array$5(byteLength), 0), byteLength: byteLength }); if (!descriptors) { this.byteLength = byteLength; } @@ -5120,12 +4624,12 @@ var doric = (function (exports) { $DataView = function DataView(buffer, byteOffset, byteLength) { anInstance(this, DataViewPrototype$1); anInstance(buffer, ArrayBufferPrototype); - var bufferLength = getInternalState$d(buffer).byteLength; + var bufferLength = getInternalState$e(buffer).byteLength; var offset = toIntegerOrInfinity(byteOffset); - if (offset < 0 || offset > bufferLength) { throw RangeError$3('Wrong offset'); } + if (offset < 0 || offset > bufferLength) { throw RangeError$a('Wrong offset'); } byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) { throw RangeError$3(WRONG_LENGTH); } - setInternalState$g(this, { + if (offset + byteLength > bufferLength) { throw RangeError$a(WRONG_LENGTH); } + setInternalState$f(this, { buffer: buffer, byteLength: byteLength, byteOffset: offset @@ -5146,7 +4650,7 @@ var doric = (function (exports) { addGetter($DataView, 'byteOffset'); } - defineBuiltIns(DataViewPrototype$1, { + redefineAll(DataViewPrototype$1, { getInt8: function getInt8(byteOffset) { return get$1(this, 1, byteOffset)[0] << 24 >> 24; }, @@ -5199,7 +4703,7 @@ var doric = (function (exports) { } }); } else { - var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME$2 && NativeArrayBuffer$1.name !== ARRAY_BUFFER$1; + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME$3 && NativeArrayBuffer$1.name !== ARRAY_BUFFER$1; /* eslint-disable no-new -- required for testing */ if (!fails(function () { NativeArrayBuffer$1(1); @@ -5219,9 +4723,9 @@ var doric = (function (exports) { $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; - for (var keys$2 = getOwnPropertyNames$3(NativeArrayBuffer$1), j$1 = 0, key$3; keys$2.length > j$1;) { - if (!((key$3 = keys$2[j$1++]) in $ArrayBuffer)) { - createNonEnumerableProperty($ArrayBuffer, key$3, NativeArrayBuffer$1[key$3]); + for (var keys$2 = getOwnPropertyNames$3(NativeArrayBuffer$1), j$1 = 0, key$1; keys$2.length > j$1;) { + if (!((key$1 = keys$2[j$1++]) in $ArrayBuffer)) { + createNonEnumerableProperty($ArrayBuffer, key$1, NativeArrayBuffer$1[key$1]); } } @@ -5240,7 +4744,7 @@ var doric = (function (exports) { var $setInt8 = functionUncurryThis(DataViewPrototype$1.setInt8); testView.setInt8(0, 2147483648); testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) { defineBuiltIns(DataViewPrototype$1, { + if (testView.getInt8(0) || !testView.getInt8(1)) { redefineAll(DataViewPrototype$1, { setInt8: function setInt8(byteOffset, value) { $setInt8(this, byteOffset, value << 24 >> 24); }, @@ -5264,34 +4768,34 @@ var doric = (function (exports) { // `ArrayBuffer` constructor // https://tc39.es/ecma262/#sec-arraybuffer-constructor - _export({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer$3 }, { + _export({ global: true, forced: NativeArrayBuffer !== ArrayBuffer$3 }, { ArrayBuffer: ArrayBuffer$3 }); setSpecies(ARRAY_BUFFER); - var defineProperty$7 = objectDefineProperty.f; + var defineProperty$a = objectDefineProperty.f; - var Int8Array$4 = global_1.Int8Array; - var Int8ArrayPrototype$1 = Int8Array$4 && Int8Array$4.prototype; - var Uint8ClampedArray$1 = global_1.Uint8ClampedArray; - var Uint8ClampedArrayPrototype = Uint8ClampedArray$1 && Uint8ClampedArray$1.prototype; - var TypedArray = Int8Array$4 && objectGetPrototypeOf(Int8Array$4); - var TypedArrayPrototype$1 = Int8ArrayPrototype$1 && objectGetPrototypeOf(Int8ArrayPrototype$1); + var Int8Array$3 = global_1.Int8Array; + var Int8ArrayPrototype = Int8Array$3 && Int8Array$3.prototype; + var Uint8ClampedArray = global_1.Uint8ClampedArray; + var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; + var TypedArray = Int8Array$3 && objectGetPrototypeOf(Int8Array$3); + var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype); var ObjectPrototype$1 = Object.prototype; - var TypeError$6 = global_1.TypeError; + var TypeError$p = global_1.TypeError; var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag'); var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); - var TYPED_ARRAY_CONSTRUCTOR$5 = uid('TYPED_ARRAY_CONSTRUCTOR'); + var TYPED_ARRAY_CONSTRUCTOR$1 = uid('TYPED_ARRAY_CONSTRUCTOR'); // Fixing native typed arrays in Opera Presto crashes the browser, see #595 var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera'; - var TYPED_ARRAY_TAG_REQUIRED = false; + var TYPED_ARRAY_TAG_REQIRED = false; var NAME$1, Constructor, Prototype; var TypedArrayConstructorsList = { @@ -5326,32 +4830,27 @@ var doric = (function (exports) { || hasOwnProperty_1(BigIntArrayConstructorsList, klass); }; - var aTypedArray$x = function (it) { + var aTypedArray$t = function (it) { if (isTypedArray(it)) { return it; } - throw TypeError$6('Target is not a typed array'); + throw TypeError$p('Target is not a typed array'); }; var aTypedArrayConstructor$4 = function (C) { if (isCallable(C) && (!objectSetPrototypeOf || objectIsPrototypeOf(TypedArray, C))) { return C; } - throw TypeError$6(tryToString(C) + ' is not a typed array constructor'); + throw TypeError$p(tryToString(C) + ' is not a typed array constructor'); }; - var exportTypedArrayMethod$y = function (KEY, property, forced, options) { + var exportTypedArrayMethod$u = function (KEY, property, forced) { if (!descriptors) { return; } if (forced) { for (var ARRAY in TypedArrayConstructorsList) { var TypedArrayConstructor = global_1[ARRAY]; if (TypedArrayConstructor && hasOwnProperty_1(TypedArrayConstructor.prototype, KEY)) { try { delete TypedArrayConstructor.prototype[KEY]; - } catch (error) { - // old WebKit bug - some methods are non-configurable - try { - TypedArrayConstructor.prototype[KEY] = property; - } catch (error2) { /* empty */ } - } } + } catch (error) { /* empty */ } } } } - if (!TypedArrayPrototype$1[KEY] || forced) { - defineBuiltIn(TypedArrayPrototype$1, KEY, forced ? property - : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8ArrayPrototype$1[KEY] || property, options); + if (!TypedArrayPrototype[KEY] || forced) { + redefine(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8ArrayPrototype[KEY] || property); } }; @@ -5368,14 +4867,14 @@ var doric = (function (exports) { if (!TypedArray[KEY] || forced) { // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable try { - return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$2 && TypedArray[KEY] || property); + return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$2 && TypedArray[KEY] || property); } catch (error$1) { /* empty */ } } else { return; } } for (ARRAY in TypedArrayConstructorsList) { TypedArrayConstructor = global_1[ARRAY]; if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - defineBuiltIn(TypedArrayConstructor, KEY, property); + redefine(TypedArrayConstructor, KEY, property); } } }; @@ -5383,42 +4882,42 @@ var doric = (function (exports) { for (NAME$1 in TypedArrayConstructorsList) { Constructor = global_1[NAME$1]; Prototype = Constructor && Constructor.prototype; - if (Prototype) { createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR$5, Constructor); } + if (Prototype) { createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR$1, Constructor); } else { NATIVE_ARRAY_BUFFER_VIEWS$2 = false; } } for (NAME$1 in BigIntArrayConstructorsList) { Constructor = global_1[NAME$1]; Prototype = Constructor && Constructor.prototype; - if (Prototype) { createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR$5, Constructor); } + if (Prototype) { createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR$1, Constructor); } } // WebKit bug - typed arrays constructors prototype is Object.prototype if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !isCallable(TypedArray) || TypedArray === Function.prototype) { // eslint-disable-next-line no-shadow -- safe TypedArray = function TypedArray() { - throw TypeError$6('Incorrect invocation'); + throw TypeError$p('Incorrect invocation'); }; if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME$1 in TypedArrayConstructorsList) { if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1], TypedArray); } } } } - if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype$1 || TypedArrayPrototype$1 === ObjectPrototype$1) { - TypedArrayPrototype$1 = TypedArray.prototype; + if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype$1) { + TypedArrayPrototype = TypedArray.prototype; if (NATIVE_ARRAY_BUFFER_VIEWS$2) { for (NAME$1 in TypedArrayConstructorsList) { - if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1].prototype, TypedArrayPrototype$1); } + if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1].prototype, TypedArrayPrototype); } } } } // WebKit bug - one more object in Uint8ClampedArray prototype chain - if (NATIVE_ARRAY_BUFFER_VIEWS$2 && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype$1) { - objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype$1); + if (NATIVE_ARRAY_BUFFER_VIEWS$2 && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); } - if (descriptors && !hasOwnProperty_1(TypedArrayPrototype$1, TO_STRING_TAG$5)) { - TYPED_ARRAY_TAG_REQUIRED = true; - defineProperty$7(TypedArrayPrototype$1, TO_STRING_TAG$5, { get: function () { + if (descriptors && !hasOwnProperty_1(TypedArrayPrototype, TO_STRING_TAG$5)) { + TYPED_ARRAY_TAG_REQIRED = true; + defineProperty$a(TypedArrayPrototype, TO_STRING_TAG$5, { get: function () { return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; } }); for (NAME$1 in TypedArrayConstructorsList) { if (global_1[NAME$1]) { @@ -5428,16 +4927,16 @@ var doric = (function (exports) { var arrayBufferViewCore = { NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS$2, - TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR$5, - TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, - aTypedArray: aTypedArray$x, + TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR$1, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray$t, aTypedArrayConstructor: aTypedArrayConstructor$4, - exportTypedArrayMethod: exportTypedArrayMethod$y, + exportTypedArrayMethod: exportTypedArrayMethod$u, exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$3, isView: isView, isTypedArray: isTypedArray, TypedArray: TypedArray, - TypedArrayPrototype: TypedArrayPrototype$1 + TypedArrayPrototype: TypedArrayPrototype }; var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; @@ -5448,12 +4947,12 @@ var doric = (function (exports) { isView: arrayBufferViewCore.isView }); - var $TypeError$m = TypeError; + var TypeError$o = global_1.TypeError; // `Assert: IsConstructor(argument) is true` var aConstructor = function (argument) { if (isConstructor(argument)) { return argument; } - throw $TypeError$m(tryToString(argument) + ' is not a constructor'); + throw TypeError$o(tryToString(argument) + ' is not a constructor'); }; var SPECIES$2 = wellKnownSymbol('species'); @@ -5499,11 +4998,11 @@ var doric = (function (exports) { // `DataView` constructor // https://tc39.es/ecma262/#sec-dataview-constructor - _export({ global: true, constructor: true, forced: !arrayBufferNative }, { + _export({ global: true, forced: !arrayBufferNative }, { DataView: arrayBuffer.DataView }); - var FORCED$h = fails(function () { + var FORCED$n = fails(function () { return new Date(16e11).getYear() !== 120; }); @@ -5511,29 +5010,25 @@ var doric = (function (exports) { // `Date.prototype.getYear` method // https://tc39.es/ecma262/#sec-date.prototype.getyear - _export({ target: 'Date', proto: true, forced: FORCED$h }, { + _export({ target: 'Date', proto: true, forced: FORCED$n }, { getYear: function getYear() { return getFullYear(this) - 1900; } }); - // TODO: Remove from `core-js@4` - - - - var $Date = Date; - var getTime$4 = functionUncurryThis($Date.prototype.getTime); + var Date$1 = global_1.Date; + var getTime$3 = functionUncurryThis(Date$1.prototype.getTime); // `Date.now` method // https://tc39.es/ecma262/#sec-date.now _export({ target: 'Date', stat: true }, { now: function now() { - return getTime$4(new $Date()); + return getTime$3(new Date$1()); } }); var DatePrototype$3 = Date.prototype; - var getTime$3 = functionUncurryThis(DatePrototype$3.getTime); + var getTime$2 = functionUncurryThis(DatePrototype$3.getTime); var setFullYear = functionUncurryThis(DatePrototype$3.setFullYear); // `Date.prototype.setYear` method @@ -5541,7 +5036,7 @@ var doric = (function (exports) { _export({ target: 'Date', proto: true }, { setYear: function setYear(year) { // validate - getTime$3(this); + getTime$2(this); var yi = toIntegerOrInfinity(year); var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi; return setFullYear(this, yyyy); @@ -5554,7 +5049,7 @@ var doric = (function (exports) { toGMTString: Date.prototype.toUTCString }); - var $RangeError$a = RangeError; + var RangeError$9 = global_1.RangeError; // `String.prototype.repeat` method implementation // https://tc39.es/ecma262/#sec-string.prototype.repeat @@ -5562,7 +5057,7 @@ var doric = (function (exports) { var str = toString_1(requireObjectCoercible(this)); var result = ''; var n = toIntegerOrInfinity(count); - if (n < 0 || n == Infinity) { throw $RangeError$a('Wrong number of repetitions'); } + if (n < 0 || n == Infinity) { throw RangeError$9('Wrong number of repetitions'); } for (;n > 0; (n >>>= 1) && (str += str)) { if (n & 1) { result += str; } } return result; }; @@ -5574,12 +5069,12 @@ var doric = (function (exports) { - var repeat$2 = functionUncurryThis(stringRepeat); - var stringSlice$f = functionUncurryThis(''.slice); - var ceil = Math.ceil; + var repeat$1 = functionUncurryThis(stringRepeat); + var stringSlice$e = functionUncurryThis(''.slice); + var ceil$1 = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation - var createMethod$4 = function (IS_END) { + var createMethod$5 = function (IS_END) { return function ($this, maxLength, fillString) { var S = toString_1(requireObjectCoercible($this)); var intMaxLength = toLength(maxLength); @@ -5588,8 +5083,8 @@ var doric = (function (exports) { var fillLen, stringFiller; if (intMaxLength <= stringLength || fillStr == '') { return S; } fillLen = intMaxLength - stringLength; - stringFiller = repeat$2(fillStr, ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) { stringFiller = stringSlice$f(stringFiller, 0, fillLen); } + stringFiller = repeat$1(fillStr, ceil$1(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) { stringFiller = stringSlice$e(stringFiller, 0, fillLen); } return IS_END ? S + stringFiller : stringFiller + S; }; }; @@ -5597,19 +5092,19 @@ var doric = (function (exports) { var stringPad = { // `String.prototype.padStart` method // https://tc39.es/ecma262/#sec-string.prototype.padstart - start: createMethod$4(false), + start: createMethod$5(false), // `String.prototype.padEnd` method // https://tc39.es/ecma262/#sec-string.prototype.padend - end: createMethod$4(true) + end: createMethod$5(true) }; var padStart = stringPad.start; - var $RangeError$9 = RangeError; - var abs$7 = Math.abs; + var RangeError$8 = global_1.RangeError; + var abs$6 = Math.abs; var DatePrototype$2 = Date.prototype; var n$DateToISOString = DatePrototype$2.toISOString; - var getTime$2 = functionUncurryThis(DatePrototype$2.getTime); + var getTime$1 = functionUncurryThis(DatePrototype$2.getTime); var getUTCDate = functionUncurryThis(DatePrototype$2.getUTCDate); var getUTCFullYear = functionUncurryThis(DatePrototype$2.getUTCFullYear); var getUTCHours = functionUncurryThis(DatePrototype$2.getUTCHours); @@ -5626,12 +5121,12 @@ var doric = (function (exports) { }) || !fails(function () { n$DateToISOString.call(new Date(NaN)); })) ? function toISOString() { - if (!isFinite(getTime$2(this))) { throw $RangeError$9('Invalid time value'); } + if (!isFinite(getTime$1(this))) { throw RangeError$8('Invalid time value'); } var date = this; var year = getUTCFullYear(date); var milliseconds = getUTCMilliseconds(date); var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; - return sign + padStart(abs$7(year), sign ? 6 : 4, 0) + + return sign + padStart(abs$6(year), sign ? 6 : 4, 0) + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + '-' + padStart(getUTCDate(date), 2, 0) + 'T' + padStart(getUTCHours(date), 2, 0) + @@ -5648,14 +5143,14 @@ var doric = (function (exports) { toISOString: dateToIsoString }); - var FORCED$g = fails(function () { + var FORCED$m = fails(function () { return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; }); // `Date.prototype.toJSON` method // https://tc39.es/ecma262/#sec-date.prototype.tojson - _export({ target: 'Date', proto: true, arity: 1, forced: FORCED$g }, { + _export({ target: 'Date', proto: true, forced: FORCED$m }, { // eslint-disable-next-line no-unused-vars -- required for `.length` toJSON: function toJSON(key) { var O = toObject(this); @@ -5664,14 +5159,14 @@ var doric = (function (exports) { } }); - var $TypeError$l = TypeError; + var TypeError$n = global_1.TypeError; // `Date.prototype[@@toPrimitive](hint)` method implementation // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive var dateToPrimitive = function (hint) { anObject(this); if (hint === 'string' || hint === 'default') { hint = 'string'; } - else if (hint !== 'number') { throw $TypeError$l('Incorrect hint'); } + else if (hint !== 'number') { throw TypeError$n('Incorrect hint'); } return ordinaryToPrimitive(this, hint); }; @@ -5681,39 +5176,35 @@ var doric = (function (exports) { // `Date.prototype[@@toPrimitive]` method // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive if (!hasOwnProperty_1(DatePrototype$1, TO_PRIMITIVE)) { - defineBuiltIn(DatePrototype$1, TO_PRIMITIVE, dateToPrimitive); + redefine(DatePrototype$1, TO_PRIMITIVE, dateToPrimitive); } - // TODO: Remove from `core-js@4` - - - var DatePrototype = Date.prototype; var INVALID_DATE = 'Invalid Date'; var TO_STRING$1 = 'toString'; var un$DateToString = functionUncurryThis(DatePrototype[TO_STRING$1]); - var getTime$1 = functionUncurryThis(DatePrototype.getTime); + var getTime = functionUncurryThis(DatePrototype.getTime); // `Date.prototype.toString` method // https://tc39.es/ecma262/#sec-date.prototype.tostring if (String(new Date(NaN)) != INVALID_DATE) { - defineBuiltIn(DatePrototype, TO_STRING$1, function toString() { - var value = getTime$1(this); + redefine(DatePrototype, TO_STRING$1, function toString() { + var value = getTime(this); // eslint-disable-next-line no-self-compare -- NaN check return value === value ? un$DateToString(this) : INVALID_DATE; }); } - var charAt$g = functionUncurryThis(''.charAt); + var charAt$f = functionUncurryThis(''.charAt); var charCodeAt$4 = functionUncurryThis(''.charCodeAt); - var exec$9 = functionUncurryThis(/./.exec); - var numberToString$2 = functionUncurryThis(1.0.toString); + var exec$8 = functionUncurryThis(/./.exec); + var numberToString$3 = functionUncurryThis(1.0.toString); var toUpperCase = functionUncurryThis(''.toUpperCase); var raw = /[\w*+\-./@]/; var hex$1 = function (code, length) { - var result = numberToString$2(code, 16); + var result = numberToString$3(code, 16); while (result.length < length) { result = '0' + result; } return result; }; @@ -5728,8 +5219,8 @@ var doric = (function (exports) { var index = 0; var chr, code; while (index < length) { - chr = charAt$g(str, index++); - if (exec$9(raw, chr)) { + chr = charAt$f(str, index++); + if (exec$8(raw, chr)) { result += chr; } else { code = charCodeAt$4(chr, 0); @@ -5743,21 +5234,21 @@ var doric = (function (exports) { } }); - var $Function = Function; + var Function$3 = global_1.Function; var concat$3 = functionUncurryThis([].concat); - var join$7 = functionUncurryThis([].join); + var join$6 = functionUncurryThis([].join); var factories = {}; var construct = function (C, argsLength, args) { if (!hasOwnProperty_1(factories, argsLength)) { for (var list = [], i = 0; i < argsLength; i++) { list[i] = 'a[' + i + ']'; } - factories[argsLength] = $Function('C,a', 'return new C(' + join$7(list, ',') + ')'); + factories[argsLength] = Function$3('C,a', 'return new C(' + join$6(list, ',') + ')'); } return factories[argsLength](C, args); }; // `Function.prototype.bind` method implementation // https://tc39.es/ecma262/#sec-function.prototype.bind - var functionBind = functionBindNative ? $Function.bind : function bind(that /* , ...args */) { + var functionBind = Function$3.bind || function bind(that /* , ...args */) { var F = aCallable(this); var Prototype = F.prototype; var partArgs = arraySlice$1(arguments, 1); @@ -5769,13 +5260,9 @@ var doric = (function (exports) { return boundFunction; }; - // TODO: Remove from `core-js@4` - - - // `Function.prototype.bind` method // https://tc39.es/ecma262/#sec-function.prototype.bind - _export({ target: 'Function', proto: true, forced: Function.bind !== functionBind }, { + _export({ target: 'Function', proto: true }, { bind: functionBind }); @@ -5785,30 +5272,30 @@ var doric = (function (exports) { // `Function.prototype[@@hasInstance]` method // https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance if (!(HAS_INSTANCE in FunctionPrototype$1)) { - objectDefineProperty.f(FunctionPrototype$1, HAS_INSTANCE, { value: makeBuiltIn_1(function (O) { + objectDefineProperty.f(FunctionPrototype$1, HAS_INSTANCE, { value: function (O) { if (!isCallable(this) || !isObject(O)) { return false; } var P = this.prototype; if (!isObject(P)) { return O instanceof this; } // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: while (O = objectGetPrototypeOf(O)) { if (P === O) { return true; } } return false; - }, HAS_INSTANCE) }); + } }); } var FUNCTION_NAME_EXISTS = functionName.EXISTS; - var defineProperty$6 = objectDefineProperty.f; + var defineProperty$9 = objectDefineProperty.f; var FunctionPrototype = Function.prototype; var functionToString = functionUncurryThis(FunctionPrototype.toString); - var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; + var nameRE = /^\s*function ([^ (]*)/; var regExpExec = functionUncurryThis(nameRE.exec); var NAME = 'name'; // Function instances `.name` property // https://tc39.es/ecma262/#sec-function-instances-name if (descriptors && !FUNCTION_NAME_EXISTS) { - defineProperty$6(FunctionPrototype, NAME, { + defineProperty$9(FunctionPrototype, NAME, { configurable: true, get: function () { try { @@ -5826,35 +5313,53 @@ var doric = (function (exports) { globalThis: global_1 }); + var Array$4 = global_1.Array; + var $stringify = getBuiltIn('JSON', 'stringify'); + var exec$7 = functionUncurryThis(/./.exec); + var charAt$e = functionUncurryThis(''.charAt); + var charCodeAt$3 = functionUncurryThis(''.charCodeAt); + var replace$8 = functionUncurryThis(''.replace); + var numberToString$2 = functionUncurryThis(1.0.toString); + + var tester = /[\uD800-\uDFFF]/g; + var low = /^[\uD800-\uDBFF]$/; + var hi = /^[\uDC00-\uDFFF]$/; + + var fix = function (match, offset, string) { + var prev = charAt$e(string, offset - 1); + var next = charAt$e(string, offset + 1); + if ((exec$7(low, match) && !exec$7(hi, next)) || (exec$7(hi, match) && !exec$7(low, prev))) { + return '\\u' + numberToString$2(charCodeAt$3(match, 0), 16); + } return match; + }; + + var FORCED$l = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; + }); + + if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + // https://github.com/tc39/proposal-well-formed-stringify + _export({ target: 'JSON', stat: true, forced: FORCED$l }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var arguments$1 = arguments; + + for (var i = 0, l = arguments.length, args = Array$4(l); i < l; i++) { args[i] = arguments$1[i]; } + var result = functionApply($stringify, null, args); + return typeof result == 'string' ? replace$8(result, tester, fix) : result; + } + }); + } + // JSON[@@toStringTag] property // https://tc39.es/ecma262/#sec-json-@@tostringtag setToStringTag(global_1.JSON, 'JSON', true); - // FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it - - - var arrayBufferNonExtensible = fails(function () { - if (typeof ArrayBuffer == 'function') { - var buffer = new ArrayBuffer(8); - // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe - if (Object.isExtensible(buffer)) { Object.defineProperty(buffer, 'a', { value: 8 }); } - } - }); - - // eslint-disable-next-line es-x/no-object-isextensible -- safe - var $isExtensible = Object.isExtensible; - var FAILS_ON_PRIMITIVES$9 = fails(function () { $isExtensible(1); }); - - // `Object.isExtensible` method - // https://tc39.es/ecma262/#sec-object.isextensible - var objectIsExtensible = (FAILS_ON_PRIMITIVES$9 || arrayBufferNonExtensible) ? function isExtensible(it) { - if (!isObject(it)) { return false; } - if (arrayBufferNonExtensible && classofRaw(it) == 'ArrayBuffer') { return false; } - return $isExtensible ? $isExtensible(it) : true; - } : $isExtensible; - var freezing = !fails(function () { - // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing return Object.isExtensible(Object.preventExtensions({})); }); @@ -5865,11 +5370,15 @@ var doric = (function (exports) { - var REQUIRED = false; var METADATA = uid('meta'); var id = 0; + // eslint-disable-next-line es/no-object-isextensible -- safe + var isExtensible = Object.isExtensible || function () { + return true; + }; + var setMetadata = function (it) { defineProperty(it, METADATA, { value: { objectID: 'O' + id++, // object ID @@ -5882,7 +5391,7 @@ var doric = (function (exports) { if (!isObject(it)) { return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; } if (!hasOwnProperty_1(it, METADATA)) { // can't set metadata to uncaught frozen object - if (!objectIsExtensible(it)) { return 'F'; } + if (!isExtensible(it)) { return 'F'; } // not necessary to add metadata if (!create) { return 'E'; } // add missing metadata @@ -5894,7 +5403,7 @@ var doric = (function (exports) { var getWeakData = function (it, create) { if (!hasOwnProperty_1(it, METADATA)) { // can't set metadata to uncaught frozen object - if (!objectIsExtensible(it)) { return true; } + if (!isExtensible(it)) { return true; } // not necessary to add metadata if (!create) { return false; } // add missing metadata @@ -5905,7 +5414,7 @@ var doric = (function (exports) { // add metadata on freeze-family methods calling var onFreeze = function (it) { - if (freezing && REQUIRED && objectIsExtensible(it) && !hasOwnProperty_1(it, METADATA)) { setMetadata(it); } + if (freezing && REQUIRED && isExtensible(it) && !hasOwnProperty_1(it, METADATA)) { setMetadata(it); } return it; }; @@ -5945,6 +5454,21 @@ var doric = (function (exports) { hiddenKeys$1[METADATA] = true; }); + // makes subclassing work correct for wrapped built-ins + var inheritIfRequired = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + objectSetPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) { objectSetPrototypeOf($this, NewTargetPrototype); } + return $this; + }; + var collection = function (CONSTRUCTOR_NAME, wrapper, common) { var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; @@ -5956,7 +5480,7 @@ var doric = (function (exports) { var fixMethod = function (KEY) { var uncurriedNativeMethod = functionUncurryThis(NativePrototype[KEY]); - defineBuiltIn(NativePrototype, KEY, + redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { uncurriedNativeMethod(this, value === 0 ? 0 : value); return this; @@ -6026,7 +5550,7 @@ var doric = (function (exports) { } exported[CONSTRUCTOR_NAME] = Constructor; - _export({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported); + _export({ global: true, forced: Constructor != NativeConstructor }, exported); setToStringTag(Constructor, CONSTRUCTOR_NAME); @@ -6035,7 +5559,7 @@ var doric = (function (exports) { return Constructor; }; - var defineProperty$5 = objectDefineProperty.f; + var defineProperty$8 = objectDefineProperty.f; @@ -6047,14 +5571,14 @@ var doric = (function (exports) { var fastKey = internalMetadata.fastKey; - var setInternalState$f = internalState.set; + var setInternalState$e = internalState.set; var internalStateGetterFor$1 = internalState.getterFor; var collectionStrong = { getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { var Constructor = wrapper(function (that, iterable) { anInstance(that, Prototype); - setInternalState$f(that, { + setInternalState$e(that, { type: CONSTRUCTOR_NAME, index: objectCreate(null), first: undefined, @@ -6107,7 +5631,7 @@ var doric = (function (exports) { } }; - defineBuiltIns(Prototype, { + redefineAll(Prototype, { // `{ Map, Set }.prototype.clear()` methods // https://tc39.es/ecma262/#sec-map.prototype.clear // https://tc39.es/ecma262/#sec-set.prototype.clear @@ -6167,7 +5691,7 @@ var doric = (function (exports) { } }); - defineBuiltIns(Prototype, IS_MAP ? { + redefineAll(Prototype, IS_MAP ? { // `Map.prototype.get(key)` method // https://tc39.es/ecma262/#sec-map.prototype.get get: function get(key) { @@ -6186,7 +5710,7 @@ var doric = (function (exports) { return define(this, value = value === 0 ? 0 : value, value); } }); - if (descriptors) { defineProperty$5(Prototype, 'size', { + if (descriptors) { defineProperty$8(Prototype, 'size', { get: function () { return getInternalState(this).size; } @@ -6207,7 +5731,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-set.prototype.values // https://tc39.es/ecma262/#sec-set.prototype-@@iterator defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { - setInternalState$f(this, { + setInternalState$e(this, { type: ITERATOR_NAME, target: iterated, state: getInternalCollectionState(iterated), @@ -6249,19 +5773,18 @@ var doric = (function (exports) { // `Math.log1p` method implementation // https://tc39.es/ecma262/#sec-math.log1p - // eslint-disable-next-line es-x/no-math-log1p -- safe + // eslint-disable-next-line es/no-math-log1p -- safe var mathLog1p = Math.log1p || function log1p(x) { - var n = +x; - return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log$7(1 + n); + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log$7(1 + x); }; - // eslint-disable-next-line es-x/no-math-acosh -- required for testing + // eslint-disable-next-line es/no-math-acosh -- required for testing var $acosh = Math.acosh; var log$6 = Math.log; var sqrt$2 = Math.sqrt; var LN2$1 = Math.LN2; - var FORCED$f = !$acosh + var FORCED$k = !$acosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 || Math.floor($acosh(Number.MAX_VALUE)) != 710 // Tor Browser bug: Math.acosh(Infinity) -> NaN @@ -6269,23 +5792,21 @@ var doric = (function (exports) { // `Math.acosh` method // https://tc39.es/ecma262/#sec-math.acosh - _export({ target: 'Math', stat: true, forced: FORCED$f }, { + _export({ target: 'Math', stat: true, forced: FORCED$k }, { acosh: function acosh(x) { - var n = +x; - return n < 1 ? NaN : n > 94906265.62425156 - ? log$6(n) + LN2$1 - : mathLog1p(n - 1 + sqrt$2(n - 1) * sqrt$2(n + 1)); + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? log$6(x) + LN2$1 + : mathLog1p(x - 1 + sqrt$2(x - 1) * sqrt$2(x + 1)); } }); - // eslint-disable-next-line es-x/no-math-asinh -- required for testing + // eslint-disable-next-line es/no-math-asinh -- required for testing var $asinh = Math.asinh; var log$5 = Math.log; var sqrt$1 = Math.sqrt; function asinh(x) { - var n = +x; - return !isFinite(n) || n == 0 ? n : n < 0 ? -asinh(-n) : log$5(n + sqrt$1(n * n + 1)); + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log$5(x + sqrt$1(x * x + 1)); } // `Math.asinh` method @@ -6295,7 +5816,7 @@ var doric = (function (exports) { asinh: asinh }); - // eslint-disable-next-line es-x/no-math-atanh -- required for testing + // eslint-disable-next-line es/no-math-atanh -- required for testing var $atanh = Math.atanh; var log$4 = Math.log; @@ -6304,29 +5825,26 @@ var doric = (function (exports) { // Tor Browser bug: Math.atanh(-0) -> 0 _export({ target: 'Math', stat: true, forced: !($atanh && 1 / $atanh(-0) < 0) }, { atanh: function atanh(x) { - var n = +x; - return n == 0 ? n : log$4((1 + n) / (1 - n)) / 2; + return (x = +x) == 0 ? x : log$4((1 + x) / (1 - x)) / 2; } }); // `Math.sign` method implementation // https://tc39.es/ecma262/#sec-math.sign - // eslint-disable-next-line es-x/no-math-sign -- safe + // eslint-disable-next-line es/no-math-sign -- safe var mathSign = Math.sign || function sign(x) { - var n = +x; // eslint-disable-next-line no-self-compare -- NaN check - return n == 0 || n != n ? n : n < 0 ? -1 : 1; + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; }; - var abs$6 = Math.abs; - var pow$4 = Math.pow; + var abs$5 = Math.abs; + var pow$3 = Math.pow; // `Math.cbrt` method // https://tc39.es/ecma262/#sec-math.cbrt _export({ target: 'Math', stat: true }, { cbrt: function cbrt(x) { - var n = +x; - return mathSign(n) * pow$4(abs$6(n), 1 / 3); + return mathSign(x = +x) * pow$3(abs$5(x), 1 / 3); } }); @@ -6338,12 +5856,11 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-math.clz32 _export({ target: 'Math', stat: true }, { clz32: function clz32(x) { - var n = x >>> 0; - return n ? 31 - floor$7(log$3(n + 0.5) * LOG2E) : 32; + return (x >>>= 0) ? 31 - floor$7(log$3(x + 0.5) * LOG2E) : 32; } }); - // eslint-disable-next-line es-x/no-math-expm1 -- safe + // eslint-disable-next-line es/no-math-expm1 -- safe var $expm1 = Math.expm1; var exp$2 = Math.exp; @@ -6355,35 +5872,34 @@ var doric = (function (exports) { // Tor Browser bug || $expm1(-2e-17) != -2e-17 ) ? function expm1(x) { - var n = +x; - return n == 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp$2(n) - 1; + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp$2(x) - 1; } : $expm1; - // eslint-disable-next-line es-x/no-math-cosh -- required for testing + // eslint-disable-next-line es/no-math-cosh -- required for testing var $cosh = Math.cosh; - var abs$5 = Math.abs; + var abs$4 = Math.abs; var E$1 = Math.E; // `Math.cosh` method // https://tc39.es/ecma262/#sec-math.cosh _export({ target: 'Math', stat: true, forced: !$cosh || $cosh(710) === Infinity }, { cosh: function cosh(x) { - var t = mathExpm1(abs$5(x) - 1) + 1; + var t = mathExpm1(abs$4(x) - 1) + 1; return (t + 1 / (t * E$1 * E$1)) * (E$1 / 2); } }); // `Math.expm1` method // https://tc39.es/ecma262/#sec-math.expm1 - // eslint-disable-next-line es-x/no-math-expm1 -- required for testing + // eslint-disable-next-line es/no-math-expm1 -- required for testing _export({ target: 'Math', stat: true, forced: mathExpm1 != Math.expm1 }, { expm1: mathExpm1 }); - var abs$4 = Math.abs; - var pow$3 = Math.pow; - var EPSILON = pow$3(2, -52); - var EPSILON32 = pow$3(2, -23); - var MAX32 = pow$3(2, 127) * (2 - EPSILON32); - var MIN32 = pow$3(2, -126); + var abs$3 = Math.abs; + var pow$2 = Math.pow; + var EPSILON = pow$2(2, -52); + var EPSILON32 = pow$2(2, -23); + var MAX32 = pow$2(2, 127) * (2 - EPSILON32); + var MIN32 = pow$2(2, -126); var roundTiesToEven = function (n) { return n + 1 / EPSILON - 1 / EPSILON; @@ -6391,11 +5907,10 @@ var doric = (function (exports) { // `Math.fround` method implementation // https://tc39.es/ecma262/#sec-math.fround - // eslint-disable-next-line es-x/no-math-fround -- safe + // eslint-disable-next-line es/no-math-fround -- safe var mathFround = Math.fround || function fround(x) { - var n = +x; - var $abs = abs$4(n); - var $sign = mathSign(n); + var $abs = abs$3(x); + var $sign = mathSign(x); var a, result; if ($abs < MIN32) { return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; } a = (1 + EPSILON32 / EPSILON) * $abs; @@ -6409,9 +5924,9 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-math.fround _export({ target: 'Math', stat: true }, { fround: mathFround }); - // eslint-disable-next-line es-x/no-math-hypot -- required for testing + // eslint-disable-next-line es/no-math-hypot -- required for testing var $hypot = Math.hypot; - var abs$3 = Math.abs; + var abs$2 = Math.abs; var sqrt = Math.sqrt; // Chrome 77 bug @@ -6420,7 +5935,7 @@ var doric = (function (exports) { // `Math.hypot` method // https://tc39.es/ecma262/#sec-math.hypot - _export({ target: 'Math', stat: true, arity: 2, forced: BUGGY }, { + _export({ target: 'Math', stat: true, forced: BUGGY }, { // eslint-disable-next-line no-unused-vars -- required for `.length` hypot: function hypot(value1, value2) { var arguments$1 = arguments; @@ -6431,7 +5946,7 @@ var doric = (function (exports) { var larg = 0; var arg, div; while (i < aLen) { - arg = abs$3(arguments$1[i++]); + arg = abs$2(arguments$1[i++]); if (larg < arg) { div = larg / arg; sum = sum * div * div + 1; @@ -6445,17 +5960,17 @@ var doric = (function (exports) { } }); - // eslint-disable-next-line es-x/no-math-imul -- required for testing + // eslint-disable-next-line es/no-math-imul -- required for testing var $imul = Math.imul; - var FORCED$e = fails(function () { + var FORCED$j = fails(function () { return $imul(0xFFFFFFFF, 5) != -5 || $imul.length != 2; }); // `Math.imul` method // https://tc39.es/ecma262/#sec-math.imul // some WebKit versions fails with big numbers, some has wrong arity - _export({ target: 'Math', stat: true, forced: FORCED$e }, { + _export({ target: 'Math', stat: true, forced: FORCED$j }, { imul: function imul(x, y) { var UINT16 = 0xFFFF; var xn = +x; @@ -6469,15 +5984,12 @@ var doric = (function (exports) { var log$2 = Math.log; var LOG10E = Math.LOG10E; - // eslint-disable-next-line es-x/no-math-log10 -- safe - var mathLog10 = Math.log10 || function log10(x) { - return log$2(x) * LOG10E; - }; - // `Math.log10` method // https://tc39.es/ecma262/#sec-math.log10 _export({ target: 'Math', stat: true }, { - log10: mathLog10 + log10: function log10(x) { + return log$2(x) * LOG10E; + } }); // `Math.log1p` method @@ -6501,22 +6013,21 @@ var doric = (function (exports) { sign: mathSign }); - var abs$2 = Math.abs; + var abs$1 = Math.abs; var exp$1 = Math.exp; var E = Math.E; - var FORCED$d = fails(function () { - // eslint-disable-next-line es-x/no-math-sinh -- required for testing + var FORCED$i = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing return Math.sinh(-2e-17) != -2e-17; }); // `Math.sinh` method // https://tc39.es/ecma262/#sec-math.sinh // V8 near Chromium 38 has a problem with very small numbers - _export({ target: 'Math', stat: true, forced: FORCED$d }, { + _export({ target: 'Math', stat: true, forced: FORCED$i }, { sinh: function sinh(x) { - var n = +x; - return abs$2(n) < 1 ? (mathExpm1(n) - mathExpm1(-n)) / 2 : (exp$1(n - 1) - exp$1(-n - 1)) * (E / 2); + return abs$1(x = +x) < 1 ? (mathExpm1(x) - mathExpm1(-x)) / 2 : (exp$1(x - 1) - exp$1(-x - 1)) * (E / 2); } }); @@ -6526,10 +6037,9 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-math.tanh _export({ target: 'Math', stat: true }, { tanh: function tanh(x) { - var n = +x; - var a = mathExpm1(n); - var b = mathExpm1(-n); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + var a = mathExpm1(x = +x); + var b = mathExpm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); } }); @@ -6537,10 +6047,15 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-math-@@tostringtag setToStringTag(Math, 'Math', true); + var ceil = Math.ceil; + var floor$6 = Math.floor; + // `Math.trunc` method // https://tc39.es/ecma262/#sec-math.trunc _export({ target: 'Math', stat: true }, { - trunc: mathTrunc + trunc: function trunc(it) { + return (it > 0 ? floor$6 : ceil)(it); + } }); // `thisNumberValue` abstract operation @@ -6548,20 +6063,20 @@ var doric = (function (exports) { var thisNumberValue = functionUncurryThis(1.0.valueOf); // a string of all valid unicode whitespaces - var whitespaces$1 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - var replace$8 = functionUncurryThis(''.replace); - var whitespace = '[' + whitespaces$1 + ']'; + var replace$7 = functionUncurryThis(''.replace); + var whitespace = '[' + whitespaces + ']'; var ltrim = RegExp('^' + whitespace + whitespace + '*'); var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation - var createMethod$3 = function (TYPE) { + var createMethod$4 = function (TYPE) { return function ($this) { var string = toString_1(requireObjectCoercible($this)); - if (TYPE & 1) { string = replace$8(string, ltrim, ''); } - if (TYPE & 2) { string = replace$8(string, rtrim, ''); } + if (TYPE & 1) { string = replace$7(string, ltrim, ''); } + if (TYPE & 2) { string = replace$7(string, rtrim, ''); } return string; }; }; @@ -6569,27 +6084,27 @@ var doric = (function (exports) { var stringTrim = { // `String.prototype.{ trimLeft, trimStart }` methods // https://tc39.es/ecma262/#sec-string.prototype.trimstart - start: createMethod$3(1), + start: createMethod$4(1), // `String.prototype.{ trimRight, trimEnd }` methods // https://tc39.es/ecma262/#sec-string.prototype.trimend - end: createMethod$3(2), + end: createMethod$4(2), // `String.prototype.trim` method // https://tc39.es/ecma262/#sec-string.prototype.trim - trim: createMethod$3(3) + trim: createMethod$4(3) }; var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f; - var getOwnPropertyDescriptor$8 = objectGetOwnPropertyDescriptor.f; - var defineProperty$4 = objectDefineProperty.f; + var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; + var defineProperty$7 = objectDefineProperty.f; var trim$2 = stringTrim.trim; var NUMBER = 'Number'; var NativeNumber = global_1[NUMBER]; var NumberPrototype = NativeNumber.prototype; - var TypeError$5 = global_1.TypeError; + var TypeError$m = global_1.TypeError; var arraySlice = functionUncurryThis(''.slice); - var charCodeAt$3 = functionUncurryThis(''.charCodeAt); + var charCodeAt$2 = functionUncurryThis(''.charCodeAt); // `ToNumeric` abstract operation // https://tc39.es/ecma262/#sec-tonumeric @@ -6603,15 +6118,15 @@ var doric = (function (exports) { var toNumber = function (argument) { var it = toPrimitive(argument, 'number'); var first, third, radix, maxCode, digits, length, index, code; - if (isSymbol(it)) { throw TypeError$5('Cannot convert a Symbol value to a number'); } + if (isSymbol(it)) { throw TypeError$m('Cannot convert a Symbol value to a number'); } if (typeof it == 'string' && it.length > 2) { it = trim$2(it); - first = charCodeAt$3(it, 0); + first = charCodeAt$2(it, 0); if (first === 43 || first === 45) { - third = charCodeAt$3(it, 2); + third = charCodeAt$2(it, 2); if (third === 88 || third === 120) { return NaN; } // Number('+0x1') should be NaN, old V8 fix } else if (first === 48) { - switch (charCodeAt$3(it, 1)) { + switch (charCodeAt$2(it, 1)) { case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i default: return +it; @@ -6619,7 +6134,7 @@ var doric = (function (exports) { digits = arraySlice(it, 2); length = digits.length; for (index = 0; index < length; index++) { - code = charCodeAt$3(digits, index); + code = charCodeAt$2(digits, index); // parseInt parses a string to a first unavailable symbol // but ToNumber should return NaN if a string contains unavailable symbols if (code < 48 || code > maxCode) { return NaN; } @@ -6645,19 +6160,19 @@ var doric = (function (exports) { 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + // ESNext 'fromString,range' - ).split(','), j = 0, key$2; keys$1.length > j; j++) { - if (hasOwnProperty_1(NativeNumber, key$2 = keys$1[j]) && !hasOwnProperty_1(NumberWrapper, key$2)) { - defineProperty$4(NumberWrapper, key$2, getOwnPropertyDescriptor$8(NativeNumber, key$2)); + ).split(','), j = 0, key; keys$1.length > j; j++) { + if (hasOwnProperty_1(NativeNumber, key = keys$1[j]) && !hasOwnProperty_1(NumberWrapper, key)) { + defineProperty$7(NumberWrapper, key, getOwnPropertyDescriptor$6(NativeNumber, key)); } } NumberWrapper.prototype = NumberPrototype; NumberPrototype.constructor = NumberWrapper; - defineBuiltIn(global_1, NUMBER, NumberWrapper, { constructor: true }); + redefine(global_1, NUMBER, NumberWrapper); } // `Number.EPSILON` constant // https://tc39.es/ecma262/#sec-number.epsilon - _export({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + _export({ target: 'Number', stat: true }, { EPSILON: Math.pow(2, -52) }); @@ -6665,7 +6180,7 @@ var doric = (function (exports) { // `Number.isFinite` method // https://tc39.es/ecma262/#sec-number.isfinite - // eslint-disable-next-line es-x/no-number-isfinite -- safe + // eslint-disable-next-line es/no-number-isfinite -- safe var numberIsFinite = Number.isFinite || function isFinite(it) { return typeof it == 'number' && globalIsFinite(it); }; @@ -6674,13 +6189,13 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-number.isfinite _export({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); - var floor$6 = Math.floor; + var floor$5 = Math.floor; // `IsIntegralNumber` abstract operation // https://tc39.es/ecma262/#sec-isintegralnumber - // eslint-disable-next-line es-x/no-number-isinteger -- safe + // eslint-disable-next-line es/no-number-isinteger -- safe var isIntegralNumber = Number.isInteger || function isInteger(it) { - return !isObject(it) && isFinite(it) && floor$6(it) === it; + return !isObject(it) && isFinite(it) && floor$5(it) === it; }; // `Number.isInteger` method @@ -6698,50 +6213,50 @@ var doric = (function (exports) { } }); - var abs$1 = Math.abs; + var abs = Math.abs; // `Number.isSafeInteger` method // https://tc39.es/ecma262/#sec-number.issafeinteger _export({ target: 'Number', stat: true }, { isSafeInteger: function isSafeInteger(number) { - return isIntegralNumber(number) && abs$1(number) <= 0x1FFFFFFFFFFFFF; + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; } }); // `Number.MAX_SAFE_INTEGER` constant // https://tc39.es/ecma262/#sec-number.max_safe_integer - _export({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + _export({ target: 'Number', stat: true }, { MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF }); // `Number.MIN_SAFE_INTEGER` constant // https://tc39.es/ecma262/#sec-number.min_safe_integer - _export({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + _export({ target: 'Number', stat: true }, { MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF }); var trim$1 = stringTrim.trim; - var charAt$f = functionUncurryThis(''.charAt); + var charAt$d = functionUncurryThis(''.charAt); var n$ParseFloat = global_1.parseFloat; var Symbol$2 = global_1.Symbol; var ITERATOR$5 = Symbol$2 && Symbol$2.iterator; - var FORCED$c = 1 / n$ParseFloat(whitespaces$1 + '-0') !== -Infinity + var FORCED$h = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity // MS Edge 18- broken with boxed symbols || (ITERATOR$5 && !fails(function () { n$ParseFloat(Object(ITERATOR$5)); })); // `parseFloat` method // https://tc39.es/ecma262/#sec-parsefloat-string - var numberParseFloat = FORCED$c ? function parseFloat(string) { + var numberParseFloat = FORCED$h ? function parseFloat(string) { var trimmedString = trim$1(toString_1(string)); var result = n$ParseFloat(trimmedString); - return result === 0 && charAt$f(trimmedString, 0) == '-' ? -0 : result; + return result === 0 && charAt$d(trimmedString, 0) == '-' ? -0 : result; } : n$ParseFloat; // `Number.parseFloat` method // https://tc39.es/ecma262/#sec-number.parseFloat - // eslint-disable-next-line es-x/no-number-parsefloat -- required for testing + // eslint-disable-next-line es/no-number-parsefloat -- required for testing _export({ target: 'Number', stat: true, forced: Number.parseFloat != numberParseFloat }, { parseFloat: numberParseFloat }); @@ -6753,118 +6268,27 @@ var doric = (function (exports) { var Symbol$1 = global_1.Symbol; var ITERATOR$4 = Symbol$1 && Symbol$1.iterator; var hex = /^[+-]?0x/i; - var exec$8 = functionUncurryThis(hex.exec); - var FORCED$b = $parseInt(whitespaces$1 + '08') !== 8 || $parseInt(whitespaces$1 + '0x16') !== 22 + var exec$6 = functionUncurryThis(hex.exec); + var FORCED$g = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 // MS Edge 18- broken with boxed symbols || (ITERATOR$4 && !fails(function () { $parseInt(Object(ITERATOR$4)); })); // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix - var numberParseInt = FORCED$b ? function parseInt(string, radix) { + var numberParseInt = FORCED$g ? function parseInt(string, radix) { var S = trim(toString_1(string)); - return $parseInt(S, (radix >>> 0) || (exec$8(hex, S) ? 16 : 10)); + return $parseInt(S, (radix >>> 0) || (exec$6(hex, S) ? 16 : 10)); } : $parseInt; // `Number.parseInt` method // https://tc39.es/ecma262/#sec-number.parseint - // eslint-disable-next-line es-x/no-number-parseint -- required for testing + // eslint-disable-next-line es/no-number-parseint -- required for testing _export({ target: 'Number', stat: true, forced: Number.parseInt != numberParseInt }, { parseInt: numberParseInt }); - var $RangeError$8 = RangeError; - var $String$1 = String; - var $isFinite = isFinite; - var abs = Math.abs; - var floor$5 = Math.floor; - var pow$2 = Math.pow; - var round = Math.round; - var un$ToExponential = functionUncurryThis(1.0.toExponential); - var repeat$1 = functionUncurryThis(stringRepeat); - var stringSlice$e = functionUncurryThis(''.slice); - - // Edge 17- - var ROUNDS_PROPERLY = un$ToExponential(-6.9e-11, 4) === '-6.9000e-11' - // IE11- && Edge 14- - && un$ToExponential(1.255, 2) === '1.25e+0' - // FF86-, V8 ~ Chrome 49-50 - && un$ToExponential(12345, 3) === '1.235e+4' - // FF86-, V8 ~ Chrome 49-50 - && un$ToExponential(25, 0) === '3e+1'; - - // IE8- - var THROWS_ON_INFINITY_FRACTION = fails(function () { - un$ToExponential(1, Infinity); - }) && fails(function () { - un$ToExponential(1, -Infinity); - }); - - // Safari <11 && FF <50 - var PROPER_NON_FINITE_THIS_CHECK = !fails(function () { - un$ToExponential(Infinity, Infinity); - }) && !fails(function () { - un$ToExponential(NaN, Infinity); - }); - - var FORCED$a = !ROUNDS_PROPERLY || !THROWS_ON_INFINITY_FRACTION || !PROPER_NON_FINITE_THIS_CHECK; - - // `Number.prototype.toExponential` method - // https://tc39.es/ecma262/#sec-number.prototype.toexponential - _export({ target: 'Number', proto: true, forced: FORCED$a }, { - toExponential: function toExponential(fractionDigits) { - var x = thisNumberValue(this); - if (fractionDigits === undefined) { return un$ToExponential(x); } - var f = toIntegerOrInfinity(fractionDigits); - if (!$isFinite(x)) { return String(x); } - // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation - if (f < 0 || f > 20) { throw $RangeError$8('Incorrect fraction digits'); } - if (ROUNDS_PROPERLY) { return un$ToExponential(x, f); } - var s = ''; - var m = ''; - var e = 0; - var c = ''; - var d = ''; - if (x < 0) { - s = '-'; - x = -x; - } - if (x === 0) { - e = 0; - m = repeat$1('0', f + 1); - } else { - // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 - // TODO: improve accuracy with big fraction digits - var l = mathLog10(x); - e = floor$5(l); - var n = 0; - var w = pow$2(10, e - f); - n = round(x / w); - if (2 * x >= (2 * n + 1) * w) { - n += 1; - } - if (n >= pow$2(10, f + 1)) { - n /= 10; - e += 1; - } - m = $String$1(n); - } - if (f !== 0) { - m = stringSlice$e(m, 0, 1) + '.' + stringSlice$e(m, 1); - } - if (e === 0) { - c = '+'; - d = '0'; - } else { - c = e > 0 ? '+' : '-'; - d = $String$1(abs(e)); - } - m += 'e' + c + d; - return s + m; - } - }); - - var $RangeError$7 = RangeError; - var $String = String; + var RangeError$7 = global_1.RangeError; + var String$2 = global_1.String; var floor$4 = Math.floor; var repeat = functionUncurryThis(stringRepeat); var stringSlice$d = functionUncurryThis(''.slice); @@ -6912,13 +6336,13 @@ var doric = (function (exports) { var s = ''; while (--index >= 0) { if (s !== '' || index === 0 || data[index] !== 0) { - var t = $String(data[index]); + var t = String$2(data[index]); s = s === '' ? t : s + repeat('0', 7 - t.length) + t; } } return s; }; - var FORCED$9 = fails(function () { + var FORCED$f = fails(function () { return un$ToFixed(0.00008, 3) !== '0.000' || un$ToFixed(0.9, 0) !== '1' || un$ToFixed(1.255, 2) !== '1.25' || @@ -6930,7 +6354,7 @@ var doric = (function (exports) { // `Number.prototype.toFixed` method // https://tc39.es/ecma262/#sec-number.prototype.tofixed - _export({ target: 'Number', proto: true, forced: FORCED$9 }, { + _export({ target: 'Number', proto: true, forced: FORCED$f }, { toFixed: function toFixed(fractionDigits) { var number = thisNumberValue(this); var fractDigits = toIntegerOrInfinity(fractionDigits); @@ -6939,11 +6363,10 @@ var doric = (function (exports) { var result = '0'; var e, z, j, k; - // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation - if (fractDigits < 0 || fractDigits > 20) { throw $RangeError$7('Incorrect fraction digits'); } + if (fractDigits < 0 || fractDigits > 20) { throw RangeError$7('Incorrect fraction digits'); } // eslint-disable-next-line no-self-compare -- NaN check if (number != number) { return 'NaN'; } - if (number <= -1e21 || number >= 1e21) { return $String(number); } + if (number <= -1e21 || number >= 1e21) { return String$2(number); } if (number < 0) { sign = '-'; number = -number; @@ -6989,7 +6412,7 @@ var doric = (function (exports) { var un$ToPrecision = functionUncurryThis(1.0.toPrecision); - var FORCED$8 = fails(function () { + var FORCED$e = fails(function () { // IE7- return un$ToPrecision(1, undefined) !== '1'; }) || !fails(function () { @@ -6999,7 +6422,7 @@ var doric = (function (exports) { // `Number.prototype.toPrecision` method // https://tc39.es/ecma262/#sec-number.prototype.toprecision - _export({ target: 'Number', proto: true, forced: FORCED$8 }, { + _export({ target: 'Number', proto: true, forced: FORCED$e }, { toPrecision: function toPrecision(precision) { return precision === undefined ? un$ToPrecision(thisNumberValue(this)) @@ -7007,20 +6430,20 @@ var doric = (function (exports) { } }); - // eslint-disable-next-line es-x/no-object-assign -- safe + // eslint-disable-next-line es/no-object-assign -- safe var $assign = Object.assign; - // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing - var defineProperty$3 = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + var defineProperty$6 = Object.defineProperty; var concat$2 = functionUncurryThis([].concat); // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign var objectAssign = !$assign || fails(function () { // should have correct order of operations (Edge bug) - if (descriptors && $assign({ b: 1 }, $assign(defineProperty$3({}, 'a', { + if (descriptors && $assign({ b: 1 }, $assign(defineProperty$6({}, 'a', { enumerable: true, get: function () { - defineProperty$3(this, 'b', { + defineProperty$6(this, 'b', { value: 3, enumerable: false }); @@ -7029,12 +6452,12 @@ var doric = (function (exports) { // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; - // eslint-disable-next-line es-x/no-symbol -- safe + // eslint-disable-next-line es/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; }) ? function assign(target, source) { var arguments$1 = arguments; // eslint-disable-line no-unused-vars -- required for `.length` @@ -7045,7 +6468,7 @@ var doric = (function (exports) { var propertyIsEnumerable = objectPropertyIsEnumerable.f; while (argumentsLength > index) { var S = indexedObject(arguments$1[index++]); - var keys = getOwnPropertySymbols ? concat$2(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S); + var keys = getOwnPropertySymbols ? concat$2(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); var length = keys.length; var j = 0; var key; @@ -7058,16 +6481,11 @@ var doric = (function (exports) { // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - // eslint-disable-next-line es-x/no-object-assign -- required for testing - _export({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== objectAssign }, { + // eslint-disable-next-line es/no-object-assign -- required for testing + _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, { assign: objectAssign }); - // TODO: Remove from `core-js@4` - - - - // `Object.create` method // https://tc39.es/ecma262/#sec-object.create _export({ target: 'Object', stat: true, sham: !descriptors }, { @@ -7081,7 +6499,7 @@ var doric = (function (exports) { if (engineWebkitVersion && engineWebkitVersion < 535) { return; } var key = Math.random(); // In FF throws only define methods - // eslint-disable-next-line no-undef, no-useless-call, es-x/no-legacy-object-prototype-accessor-methods -- required for testing + // eslint-disable-next-line no-undef, no-useless-call -- required for testing __defineSetter__.call(null, key, function () { /* empty */ }); delete global_1[key]; }); @@ -7096,22 +6514,16 @@ var doric = (function (exports) { }); } - var defineProperties$1 = objectDefineProperties.f; - // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties - // eslint-disable-next-line es-x/no-object-defineproperties -- safe - _export({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties$1, sham: !descriptors }, { - defineProperties: defineProperties$1 + _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, { + defineProperties: objectDefineProperties }); - var defineProperty$2 = objectDefineProperty.f; - // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - _export({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty$2, sham: !descriptors }, { - defineProperty: defineProperty$2 + _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, { + defineProperty: objectDefineProperty.f }); // `Object.prototype.__defineSetter__` method @@ -7127,13 +6539,13 @@ var doric = (function (exports) { var $propertyIsEnumerable = objectPropertyIsEnumerable.f; var propertyIsEnumerable = functionUncurryThis($propertyIsEnumerable); - var push$h = functionUncurryThis([].push); + var push$e = functionUncurryThis([].push); // `Object.{ entries, values }` methods implementation - var createMethod$2 = function (TO_ENTRIES) { + var createMethod$3 = function (TO_ENTRIES) { return function (it) { var O = toIndexedObject(it); - var keys = objectKeys$1(O); + var keys = objectKeys(O); var length = keys.length; var i = 0; var result = []; @@ -7141,7 +6553,7 @@ var doric = (function (exports) { while (length > i) { key = keys[i++]; if (!descriptors || propertyIsEnumerable(O, key)) { - push$h(result, TO_ENTRIES ? [key, O[key]] : O[key]); + push$e(result, TO_ENTRIES ? [key, O[key]] : O[key]); } } return result; @@ -7151,10 +6563,10 @@ var doric = (function (exports) { var objectToArray = { // `Object.entries` method // https://tc39.es/ecma262/#sec-object.entries - entries: createMethod$2(true), + entries: createMethod$3(true), // `Object.values` method // https://tc39.es/ecma262/#sec-object.values - values: createMethod$2(false) + values: createMethod$3(false) }; var $entries = objectToArray.entries; @@ -7169,13 +6581,13 @@ var doric = (function (exports) { var onFreeze$2 = internalMetadata.onFreeze; - // eslint-disable-next-line es-x/no-object-freeze -- safe + // eslint-disable-next-line es/no-object-freeze -- safe var $freeze = Object.freeze; - var FAILS_ON_PRIMITIVES$8 = fails(function () { $freeze(1); }); + var FAILS_ON_PRIMITIVES$9 = fails(function () { $freeze(1); }); // `Object.freeze` method // https://tc39.es/ecma262/#sec-object.freeze - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$8, sham: !freezing }, { + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$9, sham: !freezing }, { freeze: function freeze(it) { return $freeze && isObject(it) ? $freeze(onFreeze$2(it)) : it; } @@ -7196,12 +6608,12 @@ var doric = (function (exports) { var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; - var FAILS_ON_PRIMITIVES$7 = fails(function () { nativeGetOwnPropertyDescriptor(1); }); - var FORCED$7 = !descriptors || FAILS_ON_PRIMITIVES$7; + var FAILS_ON_PRIMITIVES$8 = fails(function () { nativeGetOwnPropertyDescriptor(1); }); + var FORCED$d = !descriptors || FAILS_ON_PRIMITIVES$8; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - _export({ target: 'Object', stat: true, forced: FORCED$7, sham: !descriptors }, { + _export({ target: 'Object', stat: true, forced: FORCED$d, sham: !descriptors }, { getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); } @@ -7227,20 +6639,20 @@ var doric = (function (exports) { var getOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f; - // eslint-disable-next-line es-x/no-object-getownpropertynames -- required for testing - var FAILS_ON_PRIMITIVES$6 = fails(function () { return !Object.getOwnPropertyNames(1); }); + // eslint-disable-next-line es/no-object-getownpropertynames -- required for testing + var FAILS_ON_PRIMITIVES$7 = fails(function () { return !Object.getOwnPropertyNames(1); }); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$6 }, { + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$7 }, { getOwnPropertyNames: getOwnPropertyNames$1 }); - var FAILS_ON_PRIMITIVES$5 = fails(function () { objectGetPrototypeOf(1); }); + var FAILS_ON_PRIMITIVES$6 = fails(function () { objectGetPrototypeOf(1); }); // `Object.getPrototypeOf` method // https://tc39.es/ecma262/#sec-object.getprototypeof - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$5, sham: !correctPrototypeGetter }, { + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$6, sham: !correctPrototypeGetter }, { getPrototypeOf: function getPrototypeOf(it) { return objectGetPrototypeOf(toObject(it)); } @@ -7254,7 +6666,7 @@ var doric = (function (exports) { // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue - // eslint-disable-next-line es-x/no-object-is -- safe + // eslint-disable-next-line es/no-object-is -- safe var sameValue = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; @@ -7266,52 +6678,53 @@ var doric = (function (exports) { is: sameValue }); + // eslint-disable-next-line es/no-object-isextensible -- safe + var $isExtensible = Object.isExtensible; + var FAILS_ON_PRIMITIVES$5 = fails(function () { $isExtensible(1); }); + // `Object.isExtensible` method // https://tc39.es/ecma262/#sec-object.isextensible - // eslint-disable-next-line es-x/no-object-isextensible -- safe - _export({ target: 'Object', stat: true, forced: Object.isExtensible !== objectIsExtensible }, { - isExtensible: objectIsExtensible + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$5 }, { + isExtensible: function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + } }); - // eslint-disable-next-line es-x/no-object-isfrozen -- safe + // eslint-disable-next-line es/no-object-isfrozen -- safe var $isFrozen = Object.isFrozen; var FAILS_ON_PRIMITIVES$4 = fails(function () { $isFrozen(1); }); // `Object.isFrozen` method // https://tc39.es/ecma262/#sec-object.isfrozen - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 || arrayBufferNonExtensible }, { + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, { isFrozen: function isFrozen(it) { - if (!isObject(it)) { return true; } - if (arrayBufferNonExtensible && classofRaw(it) == 'ArrayBuffer') { return true; } - return $isFrozen ? $isFrozen(it) : false; + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; } }); - // eslint-disable-next-line es-x/no-object-issealed -- safe + // eslint-disable-next-line es/no-object-issealed -- safe var $isSealed = Object.isSealed; var FAILS_ON_PRIMITIVES$3 = fails(function () { $isSealed(1); }); // `Object.isSealed` method // https://tc39.es/ecma262/#sec-object.issealed - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3 || arrayBufferNonExtensible }, { + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3 }, { isSealed: function isSealed(it) { - if (!isObject(it)) { return true; } - if (arrayBufferNonExtensible && classofRaw(it) == 'ArrayBuffer') { return true; } - return $isSealed ? $isSealed(it) : false; + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; } }); - var FAILS_ON_PRIMITIVES$2 = fails(function () { objectKeys$1(1); }); + var FAILS_ON_PRIMITIVES$2 = fails(function () { objectKeys(1); }); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$2 }, { keys: function keys(it) { - return objectKeys$1(toObject(it)); + return objectKeys(toObject(it)); } }); - var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupGetter__` method // https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ @@ -7322,13 +6735,13 @@ var doric = (function (exports) { var key = toPropertyKey(P); var desc; do { - if (desc = getOwnPropertyDescriptor$7(O, key)) { return desc.get; } + if (desc = getOwnPropertyDescriptor$5(O, key)) { return desc.get; } } while (O = objectGetPrototypeOf(O)); } }); } - var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupSetter__` method // https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ @@ -7339,7 +6752,7 @@ var doric = (function (exports) { var key = toPropertyKey(P); var desc; do { - if (desc = getOwnPropertyDescriptor$6(O, key)) { return desc.set; } + if (desc = getOwnPropertyDescriptor$4(O, key)) { return desc.set; } } while (O = objectGetPrototypeOf(O)); } }); @@ -7349,7 +6762,7 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-object-preventextensions -- safe + // eslint-disable-next-line es/no-object-preventextensions -- safe var $preventExtensions = Object.preventExtensions; var FAILS_ON_PRIMITIVES$1 = fails(function () { $preventExtensions(1); }); @@ -7365,7 +6778,7 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-object-seal -- safe + // eslint-disable-next-line es/no-object-seal -- safe var $seal = Object.seal; var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); @@ -7392,7 +6805,7 @@ var doric = (function (exports) { // `Object.prototype.toString` method // https://tc39.es/ecma262/#sec-object.prototype.tostring if (!toStringTagSupport) { - defineBuiltIn(Object.prototype, 'toString', objectToString, { unsafe: true }); + redefine(Object.prototype, 'toString', objectToString, { unsafe: true }); } var $values = objectToArray.values; @@ -7417,12 +6830,7 @@ var doric = (function (exports) { parseInt: numberParseInt }); - var $TypeError$k = TypeError; - - var validateArgumentsLength = function (passed, required) { - if (passed < required) { throw $TypeError$k('Not enough arguments'); } - return passed; - }; + var nativePromiseConstructor = global_1.Promise; var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(engineUserAgent); @@ -7434,7 +6842,7 @@ var doric = (function (exports) { var MessageChannel = global_1.MessageChannel; var String$1 = global_1.String; var counter = 0; - var queue$1 = {}; + var queue = {}; var ONREADYSTATECHANGE = 'onreadystatechange'; var location, defer, channel, port; @@ -7444,9 +6852,9 @@ var doric = (function (exports) { } catch (error) { /* empty */ } var run = function (id) { - if (hasOwnProperty_1(queue$1, id)) { - var fn = queue$1[id]; - delete queue$1[id]; + if (hasOwnProperty_1(queue, id)) { + var fn = queue[id]; + delete queue[id]; fn(); } }; @@ -7468,18 +6876,16 @@ var doric = (function (exports) { // Node.js 0.9+ & IE10+ has setImmediate, otherwise: if (!set$1 || !clear) { - set$1 = function setImmediate(handler) { - validateArgumentsLength(arguments.length, 1); - var fn = isCallable(handler) ? handler : Function$2(handler); + set$1 = function setImmediate(fn) { var args = arraySlice$1(arguments, 1); - queue$1[++counter] = function () { - functionApply(fn, undefined, args); + queue[++counter] = function () { + functionApply(isCallable(fn) ? fn : Function$2(fn), undefined, args); }; defer(counter); return counter; }; clear = function clearImmediate(id) { - delete queue$1[id]; + delete queue[id]; }; // Node.js 0.8- if (engineIsNode) { @@ -7534,7 +6940,7 @@ var doric = (function (exports) { var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(engineUserAgent); - var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; var macrotask = task$1.set; @@ -7546,7 +6952,7 @@ var doric = (function (exports) { var process$3 = global_1.process; var Promise$4 = global_1.Promise; // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` - var queueMicrotaskDescriptor = getOwnPropertyDescriptor$5(global_1, 'queueMicrotask'); + var queueMicrotaskDescriptor = getOwnPropertyDescriptor$3(global_1, 'queueMicrotask'); var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; var flush, head, last, notify$1, toggle, node, promise, then; @@ -7597,7 +7003,7 @@ var doric = (function (exports) { // for other environments - macrotask based on: // - setImmediate // - MessageChannel - // - window.postMessage + // - window.postMessag // - onreadystatechange // - setTimeout } else { @@ -7618,84 +7024,6 @@ var doric = (function (exports) { } last = task; }; - var hostReportErrors = function (a, b) { - var console = global_1.console; - if (console && console.error) { - arguments.length == 1 ? console.error(a) : console.error(a, b); - } - }; - - var perform = function (exec) { - try { - return { error: false, value: exec() }; - } catch (error) { - return { error: true, value: error }; - } - }; - - var Queue = function () { - this.head = null; - this.tail = null; - }; - - Queue.prototype = { - add: function (item) { - var entry = { item: item, next: null }; - if (this.head) { this.tail.next = entry; } - else { this.head = entry; } - this.tail = entry; - }, - get: function () { - var entry = this.head; - if (entry) { - this.head = entry.next; - if (this.tail === entry) { this.tail = null; } - return entry.item; - } - } - }; - - var queue = Queue; - - var promiseNativeConstructor = global_1.Promise; - - var engineIsBrowser = typeof window == 'object' && typeof Deno != 'object'; - - promiseNativeConstructor && promiseNativeConstructor.prototype; - var SPECIES$1 = wellKnownSymbol('species'); - var SUBCLASSING = false; - var NATIVE_PROMISE_REJECTION_EVENT$1 = isCallable(global_1.PromiseRejectionEvent); - - var FORCED_PROMISE_CONSTRUCTOR$5 = isForced_1('Promise', function () { - var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(promiseNativeConstructor); - var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(promiseNativeConstructor); - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (!GLOBAL_CORE_JS_PROMISE && engineV8Version === 66) { return true; } - // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if (engineV8Version >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { return false; } - // Detect correctness of subclassing with @@species support - var promise = new promiseNativeConstructor(function (resolve) { resolve(1); }); - var FakePromise = function (exec) { - exec(function () { /* empty */ }, function () { /* empty */ }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES$1] = FakePromise; - SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; - if (!SUBCLASSING) { return true; } - // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return !GLOBAL_CORE_JS_PROMISE && engineIsBrowser && !NATIVE_PROMISE_REJECTION_EVENT$1; - }); - - var promiseConstructorDetection = { - CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR$5, - REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT$1, - SUBCLASSING: SUBCLASSING - }; - var PromiseCapability = function (C) { var resolve, reject; this.promise = new C(function ($$resolve, $$reject) { @@ -7717,6 +7045,32 @@ var doric = (function (exports) { f: f }; + var promiseResolve = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) { return x; } + var promiseCapability = newPromiseCapability$1.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; + }; + + var hostReportErrors = function (a, b) { + var console = global_1.console; + if (console && console.error) { + arguments.length == 1 ? console.error(a) : console.error(a, b); + } + }; + + var perform = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } + }; + + var engineIsBrowser = typeof window == 'object'; + var task = task$1.set; @@ -7727,22 +7081,26 @@ var doric = (function (exports) { + + + + var SPECIES$1 = wellKnownSymbol('species'); var PROMISE = 'Promise'; - var FORCED_PROMISE_CONSTRUCTOR$4 = promiseConstructorDetection.CONSTRUCTOR; - var NATIVE_PROMISE_REJECTION_EVENT = promiseConstructorDetection.REJECTION_EVENT; - var NATIVE_PROMISE_SUBCLASSING = promiseConstructorDetection.SUBCLASSING; + + var getInternalState$d = internalState.get; + var setInternalState$d = internalState.set; var getInternalPromiseState = internalState.getterFor(PROMISE); - var setInternalState$e = internalState.set; - var NativePromisePrototype$2 = promiseNativeConstructor && promiseNativeConstructor.prototype; - var PromiseConstructor = promiseNativeConstructor; - var PromisePrototype = NativePromisePrototype$2; - var TypeError$4 = global_1.TypeError; + var NativePromisePrototype = nativePromiseConstructor && nativePromiseConstructor.prototype; + var PromiseConstructor = nativePromiseConstructor; + var PromisePrototype = NativePromisePrototype; + var TypeError$l = global_1.TypeError; var document$1 = global_1.document; var process$2 = global_1.process; var newPromiseCapability = newPromiseCapability$1.f; var newGenericPromiseCapability = newPromiseCapability; var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global_1.dispatchEvent); + var NATIVE_REJECTION_EVENT = isCallable(global_1.PromiseRejectionEvent); var UNHANDLED_REJECTION = 'unhandledrejection'; var REJECTION_HANDLED = 'rejectionhandled'; var PENDING = 0; @@ -7750,59 +7108,87 @@ var doric = (function (exports) { var REJECTED = 2; var HANDLED = 1; var UNHANDLED = 2; + var SUBCLASSING = false; var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + var FORCED$c = isForced_1(PROMISE, function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && engineV8Version === 66) { return true; } + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (engineV8Version >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { return false; } + // Detect correctness of subclassing with @@species support + var promise = new PromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES$1] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) { return true; } + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return !GLOBAL_CORE_JS_PROMISE && engineIsBrowser && !NATIVE_REJECTION_EVENT; + }); + + var INCORRECT_ITERATION = FORCED$c || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); + }); + // helpers var isThenable = function (it) { var then; return isObject(it) && isCallable(then = it.then) ? then : false; }; - var callReaction = function (reaction, state) { - var value = state.value; - var ok = state.state == FULFILLED; - 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(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$4('Promise-chain cycle')); - } else if (then = isThenable(result)) { - functionCall(then, result, resolve, reject); - } else { resolve(result); } - } else { reject(value); } - } catch (error) { - if (domain && !exited) { domain.exit(); } - reject(error); - } - }; - var notify = function (state, isReject) { if (state.notified) { return; } state.notified = true; + var chain = state.reactions; microtask(function () { - var reactions = state.reactions; - var reaction; - while (reaction = reactions.get()) { - callReaction(reaction, state); + 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(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$l('Promise-chain cycle')); + } else if (then = isThenable(result)) { + functionCall(then, 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(state); } }); @@ -7817,7 +7203,7 @@ var doric = (function (exports) { event.initEvent(name, false, true); global_1.dispatchEvent(event); } else { event = { promise: promise, reason: reason }; } - if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global_1['on' + name])) { handler(event); } + if (!NATIVE_REJECTION_EVENT && (handler = global_1['on' + name])) { handler(event); } else if (name === UNHANDLED_REJECTION) { hostReportErrors('Unhandled promise rejection', reason); } }; @@ -7873,7 +7259,7 @@ var doric = (function (exports) { state.done = true; if (unwrap) { state = unwrap; } try { - if (state.facade === value) { throw TypeError$4("Promise can't be resolved itself"); } + if (state.facade === value) { throw TypeError$l("Promise can't be resolved itself"); } var then = isThenable(value); if (then) { microtask(function () { @@ -7898,111 +7284,130 @@ var doric = (function (exports) { }; // constructor polyfill - if (FORCED_PROMISE_CONSTRUCTOR$4) { + if (FORCED$c) { // 25.4.3.1 Promise(executor) PromiseConstructor = function Promise(executor) { anInstance(this, PromisePrototype); aCallable(executor); functionCall(Internal, this); - var state = getInternalPromiseState(this); + var state = getInternalState$d(this); try { executor(bind(internalResolve, state), bind(internalReject, state)); } catch (error) { internalReject(state, error); } }; - PromisePrototype = PromiseConstructor.prototype; - // eslint-disable-next-line no-unused-vars -- required for `.length` Internal = function Promise(executor) { - setInternalState$e(this, { + setInternalState$d(this, { type: PROMISE, done: false, notified: false, parent: false, - reactions: new queue(), + reactions: [], rejection: false, state: PENDING, value: undefined }); }; - - // `Promise.prototype.then` method - // https://tc39.es/ecma262/#sec-promise.prototype.then - Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - state.parent = true; - reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; - reaction.fail = isCallable(onRejected) && onRejected; - reaction.domain = engineIsNode ? process$2.domain : undefined; - if (state.state == PENDING) { state.reactions.add(reaction); } - else { microtask(function () { - callReaction(reaction, state); - }); } - return reaction.promise; + Internal.prototype = redefineAll(PromisePrototype, { + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reactions = state.reactions; + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = engineIsNode ? process$2.domain : undefined; + state.parent = true; + reactions[reactions.length] = reaction; + if (state.state != PENDING) { notify(state, false); } + return reaction.promise; + }, + // `Promise.prototype.catch` method + // https://tc39.es/ecma262/#sec-promise.prototype.catch + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } }); - OwnPromiseCapability = function () { var promise = new Internal(); - var state = getInternalPromiseState(promise); + var state = getInternalState$d(promise); this.promise = promise; this.resolve = bind(internalResolve, state); this.reject = bind(internalReject, state); }; - newPromiseCapability$1.f = newPromiseCapability = function (C) { return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); }; - if (isCallable(promiseNativeConstructor) && NativePromisePrototype$2 !== Object.prototype) { - nativeThen = NativePromisePrototype$2.then; + if (isCallable(nativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; - if (!NATIVE_PROMISE_SUBCLASSING) { + if (!SUBCLASSING) { // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs - defineBuiltIn(NativePromisePrototype$2, 'then', function then(onFulfilled, onRejected) { + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { var that = this; return new PromiseConstructor(function (resolve, reject) { functionCall(nativeThen, that, resolve, reject); }).then(onFulfilled, onRejected); // https://github.com/zloirock/core-js/issues/640 }, { unsafe: true }); + + // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` + redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); } // make `.constructor === Promise` work for native promise-based APIs try { - delete NativePromisePrototype$2.constructor; + delete NativePromisePrototype.constructor; } catch (error) { /* empty */ } // make `instanceof Promise` work for native promise-based APIs if (objectSetPrototypeOf) { - objectSetPrototypeOf(NativePromisePrototype$2, PromisePrototype); + objectSetPrototypeOf(NativePromisePrototype, PromisePrototype); } } } - _export({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR$4 }, { + _export({ global: true, wrap: true, forced: FORCED$c }, { Promise: PromiseConstructor }); setToStringTag(PromiseConstructor, PROMISE, false); setSpecies(PROMISE); - var FORCED_PROMISE_CONSTRUCTOR$3 = promiseConstructorDetection.CONSTRUCTOR; + PromiseWrapper = getBuiltIn(PROMISE); - var promiseStaticsIncorrectIteration = FORCED_PROMISE_CONSTRUCTOR$3 || !checkCorrectnessOfIteration(function (iterable) { - promiseNativeConstructor.all(iterable).then(undefined, function () { /* empty */ }); + // statics + _export({ target: PROMISE, stat: true, forced: FORCED$c }, { + // `Promise.reject` method + // https://tc39.es/ecma262/#sec-promise.reject + reject: function reject(r) { + var capability = newPromiseCapability(this); + functionCall(capability.reject, undefined, r); + return capability.promise; + } }); - // `Promise.all` method - // https://tc39.es/ecma262/#sec-promise.all - _export({ target: 'Promise', stat: true, forced: promiseStaticsIncorrectIteration }, { + _export({ target: PROMISE, stat: true, forced: FORCED$c }, { + // `Promise.resolve` method + // https://tc39.es/ecma262/#sec-promise.resolve + resolve: function resolve(x) { + return promiseResolve(this, x); + } + }); + + _export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { + // `Promise.all` method + // https://tc39.es/ecma262/#sec-promise.all all: function all(iterable) { var C = this; - var capability = newPromiseCapability$1.f(C); + var capability = newPromiseCapability(C); var resolve = capability.resolve; var reject = capability.reject; var result = perform(function () { @@ -8025,39 +7430,12 @@ var doric = (function (exports) { }); if (result.error) { reject(result.value); } return capability.promise; - } - }); - - var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR; - - - - - - var NativePromisePrototype$1 = promiseNativeConstructor && promiseNativeConstructor.prototype; - - // `Promise.prototype.catch` method - // https://tc39.es/ecma262/#sec-promise.prototype.catch - _export({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR$2, real: true }, { - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - - // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` - if (isCallable(promiseNativeConstructor)) { - var method$1 = getBuiltIn('Promise').prototype['catch']; - if (NativePromisePrototype$1['catch'] !== method$1) { - defineBuiltIn(NativePromisePrototype$1, 'catch', method$1, { unsafe: true }); - } - } - - // `Promise.race` method - // https://tc39.es/ecma262/#sec-promise.race - _export({ target: 'Promise', stat: true, forced: promiseStaticsIncorrectIteration }, { + }, + // `Promise.race` method + // https://tc39.es/ecma262/#sec-promise.race race: function race(iterable) { var C = this; - var capability = newPromiseCapability$1.f(C); + var capability = newPromiseCapability(C); var reject = capability.reject; var result = perform(function () { var $promiseResolve = aCallable(C.resolve); @@ -8070,40 +7448,6 @@ var doric = (function (exports) { } }); - var FORCED_PROMISE_CONSTRUCTOR$1 = promiseConstructorDetection.CONSTRUCTOR; - - // `Promise.reject` method - // https://tc39.es/ecma262/#sec-promise.reject - _export({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR$1 }, { - reject: function reject(r) { - var capability = newPromiseCapability$1.f(this); - functionCall(capability.reject, undefined, r); - return capability.promise; - } - }); - - var promiseResolve = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) { return x; } - var promiseCapability = newPromiseCapability$1.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; - }; - - var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR; - - - getBuiltIn('Promise'); - - // `Promise.resolve` method - // https://tc39.es/ecma262/#sec-promise.resolve - _export({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { - resolve: function resolve(x) { - return promiseResolve(this, x); - } - }); - // `Promise.allSettled` method // https://tc39.es/ecma262/#sec-promise.allsettled _export({ target: 'Promise', stat: true }, { @@ -8179,12 +7523,9 @@ var doric = (function (exports) { } }); - var NativePromisePrototype = promiseNativeConstructor && promiseNativeConstructor.prototype; - // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 - var NON_GENERIC = !!promiseNativeConstructor && fails(function () { - // eslint-disable-next-line unicorn/no-thenable -- required for testing - NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); + var NON_GENERIC = !!nativePromiseConstructor && fails(function () { + nativePromiseConstructor.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); }); // `Promise.prototype.finally` method @@ -8205,16 +7546,16 @@ var doric = (function (exports) { }); // makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` - if (isCallable(promiseNativeConstructor)) { + if (isCallable(nativePromiseConstructor)) { var method = getBuiltIn('Promise').prototype['finally']; - if (NativePromisePrototype['finally'] !== method) { - defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + if (nativePromiseConstructor.prototype['finally'] !== method) { + redefine(nativePromiseConstructor.prototype, 'finally', method, { unsafe: true }); } } // MS Edge argumentsList argument is optional var OPTIONAL_ARGUMENTS_LIST = !fails(function () { - // eslint-disable-next-line es-x/no-reflect -- required for testing + // eslint-disable-next-line es/no-reflect -- required for testing Reflect.apply(function () { /* empty */ }); }); @@ -8228,7 +7569,7 @@ var doric = (function (exports) { var nativeConstruct = getBuiltIn('Reflect', 'construct'); var ObjectPrototype = Object.prototype; - var push$g = [].push; + var push$d = [].push; // `Reflect.construct` method // https://tc39.es/ecma262/#sec-reflect.construct @@ -8243,9 +7584,9 @@ var doric = (function (exports) { nativeConstruct(function () { /* empty */ }); }); - var FORCED$6 = NEW_TARGET_BUG || ARGS_BUG; + var FORCED$b = NEW_TARGET_BUG || ARGS_BUG; - _export({ target: 'Reflect', stat: true, forced: FORCED$6, sham: FORCED$6 }, { + _export({ target: 'Reflect', stat: true, forced: FORCED$b, sham: FORCED$b }, { construct: function construct(Target, args /* , newTarget */) { aConstructor(Target); anObject(args); @@ -8262,7 +7603,7 @@ var doric = (function (exports) { } // w/o altered newTarget, lot of arguments case var $args = [null]; - functionApply(push$g, $args, args); + functionApply(push$d, $args, args); return new (functionApply(functionBind, Target, $args))(); } // with altered newTarget, not support built-in constructors @@ -8275,7 +7616,7 @@ var doric = (function (exports) { // MS Edge has broken Reflect.defineProperty - throwing instead of returning false var ERROR_INSTEAD_OF_FALSE = fails(function () { - // eslint-disable-next-line es-x/no-reflect -- required for testing + // eslint-disable-next-line es/no-reflect -- required for testing Reflect.defineProperty(objectDefineProperty.f({}, 1, { value: 1 }), 1, { value: 2 }); }); @@ -8295,13 +7636,13 @@ var doric = (function (exports) { } }); - var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; // `Reflect.deleteProperty` method // https://tc39.es/ecma262/#sec-reflect.deleteproperty _export({ target: 'Reflect', stat: true }, { deleteProperty: function deleteProperty(target, propertyKey) { - var descriptor = getOwnPropertyDescriptor$4(anObject(target), propertyKey); + var descriptor = getOwnPropertyDescriptor$2(anObject(target), propertyKey); return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; } }); @@ -8351,12 +7692,15 @@ var doric = (function (exports) { } }); + // eslint-disable-next-line es/no-object-isextensible -- safe + var objectIsExtensible = Object.isExtensible; + // `Reflect.isExtensible` method // https://tc39.es/ecma262/#sec-reflect.isextensible _export({ target: 'Reflect', stat: true }, { isExtensible: function isExtensible(target) { anObject(target); - return objectIsExtensible(target); + return objectIsExtensible ? objectIsExtensible(target) : true; } }); @@ -8412,7 +7756,7 @@ var doric = (function (exports) { var MS_EDGE_BUG = fails(function () { var Constructor = function () { /* empty */ }; var object = objectDefineProperty.f(new Constructor(), 'a', { configurable: true }); - // eslint-disable-next-line es-x/no-reflect -- required for testing + // eslint-disable-next-line es/no-reflect -- required for testing return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; }); @@ -8455,41 +7799,25 @@ var doric = (function (exports) { var regexpFlags = function () { var that = anObject(this); var result = ''; - if (that.hasIndices) { result += 'd'; } if (that.global) { result += 'g'; } if (that.ignoreCase) { result += 'i'; } if (that.multiline) { result += 'm'; } if (that.dotAll) { result += 's'; } if (that.unicode) { result += 'u'; } - if (that.unicodeSets) { result += 'v'; } if (that.sticky) { result += 'y'; } return result; }; - var RegExpPrototype$7 = RegExp.prototype; - - var regexpGetFlags = function (R) { - var flags = R.flags; - return flags === undefined && !('flags' in RegExpPrototype$7) && !hasOwnProperty_1(R, 'flags') && objectIsPrototypeOf(RegExpPrototype$7, R) - ? functionCall(regexpFlags, R) : flags; - }; - // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp$2 = global_1.RegExp; - var UNSUPPORTED_Y$3 = fails(function () { + var UNSUPPORTED_Y$4 = fails(function () { var re = $RegExp$2('a', 'y'); re.lastIndex = 2; return re.exec('abcd') != null; }); - // UC Browser bug - // https://github.com/zloirock/core-js/issues/1008 - var MISSED_STICKY$2 = UNSUPPORTED_Y$3 || fails(function () { - return !$RegExp$2('a', 'y').sticky; - }); - - var BROKEN_CARET = UNSUPPORTED_Y$3 || fails(function () { + var BROKEN_CARET = fails(function () { // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp$2('^r', 'gy'); re.lastIndex = 2; @@ -8497,9 +7825,8 @@ var doric = (function (exports) { }); var regexpStickyHelpers = { - BROKEN_CARET: BROKEN_CARET, - MISSED_STICKY: MISSED_STICKY$2, - UNSUPPORTED_Y: UNSUPPORTED_Y$3 + UNSUPPORTED_Y: UNSUPPORTED_Y$4, + BROKEN_CARET: BROKEN_CARET }; // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError @@ -8519,6 +7846,7 @@ var doric = (function (exports) { 'b'.replace(re, '$c') !== 'bc'; }); + var defineProperty$5 = objectDefineProperty.f; var getOwnPropertyNames = objectGetOwnPropertyNames.f; @@ -8528,8 +7856,7 @@ var doric = (function (exports) { - - var enforceInternalState$1 = internalState.enforce; + var enforceInternalState = internalState.enforce; @@ -8537,11 +7864,12 @@ var doric = (function (exports) { var MATCH$1 = wellKnownSymbol('match'); var NativeRegExp = global_1.RegExp; - var RegExpPrototype$6 = NativeRegExp.prototype; - var SyntaxError$2 = global_1.SyntaxError; - var exec$7 = functionUncurryThis(RegExpPrototype$6.exec); - var charAt$e = functionUncurryThis(''.charAt); - var replace$7 = functionUncurryThis(''.replace); + var RegExpPrototype$7 = NativeRegExp.prototype; + var SyntaxError$1 = global_1.SyntaxError; + var getFlags$3 = functionUncurryThis(regexpFlags); + var exec$5 = functionUncurryThis(RegExpPrototype$7.exec); + var charAt$c = functionUncurryThis(''.charAt); + var replace$6 = functionUncurryThis(''.replace); var stringIndexOf$4 = functionUncurryThis(''.indexOf); var stringSlice$c = functionUncurryThis(''.slice); // TODO: Use only propper RegExpIdentifierName @@ -8552,11 +7880,10 @@ var doric = (function (exports) { // "new" should create a new object, old webkit bug var CORRECT_NEW = new NativeRegExp(re1) !== re1; - var MISSED_STICKY$1 = regexpStickyHelpers.MISSED_STICKY; - var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y; + var UNSUPPORTED_Y$3 = regexpStickyHelpers.UNSUPPORTED_Y; var BASE_FORCED = descriptors && - (!CORRECT_NEW || MISSED_STICKY$1 || regexpUnsupportedDotAll || regexpUnsupportedNcg || fails(function () { + (!CORRECT_NEW || UNSUPPORTED_Y$3 || regexpUnsupportedDotAll || regexpUnsupportedNcg || fails(function () { re2[MATCH$1] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; @@ -8569,9 +7896,9 @@ var doric = (function (exports) { var brackets = false; var chr; for (; index <= length; index++) { - chr = charAt$e(string, index); + chr = charAt$c(string, index); if (chr === '\\') { - result += chr + charAt$e(string, ++index); + result += chr + charAt$c(string, ++index); continue; } if (!brackets && chr === '.') { @@ -8598,9 +7925,9 @@ var doric = (function (exports) { var groupname = ''; var chr; for (; index <= length; index++) { - chr = charAt$e(string, index); + chr = charAt$c(string, index); if (chr === '\\') { - chr = chr + charAt$e(string, ++index); + chr = chr + charAt$c(string, ++index); } else if (chr === ']') { brackets = false; } else if (!brackets) { switch (true) { @@ -8608,7 +7935,7 @@ var doric = (function (exports) { brackets = true; break; case chr === '(': - if (exec$7(IS_NCG, stringSlice$c(string, index + 1))) { + if (exec$5(IS_NCG, stringSlice$c(string, index + 1))) { index += 2; ncg = true; } @@ -8617,7 +7944,7 @@ var doric = (function (exports) { continue; case chr === '>' && ncg: if (groupname === '' || hasOwnProperty_1(names, groupname)) { - throw new SyntaxError$2('Invalid capture group name'); + throw new SyntaxError$1('Invalid capture group name'); } names[groupname] = true; named[named.length] = [groupname, groupid]; @@ -8634,7 +7961,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-regexp-constructor if (isForced_1('RegExp', BASE_FORCED)) { var RegExpWrapper = function RegExp(pattern, flags) { - var thisIsRegExp = objectIsPrototypeOf(RegExpPrototype$6, this); + var thisIsRegExp = objectIsPrototypeOf(RegExpPrototype$7, this); var patternIsRegExp = isRegexp(pattern); var flagsAreUndefined = flags === undefined; var groups = []; @@ -8645,9 +7972,9 @@ var doric = (function (exports) { return pattern; } - if (patternIsRegExp || objectIsPrototypeOf(RegExpPrototype$6, pattern)) { + if (patternIsRegExp || objectIsPrototypeOf(RegExpPrototype$7, pattern)) { pattern = pattern.source; - if (flagsAreUndefined) { flags = regexpGetFlags(rawPattern); } + if (flagsAreUndefined) { flags = 'flags' in rawPattern ? rawPattern.flags : getFlags$3(rawPattern); } } pattern = pattern === undefined ? '' : toString_1(pattern); @@ -8656,14 +7983,14 @@ var doric = (function (exports) { if (regexpUnsupportedDotAll && 'dotAll' in re1) { dotAll = !!flags && stringIndexOf$4(flags, 's') > -1; - if (dotAll) { flags = replace$7(flags, /s/g, ''); } + if (dotAll) { flags = replace$6(flags, /s/g, ''); } } rawFlags = flags; - if (MISSED_STICKY$1 && 'sticky' in re1) { + if (UNSUPPORTED_Y$3 && 'sticky' in re1) { sticky = !!flags && stringIndexOf$4(flags, 'y') > -1; - if (sticky && UNSUPPORTED_Y$2) { flags = replace$7(flags, /y/g, ''); } + if (sticky) { flags = replace$6(flags, /y/g, ''); } } if (regexpUnsupportedNcg) { @@ -8672,10 +7999,10 @@ var doric = (function (exports) { groups = handled[1]; } - result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype$6, RegExpWrapper); + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype$7, RegExpWrapper); if (dotAll || sticky || groups.length) { - state = enforceInternalState$1(result); + state = enforceInternalState(result); if (dotAll) { state.dotAll = true; state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); @@ -8692,42 +8019,45 @@ var doric = (function (exports) { return result; }; - for (var keys = getOwnPropertyNames(NativeRegExp), index$1 = 0; keys.length > index$1;) { - proxyAccessor(RegExpWrapper, NativeRegExp, keys[index$1++]); + var proxy = function (key) { + key in RegExpWrapper || defineProperty$5(RegExpWrapper, key, { + configurable: true, + get: function () { return NativeRegExp[key]; }, + set: function (it) { NativeRegExp[key] = it; } + }); + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxy(keys[index++]); } - RegExpPrototype$6.constructor = RegExpWrapper; - RegExpWrapper.prototype = RegExpPrototype$6; - defineBuiltIn(global_1, 'RegExp', RegExpWrapper, { constructor: true }); + RegExpPrototype$7.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype$7; + redefine(global_1, 'RegExp', RegExpWrapper); } // https://tc39.es/ecma262/#sec-get-regexp-@@species setSpecies('RegExp'); - var defineBuiltInAccessor = function (target, name, descriptor) { - if (descriptor.get) { makeBuiltIn_1(descriptor.get, name, { getter: true }); } - if (descriptor.set) { makeBuiltIn_1(descriptor.set, name, { setter: true }); } - return objectDefineProperty.f(target, name, descriptor); - }; - + var defineProperty$4 = objectDefineProperty.f; var getInternalState$c = internalState.get; - var RegExpPrototype$5 = RegExp.prototype; - var $TypeError$j = TypeError; + var RegExpPrototype$6 = RegExp.prototype; + var TypeError$k = global_1.TypeError; // `RegExp.prototype.dotAll` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall if (descriptors && regexpUnsupportedDotAll) { - defineBuiltInAccessor(RegExpPrototype$5, 'dotAll', { + defineProperty$4(RegExpPrototype$6, 'dotAll', { configurable: true, - get: function dotAll() { - if (this === RegExpPrototype$5) { return undefined; } + get: function () { + if (this === RegExpPrototype$6) { return undefined; } // We can't use InternalStateModule.getterFor because // we don't add metadata for regexps created by a literal. if (classofRaw(this) === 'RegExp') { return !!getInternalState$c(this).dotAll; } - throw $TypeError$j('Incompatible receiver, RegExp required'); + throw TypeError$k('Incompatible receiver, RegExp required'); } }); } @@ -8748,9 +8078,9 @@ var doric = (function (exports) { var nativeReplace = shared('native-string-replace', String.prototype.replace); var nativeExec = RegExp.prototype.exec; var patchedExec = nativeExec; - var charAt$d = functionUncurryThis(''.charAt); + var charAt$b = functionUncurryThis(''.charAt); var indexOf$1 = functionUncurryThis(''.indexOf); - var replace$6 = functionUncurryThis(''.replace); + var replace$5 = functionUncurryThis(''.replace); var stringSlice$b = functionUncurryThis(''.slice); var UPDATES_LAST_INDEX_WRONG = (function () { @@ -8761,14 +8091,15 @@ var doric = (function (exports) { return re1.lastIndex !== 0 || re2.lastIndex !== 0; })(); - var UNSUPPORTED_Y$1 = regexpStickyHelpers.BROKEN_CARET; + var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch. var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1 || regexpUnsupportedDotAll || regexpUnsupportedNcg; + var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2 || regexpUnsupportedDotAll || regexpUnsupportedNcg; if (PATCH) { + // eslint-disable-next-line max-statements -- TODO patchedExec = function exec(string) { var re = this; var state = getInternalState$b(re); @@ -8784,21 +8115,21 @@ var doric = (function (exports) { } var groups = state.groups; - var sticky = UNSUPPORTED_Y$1 && re.sticky; + var sticky = UNSUPPORTED_Y$2 && re.sticky; var flags = functionCall(regexpFlags, re); var source = re.source; var charsAdded = 0; var strCopy = str; if (sticky) { - flags = replace$6(flags, 'y', ''); + flags = replace$5(flags, 'y', ''); if (indexOf$1(flags, 'g') === -1) { flags += 'g'; } strCopy = stringSlice$b(str, re.lastIndex); // Support anchored sticky behavior. - if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$d(str, re.lastIndex - 1) !== '\n')) { + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$b(str, re.lastIndex - 1) !== '\n')) { source = '(?: ' + source + ')'; strCopy = ' ' + strCopy; charsAdded++; @@ -8857,77 +8188,41 @@ var doric = (function (exports) { exec: regexpExec }); - // babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError - var RegExp$2 = global_1.RegExp; - var RegExpPrototype$4 = RegExp$2.prototype; + var RegExpPrototype$5 = RegExp.prototype; - var FORCED$5 = descriptors && fails(function () { - var INDICES_SUPPORT = true; - try { - RegExp$2('.', 'd'); - } catch (error) { - INDICES_SUPPORT = false; - } - - var O = {}; - // modern V8 bug - var calls = ''; - var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; - - var addGetter = function (key, chr) { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - Object.defineProperty(O, key, { get: function () { - calls += chr; - return true; - } }); - }; - - var pairs = { - dotAll: 's', - global: 'g', - ignoreCase: 'i', - multiline: 'm', - sticky: 'y' - }; - - if (INDICES_SUPPORT) { pairs.hasIndices = 'd'; } - - for (var key in pairs) { addGetter(key, pairs[key]); } - - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var result = Object.getOwnPropertyDescriptor(RegExpPrototype$4, 'flags').get.call(O); - - return result !== expected || calls !== expected; + var FORCED$a = descriptors && fails(function () { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return Object.getOwnPropertyDescriptor(RegExpPrototype$5, 'flags').get.call({ dotAll: true, sticky: true }) !== 'sy'; }); // `RegExp.prototype.flags` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags - if (FORCED$5) { defineBuiltInAccessor(RegExpPrototype$4, 'flags', { + if (FORCED$a) { objectDefineProperty.f(RegExpPrototype$5, 'flags', { configurable: true, get: regexpFlags }); } - var MISSED_STICKY = regexpStickyHelpers.MISSED_STICKY; - + var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y; + var defineProperty$3 = objectDefineProperty.f; var getInternalState$a = internalState.get; - var RegExpPrototype$3 = RegExp.prototype; - var $TypeError$i = TypeError; + var RegExpPrototype$4 = RegExp.prototype; + var TypeError$j = global_1.TypeError; // `RegExp.prototype.sticky` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky - if (descriptors && MISSED_STICKY) { - defineBuiltInAccessor(RegExpPrototype$3, 'sticky', { + if (descriptors && UNSUPPORTED_Y$1) { + defineProperty$3(RegExpPrototype$4, 'sticky', { configurable: true, - get: function sticky() { - if (this === RegExpPrototype$3) { return undefined; } + get: function () { + if (this === RegExpPrototype$4) { return undefined; } // We can't use InternalStateModule.getterFor because // we don't add metadata for regexps created by a literal. if (classofRaw(this) === 'RegExp') { return !!getInternalState$a(this).sticky; } - throw $TypeError$i('Incompatible receiver, RegExp required'); + throw TypeError$j('Incompatible receiver, RegExp required'); } }); } @@ -8940,6 +8235,7 @@ var doric = (function (exports) { + var DELEGATES_TO_EXEC = function () { var execCalled = false; var re = /[ac]/; @@ -8950,7 +8246,7 @@ var doric = (function (exports) { return re.test('abc') === true && execCalled; }(); - var $TypeError$h = TypeError; + var Error$1 = global_1.Error; var un$Test = functionUncurryThis(/./.test); // `RegExp.prototype.test` method @@ -8961,13 +8257,14 @@ var doric = (function (exports) { if (!isCallable(exec)) { return un$Test(this, str); } var result = functionCall(exec, this, str); if (result !== null && !isObject(result)) { - throw new $TypeError$h('RegExp exec method returned something other than an Object or null'); + throw new Error$1('RegExp exec method returned something other than an Object or null'); } return !!result; } }); - var PROPER_FUNCTION_NAME$1 = functionName.PROPER; + var PROPER_FUNCTION_NAME$2 = functionName.PROPER; + @@ -8975,21 +8272,23 @@ var doric = (function (exports) { var TO_STRING = 'toString'; - var RegExpPrototype$2 = RegExp.prototype; - var n$ToString = RegExpPrototype$2[TO_STRING]; + var RegExpPrototype$3 = RegExp.prototype; + var n$ToString = RegExpPrototype$3[TO_STRING]; + var getFlags$2 = functionUncurryThis(regexpFlags); var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); // FF44- RegExp#toString has a wrong name - var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && n$ToString.name != TO_STRING; + var INCORRECT_NAME = PROPER_FUNCTION_NAME$2 && n$ToString.name != TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring if (NOT_GENERIC || INCORRECT_NAME) { - defineBuiltIn(RegExp.prototype, TO_STRING, function toString() { + redefine(RegExp.prototype, TO_STRING, function toString() { var R = anObject(this); - var pattern = toString_1(R.source); - var flags = toString_1(regexpGetFlags(R)); - return '/' + pattern + '/' + flags; + var p = toString_1(R.source); + var rf = R.flags; + var f = toString_1(rf === undefined && objectIsPrototypeOf(RegExpPrototype$3, R) && !('flags' in RegExpPrototype$3) ? getFlags$2(R) : rf); + return '/' + p + '/' + f; }, { unsafe: true }); } @@ -8999,41 +8298,40 @@ var doric = (function (exports) { return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; }, collectionStrong); - var charAt$c = functionUncurryThis(''.charAt); + var charAt$a = functionUncurryThis(''.charAt); - var FORCED$4 = fails(function () { - // eslint-disable-next-line es-x/no-array-string-prototype-at -- safe - return '𠮷'.at(-2) !== '\uD842'; + var FORCED$9 = fails(function () { + return '𠮷'.at(0) !== '\uD842'; }); // `String.prototype.at` method // https://github.com/tc39/proposal-relative-indexing-method - _export({ target: 'String', proto: true, forced: FORCED$4 }, { + _export({ target: 'String', proto: true, forced: FORCED$9 }, { at: function at(index) { var S = toString_1(requireObjectCoercible(this)); var len = S.length; var relativeIndex = toIntegerOrInfinity(index); var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; - return (k < 0 || k >= len) ? undefined : charAt$c(S, k); + return (k < 0 || k >= len) ? undefined : charAt$a(S, k); } }); - var charAt$b = functionUncurryThis(''.charAt); - var charCodeAt$2 = functionUncurryThis(''.charCodeAt); + var charAt$9 = functionUncurryThis(''.charAt); + var charCodeAt$1 = functionUncurryThis(''.charCodeAt); var stringSlice$a = functionUncurryThis(''.slice); - var createMethod$1 = function (CONVERT_TO_STRING) { + var createMethod$2 = function (CONVERT_TO_STRING) { return function ($this, pos) { var S = toString_1(requireObjectCoercible($this)); var position = toIntegerOrInfinity(pos); var size = S.length; var first, second; if (position < 0 || position >= size) { return CONVERT_TO_STRING ? '' : undefined; } - first = charCodeAt$2(S, position); + first = charCodeAt$1(S, position); return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = charCodeAt$2(S, position + 1)) < 0xDC00 || second > 0xDFFF + || (second = charCodeAt$1(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING - ? charAt$b(S, position) + ? charAt$9(S, position) : first : CONVERT_TO_STRING ? stringSlice$a(S, position, position + 2) @@ -9044,10 +8342,10 @@ var doric = (function (exports) { var stringMultibyte = { // `String.prototype.codePointAt` method // https://tc39.es/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod$1(false), + codeAt: createMethod$2(false), // `String.prototype.at` method // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod$1(true) + charAt: createMethod$2(true) }; var codeAt$2 = stringMultibyte.codeAt; @@ -9060,11 +8358,11 @@ var doric = (function (exports) { } }); - var $TypeError$g = TypeError; + var TypeError$i = global_1.TypeError; var notARegexp = function (it) { if (isRegexp(it)) { - throw $TypeError$g("The method doesn't accept regular expressions"); + throw TypeError$i("The method doesn't accept regular expressions"); } return it; }; @@ -9082,7 +8380,7 @@ var doric = (function (exports) { } return false; }; - var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; @@ -9090,15 +8388,15 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-string-prototype-endswith -- safe + // eslint-disable-next-line es/no-string-prototype-endswith -- safe var un$EndsWith = functionUncurryThis(''.endsWith); - var slice$2 = functionUncurryThis(''.slice); - var min$6 = Math.min; + var slice = functionUncurryThis(''.slice); + var min$5 = Math.min; var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('endsWith'); // https://github.com/zloirock/core-js/pull/702 var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () { - var descriptor = getOwnPropertyDescriptor$3(String.prototype, 'endsWith'); + var descriptor = getOwnPropertyDescriptor$1(String.prototype, 'endsWith'); return descriptor && !descriptor.writable; }(); @@ -9110,26 +8408,26 @@ var doric = (function (exports) { notARegexp(searchString); var endPosition = arguments.length > 1 ? arguments[1] : undefined; var len = that.length; - var end = endPosition === undefined ? len : min$6(toLength(endPosition), len); + var end = endPosition === undefined ? len : min$5(toLength(endPosition), len); var search = toString_1(searchString); return un$EndsWith ? un$EndsWith(that, search, end) - : slice$2(that, end - search.length, end) === search; + : slice(that, end - search.length, end) === search; } }); - var $RangeError$6 = RangeError; - var fromCharCode$3 = String.fromCharCode; - // eslint-disable-next-line es-x/no-string-fromcodepoint -- required for testing + var RangeError$6 = global_1.RangeError; + var fromCharCode$2 = String.fromCharCode; + // eslint-disable-next-line es/no-string-fromcodepoint -- required for testing var $fromCodePoint = String.fromCodePoint; - var join$6 = functionUncurryThis([].join); + var join$5 = functionUncurryThis([].join); // length should be 1, old FF problem var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1; // `String.fromCodePoint` method // https://tc39.es/ecma262/#sec-string.fromcodepoint - _export({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + _export({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { // eslint-disable-next-line no-unused-vars -- required for `.length` fromCodePoint: function fromCodePoint(x) { var arguments$1 = arguments; @@ -9140,11 +8438,11 @@ var doric = (function (exports) { var code; while (length > i) { code = +arguments$1[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw $RangeError$6(code + ' is not a valid code point'); } + if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw RangeError$6(code + ' is not a valid code point'); } elements[i] = code < 0x10000 - ? fromCharCode$3(code) - : fromCharCode$3(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); - } return join$6(elements, ''); + ? fromCharCode$2(code) + : fromCharCode$2(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join$5(elements, ''); } }); @@ -9162,19 +8460,19 @@ var doric = (function (exports) { } }); - var charAt$a = stringMultibyte.charAt; + var charAt$8 = stringMultibyte.charAt; var STRING_ITERATOR$1 = 'String Iterator'; - var setInternalState$d = internalState.set; + var setInternalState$c = internalState.set; var getInternalState$9 = internalState.getterFor(STRING_ITERATOR$1); // `String.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-string.prototype-@@iterator defineIterator(String, 'String', function (iterated) { - setInternalState$d(this, { + setInternalState$c(this, { type: STRING_ITERATOR$1, string: toString_1(iterated), index: 0 @@ -9187,7 +8485,7 @@ var doric = (function (exports) { var index = state.index; var point; if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$a(string, index); + point = charAt$8(string, index); state.index += point.length; return { value: point, done: false }; }); @@ -9202,7 +8500,7 @@ var doric = (function (exports) { var SPECIES = wellKnownSymbol('species'); - var RegExpPrototype$1 = RegExp.prototype; + var RegExpPrototype$2 = RegExp.prototype; var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) { var SYMBOL = wellKnownSymbol(KEY); @@ -9247,7 +8545,7 @@ var doric = (function (exports) { var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { var uncurriedNativeMethod = functionUncurryThis(nativeMethod); var $exec = regexp.exec; - if ($exec === regexpExec || $exec === RegExpPrototype$1.exec) { + if ($exec === regexpExec || $exec === RegExpPrototype$2.exec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { // The native String method already delegates to @@method (this // polyfilled function), leasing to infinite recursion. @@ -9259,22 +8557,22 @@ var doric = (function (exports) { return { done: false }; }); - defineBuiltIn(String.prototype, KEY, methods[0]); - defineBuiltIn(RegExpPrototype$1, SYMBOL, methods[1]); + redefine(String.prototype, KEY, methods[0]); + redefine(RegExpPrototype$2, SYMBOL, methods[1]); } - if (SHAM) { createNonEnumerableProperty(RegExpPrototype$1[SYMBOL], 'sham', true); } + if (SHAM) { createNonEnumerableProperty(RegExpPrototype$2[SYMBOL], 'sham', true); } }; - var charAt$9 = stringMultibyte.charAt; + var charAt$7 = stringMultibyte.charAt; // `AdvanceStringIndex` abstract operation // https://tc39.es/ecma262/#sec-advancestringindex var advanceStringIndex = function (S, index, unicode) { - return index + (unicode ? charAt$9(S, index).length : 1); + return index + (unicode ? charAt$7(S, index).length : 1); }; - var $TypeError$f = TypeError; + var TypeError$h = global_1.TypeError; // `RegExpExec` abstract operation // https://tc39.es/ecma262/#sec-regexpexec @@ -9286,7 +8584,7 @@ var doric = (function (exports) { return result; } if (classofRaw(R) === 'RegExp') { return functionCall(regexpExec, R, S); } - throw $TypeError$f('RegExp#exec called on incompatible receiver'); + throw TypeError$h('RegExp#exec called on incompatible receiver'); }; // @@match logic @@ -9326,7 +8624,9 @@ var doric = (function (exports) { ]; }); - /* eslint-disable es-x/no-string-prototype-matchall -- safe */ + /* eslint-disable es/no-string-prototype-matchall -- safe */ + + @@ -9351,10 +8651,11 @@ var doric = (function (exports) { var MATCH_ALL = wellKnownSymbol('matchAll'); var REGEXP_STRING = 'RegExp String'; var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; - var setInternalState$c = internalState.set; + var setInternalState$b = internalState.set; var getInternalState$8 = internalState.getterFor(REGEXP_STRING_ITERATOR); - var RegExpPrototype = RegExp.prototype; - var $TypeError$e = TypeError; + var RegExpPrototype$1 = RegExp.prototype; + var TypeError$g = global_1.TypeError; + var getFlags$1 = functionUncurryThis(regexpFlags); var stringIndexOf$2 = functionUncurryThis(''.indexOf); var un$MatchAll = functionUncurryThis(''.matchAll); @@ -9363,7 +8664,7 @@ var doric = (function (exports) { }); var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { - setInternalState$c(this, { + setInternalState$b(this, { type: REGEXP_STRING_ITERATOR, regexp: regexp, string: string, @@ -9389,9 +8690,13 @@ var doric = (function (exports) { var $matchAll = function (string) { var R = anObject(this); var S = toString_1(string); - var C = speciesConstructor(R, RegExp); - var flags = toString_1(regexpGetFlags(R)); - var matcher, $global, fullUnicode; + var C, flagsValue, flags, matcher, $global, fullUnicode; + C = speciesConstructor(R, RegExp); + flagsValue = R.flags; + if (flagsValue === undefined && objectIsPrototypeOf(RegExpPrototype$1, R) && !('flags' in RegExpPrototype$1)) { + flagsValue = getFlags$1(R); + } + flags = flagsValue === undefined ? '' : toString_1(flagsValue); matcher = new C(C === RegExp ? R.source : R, flags); $global = !!~stringIndexOf$2(flags, 'g'); fullUnicode = !!~stringIndexOf$2(flags, 'u'); @@ -9407,8 +8712,11 @@ var doric = (function (exports) { var flags, S, matcher, rx; if (regexp != null) { if (isRegexp(regexp)) { - flags = toString_1(requireObjectCoercible(regexpGetFlags(regexp))); - if (!~stringIndexOf$2(flags, 'g')) { throw $TypeError$e('`.matchAll` does not allow non-global regexes'); } + flags = toString_1(requireObjectCoercible('flags' in RegExpPrototype$1 + ? regexp.flags + : getFlags$1(regexp) + )); + if (!~stringIndexOf$2(flags, 'g')) { throw TypeError$g('`.matchAll` does not allow non-global regexes'); } } if (WORKS_WITH_NON_GLOBAL_REGEX) { return un$MatchAll(O, regexp); } matcher = getMethod(regexp, MATCH_ALL); @@ -9421,7 +8729,7 @@ var doric = (function (exports) { } }); - MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + MATCH_ALL in RegExpPrototype$1 || redefine(RegExpPrototype$1, MATCH_ALL, $matchAll); // https://github.com/zloirock/core-js/issues/280 @@ -9450,8 +8758,8 @@ var doric = (function (exports) { } }); - var push$f = functionUncurryThis([].push); - var join$5 = functionUncurryThis([].join); + var push$c = functionUncurryThis([].push); + var join$4 = functionUncurryThis([].join); // `String.raw` method // https://tc39.es/ecma262/#sec-string.raw @@ -9465,9 +8773,9 @@ var doric = (function (exports) { var elements = []; var i = 0; while (literalSegments > i) { - push$f(elements, toString_1(rawTemplate[i++])); - if (i === literalSegments) { return join$5(elements, ''); } - if (i < argumentsLength) { push$f(elements, toString_1(arguments$1[i])); } + push$c(elements, toString_1(rawTemplate[i++])); + if (i === literalSegments) { return join$4(elements, ''); } + if (i < argumentsLength) { push$c(elements, toString_1(arguments$1[i])); } } } }); @@ -9479,8 +8787,8 @@ var doric = (function (exports) { }); var floor$3 = Math.floor; - var charAt$8 = functionUncurryThis(''.charAt); - var replace$5 = functionUncurryThis(''.replace); + var charAt$6 = functionUncurryThis(''.charAt); + var replace$4 = functionUncurryThis(''.replace); var stringSlice$9 = functionUncurryThis(''.slice); var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; @@ -9495,9 +8803,9 @@ var doric = (function (exports) { namedCaptures = toObject(namedCaptures); symbols = SUBSTITUTION_SYMBOLS; } - return replace$5(replacement, symbols, function (match, ch) { + return replace$4(replacement, symbols, function (match, ch) { var capture; - switch (charAt$8(ch, 0)) { + switch (charAt$6(ch, 0)) { case '$': return '$'; case '&': return matched; case '`': return stringSlice$9(str, 0, position); @@ -9511,7 +8819,7 @@ var doric = (function (exports) { if (n > m) { var f = floor$3(n / 10); if (f === 0) { return match; } - if (f <= m) { return captures[f - 1] === undefined ? charAt$8(ch, 1) : captures[f - 1] + charAt$8(ch, 1); } + if (f <= m) { return captures[f - 1] === undefined ? charAt$6(ch, 1) : captures[f - 1] + charAt$6(ch, 1); } return match; } capture = captures[n - 1]; @@ -9521,10 +8829,10 @@ var doric = (function (exports) { }; var REPLACE$1 = wellKnownSymbol('replace'); - var max$4 = Math.max; - var min$5 = Math.min; + var max$3 = Math.max; + var min$4 = Math.min; var concat$1 = functionUncurryThis([].concat); - var push$e = functionUncurryThis([].push); + var push$b = functionUncurryThis([].push); var stringIndexOf$1 = functionUncurryThis(''.indexOf); var stringSlice$8 = functionUncurryThis(''.slice); @@ -9600,7 +8908,7 @@ var doric = (function (exports) { var result = regexpExecAbstract(rx, S); if (result === null) { break; } - push$e(results, result); + push$b(results, result); if (!global) { break; } var matchStr = toString_1(result[0]); @@ -9613,18 +8921,18 @@ var doric = (function (exports) { result = results[i]; var matched = toString_1(result[0]); - var position = max$4(min$5(toIntegerOrInfinity(result.index), S.length), 0); + var position = max$3(min$4(toIntegerOrInfinity(result.index), S.length), 0); var captures = []; // NOTE: This is equivalent to // captures = result.slice(1).map(maybeToString) // but for some reason `nativeSlice.call(result, 1, result.length)` (called in // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - for (var j = 1; j < result.length; j++) { push$e(captures, maybeToString(result[j])); } + for (var j = 1; j < result.length; j++) { push$b(captures, maybeToString(result[j])); } var namedCaptures = result.groups; if (functionalReplace) { var replacerArgs = concat$1([matched], captures, position, S); - if (namedCaptures !== undefined) { push$e(replacerArgs, namedCaptures); } + if (namedCaptures !== undefined) { push$b(replacerArgs, namedCaptures); } var replacement = toString_1(functionApply(replaceValue, undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); @@ -9640,11 +8948,13 @@ var doric = (function (exports) { }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); var REPLACE = wellKnownSymbol('replace'); - var $TypeError$d = TypeError; + var RegExpPrototype = RegExp.prototype; + var TypeError$f = global_1.TypeError; + var getFlags = functionUncurryThis(regexpFlags); var indexOf = functionUncurryThis(''.indexOf); functionUncurryThis(''.replace); var stringSlice$7 = functionUncurryThis(''.slice); - var max$3 = Math.max; + var max$2 = Math.max; var stringIndexOf = function (string, searchValue, fromIndex) { if (fromIndex > string.length) { return -1; } @@ -9664,8 +8974,11 @@ var doric = (function (exports) { if (searchValue != null) { IS_REG_EXP = isRegexp(searchValue); if (IS_REG_EXP) { - flags = toString_1(requireObjectCoercible(regexpGetFlags(searchValue))); - if (!~indexOf(flags, 'g')) { throw $TypeError$d('`.replaceAll` does not allow non-global regexes'); } + flags = toString_1(requireObjectCoercible('flags' in RegExpPrototype + ? searchValue.flags + : getFlags(searchValue) + )); + if (!~indexOf(flags, 'g')) { throw TypeError$f('`.replaceAll` does not allow non-global regexes'); } } replacer = getMethod(searchValue, REPLACE); if (replacer) { @@ -9677,7 +8990,7 @@ var doric = (function (exports) { functionalReplace = isCallable(replaceValue); if (!functionalReplace) { replaceValue = toString_1(replaceValue); } searchLength = searchString.length; - advanceBy = max$3(1, searchLength); + advanceBy = max$2(1, searchLength); position = stringIndexOf(string, searchString, 0); while (position !== -1) { replacement = functionalReplace @@ -9724,10 +9037,10 @@ var doric = (function (exports) { var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y; var MAX_UINT32 = 0xFFFFFFFF; - var min$4 = Math.min; + var min$3 = Math.min; var $push = [].push; - var exec$6 = functionUncurryThis(/./.exec); - var push$d = functionUncurryThis($push); + var exec$4 = functionUncurryThis(/./.exec); + var push$a = functionUncurryThis($push); var stringSlice$6 = functionUncurryThis(''.slice); // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec @@ -9776,8 +9089,8 @@ var doric = (function (exports) { while (match = functionCall(regexpExec, separatorCopy, string)) { lastIndex = separatorCopy.lastIndex; if (lastIndex > lastLastIndex) { - push$d(output, stringSlice$6(string, lastLastIndex, match.index)); - if (match.length > 1 && match.index < string.length) { functionApply($push, output, arraySliceSimple(match, 1)); } + push$a(output, stringSlice$6(string, lastLastIndex, match.index)); + if (match.length > 1 && match.index < string.length) { functionApply($push, output, arraySlice$1(match, 1)); } lastLength = match[0].length; lastLastIndex = lastIndex; if (output.length >= lim) { break; } @@ -9785,9 +9098,9 @@ var doric = (function (exports) { if (separatorCopy.lastIndex === match.index) { separatorCopy.lastIndex++; } // Avoid an infinite loop } if (lastLastIndex === string.length) { - if (lastLength || !exec$6(separatorCopy, '')) { push$d(output, ''); } - } else { push$d(output, stringSlice$6(string, lastLastIndex)); } - return output.length > lim ? arraySliceSimple(output, 0, lim) : output; + if (lastLength || !exec$4(separatorCopy, '')) { push$a(output, ''); } + } else { push$a(output, stringSlice$6(string, lastLastIndex)); } + return output.length > lim ? arraySlice$1(output, 0, lim) : output; }; // Chakra, V8 } else if ('0'.split(undefined, 0).length) { @@ -9841,26 +9154,26 @@ var doric = (function (exports) { var e; if ( z === null || - (e = min$4(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + (e = min$3(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p ) { q = advanceStringIndex(S, q, unicodeMatching); } else { - push$d(A, stringSlice$6(S, p, q)); + push$a(A, stringSlice$6(S, p, q)); if (A.length === lim) { return A; } for (var i = 1; i <= z.length - 1; i++) { - push$d(A, z[i]); + push$a(A, z[i]); if (A.length === lim) { return A; } } q = p = e; } } - push$d(A, stringSlice$6(S, p)); + push$a(A, stringSlice$6(S, p)); return A; } ]; }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); - var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; @@ -9868,15 +9181,15 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-string-prototype-startswith -- safe + // eslint-disable-next-line es/no-string-prototype-startswith -- safe var un$StartsWith = functionUncurryThis(''.startsWith); var stringSlice$5 = functionUncurryThis(''.slice); - var min$3 = Math.min; + var min$2 = Math.min; var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('startsWith'); // https://github.com/zloirock/core-js/pull/702 var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor$2(String.prototype, 'startsWith'); + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); return descriptor && !descriptor.writable; }(); @@ -9886,7 +9199,7 @@ var doric = (function (exports) { startsWith: function startsWith(searchString /* , position = 0 */) { var that = toString_1(requireObjectCoercible(this)); notARegexp(searchString); - var index = toLength(min$3(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var index = toLength(min$2(arguments.length > 1 ? arguments[1] : undefined, that.length)); var search = toString_1(searchString); return un$StartsWith ? un$StartsWith(that, search, index) @@ -9895,30 +9208,30 @@ var doric = (function (exports) { }); var stringSlice$4 = functionUncurryThis(''.slice); - var max$2 = Math.max; - var min$2 = Math.min; + var max$1 = Math.max; + var min$1 = Math.min; - // eslint-disable-next-line unicorn/prefer-string-slice, es-x/no-string-prototype-substr -- required for testing - var FORCED$3 = !''.substr || 'ab'.substr(-1) !== 'b'; + // eslint-disable-next-line unicorn/prefer-string-slice -- required for testing + var FORCED$8 = !''.substr || 'ab'.substr(-1) !== 'b'; // `String.prototype.substr` method // https://tc39.es/ecma262/#sec-string.prototype.substr - _export({ target: 'String', proto: true, forced: FORCED$3 }, { + _export({ target: 'String', proto: true, forced: FORCED$8 }, { substr: function substr(start, length) { var that = toString_1(requireObjectCoercible(this)); var size = that.length; var intStart = toIntegerOrInfinity(start); var intLength, intEnd; if (intStart === Infinity) { intStart = 0; } - if (intStart < 0) { intStart = max$2(size + intStart, 0); } + if (intStart < 0) { intStart = max$1(size + intStart, 0); } intLength = length === undefined ? size : toIntegerOrInfinity(length); if (intLength <= 0 || intLength === Infinity) { return ''; } - intEnd = min$2(intStart + intLength, size); + intEnd = min$1(intStart + intLength, size); return intStart >= intEnd ? '' : stringSlice$4(that, intStart, intEnd); } }); - var PROPER_FUNCTION_NAME = functionName.PROPER; + var PROPER_FUNCTION_NAME$1 = functionName.PROPER; @@ -9928,9 +9241,9 @@ var doric = (function (exports) { // of whitespaces and has a correct name var stringTrimForced = function (METHOD_NAME) { return fails(function () { - return !!whitespaces$1[METHOD_NAME]() + return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() !== non - || (PROPER_FUNCTION_NAME && whitespaces$1[METHOD_NAME].name !== METHOD_NAME); + || (PROPER_FUNCTION_NAME$1 && whitespaces[METHOD_NAME].name !== METHOD_NAME); }); }; @@ -9948,72 +9261,48 @@ var doric = (function (exports) { var $trimEnd = stringTrim.end; - // `String.prototype.{ trimEnd, trimRight }` method - // https://tc39.es/ecma262/#sec-string.prototype.trimend - // https://tc39.es/ecma262/#String.prototype.trimright - var stringTrimEnd = stringTrimForced('trimEnd') ? function trimEnd() { + var FORCED$7 = stringTrimForced('trimEnd'); + + var trimEnd = FORCED$7 ? function trimEnd() { return $trimEnd(this); - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe + // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe } : ''.trimEnd; - // `String.prototype.trimRight` method + // `String.prototype.{ trimEnd, trimRight }` methods // https://tc39.es/ecma262/#sec-string.prototype.trimend - // eslint-disable-next-line es-x/no-string-prototype-trimleft-trimright -- safe - _export({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== stringTrimEnd }, { - trimRight: stringTrimEnd - }); - - // TODO: Remove this line from `core-js@4` - - - - - // `String.prototype.trimEnd` method - // https://tc39.es/ecma262/#sec-string.prototype.trimend - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe - _export({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== stringTrimEnd }, { - trimEnd: stringTrimEnd + // https://tc39.es/ecma262/#String.prototype.trimright + _export({ target: 'String', proto: true, name: 'trimEnd', forced: FORCED$7 }, { + trimEnd: trimEnd, + trimRight: trimEnd }); var $trimStart = stringTrim.start; - // `String.prototype.{ trimStart, trimLeft }` method - // https://tc39.es/ecma262/#sec-string.prototype.trimstart - // https://tc39.es/ecma262/#String.prototype.trimleft - var stringTrimStart = stringTrimForced('trimStart') ? function trimStart() { + var FORCED$6 = stringTrimForced('trimStart'); + + var trimStart = FORCED$6 ? function trimStart() { return $trimStart(this); - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe + // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe } : ''.trimStart; - // `String.prototype.trimLeft` method - // https://tc39.es/ecma262/#sec-string.prototype.trimleft - // eslint-disable-next-line es-x/no-string-prototype-trimleft-trimright -- safe - _export({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== stringTrimStart }, { - trimLeft: stringTrimStart - }); - - // TODO: Remove this line from `core-js@4` - - - - - // `String.prototype.trimStart` method + // `String.prototype.{ trimStart, trimLeft }` methods // https://tc39.es/ecma262/#sec-string.prototype.trimstart - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe - _export({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== stringTrimStart }, { - trimStart: stringTrimStart + // https://tc39.es/ecma262/#String.prototype.trimleft + _export({ target: 'String', proto: true, name: 'trimStart', forced: FORCED$6 }, { + trimStart: trimStart, + trimLeft: trimStart }); var quot = /"/g; - var replace$4 = functionUncurryThis(''.replace); + var replace$3 = functionUncurryThis(''.replace); // `CreateHTML` abstract operation // https://tc39.es/ecma262/#sec-createhtml var createHtml = function (string, tag, attribute, value) { var S = toString_1(requireObjectCoercible(string)); var p1 = '<' + tag; - if (attribute !== '') { p1 += ' ' + attribute + '="' + replace$4(toString_1(value), quot, '"') + '"'; } + if (attribute !== '') { p1 += ' ' + attribute + '="' + replace$3(toString_1(value), quot, '"') + '"'; } return p1 + '>' + S + ''; }; @@ -10137,35 +9426,35 @@ var doric = (function (exports) { var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; var ArrayBuffer$1 = global_1.ArrayBuffer; - var Int8Array$3 = global_1.Int8Array; + var Int8Array$2 = global_1.Int8Array; var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { - Int8Array$3(1); + Int8Array$2(1); }) || !fails(function () { - new Int8Array$3(-1); + new Int8Array$2(-1); }) || !checkCorrectnessOfIteration(function (iterable) { - new Int8Array$3(); - new Int8Array$3(null); - new Int8Array$3(1.5); - new Int8Array$3(iterable); + new Int8Array$2(); + new Int8Array$2(null); + new Int8Array$2(1.5); + new Int8Array$2(iterable); }, true) || fails(function () { // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill - return new Int8Array$3(new ArrayBuffer$1(2), 1, undefined).length !== 1; + return new Int8Array$2(new ArrayBuffer$1(2), 1, undefined).length !== 1; }); - var $RangeError$5 = RangeError; + var RangeError$5 = global_1.RangeError; var toPositiveInteger = function (it) { var result = toIntegerOrInfinity(it); - if (result < 0) { throw $RangeError$5("The argument can't be less than 0"); } + if (result < 0) { throw RangeError$5("The argument can't be less than 0"); } return result; }; - var $RangeError$4 = RangeError; + var RangeError$4 = global_1.RangeError; var toOffset = function (it, BYTES) { var offset = toPositiveInteger(it); - if (offset % BYTES) { throw $RangeError$4('Wrong offset'); } + if (offset % BYTES) { throw RangeError$4('Wrong offset'); } return offset; }; @@ -10423,11 +9712,11 @@ var doric = (function (exports) { createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); } - var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor; - exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; - _export({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + _export({ + global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS + }, exported); if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); @@ -10514,13 +9803,13 @@ var doric = (function (exports) { }; }); - var aTypedArray$w = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$x = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$s = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$t = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.at` method // https://github.com/tc39/proposal-relative-indexing-method - exportTypedArrayMethod$x('at', function at(index) { - var O = aTypedArray$w(this); + exportTypedArrayMethod$t('at', function at(index) { + var O = aTypedArray$s(this); var len = lengthOfArrayLike(O); var relativeIndex = toIntegerOrInfinity(index); var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; @@ -10528,73 +9817,57 @@ var doric = (function (exports) { }); var u$ArrayCopyWithin = functionUncurryThis(arrayCopyWithin); - var aTypedArray$v = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$w = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$r = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$s = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.copyWithin` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin - exportTypedArrayMethod$w('copyWithin', function copyWithin(target, start /* , end */) { - return u$ArrayCopyWithin(aTypedArray$v(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + exportTypedArrayMethod$s('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray$r(this), target, start, arguments.length > 2 ? arguments[2] : undefined); }); var $every$1 = arrayIteration.every; - var aTypedArray$u = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$v = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$q = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$r = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.every` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.every - exportTypedArrayMethod$v('every', function every(callbackfn /* , thisArg */) { - return $every$1(aTypedArray$u(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$r('every', function every(callbackfn /* , thisArg */) { + return $every$1(aTypedArray$q(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }); - var $TypeError$c = TypeError; - - // `ToBigInt` abstract operation - // https://tc39.es/ecma262/#sec-tobigint - var toBigInt = function (argument) { - var prim = toPrimitive(argument, 'number'); - if (typeof prim == 'number') { throw $TypeError$c("Can't convert number to bigint"); } - // eslint-disable-next-line es-x/no-bigint -- safe - return BigInt(prim); - }; - - var aTypedArray$t = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$u = arrayBufferViewCore.exportTypedArrayMethod; - var slice$1 = functionUncurryThis(''.slice); - - // V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 - var CONVERSION_BUG = fails(function () { - var count = 0; - // eslint-disable-next-line es-x/no-typed-arrays -- safe - new Int8Array(2).fill({ valueOf: function () { return count++; } }); - return count !== 1; - }); + var aTypedArray$p = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$q = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.fill` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill - exportTypedArrayMethod$u('fill', function fill(value /* , start, end */) { + exportTypedArrayMethod$q('fill', function fill(value /* , start, end */) { var length = arguments.length; - aTypedArray$t(this); - var actualValue = slice$1(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; - return functionCall(arrayFill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); - }, CONVERSION_BUG); + return functionCall( + arrayFill, + aTypedArray$p(this), + value, + length > 1 ? arguments[1] : undefined, + length > 2 ? arguments[2] : undefined + ); + }); var arrayFromConstructorAndList = function (Constructor, list) { var index = 0; - var length = lengthOfArrayLike(list); + var length = list.length; var result = new Constructor(length); while (length > index) { result[index] = list[index++]; } return result; }; - var TYPED_ARRAY_CONSTRUCTOR$4 = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; + var TYPED_ARRAY_CONSTRUCTOR = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor; // a part of `TypedArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#typedarray-species-create var typedArraySpeciesConstructor = function (originalArray) { - return aTypedArrayConstructor$2(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR$4])); + return aTypedArrayConstructor$2(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR])); }; var typedArrayFromSpeciesAndList = function (instance, list) { @@ -10604,69 +9877,47 @@ var doric = (function (exports) { var $filter = arrayIteration.filter; - var aTypedArray$s = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$t = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$o = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$p = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.filter` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter - exportTypedArrayMethod$t('filter', function filter(callbackfn /* , thisArg */) { - var list = $filter(aTypedArray$s(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$p('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray$o(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); return typedArrayFromSpeciesAndList(this, list); }); var $find$1 = arrayIteration.find; - var aTypedArray$r = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$s = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$n = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$o = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.find` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.find - exportTypedArrayMethod$s('find', function find(predicate /* , thisArg */) { - return $find$1(aTypedArray$r(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$o('find', function find(predicate /* , thisArg */) { + return $find$1(aTypedArray$n(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }); var $findIndex = arrayIteration.findIndex; - var aTypedArray$q = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$r = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$m = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$n = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.findIndex` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex - exportTypedArrayMethod$r('findIndex', function findIndex(predicate /* , thisArg */) { - return $findIndex(aTypedArray$q(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $findLast = arrayIterationFromLast.findLast; - - var aTypedArray$p = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$q = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.findLast` method - // https://github.com/tc39/proposal-array-find-from-last - exportTypedArrayMethod$q('findLast', function findLast(predicate /* , thisArg */) { - return $findLast(aTypedArray$p(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $findLastIndex = arrayIterationFromLast.findLastIndex; - - var aTypedArray$o = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$p = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.findLastIndex` method - // https://github.com/tc39/proposal-array-find-from-last - exportTypedArrayMethod$p('findLastIndex', function findLastIndex(predicate /* , thisArg */) { - return $findLastIndex(aTypedArray$o(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$n('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray$m(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }); var $forEach$1 = arrayIteration.forEach; - var aTypedArray$n = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$o = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$l = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.forEach` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach - exportTypedArrayMethod$o('forEach', function forEach(callbackfn /* , thisArg */) { - $forEach$1(aTypedArray$n(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$m('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach$1(aTypedArray$l(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }); var exportTypedArrayStaticMethod$2 = arrayBufferViewCore.exportTypedArrayStaticMethod; @@ -10678,95 +9929,93 @@ var doric = (function (exports) { var $includes = arrayIncludes.includes; - var aTypedArray$m = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$n = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$k = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.includes` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes - exportTypedArrayMethod$n('includes', function includes(searchElement /* , fromIndex */) { - return $includes(aTypedArray$m(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$l('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray$k(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }); var $indexOf = arrayIncludes.indexOf; - var aTypedArray$l = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$j = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.indexOf` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof - exportTypedArrayMethod$m('indexOf', function indexOf(searchElement /* , fromIndex */) { - return $indexOf(aTypedArray$l(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$k('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray$j(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }); + var PROPER_FUNCTION_NAME = functionName.PROPER; + + + + var ITERATOR$3 = wellKnownSymbol('iterator'); var Uint8Array$2 = global_1.Uint8Array; var arrayValues = functionUncurryThis(es_array_iterator.values); var arrayKeys = functionUncurryThis(es_array_iterator.keys); var arrayEntries = functionUncurryThis(es_array_iterator.entries); - var aTypedArray$k = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod; - var TypedArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype; + var aTypedArray$i = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod; + var nativeTypedArrayIterator = Uint8Array$2 && Uint8Array$2.prototype[ITERATOR$3]; - var GENERIC = !fails(function () { - TypedArrayPrototype[ITERATOR$3].call([1]); - }); - - var ITERATOR_IS_VALUES = !!TypedArrayPrototype - && TypedArrayPrototype.values - && TypedArrayPrototype[ITERATOR$3] === TypedArrayPrototype.values - && TypedArrayPrototype.values.name === 'values'; + var PROPER_ARRAY_VALUES_NAME = !!nativeTypedArrayIterator && nativeTypedArrayIterator.name === 'values'; var typedArrayValues = function values() { - return arrayValues(aTypedArray$k(this)); + return arrayValues(aTypedArray$i(this)); }; // `%TypedArray%.prototype.entries` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries - exportTypedArrayMethod$l('entries', function entries() { - return arrayEntries(aTypedArray$k(this)); - }, GENERIC); + exportTypedArrayMethod$j('entries', function entries() { + return arrayEntries(aTypedArray$i(this)); + }); // `%TypedArray%.prototype.keys` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys - exportTypedArrayMethod$l('keys', function keys() { - return arrayKeys(aTypedArray$k(this)); - }, GENERIC); + exportTypedArrayMethod$j('keys', function keys() { + return arrayKeys(aTypedArray$i(this)); + }); // `%TypedArray%.prototype.values` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.values - exportTypedArrayMethod$l('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + exportTypedArrayMethod$j('values', typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME); // `%TypedArray%.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator - exportTypedArrayMethod$l(ITERATOR$3, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + exportTypedArrayMethod$j(ITERATOR$3, typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME); - var aTypedArray$j = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$h = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod; var $join = functionUncurryThis([].join); // `%TypedArray%.prototype.join` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.join - exportTypedArrayMethod$k('join', function join(separator) { - return $join(aTypedArray$j(this), separator); + exportTypedArrayMethod$i('join', function join(separator) { + return $join(aTypedArray$h(this), separator); }); - var aTypedArray$i = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$g = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.lastIndexOf` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof - exportTypedArrayMethod$j('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + exportTypedArrayMethod$h('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { var length = arguments.length; - return functionApply(arrayLastIndexOf, aTypedArray$i(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); + return functionApply(arrayLastIndexOf, aTypedArray$g(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); }); var $map = arrayIteration.map; - var aTypedArray$h = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$f = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.map` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.map - exportTypedArrayMethod$i('map', function map(mapfn /* , thisArg */) { - return $map(aTypedArray$h(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + exportTypedArrayMethod$g('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray$f(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { return new (typedArraySpeciesConstructor(O))(length); }); }); @@ -10788,37 +10037,37 @@ var doric = (function (exports) { var $reduce = arrayReduce.left; - var aTypedArray$g = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$e = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduce` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce - exportTypedArrayMethod$h('reduce', function reduce(callbackfn /* , initialValue */) { + exportTypedArrayMethod$f('reduce', function reduce(callbackfn /* , initialValue */) { var length = arguments.length; - return $reduce(aTypedArray$g(this), callbackfn, length, length > 1 ? arguments[1] : undefined); + return $reduce(aTypedArray$e(this), callbackfn, length, length > 1 ? arguments[1] : undefined); }); var $reduceRight = arrayReduce.right; - var aTypedArray$f = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$d = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduceRicht` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright - exportTypedArrayMethod$g('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + exportTypedArrayMethod$e('reduceRight', function reduceRight(callbackfn /* , initialValue */) { var length = arguments.length; - return $reduceRight(aTypedArray$f(this), callbackfn, length, length > 1 ? arguments[1] : undefined); + return $reduceRight(aTypedArray$d(this), callbackfn, length, length > 1 ? arguments[1] : undefined); }); - var aTypedArray$e = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$c = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod; var floor$2 = Math.floor; // `%TypedArray%.prototype.reverse` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse - exportTypedArrayMethod$f('reverse', function reverse() { + exportTypedArrayMethod$d('reverse', function reverse() { var that = this; - var length = aTypedArray$e(that).length; + var length = aTypedArray$c(that).length; var middle = floor$2(length / 2); var index = 0; var value; @@ -10829,75 +10078,62 @@ var doric = (function (exports) { } return that; }); - var RangeError$2 = global_1.RangeError; - var Int8Array$2 = global_1.Int8Array; - var Int8ArrayPrototype = Int8Array$2 && Int8Array$2.prototype; - var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; - var aTypedArray$d = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod; + var RangeError$3 = global_1.RangeError; + var aTypedArray$b = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod; - var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () { - // eslint-disable-next-line es-x/no-typed-arrays -- required for testing - var array = new Uint8ClampedArray(2); - functionCall($set, array, { length: 1, 0: 3 }, 1); - return array[1] !== 3; - }); - - // https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other - var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { - var array = new Int8Array$2(2); - array.set(1); - array.set('2', 1); - return array[0] !== 0 || array[1] !== 2; + var FORCED$5 = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).set({}); }); // `%TypedArray%.prototype.set` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.set - exportTypedArrayMethod$e('set', function set(arrayLike /* , offset */) { - aTypedArray$d(this); + exportTypedArrayMethod$c('set', function set(arrayLike /* , offset */) { + aTypedArray$b(this); var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var src = toObject(arrayLike); - if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) { return functionCall($set, this, src, offset); } var length = this.length; + var src = toObject(arrayLike); var len = lengthOfArrayLike(src); var index = 0; - if (len + offset > length) { throw RangeError$2('Wrong length'); } + if (len + offset > length) { throw RangeError$3('Wrong length'); } while (index < len) { this[offset + index] = src[index++]; } - }, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + }, FORCED$5); - var aTypedArray$c = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$a = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod; - var FORCED$2 = fails(function () { - // eslint-disable-next-line es-x/no-typed-arrays -- required for testing + var FORCED$4 = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing new Int8Array(1).slice(); }); // `%TypedArray%.prototype.slice` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice - exportTypedArrayMethod$d('slice', function slice(start, end) { - var list = arraySlice$1(aTypedArray$c(this), start, end); + exportTypedArrayMethod$b('slice', function slice(start, end) { + var list = arraySlice$1(aTypedArray$a(this), start, end); var C = typedArraySpeciesConstructor(this); var index = 0; var length = list.length; var result = new C(length); while (length > index) { result[index] = list[index++]; } return result; - }, FORCED$2); + }, FORCED$4); var $some$1 = arrayIteration.some; - var aTypedArray$b = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$9 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.some` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.some - exportTypedArrayMethod$c('some', function some(callbackfn /* , thisArg */) { - return $some$1(aTypedArray$b(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$a('some', function some(callbackfn /* , thisArg */) { + return $some$1(aTypedArray$9(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); }); - var aTypedArray$a = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod; + var Array$3 = global_1.Array; + var aTypedArray$8 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod; var Uint16Array = global_1.Uint16Array; var un$Sort = Uint16Array && functionUncurryThis(Uint16Array.prototype.sort); @@ -10916,7 +10152,7 @@ var doric = (function (exports) { if (engineWebkitVersion) { return engineWebkitVersion < 602; } var array = new Uint16Array(516); - var expected = Array(516); + var expected = Array$3(516); var index, mod; for (index = 0; index < 516; index++) { @@ -10948,20 +10184,20 @@ var doric = (function (exports) { // `%TypedArray%.prototype.sort` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort - exportTypedArrayMethod$b('sort', function sort(comparefn) { + exportTypedArrayMethod$9('sort', function sort(comparefn) { if (comparefn !== undefined) { aCallable(comparefn); } if (STABLE_SORT) { return un$Sort(this, comparefn); } - return arraySort(aTypedArray$a(this), getSortCompare(comparefn)); + return arraySort(aTypedArray$8(this), getSortCompare(comparefn)); }, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); - var aTypedArray$9 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$7 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.subarray` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray - exportTypedArrayMethod$a('subarray', function subarray(begin, end) { - var O = aTypedArray$9(this); + exportTypedArrayMethod$8('subarray', function subarray(begin, end) { + var O = aTypedArray$7(this); var length = O.length; var beginIndex = toAbsoluteIndex(begin, length); var C = typedArraySpeciesConstructor(O); @@ -10973,8 +10209,8 @@ var doric = (function (exports) { }); var Int8Array$1 = global_1.Int8Array; - var aTypedArray$8 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$6 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; var $toLocaleString = [].toLocaleString; // iOS Safari 6.x fails here @@ -10982,7 +10218,7 @@ var doric = (function (exports) { $toLocaleString.call(new Int8Array$1(1)); }); - var FORCED$1 = fails(function () { + var FORCED$3 = fails(function () { return [1, 2].toLocaleString() != new Int8Array$1([1, 2]).toLocaleString(); }) || !fails(function () { Int8Array$1.prototype.toLocaleString.call([1, 2]); @@ -10990,15 +10226,15 @@ var doric = (function (exports) { // `%TypedArray%.prototype.toLocaleString` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring - exportTypedArrayMethod$9('toLocaleString', function toLocaleString() { + exportTypedArrayMethod$7('toLocaleString', function toLocaleString() { return functionApply( $toLocaleString, - TO_LOCALE_STRING_BUG ? arraySlice$1(aTypedArray$8(this)) : aTypedArray$8(this), + TO_LOCALE_STRING_BUG ? arraySlice$1(aTypedArray$6(this)) : aTypedArray$6(this), arraySlice$1(arguments) ); - }, FORCED$1); + }, FORCED$3); - var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod; + var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod; @@ -11006,11 +10242,11 @@ var doric = (function (exports) { var Uint8Array$1 = global_1.Uint8Array; var Uint8ArrayPrototype = Uint8Array$1 && Uint8Array$1.prototype || {}; var arrayToString = [].toString; - var join$4 = functionUncurryThis([].join); + var join$3 = functionUncurryThis([].join); if (fails(function () { arrayToString.call({}); })) { arrayToString = function toString() { - return join$4(this); + return join$3(this); }; } @@ -11018,11 +10254,11 @@ var doric = (function (exports) { // `%TypedArray%.prototype.toString` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring - exportTypedArrayMethod$8('toString', arrayToString, IS_NOT_ARRAY_METHOD); + exportTypedArrayMethod$6('toString', arrayToString, IS_NOT_ARRAY_METHOD); - var fromCharCode$2 = String.fromCharCode; - var charAt$7 = functionUncurryThis(''.charAt); - var exec$5 = functionUncurryThis(/./.exec); + var fromCharCode$1 = String.fromCharCode; + var charAt$5 = functionUncurryThis(''.charAt); + var exec$3 = functionUncurryThis(/./.exec); var stringSlice$3 = functionUncurryThis(''.slice); var hex2 = /^[\da-f]{2}$/i; @@ -11038,19 +10274,19 @@ var doric = (function (exports) { var index = 0; var chr, part; while (index < length) { - chr = charAt$7(str, index++); + chr = charAt$5(str, index++); if (chr === '%') { - if (charAt$7(str, index) === 'u') { + if (charAt$5(str, index) === 'u') { part = stringSlice$3(str, index + 1, index + 5); - if (exec$5(hex4, part)) { - result += fromCharCode$2(parseInt(part, 16)); + if (exec$3(hex4, part)) { + result += fromCharCode$1(parseInt(part, 16)); index += 5; continue; } } else { part = stringSlice$3(str, index, index + 2); - if (exec$5(hex2, part)) { - result += fromCharCode$2(parseInt(part, 16)); + if (exec$3(hex2, part)) { + result += fromCharCode$1(parseInt(part, 16)); index += 2; continue; } @@ -11070,7 +10306,7 @@ var doric = (function (exports) { - var setInternalState$b = internalState.set; + var setInternalState$a = internalState.set; var internalStateGetterFor = internalState.getterFor; var find$1 = arrayIteration.find; var findIndex = arrayIteration.findIndex; @@ -11118,7 +10354,7 @@ var doric = (function (exports) { getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { var Constructor = wrapper(function (that, iterable) { anInstance(that, Prototype); - setInternalState$b(that, { + setInternalState$a(that, { type: CONSTRUCTOR_NAME, id: id++, frozen: undefined @@ -11138,7 +10374,7 @@ var doric = (function (exports) { return that; }; - defineBuiltIns(Prototype, { + redefineAll(Prototype, { // `{ WeakMap, WeakSet }.prototype.delete(key)` methods // https://tc39.es/ecma262/#sec-weakmap.prototype.delete // https://tc39.es/ecma262/#sec-weakset.prototype.delete @@ -11161,7 +10397,7 @@ var doric = (function (exports) { } }); - defineBuiltIns(Prototype, IS_MAP ? { + redefineAll(Prototype, IS_MAP ? { // `WeakMap.prototype.get(key)` method // https://tc39.es/ecma262/#sec-weakmap.prototype.get get: function get(key) { @@ -11189,10 +10425,12 @@ var doric = (function (exports) { } }; - var enforceInternalState = internalState.enforce; + var enforceIternalState = internalState.enforce; var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1; + // eslint-disable-next-line es/no-object-isextensible -- safe + var isExtensible = Object.isExtensible; var InternalWeakMap; var wrapper = function (init) { @@ -11216,31 +10454,31 @@ var doric = (function (exports) { var nativeHas = functionUncurryThis(WeakMapPrototype.has); var nativeGet = functionUncurryThis(WeakMapPrototype.get); var nativeSet = functionUncurryThis(WeakMapPrototype.set); - defineBuiltIns(WeakMapPrototype, { + redefineAll(WeakMapPrototype, { 'delete': function (key) { - if (isObject(key) && !objectIsExtensible(key)) { - var state = enforceInternalState(this); + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } return nativeDelete(this, key) || state.frozen['delete'](key); } return nativeDelete(this, key); }, has: function has(key) { - if (isObject(key) && !objectIsExtensible(key)) { - var state = enforceInternalState(this); + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } return nativeHas(this, key) || state.frozen.has(key); } return nativeHas(this, key); }, get: function get(key) { - if (isObject(key) && !objectIsExtensible(key)) { - var state = enforceInternalState(this); + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); } return nativeGet(this, key); }, set: function set(key, value) { - if (isObject(key) && !objectIsExtensible(key)) { - var state = enforceInternalState(this); + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); } else { nativeSet(this, key, value); } @@ -11276,7 +10514,7 @@ var doric = (function (exports) { if (!AsyncIteratorPrototype) { AsyncIteratorPrototype = {}; } if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR$3])) { - defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR$3, function () { + redefine(AsyncIteratorPrototype, ASYNC_ITERATOR$3, function () { return this; }); } @@ -11285,9 +10523,8 @@ var doric = (function (exports) { var Promise$3 = getBuiltIn('Promise'); - var ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator'; - var setInternalState$a = internalState.set; - var getInternalState$7 = internalState.getterFor(ASYNC_FROM_SYNC_ITERATOR); + var setInternalState$9 = internalState.set; + var getInternalState$7 = internalState.get; var asyncFromSyncIteratorContinuation = function (result, resolve, reject) { var done = result.done; @@ -11297,14 +10534,13 @@ var doric = (function (exports) { }; var AsyncFromSyncIterator = function AsyncIterator(iterator) { - setInternalState$a(this, { - type: ASYNC_FROM_SYNC_ITERATOR, + setInternalState$9(this, { iterator: anObject(iterator), next: iterator.next }); }; - AsyncFromSyncIterator.prototype = defineBuiltIns(objectCreate(asyncIteratorPrototype), { + AsyncFromSyncIterator.prototype = redefineAll(objectCreate(asyncIteratorPrototype), { next: function next(arg) { var state = getInternalState$7(this); var hasArg = !!arguments.length; @@ -11357,7 +10593,10 @@ var doric = (function (exports) { - var createMethod = function (TYPE) { + var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; + var TypeError$e = global_1.TypeError; + + var createMethod$1 = function (TYPE) { var IS_TO_ARRAY = TYPE == 0; var IS_FOR_EACH = TYPE == 1; var IS_EVERY = TYPE == 2; @@ -11392,7 +10631,9 @@ var doric = (function (exports) { var loop = function () { try { - if (IS_TO_ARRAY && MAPPING) { doesNotExceedSafeInteger(index); } + if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) { + throw TypeError$e('The allowed number of iterations has been exceeded'); + } Promise.resolve(anObject(functionCall(next, iterator))).then(function (step) { try { if (anObject(step).done) { @@ -11431,11 +10672,11 @@ var doric = (function (exports) { }; var asyncIteratorIteration = { - toArray: createMethod(0), - forEach: createMethod(1), - every: createMethod(2), - some: createMethod(3), - find: createMethod(4) + toArray: createMethod$1(0), + forEach: createMethod$1(1), + every: createMethod$1(2), + some: createMethod$1(3), + find: createMethod$1(4) }; var toArray = asyncIteratorIteration.toArray; @@ -11465,7 +10706,7 @@ var doric = (function (exports) { // `Array.fromAsync` method // https://github.com/tc39/proposal-array-from-async - _export({ target: 'Array', stat: true, forced: true }, { + _export({ target: 'Array', stat: true }, { fromAsync: arrayFromAsync }); @@ -11476,7 +10717,7 @@ var doric = (function (exports) { // `Array.prototype.filterOut` method // https://github.com/tc39/proposal-array-filtering - _export({ target: 'Array', proto: true, forced: true }, { + _export({ target: 'Array', proto: true }, { filterOut: function filterOut(callbackfn /* , thisArg */) { return $filterReject$3(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } @@ -11489,7 +10730,7 @@ var doric = (function (exports) { // `Array.prototype.filterReject` method // https://github.com/tc39/proposal-array-filtering - _export({ target: 'Array', proto: true, forced: true }, { + _export({ target: 'Array', proto: true }, { filterReject: function filterReject(callbackfn /* , thisArg */) { return $filterReject$2(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } @@ -11497,10 +10738,66 @@ var doric = (function (exports) { addToUnscopables('filterReject'); - var $Array$4 = Array; - var push$c = functionUncurryThis([].push); + // `Array.prototype.{ findLast, findLastIndex }` methods implementation + var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE == 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = indexedObject(O); + var boundFunction = functionBindContext(callbackfn, that); + var index = lengthOfArrayLike(self); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) { switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; + }; - var arrayGroup = function ($this, callbackfn, that, specificConstructor) { + var arrayIterationFromLast = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) + }; + + var $findLast$1 = arrayIterationFromLast.findLast; + + + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + _export({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } + }); + + addToUnscopables('findLast'); + + var $findLastIndex$1 = arrayIterationFromLast.findLastIndex; + + + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + _export({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } + }); + + addToUnscopables('findLastIndex'); + + var Array$2 = global_1.Array; + var push$9 = functionUncurryThis([].push); + + var arrayGroupBy = function ($this, callbackfn, that, specificConstructor) { var O = toObject($this); var self = indexedObject(O); var boundFunction = functionBindContext(callbackfn, that); @@ -11513,96 +10810,29 @@ var doric = (function (exports) { key = toPropertyKey(boundFunction(value, index, O)); // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys // but since it's a `null` prototype object, we can safely use `in` - if (key in target) { push$c(target[key], value); } + if (key in target) { push$9(target[key], value); } else { target[key] = [value]; } } - // TODO: Remove this block from `core-js@4` if (specificConstructor) { Constructor = specificConstructor(O); - if (Constructor !== $Array$4) { + if (Constructor !== Array$2) { for (key in target) { target[key] = arrayFromConstructorAndList(Constructor, target[key]); } } } return target; }; - // `Array.prototype.group` method - // https://github.com/tc39/proposal-array-grouping - _export({ target: 'Array', proto: true }, { - group: function group(callbackfn /* , thisArg */) { - var thisArg = arguments.length > 1 ? arguments[1] : undefined; - return arrayGroup(this, callbackfn, thisArg); - } - }); - - addToUnscopables('group'); - - // TODO: Remove from `core-js@4` - - - - - // `Array.prototype.groupBy` method // https://github.com/tc39/proposal-array-grouping - // https://bugs.webkit.org/show_bug.cgi?id=236541 - _export({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, { + _export({ target: 'Array', proto: true }, { groupBy: function groupBy(callbackfn /* , thisArg */) { var thisArg = arguments.length > 1 ? arguments[1] : undefined; - return arrayGroup(this, callbackfn, thisArg); + return arrayGroupBy(this, callbackfn, thisArg, arraySpeciesConstructor); } }); addToUnscopables('groupBy'); - var Map$5 = getBuiltIn('Map'); - var MapPrototype$2 = Map$5.prototype; - var mapGet$1 = functionUncurryThis(MapPrototype$2.get); - var mapHas$2 = functionUncurryThis(MapPrototype$2.has); - var mapSet$2 = functionUncurryThis(MapPrototype$2.set); - var push$b = functionUncurryThis([].push); - - // `Array.prototype.groupToMap` method - // https://github.com/tc39/proposal-array-grouping - var arrayGroupToMap = function groupToMap(callbackfn /* , thisArg */) { - var O = toObject(this); - var self = indexedObject(O); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var map = new Map$5(); - var length = lengthOfArrayLike(self); - var index = 0; - var key, value; - for (;length > index; index++) { - value = self[index]; - key = boundFunction(value, index, O); - if (mapHas$2(map, key)) { push$b(mapGet$1(map, key), value); } - else { mapSet$2(map, key, [value]); } - } return map; - }; - - // TODO: Remove from `core-js@4` - - - - - - // `Array.prototype.groupByToMap` method - // https://github.com/tc39/proposal-array-grouping - // https://bugs.webkit.org/show_bug.cgi?id=236541 - _export({ target: 'Array', proto: true, name: 'groupToMap', forced: !arrayMethodIsStrict('groupByToMap') }, { - groupByToMap: arrayGroupToMap - }); - - addToUnscopables('groupByToMap'); - - // `Array.prototype.groupToMap` method - // https://github.com/tc39/proposal-array-grouping - _export({ target: 'Array', proto: true }, { - groupToMap: arrayGroupToMap - }); - - addToUnscopables('groupToMap'); - - // eslint-disable-next-line es-x/no-object-isfrozen -- safe + // eslint-disable-next-line es/no-object-isfrozen -- safe var isFrozen = Object.isFrozen; var isFrozenStringArray = function (array, allowUndefined) { @@ -11620,25 +10850,21 @@ var doric = (function (exports) { // `Array.isTemplateObject` method // https://github.com/tc39/proposal-array-is-template-object - _export({ target: 'Array', stat: true, sham: true, forced: true }, { + _export({ target: 'Array', stat: true }, { isTemplateObject: function isTemplateObject(value) { if (!isFrozenStringArray(value, true)) { return false; } var raw = value.raw; - return raw.length === value.length && isFrozenStringArray(raw, false); + if (raw.length !== value.length || !isFrozenStringArray(raw, false)) { return false; } + return true; } }); - // TODO: Remove from `core-js@4` - - - - - + var defineProperty$2 = objectDefineProperty.f; // `Array.prototype.lastIndex` getter // https://github.com/keithamus/proposal-array-last - if (descriptors) { - defineBuiltInAccessor(Array.prototype, 'lastIndex', { + if (descriptors && !('lastIndex' in [])) { + defineProperty$2(Array.prototype, 'lastIndex', { configurable: true, get: function lastIndex() { var O = toObject(this); @@ -11650,17 +10876,12 @@ var doric = (function (exports) { addToUnscopables('lastIndex'); } - // TODO: Remove from `core-js@4` - - - - - + var defineProperty$1 = objectDefineProperty.f; // `Array.prototype.lastIndex` accessor // https://github.com/keithamus/proposal-array-last - if (descriptors) { - defineBuiltInAccessor(Array.prototype, 'lastItem', { + if (descriptors && !('lastItem' in [])) { + defineProperty$1(Array.prototype, 'lastItem', { configurable: true, get: function lastItem() { var O = toObject(this); @@ -11677,95 +10898,12 @@ var doric = (function (exports) { addToUnscopables('lastItem'); } - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed - var arrayToReversed = function (O, C) { - var len = lengthOfArrayLike(O); - var A = new C(len); - var k = 0; - for (; k < len; k++) { A[k] = O[len - k - 1]; } - return A; - }; - - var $Array$3 = Array; - - // `Array.prototype.toReversed` method - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed - _export({ target: 'Array', proto: true }, { - toReversed: function toReversed() { - return arrayToReversed(toIndexedObject(this), $Array$3); - } - }); - - addToUnscopables('toReversed'); - - var $Array$2 = Array; - var sort$1 = functionUncurryThis(entryVirtual('Array').sort); - - // `Array.prototype.toSorted` method - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted - _export({ target: 'Array', proto: true }, { - toSorted: function toSorted(compareFn) { - if (compareFn !== undefined) { aCallable(compareFn); } - var O = toIndexedObject(this); - var A = arrayFromConstructorAndList($Array$2, O); - return sort$1(A, compareFn); - } - }); - - addToUnscopables('toSorted'); - - var max$1 = Math.max; - var min$1 = Math.min; - - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced - var arrayToSpliced = function (O, C, args) { - var start = args[0]; - var deleteCount = args[1]; - var len = lengthOfArrayLike(O); - var actualStart = toAbsoluteIndex(start, len); - var argumentsLength = args.length; - var k = 0; - var insertCount, actualDeleteCount, newLen, A; - if (argumentsLength === 0) { - insertCount = actualDeleteCount = 0; - } else if (argumentsLength === 1) { - insertCount = 0; - actualDeleteCount = len - actualStart; - } else { - insertCount = argumentsLength - 2; - actualDeleteCount = min$1(max$1(toIntegerOrInfinity(deleteCount), 0), len - actualStart); - } - newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); - A = new C(newLen); - - for (; k < actualStart; k++) { A[k] = O[k]; } - for (; k < actualStart + insertCount; k++) { A[k] = args[k - actualStart + 2]; } - for (; k < newLen; k++) { A[k] = O[k + actualDeleteCount - insertCount]; } - - return A; - }; - - var $Array$1 = Array; - - // `Array.prototype.toSpliced` method - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced - _export({ target: 'Array', proto: true, arity: 2 }, { - // eslint-disable-next-line no-unused-vars -- required for .length - toSpliced: function toSpliced(start, deleteCount /* , ...items */) { - return arrayToSpliced(toIndexedObject(this), $Array$1, arraySlice$1(arguments)); - } - }); - - addToUnscopables('toSpliced'); - - var Map$4 = getBuiltIn('Map'); - var MapPrototype$1 = Map$4.prototype; - var mapForEach = functionUncurryThis(MapPrototype$1.forEach); - var mapHas$1 = functionUncurryThis(MapPrototype$1.has); - var mapSet$1 = functionUncurryThis(MapPrototype$1.set); - var push$a = functionUncurryThis([].push); + var Map$3 = getBuiltIn('Map'); + var MapPrototype = Map$3.prototype; + var mapForEach = functionUncurryThis(MapPrototype.forEach); + var mapHas = functionUncurryThis(MapPrototype.has); + var mapSet = functionUncurryThis(MapPrototype.set); + var push$8 = functionUncurryThis([].push); // `Array.prototype.uniqueBy` method // https://github.com/tc39/proposal-array-unique @@ -11773,7 +10911,7 @@ var doric = (function (exports) { var that = toObject(this); var length = lengthOfArrayLike(that); var result = arraySpeciesCreate(that, 0); - var map = new Map$4(); + var map = new Map$3(); var resolverFunction = resolver != null ? aCallable(resolver) : function (value) { return value; }; @@ -11781,47 +10919,22 @@ var doric = (function (exports) { for (index = 0; index < length; index++) { item = that[index]; key = resolverFunction(item); - if (!mapHas$1(map, key)) { mapSet$1(map, key, item); } + if (!mapHas(map, key)) { mapSet(map, key, item); } } mapForEach(map, function (value) { - push$a(result, value); + push$8(result, value); }); return result; }; // `Array.prototype.uniqueBy` method // https://github.com/tc39/proposal-array-unique - _export({ target: 'Array', proto: true, forced: true }, { + _export({ target: 'Array', proto: true }, { uniqueBy: arrayUniqueBy$2 }); addToUnscopables('uniqueBy'); - var $RangeError$3 = RangeError; - - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with - var arrayWith = function (O, C, index, value) { - var len = lengthOfArrayLike(O); - var relativeIndex = toIntegerOrInfinity(index); - var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; - if (actualIndex >= len || actualIndex < 0) { throw $RangeError$3('Incorrect index'); } - var A = new C(len); - var k = 0; - for (; k < len; k++) { A[k] = k === actualIndex ? value : O[k]; } - return A; - }; - - var $Array = Array; - - // `Array.prototype.with` method - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with - _export({ target: 'Array', proto: true }, { - 'with': function (index, value) { - return arrayWith(toIndexedObject(this), $Array, index, value); - } - }); - // https://github.com/tc39/proposal-iterator-helpers @@ -11847,28 +10960,26 @@ var doric = (function (exports) { createNonEnumerableProperty(asyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); } - _export({ global: true, constructor: true, forced: isPure }, { + _export({ global: true, forced: isPure }, { AsyncIterator: AsyncIteratorConstructor }); var Promise$2 = getBuiltIn('Promise'); - var ASYNC_ITERATOR_PROXY = 'AsyncIteratorProxy'; - var setInternalState$9 = internalState.set; - var getInternalState$6 = internalState.getterFor(ASYNC_ITERATOR_PROXY); + var setInternalState$8 = internalState.set; + var getInternalState$6 = internalState.get; var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag'); var asyncIteratorCreateProxy = function (nextHandler, IS_ITERATOR) { var AsyncIteratorProxy = function AsyncIterator(state) { - state.type = ASYNC_ITERATOR_PROXY; state.next = aCallable(state.iterator.next); state.done = false; state.ignoreArgument = !IS_ITERATOR; - setInternalState$9(this, state); + setInternalState$8(this, state); }; - AsyncIteratorProxy.prototype = defineBuiltIns(objectCreate(asyncIteratorPrototype), { + AsyncIteratorProxy.prototype = redefineAll(objectCreate(asyncIteratorPrototype), { next: function next(arg) { var that = this; var hasArgument = !!arguments.length; @@ -11932,7 +11043,7 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { asIndexedPairs: function asIndexedPairs() { return new AsyncIteratorProxy$6({ iterator: anObject(this), @@ -11974,7 +11085,7 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { drop: function drop(limit) { return new AsyncIteratorProxy$5({ iterator: anObject(this), @@ -11987,7 +11098,7 @@ var doric = (function (exports) { var $every = asyncIteratorIteration.every; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { every: function every(fn) { return $every(this, fn); } @@ -12027,7 +11138,7 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { filter: function filter(filterer) { return new AsyncIteratorProxy$4({ iterator: anObject(this), @@ -12040,7 +11151,7 @@ var doric = (function (exports) { var $find = asyncIteratorIteration.find; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { find: function find(fn) { return $find(this, fn); } @@ -12100,7 +11211,7 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { flatMap: function flatMap(mapper) { return new AsyncIteratorProxy$3({ iterator: anObject(this), @@ -12115,7 +11226,7 @@ var doric = (function (exports) { var $forEach = asyncIteratorIteration.forEach; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { forEach: function forEach(fn) { return $forEach(this, fn); } @@ -12142,7 +11253,7 @@ var doric = (function (exports) { return anObject(functionApply(this.next, this.iterator, args)); }, true); - _export({ target: 'AsyncIterator', stat: true, forced: true }, { + _export({ target: 'AsyncIterator', stat: true }, { from: function from(O) { var object = toObject(O); var usingIterator = getMethod(object, ASYNC_ITERATOR); @@ -12181,7 +11292,7 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { map: function map(mapper) { return new AsyncIteratorProxy$1({ iterator: anObject(this), @@ -12197,10 +11308,11 @@ var doric = (function (exports) { - var Promise$1 = getBuiltIn('Promise'); - var $TypeError$b = TypeError; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + var Promise$1 = getBuiltIn('Promise'); + var TypeError$d = global_1.TypeError; + + _export({ target: 'AsyncIterator', proto: true, real: true }, { reduce: function reduce(reducer /* , initialValue */) { var iterator = anObject(this); var next = aCallable(iterator.next); @@ -12214,7 +11326,7 @@ var doric = (function (exports) { Promise$1.resolve(anObject(functionCall(next, iterator))).then(function (step) { try { if (anObject(step).done) { - noInitial ? reject($TypeError$b('Reduce of empty iterator with no initial value')) : resolve(accumulator); + noInitial ? reject(TypeError$d('Reduce of empty iterator with no initial value')) : resolve(accumulator); } else { var value = step.value; if (noInitial) { @@ -12242,7 +11354,7 @@ var doric = (function (exports) { var $some = asyncIteratorIteration.some; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { some: function some(fn) { return $some(this, fn); } @@ -12272,7 +11384,7 @@ var doric = (function (exports) { } return functionApply(this.next, iterator, args); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { take: function take(limit) { return new AsyncIteratorProxy({ iterator: anObject(this), @@ -12285,30 +11397,27 @@ var doric = (function (exports) { var $toArray = asyncIteratorIteration.toArray; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + _export({ target: 'AsyncIterator', proto: true, real: true }, { toArray: function toArray() { return $toArray(this, undefined, []); } }); - var defineProperties = objectDefineProperties.f; - - var INCORRECT_RANGE = 'Incorrect Number.range arguments'; var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator'; - var setInternalState$8 = internalState.set; + var setInternalState$7 = internalState.set; var getInternalState$5 = internalState.getterFor(NUMERIC_RANGE_ITERATOR); - var $RangeError$2 = RangeError; - var $TypeError$a = TypeError; + var RangeError$2 = global_1.RangeError; + var TypeError$c = global_1.TypeError; var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) { if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) { - throw new $TypeError$a(INCORRECT_RANGE); + throw new TypeError$c(INCORRECT_RANGE); } if (start === Infinity || start === -Infinity) { - throw new $RangeError$2(INCORRECT_RANGE); + throw new RangeError$2(INCORRECT_RANGE); } var ifIncrease = end > start; var inclusiveEnd = false; @@ -12321,20 +11430,20 @@ var doric = (function (exports) { } else if (typeof option == type) { step = option; } else { - throw new $TypeError$a(INCORRECT_RANGE); + throw new TypeError$c(INCORRECT_RANGE); } if (step == null) { step = ifIncrease ? one : -one; } if (typeof step != type) { - throw new $TypeError$a(INCORRECT_RANGE); + throw new TypeError$c(INCORRECT_RANGE); } if (step === Infinity || step === -Infinity || (step === zero && start !== end)) { - throw new $RangeError$2(INCORRECT_RANGE); + throw new RangeError$2(INCORRECT_RANGE); } // eslint-disable-next-line no-self-compare -- NaN check var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero); - setInternalState$8(this, { + setInternalState$7(this, { type: NUMERIC_RANGE_ITERATOR, start: start, end: end, @@ -12375,7 +11484,7 @@ var doric = (function (exports) { }; if (descriptors) { - defineProperties($RangeIterator.prototype, { + objectDefineProperties($RangeIterator.prototype, { start: getter(function () { return getInternalState$5(this).start; }), @@ -12393,14 +11502,14 @@ var doric = (function (exports) { var numericRangeIterator = $RangeIterator; - /* eslint-disable es-x/no-bigint -- safe */ + /* eslint-disable es/no-bigint -- safe */ // `BigInt.range` method // https://github.com/tc39/proposal-Number.range if (typeof BigInt == 'function') { - _export({ target: 'BigInt', stat: true, forced: true }, { + _export({ target: 'BigInt', stat: true }, { range: function range(start, end, option) { return new numericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); } @@ -12414,9 +11523,10 @@ var doric = (function (exports) { - var $Object$1 = Object; - var $TypeError$9 = TypeError; - var Map$3 = getBuiltIn('Map'); + + var Object$2 = global_1.Object; + var TypeError$b = global_1.TypeError; + var Map$2 = getBuiltIn('Map'); var WeakMap$2 = getBuiltIn('WeakMap'); var Node = function () { @@ -12435,7 +11545,7 @@ var doric = (function (exports) { Node.prototype.next = function (i, it, IS_OBJECT) { var store = IS_OBJECT ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap$2()) - : this.primitives || (this.primitives = new Map$3()); + : this.primitives || (this.primitives = new Map$2()); var entry = store.get(it); if (!entry) { store.set(it, entry = new Node()); } return entry; @@ -12453,13 +11563,13 @@ var doric = (function (exports) { for (i = 0; i < length; i++) { if (isObject(it = arguments$1[i])) { active = active.next(i, it, true); } } - if (this === $Object$1 && active === root) { throw $TypeError$9('Composite keys must contain a non-primitive component'); } + if (this === Object$2 && active === root) { throw TypeError$b('Composite keys must contain a non-primitive component'); } for (i = 0; i < length; i++) { if (!isObject(it = arguments$1[i])) { active = active.next(i, it, false); } } return active; }; - var $Object = Object; + var Object$1 = global_1.Object; var initializer = function () { var freeze = getBuiltIn('Object', 'freeze'); @@ -12467,57 +11577,20 @@ var doric = (function (exports) { }; // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey - _export({ global: true, forced: true }, { + _export({ global: true }, { compositeKey: function compositeKey$1() { - return functionApply(compositeKey, $Object, arguments).get('object', initializer); + return functionApply(compositeKey, Object$1, arguments).get('object', initializer); } }); // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey - _export({ global: true, forced: true }, { + _export({ global: true }, { compositeSymbol: function compositeSymbol() { if (arguments.length == 1 && typeof arguments[0] == 'string') { return getBuiltIn('Symbol')['for'](arguments[0]); } return functionApply(compositeKey, null, arguments).get('symbol', getBuiltIn('Symbol')); } }); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; - var classRegExp = /^\s*class\b/; - var exec$4 = functionUncurryThis(classRegExp.exec); - - var isClassConstructor = function (argument) { - try { - // `Function#toString` throws on some built-it function in some legacy engines - // (for example, `DOMQuad` and similar in FF41-) - if (!descriptors || !exec$4(classRegExp, inspectSource(argument))) { return false; } - } catch (error) { /* empty */ } - var prototype = getOwnPropertyDescriptor$1(argument, 'prototype'); - return !!prototype && hasOwnProperty_1(prototype, 'writable') && !prototype.writable; - }; - - // `Function.isCallable` method - // https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md - _export({ target: 'Function', stat: true, sham: true, forced: true }, { - isCallable: function isCallable$1(argument) { - return isCallable(argument) && !isClassConstructor(argument); - } - }); - - // `Function.isConstructor` method - // https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md - _export({ target: 'Function', stat: true, forced: true }, { - isConstructor: isConstructor - }); - - // `Function.prototype.unThis` method - // https://github.com/js-choi/proposal-function-un-this - _export({ target: 'Function', proto: true, forced: true }, { - unThis: function unThis() { - return functionUncurryThis(aCallable(this)); - } - }); - // https://github.com/tc39/proposal-iterator-helpers @@ -12535,7 +11608,7 @@ var doric = (function (exports) { var NativeIterator = global_1.Iterator; // FF56- have non-standard global helper `Iterator` - var FORCED = !isCallable(NativeIterator) + var FORCED$2 = !isCallable(NativeIterator) || NativeIterator.prototype !== IteratorPrototype$2 // FF44- non-standard `Iterator` passes previous tests || !fails(function () { NativeIterator({}); }); @@ -12548,34 +11621,32 @@ var doric = (function (exports) { createNonEnumerableProperty(IteratorPrototype$2, TO_STRING_TAG$2, 'Iterator'); } - if (FORCED || !hasOwnProperty_1(IteratorPrototype$2, 'constructor') || IteratorPrototype$2.constructor === Object) { + if (FORCED$2 || !hasOwnProperty_1(IteratorPrototype$2, 'constructor') || IteratorPrototype$2.constructor === Object) { createNonEnumerableProperty(IteratorPrototype$2, 'constructor', IteratorConstructor); } IteratorConstructor.prototype = IteratorPrototype$2; - _export({ global: true, constructor: true, forced: FORCED }, { + _export({ global: true, forced: FORCED$2 }, { Iterator: IteratorConstructor }); var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; - var ITERATOR_PROXY = 'IteratorProxy'; - var setInternalState$7 = internalState.set; - var getInternalState$4 = internalState.getterFor(ITERATOR_PROXY); + var setInternalState$6 = internalState.set; + var getInternalState$4 = internalState.get; var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); var iteratorCreateProxy = function (nextHandler, IS_ITERATOR) { var IteratorProxy = function Iterator(state) { - state.type = ITERATOR_PROXY; state.next = aCallable(state.iterator.next); state.done = false; state.ignoreArg = !IS_ITERATOR; - setInternalState$7(this, state); + setInternalState$6(this, state); }; - IteratorProxy.prototype = defineBuiltIns(objectCreate(IteratorPrototype$1), { + IteratorProxy.prototype = redefineAll(objectCreate(IteratorPrototype$1), { next: function next(arg) { var state = getInternalState$4(this); var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined]; @@ -12619,7 +11690,7 @@ var doric = (function (exports) { if (!done) { return [this.index++, result.value]; } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { asIndexedPairs: function asIndexedPairs() { return new IteratorProxy$6({ iterator: anObject(this), @@ -12651,7 +11722,7 @@ var doric = (function (exports) { if (!done) { return result.value; } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { drop: function drop(limit) { return new IteratorProxy$5({ iterator: anObject(this), @@ -12666,7 +11737,7 @@ var doric = (function (exports) { - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { every: function every(fn) { anObject(this); aCallable(fn); @@ -12698,7 +11769,7 @@ var doric = (function (exports) { } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { filter: function filter(filterer) { return new IteratorProxy$4({ iterator: anObject(this), @@ -12713,7 +11784,7 @@ var doric = (function (exports) { - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { find: function find(fn) { anObject(this); aCallable(fn); @@ -12732,7 +11803,8 @@ var doric = (function (exports) { - var $TypeError$8 = TypeError; + + var TypeError$a = global_1.TypeError; var IteratorProxy$3 = iteratorCreateProxy(function () { var iterator = this.iterator; @@ -12755,7 +11827,7 @@ var doric = (function (exports) { iteratorMethod = getIteratorMethod(mapped); if (!iteratorMethod) { - throw $TypeError$8('.flatMap callback should return an iterable object'); + throw TypeError$a('.flatMap callback should return an iterable object'); } this.innerIterator = innerIterator = anObject(functionCall(iteratorMethod, mapped)); @@ -12766,7 +11838,7 @@ var doric = (function (exports) { } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { flatMap: function flatMap(mapper) { return new IteratorProxy$3({ iterator: anObject(this), @@ -12782,7 +11854,7 @@ var doric = (function (exports) { - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { forEach: function forEach(fn) { iterate(anObject(this), fn, { IS_ITERATOR: true }); } @@ -12805,7 +11877,7 @@ var doric = (function (exports) { if (!done) { return result.value; } }, true); - _export({ target: 'Iterator', stat: true, forced: true }, { + _export({ target: 'Iterator', stat: true }, { from: function from(O) { var object = toObject(O); var usingIterator = getIteratorMethod(object); @@ -12834,7 +11906,7 @@ var doric = (function (exports) { if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, result.value); } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { map: function map(mapper) { return new IteratorProxy$1({ iterator: anObject(this), @@ -12849,9 +11921,10 @@ var doric = (function (exports) { - var $TypeError$7 = TypeError; - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + var TypeError$9 = global_1.TypeError; + + _export({ target: 'Iterator', proto: true, real: true }, { reduce: function reduce(reducer /* , initialValue */) { anObject(this); aCallable(reducer); @@ -12865,7 +11938,7 @@ var doric = (function (exports) { accumulator = reducer(accumulator, value); } }, { IS_ITERATOR: true }); - if (noInitial) { throw $TypeError$7('Reduce of empty iterator with no initial value'); } + if (noInitial) { throw TypeError$9('Reduce of empty iterator with no initial value'); } return accumulator; } }); @@ -12876,7 +11949,7 @@ var doric = (function (exports) { - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { some: function some(fn) { anObject(this); aCallable(fn); @@ -12905,7 +11978,7 @@ var doric = (function (exports) { if (!done) { return result.value; } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { take: function take(limit) { return new IteratorProxy({ iterator: anObject(this), @@ -12919,26 +11992,16 @@ var doric = (function (exports) { - var push$9 = [].push; + var push$7 = [].push; - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { toArray: function toArray() { var result = []; - iterate(anObject(this), push$9, { that: result, IS_ITERATOR: true }); + iterate(anObject(this), push$7, { that: result, IS_ITERATOR: true }); return result; } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - toAsync: function toAsync() { - return new asyncFromSyncIterator(this); - } - }); - // https://github.com/tc39/collection-methods var collectionDeleteAll = function deleteAll(/* ...elements */) { var arguments$1 = arguments; @@ -12956,7 +12019,7 @@ var doric = (function (exports) { // `Map.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { deleteAll: collectionDeleteAll }); @@ -12976,18 +12039,18 @@ var doric = (function (exports) { // `Map.prototype.emplace` method // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { emplace: mapEmplace }); var getMapIterator = function (it) { - // eslint-disable-next-line es-x/no-map -- safe + // eslint-disable-next-line es/no-map -- safe return functionCall(Map.prototype.entries, it); }; // `Map.prototype.every` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { every: function every(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13000,7 +12063,7 @@ var doric = (function (exports) { // `Map.prototype.filter` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { filter: function filter(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13016,7 +12079,7 @@ var doric = (function (exports) { // `Map.prototype.find` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { find: function find(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13029,7 +12092,7 @@ var doric = (function (exports) { // `Map.prototype.findKey` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { findKey: function findKey(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13047,7 +12110,7 @@ var doric = (function (exports) { - var push$8 = [].push; + var push$6 = [].push; var collectionFrom = function from(source /* , mapFn, thisArg */) { var length = arguments.length; @@ -13062,25 +12125,25 @@ var doric = (function (exports) { n = 0; boundFunction = functionBindContext(mapFn, length > 2 ? arguments[2] : undefined); iterate(source, function (nextItem) { - functionCall(push$8, array, boundFunction(nextItem, n++)); + functionCall(push$6, array, boundFunction(nextItem, n++)); }); } else { - iterate(source, push$8, { that: array }); + iterate(source, push$6, { that: array }); } return new this(array); }; // `Map.from` method // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from - _export({ target: 'Map', stat: true, forced: true }, { + _export({ target: 'Map', stat: true }, { from: collectionFrom }); - var push$7 = functionUncurryThis([].push); + var push$5 = functionUncurryThis([].push); // `Map.groupBy` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', stat: true, forced: true }, { + _export({ target: 'Map', stat: true }, { groupBy: function groupBy(iterable, keyDerivative) { aCallable(keyDerivative); var iterator = getIterator(iterable); @@ -13091,7 +12154,7 @@ var doric = (function (exports) { iterate(iterator, function (element) { var derivedKey = keyDerivative(element); if (!functionCall(has, newMap, derivedKey)) { functionCall(set, newMap, derivedKey, [element]); } - else { push$7(functionCall(get, newMap, derivedKey), element); } + else { push$5(functionCall(get, newMap, derivedKey), element); } }, { IS_ITERATOR: true }); return newMap; } @@ -13106,7 +12169,7 @@ var doric = (function (exports) { // `Map.prototype.includes` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { includes: function includes(searchElement) { return iterate(getMapIterator(anObject(this)), function (key, value, stop) { if (sameValueZero(value, searchElement)) { return stop(); } @@ -13116,7 +12179,7 @@ var doric = (function (exports) { // `Map.keyBy` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', stat: true, forced: true }, { + _export({ target: 'Map', stat: true }, { keyBy: function keyBy(iterable, keyDerivative) { var newMap = new this(); aCallable(keyDerivative); @@ -13130,7 +12193,7 @@ var doric = (function (exports) { // `Map.prototype.keyOf` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { keyOf: function keyOf(searchElement) { return iterate(getMapIterator(anObject(this)), function (key, value, stop) { if (value === searchElement) { return stop(key); } @@ -13140,7 +12203,7 @@ var doric = (function (exports) { // `Map.prototype.mapKeys` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { mapKeys: function mapKeys(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13156,7 +12219,7 @@ var doric = (function (exports) { // `Map.prototype.mapValues` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { mapValues: function mapValues(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13172,9 +12235,9 @@ var doric = (function (exports) { // `Map.prototype.merge` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { // eslint-disable-next-line no-unused-vars -- required for `.length` - merge: function merge(iterable /* ...iterables */) { + merge: function merge(iterable /* ...iterbles */) { var arguments$1 = arguments; var map = anObject(this); @@ -13195,15 +12258,15 @@ var doric = (function (exports) { // `Map.of` method // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of - _export({ target: 'Map', stat: true, forced: true }, { + _export({ target: 'Map', stat: true }, { of: collectionOf }); - var $TypeError$6 = TypeError; + var TypeError$8 = global_1.TypeError; // `Map.prototype.reduce` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { reduce: function reduce(callbackfn /* , initialValue */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13218,14 +12281,14 @@ var doric = (function (exports) { accumulator = callbackfn(accumulator, value, key, map); } }, { AS_ENTRIES: true, IS_ITERATOR: true }); - if (noInitial) { throw $TypeError$6('Reduce of empty map with no initial value'); } + if (noInitial) { throw TypeError$8('Reduce of empty map with no initial value'); } return accumulator; } }); // `Set.prototype.some` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { some: function some(callbackfn /* , thisArg */) { var map = anObject(this); var iterator = getMapIterator(map); @@ -13236,11 +12299,11 @@ var doric = (function (exports) { } }); - var $TypeError$5 = TypeError; + var TypeError$7 = global_1.TypeError; // `Set.prototype.update` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { update: function update(key, callback /* , thunk */) { var map = anObject(this); var get = aCallable(map.get); @@ -13250,7 +12313,7 @@ var doric = (function (exports) { aCallable(callback); var isPresentInMap = functionCall(has, map, key); if (!isPresentInMap && length < 3) { - throw $TypeError$5('Updating absent value'); + throw TypeError$7('Updating absent value'); } var value = isPresentInMap ? functionCall(get, map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map); functionCall(set, map, key, callback(value, key, map)); @@ -13258,7 +12321,7 @@ var doric = (function (exports) { } }); - var $TypeError$4 = TypeError; + var TypeError$6 = global_1.TypeError; // `Map.prototype.upsert` method // https://github.com/thumbsupep/proposal-upsert @@ -13270,7 +12333,7 @@ var doric = (function (exports) { var insertFn = arguments.length > 2 ? arguments[2] : undefined; var value; if (!isCallable(updateFn) && !isCallable(insertFn)) { - throw $TypeError$4('At least one callback required'); + throw TypeError$6('At least one callback required'); } if (functionCall(has, map, key)) { value = functionCall(get, map, key); @@ -13288,9 +12351,10 @@ var doric = (function (exports) { + // `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`) // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, name: 'upsert', forced: true }, { + _export({ target: 'Map', proto: true, real: true, name: 'upsert', forced: isPure }, { updateOrInsert: mapUpsert }); @@ -13298,9 +12362,10 @@ var doric = (function (exports) { + // `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`) // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, forced: true }, { + _export({ target: 'Map', proto: true, real: true, forced: isPure }, { upsert: mapUpsert }); @@ -13309,27 +12374,25 @@ var doric = (function (exports) { // `Math.clamp` method // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { clamp: function clamp(x, lower, upper) { return min(upper, max(lower, x)); } }); - var DEG_PER_RAD$1 = Math.PI / 180; - // `Math.DEG_PER_RAD` constant // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true, forced: Math.DEG_PER_RAD !== DEG_PER_RAD$1 }, { - DEG_PER_RAD: DEG_PER_RAD$1 + _export({ target: 'Math', stat: true }, { + DEG_PER_RAD: Math.PI / 180 }); - var RAD_PER_DEG$1 = 180 / Math.PI; + var RAD_PER_DEG = 180 / Math.PI; // `Math.degrees` method // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { degrees: function degrees(radians) { - return radians * RAD_PER_DEG$1; + return radians * RAD_PER_DEG; } }); @@ -13349,7 +12412,7 @@ var doric = (function (exports) { // `Math.fscale` method // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { return mathFround(mathScale(x, inLow, inHigh, outLow, outHigh)); } @@ -13358,7 +12421,7 @@ var doric = (function (exports) { // `Math.iaddh` method // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { iaddh: function iaddh(x0, x1, y0, y1) { var $x0 = x0 >>> 0; var $x1 = x1 >>> 0; @@ -13370,7 +12433,7 @@ var doric = (function (exports) { // `Math.imulh` method // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { imulh: function imulh(u, v) { var UINT16 = 0xFFFF; var $u = +u; @@ -13387,7 +12450,7 @@ var doric = (function (exports) { // `Math.isubh` method // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { isubh: function isubh(x0, x1, y0, y1) { var $x0 = x0 >>> 0; var $x1 = x1 >>> 0; @@ -13396,19 +12459,17 @@ var doric = (function (exports) { } }); - var RAD_PER_DEG = 180 / Math.PI; - // `Math.RAD_PER_DEG` constant // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true, forced: Math.RAD_PER_DEG !== RAD_PER_DEG }, { - RAD_PER_DEG: RAD_PER_DEG + _export({ target: 'Math', stat: true }, { + RAD_PER_DEG: 180 / Math.PI }); var DEG_PER_RAD = Math.PI / 180; // `Math.radians` method // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { radians: function radians(degrees) { return degrees * DEG_PER_RAD; } @@ -13416,19 +12477,19 @@ var doric = (function (exports) { // `Math.scale` method // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { scale: mathScale }); var SEEDED_RANDOM = 'Seeded Random'; var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator'; var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; - var setInternalState$6 = internalState.set; + var setInternalState$5 = internalState.set; var getInternalState$3 = internalState.getterFor(SEEDED_RANDOM_GENERATOR); - var $TypeError$3 = TypeError; + var TypeError$5 = global_1.TypeError; var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { - setInternalState$6(this, { + setInternalState$5(this, { type: SEEDED_RANDOM_GENERATOR, seed: seed % 2147483647 }); @@ -13444,25 +12505,23 @@ var doric = (function (exports) { _export({ target: 'Math', stat: true, forced: true }, { seededPRNG: function seededPRNG(it) { var seed = anObject(it).seed; - if (!numberIsFinite(seed)) { throw $TypeError$3(SEED_TYPE_ERROR); } + if (!numberIsFinite(seed)) { throw TypeError$5(SEED_TYPE_ERROR); } return new $SeededRandomGenerator(seed); } }); // `Math.signbit` method // https://github.com/tc39/proposal-Math.signbit - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { signbit: function signbit(x) { - var n = +x; - // eslint-disable-next-line no-self-compare -- NaN check - return n == n && n == 0 ? 1 / n == -Infinity : n < 0; + return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0; } }); // `Math.umulh` method // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true, forced: true }, { + _export({ target: 'Math', stat: true }, { umulh: function umulh(u, v) { var UINT16 = 0xFFFF; var $u = +u; @@ -13478,32 +12537,32 @@ var doric = (function (exports) { var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; var INVALID_RADIX = 'Invalid radix'; - var $RangeError$1 = RangeError; - var $SyntaxError = SyntaxError; - var $TypeError$2 = TypeError; + var RangeError$1 = global_1.RangeError; + var SyntaxError = global_1.SyntaxError; + var TypeError$4 = global_1.TypeError; var valid = /^[\da-z]+$/; - var charAt$6 = functionUncurryThis(''.charAt); - var exec$3 = functionUncurryThis(valid.exec); + var charAt$4 = functionUncurryThis(''.charAt); + var exec$2 = functionUncurryThis(valid.exec); var numberToString$1 = functionUncurryThis(1.0.toString); var stringSlice$2 = functionUncurryThis(''.slice); // `Number.fromString` method // https://github.com/tc39/proposal-number-fromstring - _export({ target: 'Number', stat: true, forced: true }, { + _export({ target: 'Number', stat: true }, { fromString: function fromString(string, radix) { var sign = 1; var R, mathNum; - if (typeof string != 'string') { throw $TypeError$2(INVALID_NUMBER_REPRESENTATION); } - if (!string.length) { throw $SyntaxError(INVALID_NUMBER_REPRESENTATION); } - if (charAt$6(string, 0) == '-') { + if (typeof string != 'string') { throw TypeError$4(INVALID_NUMBER_REPRESENTATION); } + if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); } + if (charAt$4(string, 0) == '-') { sign = -1; string = stringSlice$2(string, 1); - if (!string.length) { throw $SyntaxError(INVALID_NUMBER_REPRESENTATION); } + if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); } } R = radix === undefined ? 10 : toIntegerOrInfinity(radix); - if (R < 2 || R > 36) { throw $RangeError$1(INVALID_RADIX); } - if (!exec$3(valid, string) || numberToString$1(mathNum = numberParseInt(string, R), R) !== string) { - throw $SyntaxError(INVALID_NUMBER_REPRESENTATION); + if (R < 2 || R > 36) { throw RangeError$1(INVALID_RADIX); } + if (!exec$2(valid, string) || numberToString$1(mathNum = numberParseInt(string, R), R) !== string) { + throw SyntaxError(INVALID_NUMBER_REPRESENTATION); } return sign * mathNum; } @@ -13511,23 +12570,23 @@ var doric = (function (exports) { // `Number.range` method // https://github.com/tc39/proposal-Number.range - _export({ target: 'Number', stat: true, forced: true }, { + _export({ target: 'Number', stat: true }, { range: function range(start, end, option) { return new numericRangeIterator(start, end, option, 'number', 0, 1); } }); var OBJECT_ITERATOR = 'Object Iterator'; - var setInternalState$5 = internalState.set; + var setInternalState$4 = internalState.set; var getInternalState$2 = internalState.getterFor(OBJECT_ITERATOR); var objectIterator = createIteratorConstructor(function ObjectIterator(source, mode) { var object = toObject(source); - setInternalState$5(this, { + setInternalState$4(this, { type: OBJECT_ITERATOR, mode: mode, object: object, - keys: objectKeys$1(object), + keys: objectKeys(object), index: 0 }); }, 'Object', function next() { @@ -13548,52 +12607,30 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - // `Object.iterateEntries` method // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true, forced: true }, { + _export({ target: 'Object', stat: true }, { iterateEntries: function iterateEntries(object) { return new objectIterator(object, 'entries'); } }); - // TODO: Remove from `core-js@4` - - - // `Object.iterateKeys` method // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true, forced: true }, { + _export({ target: 'Object', stat: true }, { iterateKeys: function iterateKeys(object) { return new objectIterator(object, 'keys'); } }); - // TODO: Remove from `core-js@4` - - - // `Object.iterateValues` method // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true, forced: true }, { + _export({ target: 'Object', stat: true }, { iterateValues: function iterateValues(object) { return new objectIterator(object, 'values'); } }); - var $$OBSERVABLE$2 = wellKnownSymbol('observable'); - var NativeObservable = global_1.Observable; - var NativeObservablePrototype = NativeObservable && NativeObservable.prototype; - - var observableForced = !isCallable(NativeObservable) - || !isCallable(NativeObservable.from) - || !isCallable(NativeObservable.of) - || !isCallable(NativeObservablePrototype.subscribe) - || !isCallable(NativeObservablePrototype[$$OBSERVABLE$2]); - // https://github.com/tc39/proposal-observable @@ -13606,6 +12643,7 @@ var doric = (function (exports) { + var defineProperty = objectDefineProperty.f; @@ -13613,50 +12651,44 @@ var doric = (function (exports) { - var $$OBSERVABLE$1 = wellKnownSymbol('observable'); - var OBSERVABLE = 'Observable'; - var SUBSCRIPTION = 'Subscription'; - var SUBSCRIPTION_OBSERVER = 'SubscriptionObserver'; - var getterFor$1 = internalState.getterFor; - var setInternalState$4 = internalState.set; - var getObservableInternalState = getterFor$1(OBSERVABLE); - var getSubscriptionInternalState = getterFor$1(SUBSCRIPTION); - var getSubscriptionObserverInternalState = getterFor$1(SUBSCRIPTION_OBSERVER); - var SubscriptionState = function (observer) { - this.observer = anObject(observer); - this.cleanup = undefined; - this.subscriptionObserver = undefined; - }; - SubscriptionState.prototype = { - type: SUBSCRIPTION, - clean: function () { - var cleanup = this.cleanup; - if (cleanup) { - this.cleanup = undefined; - try { - cleanup(); - } catch (error) { - hostReportErrors(error); - } + var OBSERVABLE = wellKnownSymbol('observable'); + var getInternalState$1 = internalState.get; + var setInternalState$3 = internalState.set; + var Array$1 = global_1.Array; + + var cleanupSubscription = function (subscriptionState) { + var cleanup = subscriptionState.cleanup; + if (cleanup) { + subscriptionState.cleanup = undefined; + try { + cleanup(); + } catch (error) { + hostReportErrors(error); } - }, - close: function () { - if (!descriptors) { - var subscription = this.facade; - var subscriptionObserver = this.subscriptionObserver; - subscription.closed = true; - if (subscriptionObserver) { subscriptionObserver.closed = true; } - } this.observer = undefined; - }, - isClosed: function () { - return this.observer === undefined; } }; + var subscriptionClosed = function (subscriptionState) { + return subscriptionState.observer === undefined; + }; + + var close = function (subscriptionState) { + var subscription = subscriptionState.facade; + if (!descriptors) { + subscription.closed = true; + var subscriptionObserver = subscriptionState.subscriptionObserver; + if (subscriptionObserver) { subscriptionObserver.closed = true; } + } subscriptionState.observer = undefined; + }; + var Subscription = function (observer, subscriber) { - var subscriptionState = setInternalState$4(this, new SubscriptionState(observer)); + var subscriptionState = setInternalState$3(this, { + cleanup: undefined, + observer: anObject(observer), + subscriptionObserver: undefined + }); var start; if (!descriptors) { this.closed = false; } try { @@ -13664,8 +12696,8 @@ var doric = (function (exports) { } catch (error) { hostReportErrors(error); } - if (subscriptionState.isClosed()) { return; } - var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState); + if (subscriptionClosed(subscriptionState)) { return; } + var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this); try { var cleanup = subscriber(subscriptionObserver); var subscription = cleanup; @@ -13675,38 +12707,35 @@ var doric = (function (exports) { } catch (error$1) { subscriptionObserver.error(error$1); return; - } if (subscriptionState.isClosed()) { subscriptionState.clean(); } + } if (subscriptionClosed(subscriptionState)) { cleanupSubscription(subscriptionState); } }; - Subscription.prototype = defineBuiltIns({}, { + Subscription.prototype = redefineAll({}, { unsubscribe: function unsubscribe() { - var subscriptionState = getSubscriptionInternalState(this); - if (!subscriptionState.isClosed()) { - subscriptionState.close(); - subscriptionState.clean(); + var subscriptionState = getInternalState$1(this); + if (!subscriptionClosed(subscriptionState)) { + close(subscriptionState); + cleanupSubscription(subscriptionState); } } }); - if (descriptors) { defineBuiltInAccessor(Subscription.prototype, 'closed', { + if (descriptors) { defineProperty(Subscription.prototype, 'closed', { configurable: true, - get: function closed() { - return getSubscriptionInternalState(this).isClosed(); + get: function () { + return subscriptionClosed(getInternalState$1(this)); } }); } - var SubscriptionObserver = function (subscriptionState) { - setInternalState$4(this, { - type: SUBSCRIPTION_OBSERVER, - subscriptionState: subscriptionState - }); + var SubscriptionObserver = function (subscription) { + setInternalState$3(this, { subscription: subscription }); if (!descriptors) { this.closed = false; } }; - SubscriptionObserver.prototype = defineBuiltIns({}, { + SubscriptionObserver.prototype = redefineAll({}, { next: function next(value) { - var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; - if (!subscriptionState.isClosed()) { + var subscriptionState = getInternalState$1(getInternalState$1(this).subscription); + if (!subscriptionClosed(subscriptionState)) { var observer = subscriptionState.observer; try { var nextMethod = getMethod(observer, 'next'); @@ -13717,78 +12746,63 @@ var doric = (function (exports) { } }, error: function error(value) { - var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; - if (!subscriptionState.isClosed()) { + var subscriptionState = getInternalState$1(getInternalState$1(this).subscription); + if (!subscriptionClosed(subscriptionState)) { var observer = subscriptionState.observer; - subscriptionState.close(); + close(subscriptionState); try { var errorMethod = getMethod(observer, 'error'); if (errorMethod) { functionCall(errorMethod, observer, value); } else { hostReportErrors(value); } } catch (err) { hostReportErrors(err); - } subscriptionState.clean(); + } cleanupSubscription(subscriptionState); } }, complete: function complete() { - var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState; - if (!subscriptionState.isClosed()) { + var subscriptionState = getInternalState$1(getInternalState$1(this).subscription); + if (!subscriptionClosed(subscriptionState)) { var observer = subscriptionState.observer; - subscriptionState.close(); + close(subscriptionState); try { var completeMethod = getMethod(observer, 'complete'); if (completeMethod) { functionCall(completeMethod, observer); } } catch (error) { hostReportErrors(error); - } subscriptionState.clean(); + } cleanupSubscription(subscriptionState); } } }); - if (descriptors) { defineBuiltInAccessor(SubscriptionObserver.prototype, 'closed', { + if (descriptors) { defineProperty(SubscriptionObserver.prototype, 'closed', { configurable: true, - get: function closed() { - return getSubscriptionObserverInternalState(this).subscriptionState.isClosed(); + get: function () { + return subscriptionClosed(getInternalState$1(getInternalState$1(this).subscription)); } }); } var $Observable = function Observable(subscriber) { anInstance(this, ObservablePrototype); - setInternalState$4(this, { - type: OBSERVABLE, - subscriber: aCallable(subscriber) - }); + setInternalState$3(this, { subscriber: aCallable(subscriber) }); }; var ObservablePrototype = $Observable.prototype; - defineBuiltIns(ObservablePrototype, { + redefineAll(ObservablePrototype, { subscribe: function subscribe(observer) { var length = arguments.length; return new Subscription(isCallable(observer) ? { next: observer, error: length > 1 ? arguments[1] : undefined, complete: length > 2 ? arguments[2] : undefined - } : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber); + } : isObject(observer) ? observer : {}, getInternalState$1(this).subscriber); } }); - defineBuiltIn(ObservablePrototype, $$OBSERVABLE$1, function () { return this; }); - - _export({ global: true, constructor: true, forced: observableForced }, { - Observable: $Observable - }); - - setSpecies(OBSERVABLE); - - var $$OBSERVABLE = wellKnownSymbol('observable'); - - // `Observable.from` method - // https://github.com/tc39/proposal-observable - _export({ target: 'Observable', stat: true, forced: observableForced }, { + redefineAll($Observable, { from: function from(x) { - var C = isConstructor(this) ? this : getBuiltIn('Observable'); - var observableMethod = getMethod(anObject(x), $$OBSERVABLE); + var C = isConstructor(this) ? this : $Observable; + var observableMethod = getMethod(anObject(x), OBSERVABLE); if (observableMethod) { var observable = anObject(functionCall(observableMethod, x)); return observable.constructor === C ? observable : new C(function (observer) { @@ -13803,18 +12817,11 @@ var doric = (function (exports) { }, { IS_ITERATOR: true, INTERRUPTED: true }); observer.complete(); }); - } - }); - - var Array$1 = getBuiltIn('Array'); - - // `Observable.of` method - // https://github.com/tc39/proposal-observable - _export({ target: 'Observable', stat: true, forced: observableForced }, { + }, of: function of() { var arguments$1 = arguments; - var C = isConstructor(this) ? this : getBuiltIn('Observable'); + var C = isConstructor(this) ? this : $Observable; var length = arguments.length; var items = Array$1(length); var index = 0; @@ -13828,14 +12835,17 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - + redefine(ObservablePrototype, OBSERVABLE, function () { return this; }); + _export({ global: true }, { + Observable: $Observable + }); + setSpecies('Observable'); // `Promise.try` method // https://github.com/tc39/proposal-promise-try - _export({ target: 'Promise', stat: true, forced: true }, { + _export({ target: 'Promise', stat: true }, { 'try': function (callbackfn) { var promiseCapability = newPromiseCapability$1.f(this); var result = perform(callbackfn); @@ -13851,9 +12861,9 @@ var doric = (function (exports) { - var Map$2 = getBuiltIn('Map'); + var Map$1 = getBuiltIn('Map'); var WeakMap$1 = getBuiltIn('WeakMap'); - var push$6 = functionUncurryThis([].push); + var push$4 = functionUncurryThis([].push); var metadata = shared('metadata'); var store$1 = metadata.store || (metadata.store = new WeakMap$1()); @@ -13862,12 +12872,12 @@ var doric = (function (exports) { var targetMetadata = store$1.get(target); if (!targetMetadata) { if (!create) { return; } - store$1.set(target, targetMetadata = new Map$2()); + store$1.set(target, targetMetadata = new Map$1()); } var keyMetadata = targetMetadata.get(targetKey); if (!keyMetadata) { if (!create) { return; } - targetMetadata.set(targetKey, keyMetadata = new Map$2()); + targetMetadata.set(targetKey, keyMetadata = new Map$1()); } return keyMetadata; }; @@ -13888,7 +12898,7 @@ var doric = (function (exports) { var ordinaryOwnMetadataKeys$2 = function (target, targetKey) { var metadataMap = getOrCreateMetadataMap$1(target, targetKey, false); var keys = []; - if (metadataMap) { metadataMap.forEach(function (_, key) { push$6(keys, key); }); } + if (metadataMap) { metadataMap.forEach(function (_, key) { push$4(keys, key); }); } return keys; }; @@ -13906,11 +12916,6 @@ var doric = (function (exports) { toKey: toMetadataKey$9 }; - // TODO: Remove from `core-js@4` - - - - var toMetadataKey$8 = reflectMetadata.toKey; var ordinaryDefineOwnMetadata$1 = reflectMetadata.set; @@ -13941,12 +12946,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - - var ordinaryHasOwnMetadata$2 = reflectMetadata.has; var ordinaryGetOwnMetadata$1 = reflectMetadata.get; var toMetadataKey$6 = reflectMetadata.toKey; @@ -13967,14 +12966,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - - - - var arrayUniqueBy$1 = functionUncurryThis(arrayUniqueBy$2); var concat = functionUncurryThis([].concat); var ordinaryOwnMetadataKeys$1 = reflectMetadata.keys; @@ -13997,11 +12988,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - var ordinaryGetOwnMetadata = reflectMetadata.get; var toMetadataKey$4 = reflectMetadata.toKey; @@ -14014,11 +13000,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - var ordinaryOwnMetadataKeys = reflectMetadata.keys; var toMetadataKey$3 = reflectMetadata.toKey; @@ -14031,12 +13012,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - - var ordinaryHasOwnMetadata$1 = reflectMetadata.has; var toMetadataKey$2 = reflectMetadata.toKey; @@ -14056,11 +13031,6 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - - - var ordinaryHasOwnMetadata = reflectMetadata.has; var toMetadataKey$1 = reflectMetadata.toKey; @@ -14100,19 +13070,19 @@ var doric = (function (exports) { // `Set.prototype.addAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { addAll: collectionAddAll }); // `Set.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { deleteAll: collectionDeleteAll }); // `Set.prototype.difference` method // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { difference: function difference(iterable) { var set = anObject(this); var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); @@ -14125,13 +13095,13 @@ var doric = (function (exports) { }); var getSetIterator = function (it) { - // eslint-disable-next-line es-x/no-set -- safe + // eslint-disable-next-line es/no-set -- safe return functionCall(Set.prototype.values, it); }; // `Set.prototype.every` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { every: function every(callbackfn /* , thisArg */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14144,7 +13114,7 @@ var doric = (function (exports) { // `Set.prototype.filter` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { filter: function filter(callbackfn /* , thisArg */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14160,7 +13130,7 @@ var doric = (function (exports) { // `Set.prototype.find` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { find: function find(callbackfn /* , thisArg */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14173,13 +13143,13 @@ var doric = (function (exports) { // `Set.from` method // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from - _export({ target: 'Set', stat: true, forced: true }, { + _export({ target: 'Set', stat: true }, { from: collectionFrom }); // `Set.prototype.intersection` method // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { intersection: function intersection(iterable) { var set = anObject(this); var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); @@ -14194,7 +13164,7 @@ var doric = (function (exports) { // `Set.prototype.isDisjointFrom` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { isDisjointFrom: function isDisjointFrom(iterable) { var set = anObject(this); var hasCheck = aCallable(set.has); @@ -14206,7 +13176,7 @@ var doric = (function (exports) { // `Set.prototype.isSubsetOf` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { isSubsetOf: function isSubsetOf(iterable) { var iterator = getIterator(this); var otherSet = anObject(iterable); @@ -14223,7 +13193,7 @@ var doric = (function (exports) { // `Set.prototype.isSupersetOf` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { isSupersetOf: function isSupersetOf(iterable) { var set = anObject(this); var hasCheck = aCallable(set.has); @@ -14234,24 +13204,24 @@ var doric = (function (exports) { }); var arrayJoin = functionUncurryThis([].join); - var push$5 = [].push; + var push$3 = [].push; // `Set.prototype.join` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { join: function join(separator) { var set = anObject(this); var iterator = getSetIterator(set); var sep = separator === undefined ? ',' : toString_1(separator); var result = []; - iterate(iterator, push$5, { that: result, IS_ITERATOR: true }); + iterate(iterator, push$3, { that: result, IS_ITERATOR: true }); return arrayJoin(result, sep); } }); // `Set.prototype.map` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { map: function map(callbackfn /* , thisArg */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14267,15 +13237,15 @@ var doric = (function (exports) { // `Set.of` method // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of - _export({ target: 'Set', stat: true, forced: true }, { + _export({ target: 'Set', stat: true }, { of: collectionOf }); - var $TypeError$1 = TypeError; + var TypeError$3 = global_1.TypeError; // `Set.prototype.reduce` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { reduce: function reduce(callbackfn /* , initialValue */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14290,14 +13260,14 @@ var doric = (function (exports) { accumulator = callbackfn(accumulator, value, value, set); } }, { IS_ITERATOR: true }); - if (noInitial) { throw $TypeError$1('Reduce of empty set with no initial value'); } + if (noInitial) { throw TypeError$3('Reduce of empty set with no initial value'); } return accumulator; } }); // `Set.prototype.some` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { some: function some(callbackfn /* , thisArg */) { var set = anObject(this); var iterator = getSetIterator(set); @@ -14310,7 +13280,7 @@ var doric = (function (exports) { // `Set.prototype.symmetricDifference` method // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { symmetricDifference: function symmetricDifference(iterable) { var set = anObject(this); var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); @@ -14325,7 +13295,7 @@ var doric = (function (exports) { // `Set.prototype.union` method // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { + _export({ target: 'Set', proto: true, real: true, forced: isPure }, { union: function union(iterable) { var set = anObject(this); var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); @@ -14334,78 +13304,48 @@ var doric = (function (exports) { } }); - // TODO: Remove from `core-js@4` - - var charAt$5 = stringMultibyte.charAt; - + var charAt$3 = stringMultibyte.charAt; + var FORCED$1 = fails(function () { + return '𠮷'.at(0) !== '𠮷'; + }); // `String.prototype.at` method // https://github.com/mathiasbynens/String.prototype.at - _export({ target: 'String', proto: true, forced: true }, { - at: function at(index) { - var S = toString_1(requireObjectCoercible(this)); - var len = S.length; - var relativeIndex = toIntegerOrInfinity(index); - var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; - return (k < 0 || k >= len) ? undefined : charAt$5(S, k); - } - }); - - var $TypeError = TypeError; - var ArrayPrototype = Array.prototype; - var push$4 = functionUncurryThis(ArrayPrototype.push); - var join$3 = functionUncurryThis(ArrayPrototype.join); - - // `String.cooked` method - // https://github.com/tc39/proposal-string-cooked - _export({ target: 'String', stat: true, forced: true }, { - cooked: function cooked(template /* , ...substitutions */) { - var arguments$1 = arguments; - - var cookedTemplate = toIndexedObject(template); - var literalSegments = lengthOfArrayLike(cookedTemplate); - var argumentsLength = arguments.length; - var elements = []; - var i = 0; - while (literalSegments > i) { - var nextVal = cookedTemplate[i++]; - if (nextVal === undefined) { throw $TypeError('Incorrect template'); } - push$4(elements, toString_1(nextVal)); - if (i === literalSegments) { return join$3(elements, ''); } - if (i < argumentsLength) { push$4(elements, toString_1(arguments$1[i])); } - } + _export({ target: 'String', proto: true, forced: FORCED$1 }, { + at: function at(pos) { + return charAt$3(this, pos); } }); var codeAt$1 = stringMultibyte.codeAt; - var charAt$4 = stringMultibyte.charAt; + var charAt$2 = stringMultibyte.charAt; var STRING_ITERATOR = 'String Iterator'; - var setInternalState$3 = internalState.set; - var getInternalState$1 = internalState.getterFor(STRING_ITERATOR); + var setInternalState$2 = internalState.set; + var getInternalState = internalState.getterFor(STRING_ITERATOR); // TODO: unify with String#@@iterator var $StringIterator = createIteratorConstructor(function StringIterator(string) { - setInternalState$3(this, { + setInternalState$2(this, { type: STRING_ITERATOR, string: string, index: 0 }); }, 'String', function next() { - var state = getInternalState$1(this); + var state = getInternalState(this); var string = state.string; var index = state.index; var point; if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$4(string, index); + point = charAt$2(string, index); state.index += point.length; return { value: { codePoint: codeAt$1(point, 0), position: index }, done: false }; }); // `String.prototype.codePoints` method // https://github.com/tc39/proposal-string-prototype-codepoints - _export({ target: 'String', proto: true, forced: true }, { + _export({ target: 'String', proto: true }, { codePoints: function codePoints() { return new $StringIterator(toString_1(requireObjectCoercible(this))); } @@ -14423,17 +13363,10 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-pattern-matching defineWellKnownSymbol('matcher'); - // TODO: Remove from `core-js@4` - - // `Symbol.metadata` well-known symbol // https://github.com/tc39/proposal-decorators defineWellKnownSymbol('metadata'); - // `Symbol.metadataKey` well-known symbol - // https://github.com/tc39/proposal-decorator-metadata - defineWellKnownSymbol('metadataKey'); - // `Symbol.observable` well-known symbol // https://github.com/tc39/proposal-observable defineWellKnownSymbol('observable'); @@ -14450,13 +13383,6 @@ var doric = (function (exports) { defineWellKnownSymbol('replaceAll'); - // TODO: Remove from `core-js@4` - - - - - - var aTypedArrayConstructor = arrayBufferViewCore.aTypedArrayConstructor; var exportTypedArrayStaticMethod = arrayBufferViewCore.exportTypedArrayStaticMethod; @@ -14473,142 +13399,99 @@ var doric = (function (exports) { }).then(function (list) { return arrayFromConstructorAndList(aTypedArrayConstructor(C), list); }); - }, true); + }, typedArrayConstructorsRequireWrappers); // TODO: Remove from `core-js@4` var $filterReject$1 = arrayIteration.filterReject; - var aTypedArray$7 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$5 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.filterOut` method // https://github.com/tc39/proposal-array-filtering - exportTypedArrayMethod$7('filterOut', function filterOut(callbackfn /* , thisArg */) { - var list = $filterReject$1(aTypedArray$7(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$5('filterOut', function filterOut(callbackfn /* , thisArg */) { + var list = $filterReject$1(aTypedArray$5(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); return typedArrayFromSpeciesAndList(this, list); - }, true); + }); var $filterReject = arrayIteration.filterReject; - var aTypedArray$6 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$4 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.filterReject` method // https://github.com/tc39/proposal-array-filtering - exportTypedArrayMethod$6('filterReject', function filterReject(callbackfn /* , thisArg */) { - var list = $filterReject(aTypedArray$6(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + exportTypedArrayMethod$4('filterReject', function filterReject(callbackfn /* , thisArg */) { + var list = $filterReject(aTypedArray$4(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); return typedArrayFromSpeciesAndList(this, list); - }, true); - - // TODO: Remove from `core-js@4` - - - - - var aTypedArray$5 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.groupBy` method - // https://github.com/tc39/proposal-array-grouping - exportTypedArrayMethod$5('groupBy', function groupBy(callbackfn /* , thisArg */) { - var thisArg = arguments.length > 1 ? arguments[1] : undefined; - return arrayGroup(aTypedArray$5(this), callbackfn, thisArg, typedArraySpeciesConstructor); - }, true); - - var aTypedArray$4 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod; - var TYPED_ARRAY_CONSTRUCTOR$3 = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; - - // `%TypedArray%.prototype.toReversed` method - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed - exportTypedArrayMethod$4('toReversed', function toReversed() { - return arrayToReversed(aTypedArray$4(this), this[TYPED_ARRAY_CONSTRUCTOR$3]); }); + var $findLast = arrayIterationFromLast.findLast; + var aTypedArray$3 = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod; - var TYPED_ARRAY_CONSTRUCTOR$2 = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; - var sort = functionUncurryThis(arrayBufferViewCore.TypedArrayPrototype.sort); - // `%TypedArray%.prototype.toSorted` method - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSorted - exportTypedArrayMethod$3('toSorted', function toSorted(compareFn) { - if (compareFn !== undefined) { aCallable(compareFn); } - var O = aTypedArray$3(this); - var A = arrayFromConstructorAndList(O[TYPED_ARRAY_CONSTRUCTOR$2], O); - return sort(A, compareFn); + // `%TypedArray%.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + exportTypedArrayMethod$3('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray$3(this), predicate, arguments.length > 1 ? arguments[1] : undefined); }); + var $findLastIndex = arrayIterationFromLast.findLastIndex; + var aTypedArray$2 = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod; - var TYPED_ARRAY_CONSTRUCTOR$1 = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; - // `%TypedArray%.prototype.toSpliced` method - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced - // eslint-disable-next-line no-unused-vars -- required for .length - exportTypedArrayMethod$2('toSpliced', function toSpliced(start, deleteCount /* , ...items */) { - return arrayToSpliced(aTypedArray$2(this), this[TYPED_ARRAY_CONSTRUCTOR$1], arraySlice$1(arguments)); - }, { arity: 2 }); + // `%TypedArray%.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + exportTypedArrayMethod$2('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray$2(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }); var aTypedArray$1 = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod; + + // `%TypedArray%.prototype.groupBy` method + // https://github.com/tc39/proposal-array-grouping + exportTypedArrayMethod$1('groupBy', function groupBy(callbackfn /* , thisArg */) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return arrayGroupBy(aTypedArray$1(this), callbackfn, thisArg, typedArraySpeciesConstructor); + }); + + var aTypedArray = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod; var arrayUniqueBy = functionUncurryThis(arrayUniqueBy$2); // `%TypedArray%.prototype.uniqueBy` method // https://github.com/tc39/proposal-array-unique - exportTypedArrayMethod$1('uniqueBy', function uniqueBy(resolver) { - return typedArrayFromSpeciesAndList(this, arrayUniqueBy(aTypedArray$1(this), resolver)); - }, true); - - var aTypedArray = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod; - var TYPED_ARRAY_CONSTRUCTOR = arrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR; - var slice = functionUncurryThis(''.slice); - - var PROPER_ORDER = !!function () { - try { - // eslint-disable-next-line no-throw-literal, es-x/no-typed-arrays -- required for testing - new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); - } catch (error) { - // some early implementations, like WebKit, does not follow the final semantic - // https://github.com/tc39/proposal-change-array-by-copy/pull/86 - return error === 8; - } - }(); - - // `%TypedArray%.prototype.with` method - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with - exportTypedArrayMethod('with', { 'with': function (index, value) { - aTypedArray(this); - var relativeIndex = toIntegerOrInfinity(index); - var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; - return arrayWith(this, this[TYPED_ARRAY_CONSTRUCTOR], relativeIndex, actualValue); - } }['with'], !PROPER_ORDER); + exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) { + return typedArrayFromSpeciesAndList(this, arrayUniqueBy(aTypedArray(this), resolver)); + }); // `WeakMap.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakMap', proto: true, real: true, forced: true }, { + _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, { deleteAll: collectionDeleteAll }); // `WeakMap.from` method // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from - _export({ target: 'WeakMap', stat: true, forced: true }, { + _export({ target: 'WeakMap', stat: true }, { from: collectionFrom }); // `WeakMap.of` method // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of - _export({ target: 'WeakMap', stat: true, forced: true }, { + _export({ target: 'WeakMap', stat: true }, { of: collectionOf }); // `WeakMap.prototype.emplace` method // https://github.com/tc39/proposal-upsert - _export({ target: 'WeakMap', proto: true, real: true, forced: true }, { + _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, { emplace: mapEmplace }); @@ -14616,136 +13499,37 @@ var doric = (function (exports) { + // `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`) // https://github.com/tc39/proposal-upsert - _export({ target: 'WeakMap', proto: true, real: true, forced: true }, { + _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, { upsert: mapUpsert }); // `WeakSet.prototype.addAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakSet', proto: true, real: true, forced: true }, { + _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, { addAll: collectionAddAll }); // `WeakSet.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakSet', proto: true, real: true, forced: true }, { + _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, { deleteAll: collectionDeleteAll }); // `WeakSet.from` method // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from - _export({ target: 'WeakSet', stat: true, forced: true }, { + _export({ target: 'WeakSet', stat: true }, { from: collectionFrom }); // `WeakSet.of` method // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of - _export({ target: 'WeakSet', stat: true, forced: true }, { + _export({ target: 'WeakSet', stat: true }, { of: collectionOf }); - var itoc$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - var ctoi$1 = {}; - - for (var index = 0; index < 66; index++) { ctoi$1[itoc$1.charAt(index)] = index; } - - var base64Map = { - itoc: itoc$1, - ctoi: ctoi$1 - }; - - var ctoi = base64Map.ctoi; - - var disallowed = /[^\d+/a-z]/i; - var whitespaces = /[\t\n\f\r ]+/g; - var finalEq = /[=]+$/; - - var $atob = getBuiltIn('atob'); - var fromCharCode$1 = String.fromCharCode; - var charAt$3 = functionUncurryThis(''.charAt); - var replace$3 = functionUncurryThis(''.replace); - var exec$2 = functionUncurryThis(disallowed.exec); - - var NO_SPACES_IGNORE = fails(function () { - return $atob(' ') !== ''; - }); - - var NO_ENCODING_CHECK = !fails(function () { - $atob('a'); - }); - - var NO_ARG_RECEIVING_CHECK$1 = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && !fails(function () { - $atob(); - }); - - var WRONG_ARITY$1 = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && $atob.length !== 1; - - // `atob` method - // https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob - _export({ global: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK$1 || WRONG_ARITY$1 }, { - atob: function atob(data) { - validateArgumentsLength(arguments.length, 1); - if (NO_ARG_RECEIVING_CHECK$1 || WRONG_ARITY$1) { return $atob(data); } - var string = replace$3(toString_1(data), whitespaces, ''); - var output = ''; - var position = 0; - var bc = 0; - var chr, bs; - if (string.length % 4 == 0) { - string = replace$3(string, finalEq, ''); - } - if (string.length % 4 == 1 || exec$2(disallowed, string)) { - throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); - } - while (chr = charAt$3(string, position++)) { - if (hasOwnProperty_1(ctoi, chr)) { - bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr]; - if (bc++ % 4) { output += fromCharCode$1(255 & bs >> (-2 * bc & 6)); } - } - } return output; - } - }); - - var itoc = base64Map.itoc; - - var $btoa = getBuiltIn('btoa'); - var charAt$2 = functionUncurryThis(''.charAt); - var charCodeAt$1 = functionUncurryThis(''.charCodeAt); - - var NO_ARG_RECEIVING_CHECK = !!$btoa && !fails(function () { - $btoa(); - }); - - var WRONG_ARG_CONVERSION = !!$btoa && fails(function () { - return $btoa(null) !== 'bnVsbA=='; - }); - - var WRONG_ARITY = !!$btoa && $btoa.length !== 1; - - // `btoa` method - // https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa - _export({ global: true, enumerable: true, forced: NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { - btoa: function btoa(data) { - validateArgumentsLength(arguments.length, 1); - if (NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY) { return $btoa(toString_1(data)); } - var string = toString_1(data); - var output = ''; - var position = 0; - var map = itoc; - var block, charCode; - while (charAt$2(string, position) || (map = '=', position % 1)) { - charCode = charCodeAt$1(string, position += 3 / 4); - if (charCode > 0xFF) { - throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); - } - block = block << 8 | charCode; - output += charAt$2(map, 63 & block >> 8 - position % 1 * 8); - } return output; - } - }); - // iterable DOM collections // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods var domIterables = { @@ -14839,771 +13623,56 @@ var doric = (function (exports) { handlePrototype(domTokenListPrototype, 'DOMTokenList'); - var tryNodeRequire = function (name) { - try { - // eslint-disable-next-line no-new-func -- safe - if (engineIsNode) { return Function('return require("' + name + '")')(); } - } catch (error) { /* empty */ } - }; + var FORCED = !global_1.setImmediate || !global_1.clearImmediate; - var domExceptionConstants = { - IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, - DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, - HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, - WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, - InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, - NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, - NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, - NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, - NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, - InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, - InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, - SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, - InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, - NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, - InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, - ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, - TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, - SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, - NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, - AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, - URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, - QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, - TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, - InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, - DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } - }; - - var defineProperty$1 = objectDefineProperty.f; - - - - - - - - - - - - - - var DOM_EXCEPTION$2 = 'DOMException'; - var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; - var Error$3 = getBuiltIn('Error'); - // NodeJS < 17.0 does not expose `DOMException` to global - var NativeDOMException$1 = getBuiltIn(DOM_EXCEPTION$2) || (function () { - try { - // NodeJS < 15.0 does not expose `MessageChannel` to global - var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel; - // eslint-disable-next-line es-x/no-weak-map, unicorn/require-post-message-target-origin -- safe - new MessageChannel().port1.postMessage(new WeakMap()); - } catch (error) { - if (error.name == DATA_CLONE_ERR && error.code == 25) { return error.constructor; } - } - })(); - var NativeDOMExceptionPrototype = NativeDOMException$1 && NativeDOMException$1.prototype; - var ErrorPrototype = Error$3.prototype; - var setInternalState$2 = internalState.set; - var getInternalState = internalState.getterFor(DOM_EXCEPTION$2); - var HAS_STACK = 'stack' in Error$3(DOM_EXCEPTION$2); - - var codeFor = function (name) { - return hasOwnProperty_1(domExceptionConstants, name) && domExceptionConstants[name].m ? domExceptionConstants[name].c : 0; - }; - - var $DOMException$1 = function DOMException() { - anInstance(this, DOMExceptionPrototype$1); - var argumentsLength = arguments.length; - var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); - var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); - var code = codeFor(name); - setInternalState$2(this, { - type: DOM_EXCEPTION$2, - name: name, - message: message, - code: code - }); - if (!descriptors) { - this.name = name; - this.message = message; - this.code = code; - } - if (HAS_STACK) { - var error = Error$3(message); - error.name = DOM_EXCEPTION$2; - defineProperty$1(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); - } - }; - - var DOMExceptionPrototype$1 = $DOMException$1.prototype = objectCreate(ErrorPrototype); - - var createGetterDescriptor = function (get) { - return { enumerable: true, configurable: true, get: get }; - }; - - var getterFor = function (key) { - return createGetterDescriptor(function () { - return getInternalState(this)[key]; - }); - }; - - if (descriptors) { - defineBuiltInAccessor(DOMExceptionPrototype$1, 'code', getterFor('code')); - defineBuiltInAccessor(DOMExceptionPrototype$1, 'message', getterFor('message')); - defineBuiltInAccessor(DOMExceptionPrototype$1, 'name', getterFor('name')); - } - - defineProperty$1(DOMExceptionPrototype$1, 'constructor', createPropertyDescriptor(1, $DOMException$1)); - - // FF36- DOMException is a function, but can't be constructed - var INCORRECT_CONSTRUCTOR = fails(function () { - return !(new NativeDOMException$1() instanceof Error$3); - }); - - // Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs - var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { - return ErrorPrototype.toString !== errorToString || String(new NativeDOMException$1(1, 2)) !== '2: 1'; - }); - - // Deno 1.6.3- DOMException.prototype.code just missed - var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { - return new NativeDOMException$1(1, 'DataCloneError').code !== 25; - }); - - // Deno 1.6.3- DOMException constants just missed - INCORRECT_CONSTRUCTOR - || NativeDOMException$1[DATA_CLONE_ERR] !== 25 - || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; - - var FORCED_CONSTRUCTOR$1 = INCORRECT_CONSTRUCTOR; - - // `DOMException` constructor - // https://webidl.spec.whatwg.org/#idl-DOMException - _export({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR$1 }, { - DOMException: FORCED_CONSTRUCTOR$1 ? $DOMException$1 : NativeDOMException$1 - }); - - var PolyfilledDOMException$1 = getBuiltIn(DOM_EXCEPTION$2); - var PolyfilledDOMExceptionPrototype$1 = PolyfilledDOMException$1.prototype; - - if (INCORRECT_TO_STRING && (NativeDOMException$1 === PolyfilledDOMException$1)) { - defineBuiltIn(PolyfilledDOMExceptionPrototype$1, 'toString', errorToString); - } - - if (INCORRECT_CODE && descriptors && NativeDOMException$1 === PolyfilledDOMException$1) { - defineBuiltInAccessor(PolyfilledDOMExceptionPrototype$1, 'code', createGetterDescriptor(function () { - return codeFor(anObject(this).name); - })); - } - - for (var key$1 in domExceptionConstants) { if (hasOwnProperty_1(domExceptionConstants, key$1)) { - var constant$1 = domExceptionConstants[key$1]; - var constantName$1 = constant$1.s; - var descriptor = createPropertyDescriptor(6, constant$1.c); - if (!hasOwnProperty_1(PolyfilledDOMException$1, constantName$1)) { - defineProperty$1(PolyfilledDOMException$1, constantName$1, descriptor); - } - if (!hasOwnProperty_1(PolyfilledDOMExceptionPrototype$1, constantName$1)) { - defineProperty$1(PolyfilledDOMExceptionPrototype$1, constantName$1, descriptor); - } - } } - - var defineProperty = objectDefineProperty.f; - - - - - - - - - var DOM_EXCEPTION$1 = 'DOMException'; - var Error$2 = getBuiltIn('Error'); - var NativeDOMException = getBuiltIn(DOM_EXCEPTION$1); - - var $DOMException = function DOMException() { - anInstance(this, DOMExceptionPrototype); - var argumentsLength = arguments.length; - var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); - var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); - var that = new NativeDOMException(message, name); - var error = Error$2(message); - error.name = DOM_EXCEPTION$1; - defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); - inheritIfRequired(that, this, $DOMException); - return that; - }; - - var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; - - var ERROR_HAS_STACK = 'stack' in Error$2(DOM_EXCEPTION$1); - var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); - var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK; - - // `DOMException` constructor patch for `.stack` where it's required - // https://webidl.spec.whatwg.org/#es-DOMException-specialness - _export({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { // TODO: fix export logic - DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException - }); - - var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION$1); - var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; - - if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { - { - defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); - } - - for (var key in domExceptionConstants) { if (hasOwnProperty_1(domExceptionConstants, key)) { - var constant = domExceptionConstants[key]; - var constantName = constant.s; - if (!hasOwnProperty_1(PolyfilledDOMException, constantName)) { - defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); - } - } } - } - - var DOM_EXCEPTION = 'DOMException'; - - setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); - - var clearImmediate = task$1.clear; - - // `clearImmediate` method - // http://w3c.github.io/setImmediate/#si-clearImmediate - _export({ global: true, bind: true, enumerable: true, forced: global_1.clearImmediate !== clearImmediate }, { - clearImmediate: clearImmediate - }); - - var setImmediate = task$1.set; - - // `setImmediate` method - // http://w3c.github.io/setImmediate/#si-setImmediate - _export({ global: true, bind: true, enumerable: true, forced: global_1.setImmediate !== setImmediate }, { - setImmediate: setImmediate + // http://w3c.github.io/setImmediate/ + _export({ global: true, bind: true, enumerable: true, forced: FORCED }, { + // `setImmediate` method + // http://w3c.github.io/setImmediate/#si-setImmediate + setImmediate: task$1.set, + // `clearImmediate` method + // http://w3c.github.io/setImmediate/#si-clearImmediate + clearImmediate: task$1.clear }); var process$1 = global_1.process; // `queueMicrotask` method // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask - _export({ global: true, enumerable: true, dontCallGetSet: true }, { + _export({ global: true, enumerable: true, noTargetGet: true }, { queueMicrotask: function queueMicrotask(fn) { - validateArgumentsLength(arguments.length, 1); - aCallable(fn); var domain = engineIsNode && process$1.domain; microtask(domain ? domain.bind(fn) : fn); } }); - /* global Deno -- Deno case */ - var engineIsDeno = typeof Deno == 'object' && Deno && typeof Deno.version == 'object'; - - var Object$1 = global_1.Object; - var Date$1 = global_1.Date; - var Error$1 = global_1.Error; - var EvalError = global_1.EvalError; - var RangeError$1 = global_1.RangeError; - var ReferenceError = global_1.ReferenceError; - var SyntaxError$1 = global_1.SyntaxError; - var TypeError$3 = global_1.TypeError; - var URIError = global_1.URIError; - var PerformanceMark = global_1.PerformanceMark; - var WebAssembly = global_1.WebAssembly; - var CompileError = WebAssembly && WebAssembly.CompileError || Error$1; - var LinkError = WebAssembly && WebAssembly.LinkError || Error$1; - var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error$1; - var DOMException = getBuiltIn('DOMException'); - var Set$1 = getBuiltIn('Set'); - var Map$1 = getBuiltIn('Map'); - var MapPrototype = Map$1.prototype; - var mapHas = functionUncurryThis(MapPrototype.has); - var mapGet = functionUncurryThis(MapPrototype.get); - var mapSet = functionUncurryThis(MapPrototype.set); - var setAdd = functionUncurryThis(Set$1.prototype.add); - var objectKeys = getBuiltIn('Object', 'keys'); - var push$3 = functionUncurryThis([].push); - var booleanValueOf = functionUncurryThis(true.valueOf); - var numberValueOf = functionUncurryThis(1.0.valueOf); - var stringValueOf = functionUncurryThis(''.valueOf); - var getTime = functionUncurryThis(Date$1.prototype.getTime); - var PERFORMANCE_MARK = uid('structuredClone'); - var DATA_CLONE_ERROR = 'DataCloneError'; - var TRANSFERRING = 'Transferring'; - - var checkBasicSemantic = function (structuredCloneImplementation) { - return !fails(function () { - var set1 = new global_1.Set([7]); - var set2 = structuredCloneImplementation(set1); - var number = structuredCloneImplementation(Object$1(7)); - return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7; - }) && structuredCloneImplementation; - }; - - var checkErrorsCloning = function (structuredCloneImplementation, $Error) { - return !fails(function () { - var error = new $Error(); - var test = structuredCloneImplementation({ a: error, b: error }); - return !(test && test.a === test.b && test.a instanceof $Error); - }); - }; - - // https://github.com/whatwg/html/pull/5749 - var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { - return !fails(function () { - var test = structuredCloneImplementation(new global_1.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); - return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3; - }); - }; - - // FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ - // FF and Safari implementations can't clone errors - // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 - // Chrome <102 returns `null` if cloned object contains multiple references to one error - // https://bugs.chromium.org/p/v8/issues/detail?id=12542 - // NodeJS implementation can't clone DOMExceptions - // https://github.com/nodejs/node/issues/41038 - // no one of current implementations supports new (html/5749) error cloning semantic - var nativeStructuredClone = global_1.structuredClone; - - var FORCED_REPLACEMENT = !checkErrorsCloning(nativeStructuredClone, Error$1) - || !checkErrorsCloning(nativeStructuredClone, DOMException) - || !checkNewErrorsCloningSemantic(nativeStructuredClone); - - // Chrome 82+, Safari 14.1+, Deno 1.11+ - // Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` - // Chrome returns `null` if cloned object contains multiple references to one error - // Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround - // Safari implementation can't clone errors - // Deno 1.2-1.10 implementations too naive - // NodeJS 16.0+ does not have `PerformanceMark` constructor - // NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive - // and can't clone, for example, `RegExp` or some boxed primitives - // https://github.com/nodejs/node/issues/40840 - // no one of current implementations supports new (html/5749) error cloning semantic - var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { - return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; - }); - - var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; - - var throwUncloneable = function (type) { - throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); - }; - - var throwUnpolyfillable = function (type, kind) { - throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); - }; - - var structuredCloneInternal = function (value, map) { - if (isSymbol(value)) { throwUncloneable('Symbol'); } - if (!isObject(value)) { return value; } - // effectively preserves circular references - if (map) { - if (mapHas(map, value)) { return mapGet(map, value); } - } else { map = new Map$1(); } - - var type = classof(value); - var deep = false; - var C, name, cloned, dataTransfer, i, length, keys, key, source, target; - - switch (type) { - case 'Array': - cloned = []; - deep = true; - break; - case 'Object': - cloned = {}; - deep = true; - break; - case 'Map': - cloned = new Map$1(); - deep = true; - break; - case 'Set': - cloned = new Set$1(); - deep = true; - break; - case 'RegExp': - // in this block because of a Safari 14.1 bug - // old FF does not clone regexes passed to the constructor, so get the source and flags directly - cloned = new RegExp(value.source, regexpGetFlags(value)); - break; - case 'Error': - name = value.name; - switch (name) { - case 'AggregateError': - cloned = getBuiltIn('AggregateError')([]); - break; - case 'EvalError': - cloned = EvalError(); - break; - case 'RangeError': - cloned = RangeError$1(); - break; - case 'ReferenceError': - cloned = ReferenceError(); - break; - case 'SyntaxError': - cloned = SyntaxError$1(); - break; - case 'TypeError': - cloned = TypeError$3(); - break; - case 'URIError': - cloned = URIError(); - break; - case 'CompileError': - cloned = CompileError(); - break; - case 'LinkError': - cloned = LinkError(); - break; - case 'RuntimeError': - cloned = RuntimeError(); - break; - default: - cloned = Error$1(); - } - deep = true; - break; - case 'DOMException': - cloned = new DOMException(value.message, value.name); - deep = true; - break; - case 'DataView': - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'BigInt64Array': - case 'BigUint64Array': - C = global_1[type]; - // in some old engines like Safari 9, typeof C is 'object' - // on Uint8ClampedArray or some other constructors - if (!isObject(C)) { throwUnpolyfillable(type); } - cloned = new C( - // this is safe, since arraybuffer cannot have circular references - structuredCloneInternal(value.buffer, map), - value.byteOffset, - type === 'DataView' ? value.byteLength : value.length - ); - break; - case 'DOMQuad': - try { - cloned = new DOMQuad( - structuredCloneInternal(value.p1, map), - structuredCloneInternal(value.p2, map), - structuredCloneInternal(value.p3, map), - structuredCloneInternal(value.p4, map) - ); - } catch (error) { - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else { throwUnpolyfillable(type); } - } - break; - case 'FileList': - C = global_1.DataTransfer; - if (isConstructor(C)) { - dataTransfer = new C(); - for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { - dataTransfer.items.add(structuredCloneInternal(value[i], map)); - } - cloned = dataTransfer.files; - } else if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else { throwUnpolyfillable(type); } - break; - case 'ImageData': - // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' - try { - cloned = new ImageData( - structuredCloneInternal(value.data, map), - value.width, - value.height, - { colorSpace: value.colorSpace } - ); - } catch (error$1) { - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else { throwUnpolyfillable(type); } - } break; - default: - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else { switch (type) { - case 'BigInt': - // can be a 3rd party polyfill - cloned = Object$1(value.valueOf()); - break; - case 'Boolean': - cloned = Object$1(booleanValueOf(value)); - break; - case 'Number': - cloned = Object$1(numberValueOf(value)); - break; - case 'String': - cloned = Object$1(stringValueOf(value)); - break; - case 'Date': - cloned = new Date$1(getTime(value)); - break; - case 'ArrayBuffer': - C = global_1.DataView; - // `ArrayBuffer#slice` is not available in IE10 - // `ArrayBuffer#slice` and `DataView` are not available in old FF - if (!C && typeof value.slice != 'function') { throwUnpolyfillable(type); } - // detached buffers throws in `DataView` and `.slice` - try { - if (typeof value.slice == 'function') { - cloned = value.slice(0); - } else { - length = value.byteLength; - cloned = new ArrayBuffer(length); - source = new C(value); - target = new C(cloned); - for (i = 0; i < length; i++) { - target.setUint8(i, source.getUint8(i)); - } - } - } catch (error$2) { - throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); - } break; - case 'SharedArrayBuffer': - // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original - cloned = value; - break; - case 'Blob': - try { - cloned = value.slice(0, value.size, value.type); - } catch (error$3) { - throwUnpolyfillable(type); - } break; - case 'DOMPoint': - case 'DOMPointReadOnly': - C = global_1[type]; - try { - cloned = C.fromPoint - ? C.fromPoint(value) - : new C(value.x, value.y, value.z, value.w); - } catch (error$4) { - throwUnpolyfillable(type); - } break; - case 'DOMRect': - case 'DOMRectReadOnly': - C = global_1[type]; - try { - cloned = C.fromRect - ? C.fromRect(value) - : new C(value.x, value.y, value.width, value.height); - } catch (error$5) { - throwUnpolyfillable(type); - } break; - case 'DOMMatrix': - case 'DOMMatrixReadOnly': - C = global_1[type]; - try { - cloned = C.fromMatrix - ? C.fromMatrix(value) - : new C(value); - } catch (error$6) { - throwUnpolyfillable(type); - } break; - case 'AudioData': - case 'VideoFrame': - if (!isCallable(value.clone)) { throwUnpolyfillable(type); } - try { - cloned = value.clone(); - } catch (error$7) { - throwUncloneable(type); - } break; - case 'File': - try { - cloned = new File([value], value.name, value); - } catch (error$8) { - throwUnpolyfillable(type); - } break; - case 'CryptoKey': - case 'GPUCompilationMessage': - case 'GPUCompilationInfo': - case 'ImageBitmap': - case 'RTCCertificate': - case 'WebAssembly.Module': - throwUnpolyfillable(type); - // break omitted - default: - throwUncloneable(type); - } } - } - - mapSet(map, value, cloned); - - if (deep) { switch (type) { - case 'Array': - case 'Object': - keys = objectKeys(value); - for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { - key = keys[i]; - createProperty(cloned, key, structuredCloneInternal(value[key], map)); - } break; - case 'Map': - value.forEach(function (v, k) { - mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); - }); - break; - case 'Set': - value.forEach(function (v) { - setAdd(cloned, structuredCloneInternal(v, map)); - }); - break; - case 'Error': - createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); - if (hasOwnProperty_1(value, 'cause')) { - createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); - } - if (name == 'AggregateError') { - cloned.errors = structuredCloneInternal(value.errors, map); - } // break omitted - case 'DOMException': - if (errorStackInstallable) { - createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); - } - } } - - return cloned; - }; - - var PROPER_TRANSFER = nativeStructuredClone && !fails(function () { - // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if ((engineIsDeno && engineV8Version > 92) || (engineIsNode && engineV8Version > 94) || (engineIsBrowser && engineV8Version > 97)) { return false; } - var buffer = new ArrayBuffer(8); - var clone = nativeStructuredClone(buffer, { transfer: [buffer] }); - return buffer.byteLength != 0 || clone.byteLength != 8; - }); - - var tryToTransfer = function (rawTransfer, map) { - if (!isObject(rawTransfer)) { throw TypeError$3('Transfer option cannot be converted to a sequence'); } - - var transfer = []; - - iterate(rawTransfer, function (value) { - push$3(transfer, anObject(value)); - }); - - var i = 0; - var length = lengthOfArrayLike(transfer); - var value, type, C, transferredArray, transferred, canvas, context; - - if (PROPER_TRANSFER) { - transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); - while (i < length) { mapSet(map, transfer[i], transferredArray[i++]); } - } else { while (i < length) { - value = transfer[i++]; - if (mapHas(map, value)) { throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); } - - type = classof(value); - - switch (type) { - case 'ImageBitmap': - C = global_1.OffscreenCanvas; - if (!isConstructor(C)) { throwUnpolyfillable(type, TRANSFERRING); } - try { - canvas = new C(value.width, value.height); - context = canvas.getContext('bitmaprenderer'); - context.transferFromImageBitmap(value); - transferred = canvas.transferToImageBitmap(); - } catch (error) { /* empty */ } - break; - case 'AudioData': - case 'VideoFrame': - if (!isCallable(value.clone) || !isCallable(value.close)) { throwUnpolyfillable(type, TRANSFERRING); } - try { - transferred = value.clone(); - value.close(); - } catch (error$1) { /* empty */ } - break; - case 'ArrayBuffer': - case 'MessagePort': - case 'OffscreenCanvas': - case 'ReadableStream': - case 'TransformStream': - case 'WritableStream': - throwUnpolyfillable(type, TRANSFERRING); - } - - if (transferred === undefined) { throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); } - mapSet(map, value, transferred); - } } - }; - - _export({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, { - structuredClone: function structuredClone(value /* , { transfer } */) { - var options = validateArgumentsLength(arguments.length, 1) > 1 && arguments[1] != null ? anObject(arguments[1]) : undefined; - var transfer = options ? options.transfer : undefined; - var map; - - if (transfer !== undefined) { - map = new Map$1(); - tryToTransfer(transfer, map); - } - - return structuredCloneInternal(value, map); - } - }); - var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check var Function$1 = global_1.Function; var wrap = function (scheduler) { - return MSIE ? function (handler, timeout /* , ...arguments */) { - var boundArgs = validateArgumentsLength(arguments.length, 1) > 2; - var fn = isCallable(handler) ? handler : Function$1(handler); + return function (handler, timeout /* , ...arguments */) { + var boundArgs = arguments.length > 2; var args = boundArgs ? arraySlice$1(arguments, 2) : undefined; return scheduler(boundArgs ? function () { - functionApply(fn, this, args); - } : fn, timeout); - } : scheduler; + functionApply(isCallable(handler) ? handler : Function$1(handler), this, args); + } : handler, timeout); + }; }; // ie9- setTimeout & setInterval additional parameters fix // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers - var schedulersFix = { + _export({ global: true, bind: true, forced: MSIE }, { // `setTimeout` method // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout setTimeout: wrap(global_1.setTimeout), // `setInterval` method // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval setInterval: wrap(global_1.setInterval) - }; - - var setInterval = schedulersFix.setInterval; - - // ie9- setInterval additional parameters fix - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - _export({ global: true, bind: true, forced: global_1.setInterval !== setInterval }, { - setInterval: setInterval - }); - - var setTimeout$1 = schedulersFix.setTimeout; - - // ie9- setTimeout additional parameters fix - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - _export({ global: true, bind: true, forced: global_1.setTimeout !== setTimeout$1 }, { - setTimeout: setTimeout$1 }); var ITERATOR$1 = wellKnownSymbol('iterator'); var nativeUrl = !fails(function () { - // eslint-disable-next-line unicorn/relative-url-style -- required for testing var url = new URL('b?a=1&b=2&c=3', 'http://a'); var searchParams = url.searchParams; var result = ''; @@ -15634,6 +13703,7 @@ var doric = (function (exports) { // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js + var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 var base = 36; var tMin = 1; @@ -15648,7 +13718,7 @@ var doric = (function (exports) { var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; var baseMinusTMin = base - tMin; - var $RangeError = RangeError; + var RangeError = global_1.RangeError; var exec$1 = functionUncurryThis(regexSeparators.exec); var floor$1 = Math.floor; var fromCharCode = String.fromCharCode; @@ -15707,9 +13777,8 @@ var doric = (function (exports) { var k = 0; delta = firstTime ? floor$1(delta / damp) : delta >> 1; delta += floor$1(delta / numPoints); - while (delta > baseMinusTMin * tMax >> 1) { + for (; delta > baseMinusTMin * tMax >> 1; k += base) { delta = floor$1(delta / baseMinusTMin); - k += base; } return floor$1(k + (baseMinusTMin + 1) * delta / (delta + skew)); }; @@ -15718,6 +13787,7 @@ var doric = (function (exports) { * Converts a string of Unicode symbols (e.g. a domain name label) to a * Punycode string of ASCII-only symbols. */ + // eslint-disable-next-line max-statements -- TODO var encode = function (input) { var output = []; @@ -15763,7 +13833,7 @@ var doric = (function (exports) { // Increase `delta` enough to advance the decoder's state to , but guard against overflow. var handledCPCountPlusOne = handledCPCount + 1; if (m - n > floor$1((maxInt - delta) / handledCPCountPlusOne)) { - throw $RangeError(OVERFLOW_ERROR); + throw RangeError(OVERFLOW_ERROR); } delta += (m - n) * handledCPCountPlusOne; @@ -15772,31 +13842,29 @@ var doric = (function (exports) { for (i = 0; i < input.length; i++) { currentValue = input[i]; if (currentValue < n && ++delta > maxInt) { - throw $RangeError(OVERFLOW_ERROR); + throw RangeError(OVERFLOW_ERROR); } if (currentValue == n) { // Represent delta as a generalized variable-length integer. var q = delta; - var k = base; - while (true) { + for (var k = base; /* no condition */; k += base) { var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); if (q < t) { break; } var qMinusT = q - t; var baseMinusT = base - t; push$2(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); q = floor$1(qMinusT / baseMinusT); - k += base; } push$2(output, fromCharCode(digitToBasic(q))); bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); delta = 0; - handledCPCount++; + ++handledCPCount; } } - delta++; - n++; + ++delta; + ++n; } return join$2(output, ''); }; @@ -15838,7 +13906,6 @@ var doric = (function (exports) { - var ITERATOR = wellKnownSymbol('iterator'); @@ -15847,20 +13914,11 @@ var doric = (function (exports) { var setInternalState$1 = internalState.set; var getInternalParamsState = internalState.getterFor(URL_SEARCH_PARAMS); var getInternalIteratorState = internalState.getterFor(URL_SEARCH_PARAMS_ITERATOR); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - // Avoid NodeJS experimental warning - var safeGetBuiltIn = function (name) { - if (!descriptors) { return global_1[name]; } - var descriptor = getOwnPropertyDescriptor(global_1, name); - return descriptor && descriptor.value; - }; - - var nativeFetch = safeGetBuiltIn('fetch'); - var NativeRequest = safeGetBuiltIn('Request'); - var Headers = safeGetBuiltIn('Headers'); - var RequestPrototype = NativeRequest && NativeRequest.prototype; + var n$Fetch = getBuiltIn('fetch'); + var N$Request = getBuiltIn('Request'); + var Headers = getBuiltIn('Headers'); + var RequestPrototype = N$Request && N$Request.prototype; var HeadersPrototype = Headers && Headers.prototype; var RegExp$1 = global_1.RegExp; var TypeError$2 = global_1.TypeError; @@ -15922,6 +13980,33 @@ var doric = (function (exports) { return replace$1(encodeURIComponent$1(it), find, replacer); }; + var parseSearchParams = function (result, query) { + if (query) { + var attributes = split$1(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split$1(attribute, '='); + push$1(result, { + key: deserialize(shift$1(entry)), + value: deserialize(join$1(entry, '=')) + }); + } + } + } + }; + + var updateSearchParams = function (query) { + this.entries.length = 0; + parseSearchParams(this.entries, query); + }; + + var validateArgumentsLength = function (passed, required) { + if (passed < required) { throw TypeError$2('Not enough arguments'); } + }; + var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { setInternalState$1(this, { type: URL_SEARCH_PARAMS_ITERATOR, @@ -15936,92 +14021,53 @@ var doric = (function (exports) { if (!step.done) { step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; } return step; - }, true); - - var URLSearchParamsState = function (init) { - this.entries = []; - this.url = null; - - if (init !== undefined) { - if (isObject(init)) { this.parseObject(init); } - else { this.parseQuery(typeof init == 'string' ? charAt$1(init, 0) === '?' ? stringSlice$1(init, 1) : init : toString_1(init)); } - } - }; - - URLSearchParamsState.prototype = { - type: URL_SEARCH_PARAMS, - bindURL: function (url) { - this.url = url; - this.update(); - }, - parseObject: function (object) { - var iteratorMethod = getIteratorMethod(object); - var iterator, next, step, entryIterator, entryNext, first, second; - - if (iteratorMethod) { - iterator = getIterator(object, iteratorMethod); - next = iterator.next; - while (!(step = functionCall(next, iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ( - (first = functionCall(entryNext, entryIterator)).done || - (second = functionCall(entryNext, entryIterator)).done || - !functionCall(entryNext, entryIterator).done - ) { throw TypeError$2('Expected sequence with length 2'); } - push$1(this.entries, { key: toString_1(first.value), value: toString_1(second.value) }); - } - } else { for (var key in object) { if (hasOwnProperty_1(object, key)) { - push$1(this.entries, { key: key, value: toString_1(object[key]) }); - } } } - }, - parseQuery: function (query) { - if (query) { - var attributes = split$1(query, '&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = split$1(attribute, '='); - push$1(this.entries, { - key: deserialize(shift$1(entry)), - value: deserialize(join$1(entry, '=')) - }); - } - } - } - }, - serialize: function () { - var entries = this.entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - push$1(result, serialize(entry.key) + '=' + serialize(entry.value)); - } return join$1(result, '&'); - }, - update: function () { - this.entries.length = 0; - this.parseQuery(this.url.query); - }, - updateURL: function () { - if (this.url) { this.url.update(); } - } - }; + }); // `URLSearchParams` constructor // https://url.spec.whatwg.org/#interface-urlsearchparams var URLSearchParamsConstructor = function URLSearchParams(/* init */) { anInstance(this, URLSearchParamsPrototype); var init = arguments.length > 0 ? arguments[0] : undefined; - setInternalState$1(this, new URLSearchParamsState(init)); + var that = this; + var entries = []; + var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; + + setInternalState$1(that, { + type: URL_SEARCH_PARAMS, + entries: entries, + updateURL: function () { /* empty */ }, + updateSearchParams: updateSearchParams + }); + + if (init !== undefined) { + if (isObject(init)) { + iteratorMethod = getIteratorMethod(init); + if (iteratorMethod) { + iterator = getIterator(init, iteratorMethod); + next = iterator.next; + while (!(step = functionCall(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = functionCall(entryNext, entryIterator)).done || + (second = functionCall(entryNext, entryIterator)).done || + !functionCall(entryNext, entryIterator).done + ) { throw TypeError$2('Expected sequence with length 2'); } + push$1(entries, { key: toString_1(first.value), value: toString_1(second.value) }); + } + } else { for (key in init) { if (hasOwnProperty_1(init, key)) { push$1(entries, { key: key, value: toString_1(init[key]) }); } } } + } else { + parseSearchParams( + entries, + typeof init == 'string' ? charAt$1(init, 0) === '?' ? stringSlice$1(init, 1) : init : toString_1(init) + ); + } + } }; var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; - defineBuiltIns(URLSearchParamsPrototype, { + redefineAll(URLSearchParamsPrototype, { // `URLSearchParams.prototype.append` method // https://url.spec.whatwg.org/#dom-urlsearchparams-append append: function append(name, value) { @@ -16140,17 +14186,24 @@ var doric = (function (exports) { }, { enumerable: true }); // `URLSearchParams.prototype[@@iterator]` method - defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); // `URLSearchParams.prototype.toString` method // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior - defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { - return getInternalParamsState(this).serialize(); + redefine(URLSearchParamsPrototype, 'toString', function toString() { + var entries = getInternalParamsState(this).entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push$1(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join$1(result, '&'); }, { enumerable: true }); setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - _export({ global: true, constructor: true, forced: !nativeUrl }, { + _export({ global: true, forced: !nativeUrl }, { URLSearchParams: URLSearchParamsConstructor }); @@ -16176,30 +14229,30 @@ var doric = (function (exports) { } return init; }; - if (isCallable(nativeFetch)) { - _export({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + if (isCallable(n$Fetch)) { + _export({ global: true, enumerable: true, forced: true }, { fetch: function fetch(input /* , init */) { - return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); } }); } - if (isCallable(NativeRequest)) { + if (isCallable(N$Request)) { var RequestConstructor = function Request(input /* , init */) { anInstance(this, RequestPrototype); - return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); }; RequestPrototype.constructor = RequestConstructor; RequestConstructor.prototype = RequestPrototype; - _export({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + _export({ global: true, forced: true }, { Request: RequestConstructor }); } } - var web_urlSearchParams_constructor = { + var web_urlSearchParams = { URLSearchParams: URLSearchParamsConstructor, getState: getInternalParamsState }; @@ -16219,6 +14272,7 @@ var doric = (function (exports) { + var codeAt = stringMultibyte.codeAt; @@ -16226,11 +14280,10 @@ var doric = (function (exports) { - var setInternalState = internalState.set; var getInternalURLState = internalState.getterFor('URL'); - var URLSearchParams$1 = web_urlSearchParams_constructor.URLSearchParams; - var getInternalSearchParamsState = web_urlSearchParams_constructor.getState; + var URLSearchParams$1 = web_urlSearchParams.URLSearchParams; + var getInternalSearchParamsState = web_urlSearchParams.getState; var NativeURL = global_1.URL; var TypeError$1 = global_1.TypeError; @@ -16271,7 +14324,31 @@ var doric = (function (exports) { /* eslint-enable regexp/no-control-character -- safe */ var EOF; - // https://url.spec.whatwg.org/#ipv4-number-parser + var parseHost = function (url, input) { + var result, codePoints, index; + if (charAt(input, 0) == '[') { + if (charAt(input, input.length - 1) != ']') { return INVALID_HOST; } + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) { return INVALID_HOST; } + url.host = result; + // opaque host + } else if (!isSpecial(url)) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) { return INVALID_HOST; } + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + url.host = result; + } else { + input = stringPunycodeToAscii(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) { return INVALID_HOST; } + result = parseIPv4(input); + if (result === null) { return INVALID_HOST; } + url.host = result; + } + }; + var parseIPv4 = function (input) { var parts = split(input, '.'); var partsLength, numbers, index, part, radix, number, ipv4; @@ -16310,7 +14387,6 @@ var doric = (function (exports) { return ipv4; }; - // https://url.spec.whatwg.org/#concept-ipv6-parser // eslint-disable-next-line max-statements -- TODO var parseIPv6 = function (input) { var address = [0, 0, 0, 0, 0, 0, 0, 0]; @@ -16414,7 +14490,6 @@ var doric = (function (exports) { return maxIndex; }; - // https://url.spec.whatwg.org/#host-serializing var serializeHost = function (host) { var result, index, compress, ignore0; // ipv4 @@ -16459,7 +14534,6 @@ var doric = (function (exports) { return code > 0x20 && code < 0x7F && !hasOwnProperty_1(set, chr) ? chr : encodeURIComponent(chr); }; - // https://url.spec.whatwg.org/#special-scheme var specialSchemes = { ftp: 21, file: null, @@ -16469,14 +14543,24 @@ var doric = (function (exports) { wss: 443 }; - // https://url.spec.whatwg.org/#windows-drive-letter + var isSpecial = function (url) { + return hasOwnProperty_1(specialSchemes, url.scheme); + }; + + var includesCredentials = function (url) { + return url.username != '' || url.password != ''; + }; + + var cannotHaveUsernamePasswordPort = function (url) { + return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; + }; + var isWindowsDriveLetter = function (string, normalized) { var second; return string.length == 2 && exec(ALPHA, charAt(string, 0)) && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|')); }; - // https://url.spec.whatwg.org/#start-with-a-windows-drive-letter var startsWithWindowsDriveLetter = function (string) { var third; return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( @@ -16485,12 +14569,18 @@ var doric = (function (exports) { ); }; - // https://url.spec.whatwg.org/#single-dot-path-segment + var shortenURLsPath = function (url) { + var path = url.path; + var pathSize = path.length; + if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }; + var isSingleDot = function (segment) { return segment === '.' || toLowerCase(segment) === '%2e'; }; - // https://url.spec.whatwg.org/#double-dot-path-segment var isDoubleDot = function (segment) { segment = toLowerCase(segment); return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; @@ -16519,625 +14609,402 @@ var doric = (function (exports) { var QUERY = {}; var FRAGMENT = {}; - var URLState = function (url, isBase, base) { - var urlString = toString_1(url); - var baseState, failure, searchParams; - if (isBase) { - failure = this.parse(urlString); - if (failure) { throw TypeError$1(failure); } - this.searchParams = null; - } else { - if (base !== undefined) { baseState = new URLState(base, true); } - failure = this.parse(urlString, null, baseState); - if (failure) { throw TypeError$1(failure); } - searchParams = getInternalSearchParamsState(new URLSearchParams$1()); - searchParams.bindURL(this); - this.searchParams = searchParams; + // eslint-disable-next-line max-statements -- TODO + var parseURL = function (url, input, stateOverride, base) { + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); } - }; - URLState.prototype = { - type: 'URL', - // https://url.spec.whatwg.org/#url-parsing - // eslint-disable-next-line max-statements -- TODO - parse: function (input, stateOverride, base) { - var url = this; - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, chr, bufferCodePoints, failure; + input = replace(input, TAB_AND_NEW_LINE, ''); - input = toString_1(input); + codePoints = arrayFrom(input); - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = replace(input, TAB_AND_NEW_LINE, ''); - - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - chr = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (chr && exec(ALPHA, chr)) { - buffer += toLowerCase(chr); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else { return INVALID_SCHEME; } - break; - - case SCHEME: - if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { - buffer += toLowerCase(chr); - } else if (chr == ':') { - if (stateOverride && ( - (url.isSpecial() != hasOwnProperty_1(specialSchemes, buffer)) || - (buffer == 'file' && (url.includesCredentials() || url.port !== null)) || - (url.scheme == 'file' && !url.host) - )) { return; } - url.scheme = buffer; - if (stateOverride) { - if (url.isSpecial() && specialSchemes[url.scheme] == url.port) { url.port = null; } - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (url.isSpecial() && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (url.isSpecial()) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - push(url.path, ''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else { return INVALID_SCHEME; } - break; - - case NO_SCHEME: - if (!base || (base.cannotBeABaseURL && chr != '#')) { return INVALID_SCHEME; } - if (base.cannotBeABaseURL && chr == '#') { - url.scheme = base.scheme; - url.path = arraySliceSimple(base.path); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; continue; + } else { return INVALID_SCHEME; } + break; - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (chr == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { + buffer += toLowerCase(chr); + } else if (chr == ':') { + if (stateOverride && ( + (isSpecial(url) != hasOwnProperty_1(specialSchemes, buffer)) || + (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || + (url.scheme == 'file' && !url.host) + )) { return; } + url.scheme = buffer; + if (stateOverride) { + if (isSpecial(url) && specialSchemes[url.scheme] == url.port) { url.port = null; } + return; + } + buffer = ''; + if (url.scheme == 'file') { + state = FILE; + } else if (isSpecial(url) && base && base.scheme == url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (isSpecial(url)) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] == '/') { + state = PATH_OR_AUTHORITY; pointer++; } else { - state = RELATIVE; - continue; - } break; - - case PATH_OR_AUTHORITY: - if (chr == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else { return INVALID_SCHEME; } + break; - case RELATIVE: + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr != '#')) { return INVALID_SCHEME; } + if (base.cannotBeABaseURL && chr == '#') { url.scheme = base.scheme; + url.path = arraySlice$1(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme == 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr == '/' && codePoints[pointer + 1] == '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr == '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr == EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice$1(base.path); + url.query = base.query; + } else if (chr == '/' || (chr == '\\' && isSpecial(url))) { + state = RELATIVE_SLASH; + } else if (chr == '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice$1(base.path); + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice$1(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice$1(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (isSpecial(url) && (chr == '/' || chr == '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr == '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr != '/' || charAt(buffer, pointer + 1) != '/') { continue; } + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr != '/' && chr != '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr == '@') { + if (seenAt) { buffer = '%40' + buffer; } + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint == ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) { url.password += encodedCodePoints; } + else { url.username += encodedCodePoints; } + } + buffer = ''; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && isSpecial(url)) + ) { + if (seenAt && buffer == '') { return INVALID_AUTHORITY; } + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else { buffer += chr; } + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme == 'file') { + state = FILE_HOST; + continue; + } else if (chr == ':' && !seenBracket) { + if (buffer == '') { return INVALID_HOST; } + failure = parseHost(url, buffer); + if (failure) { return failure; } + buffer = ''; + state = PORT; + if (stateOverride == HOSTNAME) { return; } + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && isSpecial(url)) + ) { + if (isSpecial(url) && buffer == '') { return INVALID_HOST; } + if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) { return; } + failure = parseHost(url, buffer); + if (failure) { return failure; } + buffer = ''; + state = PATH_START; + if (stateOverride) { return; } + continue; + } else { + if (chr == '[') { seenBracket = true; } + else if (chr == ']') { seenBracket = false; } + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && isSpecial(url)) || + stateOverride + ) { + if (buffer != '') { + var port = parseInt$1(buffer, 10); + if (port > 0xFFFF) { return INVALID_PORT; } + url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) { return; } + state = PATH_START; + continue; + } else { return INVALID_PORT; } + break; + + case FILE: + url.scheme = 'file'; + if (chr == '/' || chr == '\\') { state = FILE_SLASH; } + else if (base && base.scheme == 'file') { if (chr == EOF) { - url.username = base.username; - url.password = base.password; url.host = base.host; - url.port = base.port; - url.path = arraySliceSimple(base.path); + url.path = arraySlice$1(base.path); url.query = base.query; - } else if (chr == '/' || (chr == '\\' && url.isSpecial())) { - state = RELATIVE_SLASH; } else if (chr == '?') { - url.username = base.username; - url.password = base.password; url.host = base.host; - url.port = base.port; - url.path = arraySliceSimple(base.path); + url.path = arraySlice$1(base.path); url.query = ''; state = QUERY; } else if (chr == '#') { - url.username = base.username; - url.password = base.password; url.host = base.host; - url.port = base.port; - url.path = arraySliceSimple(base.path); + url.path = arraySlice$1(base.path); url.query = base.query; url.fragment = ''; state = FRAGMENT; } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySliceSimple(base.path); - url.path.length--; + if (!startsWithWindowsDriveLetter(join(arraySlice$1(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice$1(base.path); + shortenURLsPath(url); + } state = PATH; continue; - } break; - - case RELATIVE_SLASH: - if (url.isSpecial() && (chr == '/' || chr == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (chr == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (chr != '/' || charAt(buffer, pointer + 1) != '/') { continue; } - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (chr != '/' && chr != '\\') { - state = AUTHORITY; - continue; - } break; - - case AUTHORITY: - if (chr == '@') { - if (seenAt) { buffer = '%40' + buffer; } - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) { url.password += encodedCodePoints; } - else { url.username += encodedCodePoints; } - } - buffer = ''; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (seenAt && buffer == '') { return INVALID_AUTHORITY; } - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else { buffer += chr; } - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (chr == ':' && !seenBracket) { - if (buffer == '') { return INVALID_HOST; } - failure = url.parseHost(buffer); - if (failure) { return failure; } - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) { return; } - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (url.isSpecial() && buffer == '') { return INVALID_HOST; } - if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) { return; } - failure = url.parseHost(buffer); - if (failure) { return failure; } - buffer = ''; - state = PATH_START; - if (stateOverride) { return; } - continue; - } else { - if (chr == '[') { seenBracket = true; } - else if (chr == ']') { seenBracket = false; } - buffer += chr; - } break; - - case PORT: - if (exec(DIGIT, chr)) { - buffer += chr; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) || - stateOverride - ) { - if (buffer != '') { - var port = parseInt$1(buffer, 10); - if (port > 0xFFFF) { return INVALID_PORT; } - url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; - buffer = ''; - } - if (stateOverride) { return; } - state = PATH_START; - continue; - } else { return INVALID_PORT; } - break; - - case FILE: - url.scheme = 'file'; - if (chr == '/' || chr == '\\') { state = FILE_SLASH; } - else if (base && base.scheme == 'file') { - if (chr == EOF) { - url.host = base.host; - url.path = arraySliceSimple(base.path); - url.query = base.query; - } else if (chr == '?') { - url.host = base.host; - url.path = arraySliceSimple(base.path); - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.host = base.host; - url.path = arraySliceSimple(base.path); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(join(arraySliceSimple(codePoints, pointer), ''))) { - url.host = base.host; - url.path = arraySliceSimple(base.path); - url.shortenPath(); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } break; - - case FILE_SLASH: - if (chr == '/' || chr == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySliceSimple(codePoints, pointer), ''))) { - if (isWindowsDriveLetter(base.path[0], true)) { push(url.path, base.path[0]); } - else { url.host = base.host; } } + } else { state = PATH; continue; + } break; - case FILE_HOST: - if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) { return; } - state = PATH_START; - } else { - failure = url.parseHost(buffer); - if (failure) { return failure; } - if (url.host == 'localhost') { url.host = ''; } - if (stateOverride) { return; } - buffer = ''; - state = PATH_START; - } continue; - } else { buffer += chr; } + case FILE_SLASH: + if (chr == '/' || chr == '\\') { + state = FILE_HOST; break; + } + if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice$1(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) { push(url.path, base.path[0]); } + else { url.host = base.host; } + } + state = PATH; + continue; - case PATH_START: - if (url.isSpecial()) { + case FILE_HOST: + if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { state = PATH; - if (chr != '/' && chr != '\\') { continue; } - } else if (!stateOverride && chr == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - state = PATH; - if (chr != '/') { continue; } - } break; - - case PATH: - if ( - chr == EOF || chr == '/' || - (chr == '\\' && url.isSpecial()) || - (!stateOverride && (chr == '?' || chr == '#')) - ) { - if (isDoubleDot(buffer)) { - url.shortenPath(); - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else if (isSingleDot(buffer)) { - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) { url.host = ''; } - buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter - } - push(url.path, buffer); - } + } else if (buffer == '') { + url.host = ''; + if (stateOverride) { return; } + state = PATH_START; + } else { + failure = parseHost(url, buffer); + if (failure) { return failure; } + if (url.host == 'localhost') { url.host = ''; } + if (stateOverride) { return; } buffer = ''; - if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - shift(url.path); - } + state = PATH_START; + } continue; + } else { buffer += chr; } + break; + + case PATH_START: + if (isSpecial(url)) { + state = PATH; + if (chr != '/' && chr != '\\') { continue; } + } else if (!stateOverride && chr == '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + state = PATH; + if (chr != '/') { continue; } + } break; + + case PATH: + if ( + chr == EOF || chr == '/' || + (chr == '\\' && isSpecial(url)) || + (!stateOverride && (chr == '?' || chr == '#')) + ) { + if (isDoubleDot(buffer)) { + shortenURLsPath(url); + if (chr != '/' && !(chr == '\\' && isSpecial(url))) { + push(url.path, ''); } - if (chr == '?') { - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.fragment = ''; - state = FRAGMENT; + } else if (isSingleDot(buffer)) { + if (chr != '/' && !(chr == '\\' && isSpecial(url))) { + push(url.path, ''); } } else { - buffer += percentEncode(chr, pathPercentEncodeSet); - } break; - - case CANNOT_BE_A_BASE_URL_PATH: + if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) { url.host = ''; } + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } if (chr == '?') { url.query = ''; state = QUERY; } else if (chr == '#') { url.fragment = ''; state = FRAGMENT; - } else if (chr != EOF) { - url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); - } break; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; - case QUERY: - if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - if (chr == "'" && url.isSpecial()) { url.query += '%27'; } - else if (chr == '#') { url.query += '%23'; } - else { url.query += percentEncode(chr, C0ControlPercentEncodeSet); } - } break; + case CANNOT_BE_A_BASE_URL_PATH: + if (chr == '?') { + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; - case FRAGMENT: - if (chr != EOF) { url.fragment += percentEncode(chr, fragmentPercentEncodeSet); } - break; - } + case QUERY: + if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + if (chr == "'" && isSpecial(url)) { url.query += '%27'; } + else if (chr == '#') { url.query += '%23'; } + else { url.query += percentEncode(chr, C0ControlPercentEncodeSet); } + } break; - pointer++; + case FRAGMENT: + if (chr != EOF) { url.fragment += percentEncode(chr, fragmentPercentEncodeSet); } + break; } - }, - // https://url.spec.whatwg.org/#host-parsing - parseHost: function (input) { - var result, codePoints, index; - if (charAt(input, 0) == '[') { - if (charAt(input, input.length - 1) != ']') { return INVALID_HOST; } - result = parseIPv6(stringSlice(input, 1, -1)); - if (!result) { return INVALID_HOST; } - this.host = result; - // opaque host - } else if (!this.isSpecial()) { - if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) { return INVALID_HOST; } - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - this.host = result; - } else { - input = stringPunycodeToAscii(input); - if (exec(FORBIDDEN_HOST_CODE_POINT, input)) { return INVALID_HOST; } - result = parseIPv4(input); - if (result === null) { return INVALID_HOST; } - this.host = result; - } - }, - // https://url.spec.whatwg.org/#cannot-have-a-username-password-port - cannotHaveUsernamePasswordPort: function () { - return !this.host || this.cannotBeABaseURL || this.scheme == 'file'; - }, - // https://url.spec.whatwg.org/#include-credentials - includesCredentials: function () { - return this.username != '' || this.password != ''; - }, - // https://url.spec.whatwg.org/#is-special - isSpecial: function () { - return hasOwnProperty_1(specialSchemes, this.scheme); - }, - // https://url.spec.whatwg.org/#shorten-a-urls-path - shortenPath: function () { - var path = this.path; - var pathSize = path.length; - if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.length--; - } - }, - // https://url.spec.whatwg.org/#concept-url-serializer - serialize: function () { - var url = this; - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (url.includesCredentials()) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) { output += ':' + port; } - } else if (scheme == 'file') { output += '//'; } - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - if (query !== null) { output += '?' + query; } - if (fragment !== null) { output += '#' + fragment; } - return output; - }, - // https://url.spec.whatwg.org/#dom-url-href - setHref: function (href) { - var failure = this.parse(href); - if (failure) { throw TypeError$1(failure); } - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-origin - getOrigin: function () { - var scheme = this.scheme; - var port = this.port; - if (scheme == 'blob') { try { - return new URLConstructor(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } } - if (scheme == 'file' || !this.isSpecial()) { return 'null'; } - return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); - }, - // https://url.spec.whatwg.org/#dom-url-protocol - getProtocol: function () { - return this.scheme + ':'; - }, - setProtocol: function (protocol) { - this.parse(toString_1(protocol) + ':', SCHEME_START); - }, - // https://url.spec.whatwg.org/#dom-url-username - getUsername: function () { - return this.username; - }, - setUsername: function (username) { - var codePoints = arrayFrom(toString_1(username)); - if (this.cannotHaveUsernamePasswordPort()) { return; } - this.username = ''; - for (var i = 0; i < codePoints.length; i++) { - this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-password - getPassword: function () { - return this.password; - }, - setPassword: function (password) { - var codePoints = arrayFrom(toString_1(password)); - if (this.cannotHaveUsernamePasswordPort()) { return; } - this.password = ''; - for (var i = 0; i < codePoints.length; i++) { - this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-host - getHost: function () { - var host = this.host; - var port = this.port; - return host === null ? '' - : port === null ? serializeHost(host) - : serializeHost(host) + ':' + port; - }, - setHost: function (host) { - if (this.cannotBeABaseURL) { return; } - this.parse(host, HOST); - }, - // https://url.spec.whatwg.org/#dom-url-hostname - getHostname: function () { - var host = this.host; - return host === null ? '' : serializeHost(host); - }, - setHostname: function (hostname) { - if (this.cannotBeABaseURL) { return; } - this.parse(hostname, HOSTNAME); - }, - // https://url.spec.whatwg.org/#dom-url-port - getPort: function () { - var port = this.port; - return port === null ? '' : toString_1(port); - }, - setPort: function (port) { - if (this.cannotHaveUsernamePasswordPort()) { return; } - port = toString_1(port); - if (port == '') { this.port = null; } - else { this.parse(port, PORT); } - }, - // https://url.spec.whatwg.org/#dom-url-pathname - getPathname: function () { - var path = this.path; - return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - }, - setPathname: function (pathname) { - if (this.cannotBeABaseURL) { return; } - this.path = []; - this.parse(pathname, PATH_START); - }, - // https://url.spec.whatwg.org/#dom-url-search - getSearch: function () { - var query = this.query; - return query ? '?' + query : ''; - }, - setSearch: function (search) { - search = toString_1(search); - if (search == '') { - this.query = null; - } else { - if ('?' == charAt(search, 0)) { search = stringSlice(search, 1); } - this.query = ''; - this.parse(search, QUERY); - } - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-searchparams - getSearchParams: function () { - return this.searchParams.facade; - }, - // https://url.spec.whatwg.org/#dom-url-hash - getHash: function () { - var fragment = this.fragment; - return fragment ? '#' + fragment : ''; - }, - setHash: function (hash) { - hash = toString_1(hash); - if (hash == '') { - this.fragment = null; - return; - } - if ('#' == charAt(hash, 0)) { hash = stringSlice(hash, 1); } - this.fragment = ''; - this.parse(hash, FRAGMENT); - }, - update: function () { - this.query = this.searchParams.serialize() || null; + + pointer++; } }; @@ -17145,88 +15012,253 @@ var doric = (function (exports) { // https://url.spec.whatwg.org/#url-class var URLConstructor = function URL(url /* , base */) { var that = anInstance(this, URLPrototype); - var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; - var state = setInternalState(that, new URLState(url, false, base)); + var base = arguments.length > 1 ? arguments[1] : undefined; + var urlString = toString_1(url); + var state = setInternalState(that, { type: 'URL' }); + var baseState, failure; + if (base !== undefined) { + try { + baseState = getInternalURLState(base); + } catch (error) { + failure = parseURL(baseState = {}, toString_1(base)); + if (failure) { throw TypeError$1(failure); } + } + } + failure = parseURL(state, urlString, null, baseState); + if (failure) { throw TypeError$1(failure); } + var searchParams = state.searchParams = new URLSearchParams$1(); + var searchParamsState = getInternalSearchParamsState(searchParams); + searchParamsState.updateSearchParams(state.query); + searchParamsState.updateURL = function () { + state.query = toString_1(searchParams) || null; + }; if (!descriptors) { - that.href = state.serialize(); - that.origin = state.getOrigin(); - that.protocol = state.getProtocol(); - that.username = state.getUsername(); - that.password = state.getPassword(); - that.host = state.getHost(); - that.hostname = state.getHostname(); - that.port = state.getPort(); - that.pathname = state.getPathname(); - that.search = state.getSearch(); - that.searchParams = state.getSearchParams(); - that.hash = state.getHash(); + that.href = functionCall(serializeURL, that); + that.origin = functionCall(getOrigin, that); + that.protocol = functionCall(getProtocol, that); + that.username = functionCall(getUsername, that); + that.password = functionCall(getPassword, that); + that.host = functionCall(getHost, that); + that.hostname = functionCall(getHostname, that); + that.port = functionCall(getPort, that); + that.pathname = functionCall(getPathname, that); + that.search = functionCall(getSearch, that); + that.searchParams = functionCall(getSearchParams, that); + that.hash = functionCall(getHash, that); } }; var URLPrototype = URLConstructor.prototype; + var serializeURL = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (includesCredentials(url)) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) { output += ':' + port; } + } else if (scheme == 'file') { output += '//'; } + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) { output += '?' + query; } + if (fragment !== null) { output += '#' + fragment; } + return output; + }; + + var getOrigin = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var port = url.port; + if (scheme == 'blob') { try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } } + if (scheme == 'file' || !isSpecial(url)) { return 'null'; } + return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); + }; + + var getProtocol = function () { + return getInternalURLState(this).scheme + ':'; + }; + + var getUsername = function () { + return getInternalURLState(this).username; + }; + + var getPassword = function () { + return getInternalURLState(this).password; + }; + + var getHost = function () { + var url = getInternalURLState(this); + var host = url.host; + var port = url.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }; + + var getHostname = function () { + var host = getInternalURLState(this).host; + return host === null ? '' : serializeHost(host); + }; + + var getPort = function () { + var port = getInternalURLState(this).port; + return port === null ? '' : toString_1(port); + }; + + var getPathname = function () { + var url = getInternalURLState(this); + var path = url.path; + return url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }; + + var getSearch = function () { + var query = getInternalURLState(this).query; + return query ? '?' + query : ''; + }; + + var getSearchParams = function () { + return getInternalURLState(this).searchParams; + }; + + var getHash = function () { + var fragment = getInternalURLState(this).fragment; + return fragment ? '#' + fragment : ''; + }; + var accessorDescriptor = function (getter, setter) { - return { - get: function () { - return getInternalURLState(this)[getter](); - }, - set: setter && function (value) { - return getInternalURLState(this)[setter](value); - }, - configurable: true, - enumerable: true - }; + return { get: getter, set: setter, configurable: true, enumerable: true }; }; if (descriptors) { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); + objectDefineProperties(URLPrototype, { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + href: accessorDescriptor(serializeURL, function (href) { + var url = getInternalURLState(this); + var urlString = toString_1(href); + var failure = parseURL(url, urlString); + if (failure) { throw TypeError$1(failure); } + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + origin: accessorDescriptor(getOrigin), + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + protocol: accessorDescriptor(getProtocol, function (protocol) { + var url = getInternalURLState(this); + parseURL(url, toString_1(protocol) + ':', SCHEME_START); + }), + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + username: accessorDescriptor(getUsername, function (username) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(toString_1(username)); + if (cannotHaveUsernamePasswordPort(url)) { return; } + url.username = ''; + for (var i = 0; i < codePoints.length; i++) { + url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + password: accessorDescriptor(getPassword, function (password) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(toString_1(password)); + if (cannotHaveUsernamePasswordPort(url)) { return; } + url.password = ''; + for (var i = 0; i < codePoints.length; i++) { + url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + host: accessorDescriptor(getHost, function (host) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) { return; } + parseURL(url, toString_1(host), HOST); + }), + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + hostname: accessorDescriptor(getHostname, function (hostname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) { return; } + parseURL(url, toString_1(hostname), HOSTNAME); + }), + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + port: accessorDescriptor(getPort, function (port) { + var url = getInternalURLState(this); + if (cannotHaveUsernamePasswordPort(url)) { return; } + port = toString_1(port); + if (port == '') { url.port = null; } + else { parseURL(url, port, PORT); } + }), + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + pathname: accessorDescriptor(getPathname, function (pathname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) { return; } + url.path = []; + parseURL(url, toString_1(pathname), PATH_START); + }), + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + search: accessorDescriptor(getSearch, function (search) { + var url = getInternalURLState(this); + search = toString_1(search); + if (search == '') { + url.query = null; + } else { + if ('?' == charAt(search, 0)) { search = stringSlice(search, 1); } + url.query = ''; + parseURL(url, search, QUERY); + } + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + searchParams: accessorDescriptor(getSearchParams), + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + hash: accessorDescriptor(getHash, function (hash) { + var url = getInternalURLState(this); + hash = toString_1(hash); + if (hash == '') { + url.fragment = null; + return; + } + if ('#' == charAt(hash, 0)) { hash = stringSlice(hash, 1); } + url.fragment = ''; + parseURL(url, hash, FRAGMENT); + }) + }); } // `URL.prototype.toJSON` method // https://url.spec.whatwg.org/#dom-url-tojson - defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { - return getInternalURLState(this).serialize(); + redefine(URLPrototype, 'toJSON', function toJSON() { + return functionCall(serializeURL, this); }, { enumerable: true }); // `URL.prototype.toString` method // https://url.spec.whatwg.org/#URL-stringification-behavior - defineBuiltIn(URLPrototype, 'toString', function toString() { - return getInternalURLState(this).serialize(); + redefine(URLPrototype, 'toString', function toString() { + return functionCall(serializeURL, this); }, { enumerable: true }); if (NativeURL) { @@ -17234,15 +15266,15 @@ var doric = (function (exports) { var nativeRevokeObjectURL = NativeURL.revokeObjectURL; // `URL.createObjectURL` method // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - if (nativeCreateObjectURL) { defineBuiltIn(URLConstructor, 'createObjectURL', functionBindContext(nativeCreateObjectURL, NativeURL)); } + if (nativeCreateObjectURL) { redefine(URLConstructor, 'createObjectURL', functionBindContext(nativeCreateObjectURL, NativeURL)); } // `URL.revokeObjectURL` method // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - if (nativeRevokeObjectURL) { defineBuiltIn(URLConstructor, 'revokeObjectURL', functionBindContext(nativeRevokeObjectURL, NativeURL)); } + if (nativeRevokeObjectURL) { redefine(URLConstructor, 'revokeObjectURL', functionBindContext(nativeRevokeObjectURL, NativeURL)); } } setToStringTag(URLConstructor, 'URL'); - _export({ global: true, constructor: true, forced: !nativeUrl, sham: !descriptors }, { + _export({ global: true, forced: !nativeUrl, sham: !descriptors }, { URL: URLConstructor }); @@ -17254,9 +15286,7 @@ var doric = (function (exports) { } }); - var full = path; - - var features = full; + var features = path; var coreJs = features; diff --git a/doric-js/bundle/doric-vm.js b/doric-js/bundle/doric-vm.js index 47257f89..67753872 100644 --- a/doric-js/bundle/doric-vm.js +++ b/doric-js/bundle/doric-vm.js @@ -1899,6 +1899,9 @@ class View { } }); } + static isViewClass() { + return true; + } } __decorate$f([ Property, @@ -3822,26 +3825,47 @@ exports.Display = void 0; exports.jsx = void 0; (function (jsx) { function createElement(constructor, config, ...children) { - const e = new constructor(); - if (e instanceof Fragment) { - return children; - } - e.layoutConfig = layoutConfig().fit(); - if (config) { - e.apply(config); - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0]; + if (!!constructor.isViewClass) { + const e = new constructor(); + if (e instanceof Fragment) { + return children; } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e); + e.layoutConfig = layoutConfig().fit(); + if (config) { + e.apply(config); } - else { - throw new Error(`Do not support ${constructor.name} for ${children}`); + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support ${constructor.name} for ${children}`); + } } + return e; + } + else { + const f = constructor; + const e = Reflect.apply(f, undefined, [config]); + if (e instanceof Fragment) { + return children; + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support add child for ${e.viewType()}`); + } + } + return e; } - return e; } jsx.createElement = createElement; class Fragment extends Group { diff --git a/doric-js/index.d.ts b/doric-js/index.d.ts index 0df63fe9..05b0dcae 100644 --- a/doric-js/index.d.ts +++ b/doric-js/index.d.ts @@ -327,6 +327,7 @@ declare module 'doric/lib/src/ui/view' { doAnimation(context: BridgeContext, animation: IAnimation): Promise; clearAnimation(context: BridgeContext, animation: IAnimation): Promise; cancelAnimation(context: BridgeContext, animation: IAnimation): Promise; + static isViewClass(): boolean; } export abstract class Superview extends View { subviewById(id: string): View | undefined; @@ -1215,11 +1216,11 @@ declare module 'doric/lib/src/native/navigator' { export function internalScheme(context: BridgeContext, panelClass: ClassType): string; export function navigator(context: BridgeContext): { push: (source: string | ClassType, config?: { - alias?: string; - animated?: boolean; - extra?: object; - singlePage?: boolean; - }) => Promise; + alias?: string | undefined; + animated?: boolean | undefined; + extra?: object | undefined; + singlePage?: boolean | undefined; + } | undefined) => Promise; pop: (animated?: boolean) => Promise; popSelf: (animated?: boolean) => Promise; popToRoot: (animated?: boolean) => Promise; @@ -1250,19 +1251,19 @@ declare module 'doric/lib/src/native/network' { } export function network(context: BridgeContext): { request: (config: IRequest) => Promise; - get: (url: string, config?: IRequest) => Promise; - post: (url: string, data?: object | string, config?: IRequest) => Promise; - put: (url: string, data?: object | string, config?: IRequest) => Promise; - delete: (url: string, data?: object | string, config?: IRequest) => Promise; + get: (url: string, config?: IRequest | undefined) => Promise; + post: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; + put: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; + delete: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; }; } declare module 'doric/lib/src/native/storage' { import { BridgeContext } from "doric/lib/src/runtime/global"; export function storage(context: BridgeContext): { - setItem: (key: string, value: string, zone?: string) => Promise; - getItem: (key: string, zone?: string) => Promise; - remove: (key: string, zone?: string) => Promise; + setItem: (key: string, value: string, zone?: string | undefined) => Promise; + getItem: (key: string, zone?: string | undefined) => Promise; + remove: (key: string, zone?: string | undefined) => Promise; clear: (zone: string) => Promise; }; } @@ -1705,7 +1706,7 @@ declare module 'doric/lib/src/util/jsx' { import { Group, View } from "doric/lib/src/ui/view"; import { ClassType } from "doric/lib/src/util/types"; export namespace jsx { - function createElement(constructor: ClassType, config: Partial | null, ...children: any[]): any[] | T; + function createElement(constructor: ClassType, config: Partial | null, ...children: any[]): any; class Fragment extends Group { } } diff --git a/doric-js/lib/src/native/navigator.d.ts b/doric-js/lib/src/native/navigator.d.ts index 2bf1a69b..f8bc2089 100644 --- a/doric-js/lib/src/native/navigator.d.ts +++ b/doric-js/lib/src/native/navigator.d.ts @@ -4,11 +4,11 @@ import { ClassType } from "../util/types"; export declare function internalScheme(context: BridgeContext, panelClass: ClassType): string; export declare function navigator(context: BridgeContext): { push: (source: string | ClassType, config?: { - alias?: string; - animated?: boolean; - extra?: object; - singlePage?: boolean; - }) => Promise; + alias?: string | undefined; + animated?: boolean | undefined; + extra?: object | undefined; + singlePage?: boolean | undefined; + } | undefined) => Promise; pop: (animated?: boolean) => Promise; popSelf: (animated?: boolean) => Promise; popToRoot: (animated?: boolean) => Promise; diff --git a/doric-js/lib/src/native/network.d.ts b/doric-js/lib/src/native/network.d.ts index 63dbb7f8..cd0485a0 100644 --- a/doric-js/lib/src/native/network.d.ts +++ b/doric-js/lib/src/native/network.d.ts @@ -20,8 +20,8 @@ export interface IResponse { } export declare function network(context: BridgeContext): { request: (config: IRequest) => Promise; - get: (url: string, config?: IRequest) => Promise; - post: (url: string, data?: object | string, config?: IRequest) => Promise; - put: (url: string, data?: object | string, config?: IRequest) => Promise; - delete: (url: string, data?: object | string, config?: IRequest) => Promise; + get: (url: string, config?: IRequest | undefined) => Promise; + post: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; + put: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; + delete: (url: string, data?: string | object | undefined, config?: IRequest | undefined) => Promise; }; diff --git a/doric-js/lib/src/native/storage.d.ts b/doric-js/lib/src/native/storage.d.ts index 878506c0..d90ebed0 100644 --- a/doric-js/lib/src/native/storage.d.ts +++ b/doric-js/lib/src/native/storage.d.ts @@ -1,7 +1,7 @@ import { BridgeContext } from "../runtime/global"; export declare function storage(context: BridgeContext): { - setItem: (key: string, value: string, zone?: string) => Promise; - getItem: (key: string, zone?: string) => Promise; - remove: (key: string, zone?: string) => Promise; + setItem: (key: string, value: string, zone?: string | undefined) => Promise; + getItem: (key: string, zone?: string | undefined) => Promise; + remove: (key: string, zone?: string | undefined) => Promise; clear: (zone: string) => Promise; }; diff --git a/doric-js/lib/src/ui/view.d.ts b/doric-js/lib/src/ui/view.d.ts index aa08dd1a..835ee821 100644 --- a/doric-js/lib/src/ui/view.d.ts +++ b/doric-js/lib/src/ui/view.d.ts @@ -145,6 +145,7 @@ export declare abstract class View implements Modeling { doAnimation(context: BridgeContext, animation: IAnimation): Promise; clearAnimation(context: BridgeContext, animation: IAnimation): Promise; cancelAnimation(context: BridgeContext, animation: IAnimation): Promise; + static isViewClass(): boolean; } export declare abstract class Superview extends View { subviewById(id: string): View | undefined; diff --git a/doric-js/lib/src/ui/view.js b/doric-js/lib/src/ui/view.js index 447479ae..a4a63f31 100644 --- a/doric-js/lib/src/ui/view.js +++ b/doric-js/lib/src/ui/view.js @@ -253,6 +253,9 @@ export class View { } }); } + static isViewClass() { + return true; + } } __decorate([ Property, diff --git a/doric-js/lib/src/util/jsx.d.ts b/doric-js/lib/src/util/jsx.d.ts index 6f9c2a8c..91842a48 100644 --- a/doric-js/lib/src/util/jsx.d.ts +++ b/doric-js/lib/src/util/jsx.d.ts @@ -1,7 +1,7 @@ import { Group, View } from "../ui/view"; import { ClassType } from "./types"; export declare namespace jsx { - function createElement(constructor: ClassType, config: Partial | null, ...children: any[]): any[] | T; + function createElement(constructor: ClassType, config: Partial | null, ...children: any[]): any; class Fragment extends Group { } } diff --git a/doric-js/lib/src/util/jsx.js b/doric-js/lib/src/util/jsx.js index 54bf9eb4..d5c7a655 100644 --- a/doric-js/lib/src/util/jsx.js +++ b/doric-js/lib/src/util/jsx.js @@ -3,26 +3,47 @@ import { layoutConfig } from "./layoutconfig"; export var jsx; (function (jsx) { function createElement(constructor, config, ...children) { - const e = new constructor(); - if (e instanceof Fragment) { - return children; - } - e.layoutConfig = layoutConfig().fit(); - if (config) { - e.apply(config); - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0]; + if (!!constructor.isViewClass) { + const e = new constructor(); + if (e instanceof Fragment) { + return children; } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e); + e.layoutConfig = layoutConfig().fit(); + if (config) { + e.apply(config); } - else { - throw new Error(`Do not support ${constructor.name} for ${children}`); + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support ${constructor.name} for ${children}`); + } } + return e; + } + else { + const f = constructor; + const e = Reflect.apply(f, undefined, [config]); + if (e instanceof Fragment) { + return children; + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support add child for ${e.viewType()}`); + } + } + return e; } - return e; } jsx.createElement = createElement; class Fragment extends Group { diff --git a/doric-js/src/ui/view.es5.ts b/doric-js/src/ui/view.es5.ts index 371e8039..59aadf92 100644 --- a/doric-js/src/ui/view.es5.ts +++ b/doric-js/src/ui/view.es5.ts @@ -412,6 +412,9 @@ export abstract class View implements Modeling { } }) } + static isViewClass() { + return true + } } export abstract class Superview extends View { diff --git a/doric-js/src/ui/view.ts b/doric-js/src/ui/view.ts index 95f4bbd6..da419336 100644 --- a/doric-js/src/ui/view.ts +++ b/doric-js/src/ui/view.ts @@ -420,6 +420,9 @@ export abstract class View implements Modeling { } }) } + static isViewClass() { + return true + } } export abstract class Superview extends View { subviewById(id: string): View | undefined { diff --git a/doric-js/src/util/jsx.ts b/doric-js/src/util/jsx.ts index e1c163da..dc124bbf 100644 --- a/doric-js/src/util/jsx.ts +++ b/doric-js/src/util/jsx.ts @@ -8,27 +8,49 @@ export namespace jsx { config: Partial | null, ...children: any[] ) { - const e = new constructor(); - if (e instanceof Fragment) { - return children - } - e.layoutConfig = layoutConfig().fit() - if (config) { - e.apply(config) - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0] + if (!!(constructor as any).isViewClass) { + const e = new constructor(); + if (e instanceof Fragment) { + return children } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e) - } else { - throw new Error( - `Do not support ${constructor.name} for ${children}` - ); + e.layoutConfig = layoutConfig().fit() + if (config) { + e.apply(config) } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0] + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e) + } else { + throw new Error( + `Do not support ${constructor.name} for ${children}` + ); + } + } + return e; + } else { + const f = constructor as Function + const e = Reflect.apply(f, undefined, [config]) + if (e instanceof Fragment) { + return children + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0] + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e) + } else { + throw new Error( + `Do not support add child for ${e.viewType()}` + ); + } + } + return e } - return e; + } export class Fragment extends Group { } } diff --git a/doric-web/dist/index.js b/doric-web/dist/index.js index a8736708..ddbc0a62 100644 --- a/doric-web/dist/index.js +++ b/doric-web/dist/index.js @@ -1973,6 +1973,9 @@ class View { } }); } + static isViewClass() { + return true; + } } __decorate$f([ Property, @@ -3896,26 +3899,47 @@ exports.Display = void 0; exports.jsx = void 0; (function (jsx) { function createElement(constructor, config, ...children) { - const e = new constructor(); - if (e instanceof Fragment) { - return children; - } - e.layoutConfig = layoutConfig().fit(); - if (config) { - e.apply(config); - } - if (children && children.length > 0) { - if (children.length === 1) { - children = children[0]; + if (!!constructor.isViewClass) { + const e = new constructor(); + if (e instanceof Fragment) { + return children; } - if (Reflect.has(e, "innerElement")) { - Reflect.set(e, "innerElement", children, e); + e.layoutConfig = layoutConfig().fit(); + if (config) { + e.apply(config); } - else { - throw new Error(`Do not support ${constructor.name} for ${children}`); + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support ${constructor.name} for ${children}`); + } } + return e; + } + else { + const f = constructor; + const e = Reflect.apply(f, undefined, [config]); + if (e instanceof Fragment) { + return children; + } + if (children && children.length > 0) { + if (children.length === 1) { + children = children[0]; + } + if (Reflect.has(e, "innerElement")) { + Reflect.set(e, "innerElement", children, e); + } + else { + throw new Error(`Do not support add child for ${e.viewType()}`); + } + } + return e; } - return e; } jsx.createElement = createElement; class Fragment extends Group { diff --git a/doric-web/dist/index.js.map b/doric-web/dist/index.js.map index c528a28a..3c8c4622 100644 --- a/doric-web/dist/index.js.map +++ b/doric-web/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","../build/src/DoricBundleLoader.js","../build/src/DoricPlugin.js","../build/src/shader/DoricViewNode.js","../build/src/plugins/ShaderPlugin.js","../build/src/shader/DoricStackNode.js","../build/src/shader/DoricVLayoutNode.js","../build/src/shader/DoricHLayoutNode.js","../build/src/shader/DoricTextNode.js","../build/src/shader/DoricImageNode.js","../build/src/shader/DoricScrollerNode.js","../build/src/plugins/ModalPlugin.js","../build/src/plugins/StoragePlugin.js","../build/src/navigate/NavigatorPlugin.js","../build/src/plugins/PopoverPlugin.js","../build/src/shader/DoricListItemNode.js","../build/src/shader/DoricListNode.js","../build/src/shader/DoricDraggableNode.js","../build/src/shader/DoricRefreshableNode.js","../build/src/plugins/AnimatePlugin.js","../build/src/shader/DoricSwitchNode.js","../build/src/shader/DoricSliderNode.js","../build/src/shader/DoricSlideItemNode.js","../build/src/plugins/NotificationPlugin.js","../build/src/DoricRegistry.js","../build/src/DoricDriver.js","../build/src/DoricContext.js","../build/src/DoricElement.js","../build/src/navigate/NavigationElement.js","../build/index.js"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport axios from \"axios\";\nconst loaders = [\n {\n filter: () => true,\n request: (source) => __awaiter(void 0, void 0, void 0, function* () {\n const result = yield axios.get(source);\n return result.data;\n })\n }\n];\nexport function registerDoricJSLoader(loader) {\n loaders.push(loader);\n}\nexport function loadDoricJSBundle(source) {\n return __awaiter(this, void 0, void 0, function* () {\n const matched = loaders.filter(e => e.filter(source));\n if (matched.length > 0) {\n return matched[matched.length - 1].request(source);\n }\n throw new Error(`Cannot find matched loader for '${source}'`);\n });\n}\n//# sourceMappingURL=DoricBundleLoader.js.map","export class DoricPlugin {\n constructor(context) {\n this.context = context;\n }\n onTearDown() {\n }\n}\n//# sourceMappingURL=DoricPlugin.js.map","import { acquireViewNode } from \"../DoricRegistry\";\nexport var LayoutSpec;\n(function (LayoutSpec) {\n LayoutSpec[LayoutSpec[\"EXACTLY\"] = 0] = \"EXACTLY\";\n LayoutSpec[LayoutSpec[\"WRAP_CONTENT\"] = 1] = \"WRAP_CONTENT\";\n LayoutSpec[LayoutSpec[\"AT_MOST\"] = 2] = \"AT_MOST\";\n})(LayoutSpec || (LayoutSpec = {}));\nconst SPECIFIED = 1;\nconst START = 1 << 1;\nconst END = 1 << 2;\nconst SHIFT_X = 0;\nconst SHIFT_Y = 4;\nexport const LEFT = (START | SPECIFIED) << SHIFT_X;\nexport const RIGHT = (END | SPECIFIED) << SHIFT_X;\nexport const TOP = (START | SPECIFIED) << SHIFT_Y;\nexport const BOTTOM = (END | SPECIFIED) << SHIFT_Y;\nexport const CENTER_X = SPECIFIED << SHIFT_X;\nexport const CENTER_Y = SPECIFIED << SHIFT_Y;\nexport const CENTER = CENTER_X | CENTER_Y;\nexport function toPixelString(v) {\n return `${v}px`;\n}\nexport function pixelString2Number(v) {\n return parseFloat(v.substring(0, v.indexOf(\"px\")));\n}\nexport function toRGBAString(color) {\n let strs = [];\n for (let i = 0; i < 32; i += 8) {\n strs.push(((color >> i) & 0xff));\n }\n strs = strs.reverse();\n /// RGBAd\n return `rgba(${strs[1]},${strs[2]},${strs[3]},${strs[0] / 255})`;\n}\nexport class DoricViewNode {\n constructor(context) {\n this.viewId = \"\";\n this.viewType = \"View\";\n this.layoutConfig = {\n widthSpec: LayoutSpec.EXACTLY,\n heightSpec: LayoutSpec.EXACTLY,\n alignment: 0,\n weight: 0,\n margin: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n };\n this.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n };\n this.frameWidth = 0;\n this.frameHeight = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n this._originDisplay = \"\";\n this.transform = {};\n this.context = context;\n }\n init(superNode) {\n if (superNode) {\n this.superNode = superNode;\n if (this instanceof DoricSuperNode) {\n this.reusable = superNode.reusable;\n }\n }\n this.view = this.build();\n this._originDisplay = this.view.style.display;\n }\n get paddingLeft() {\n return this.padding.left || 0;\n }\n get paddingRight() {\n return this.padding.right || 0;\n }\n get paddingTop() {\n return this.padding.top || 0;\n }\n get paddingBottom() {\n return this.padding.bottom || 0;\n }\n get borderWidth() {\n var _a;\n return ((_a = this.border) === null || _a === void 0 ? void 0 : _a.width) || 0;\n }\n blend(props) {\n this.view.id = `${this.viewId}`;\n for (let key in props) {\n this.blendProps(this.view, key, props[key]);\n }\n this.onBlending();\n this.layout();\n }\n onBlending() {\n this.updateTransform();\n }\n onBlended() {\n }\n configBorder() {\n if (this.border) {\n this.applyCSSStyle({\n borderStyle: \"solid\",\n borderWidth: toPixelString(this.border.width),\n borderColor: toRGBAString(this.border.color),\n });\n }\n }\n configWidth() {\n let width;\n switch (this.layoutConfig.widthSpec) {\n case LayoutSpec.WRAP_CONTENT:\n width = \"max-content\";\n break;\n case LayoutSpec.AT_MOST:\n width = \"100%\";\n break;\n case LayoutSpec.EXACTLY:\n default:\n width = toPixelString(this.frameWidth\n - this.paddingLeft - this.paddingRight\n - this.borderWidth * 2);\n break;\n }\n this.applyCSSStyle({ width });\n }\n configHeight() {\n let height;\n switch (this.layoutConfig.heightSpec) {\n case LayoutSpec.WRAP_CONTENT:\n height = \"max-content\";\n break;\n case LayoutSpec.AT_MOST:\n height = \"100%\";\n break;\n case LayoutSpec.EXACTLY:\n default:\n height = toPixelString(this.frameHeight\n - this.paddingTop - this.paddingBottom\n - this.borderWidth * 2);\n break;\n }\n this.applyCSSStyle({ height });\n }\n configMargin() {\n if (this.layoutConfig.margin) {\n this.applyCSSStyle({\n marginLeft: toPixelString(this.layoutConfig.margin.left || 0),\n marginRight: toPixelString(this.layoutConfig.margin.right || 0),\n marginTop: toPixelString(this.layoutConfig.margin.top || 0),\n marginBottom: toPixelString(this.layoutConfig.margin.bottom || 0),\n });\n }\n }\n configPadding() {\n if (this.padding) {\n this.applyCSSStyle({\n paddingLeft: toPixelString(this.paddingLeft),\n paddingRight: toPixelString(this.paddingRight),\n paddingTop: toPixelString(this.paddingTop),\n paddingBottom: toPixelString(this.paddingBottom),\n });\n }\n }\n layout() {\n this.configMargin();\n this.configBorder();\n this.configPadding();\n this.configWidth();\n this.configHeight();\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"border\":\n this.border = prop;\n break;\n case \"padding\":\n this.padding = prop;\n break;\n case 'width':\n this.frameWidth = prop;\n break;\n case 'height':\n this.frameHeight = prop;\n break;\n case 'backgroundColor':\n this.backgroundColor = prop;\n break;\n case 'layoutConfig':\n const layoutConfig = prop;\n for (let key in layoutConfig) {\n Reflect.set(this.layoutConfig, key, Reflect.get(layoutConfig, key, layoutConfig));\n }\n break;\n case 'x':\n this.offsetX = prop;\n break;\n case 'y':\n this.offsetY = prop;\n break;\n case 'onClick':\n this.view.onclick = (event) => {\n this.callJSResponse(prop);\n event.stopPropagation();\n };\n break;\n case 'corners':\n if (typeof prop === 'object') {\n this.applyCSSStyle({\n borderTopLeftRadius: toPixelString(prop.leftTop),\n borderTopRightRadius: toPixelString(prop.rightTop),\n borderBottomRightRadius: toPixelString(prop.rightBottom),\n borderBottomLeftRadius: toPixelString(prop.leftBottom),\n });\n }\n else {\n this.applyCSSStyle({ borderRadius: toPixelString(prop) });\n }\n break;\n case 'shadow':\n const opacity = prop.opacity || 0;\n let boxShadow;\n if (opacity > 0) {\n const offsetX = prop.offsetX || 0;\n const offsetY = prop.offsetY || 0;\n const shadowColor = prop.color || 0xff000000;\n const shadowRadius = prop.radius;\n const alpha = opacity * 255;\n boxShadow = `${toPixelString(offsetX)} ${toPixelString(offsetY)} ${toPixelString(shadowRadius)} ${toRGBAString((shadowColor & 0xffffff) | ((alpha & 0xff) << 24))} `;\n }\n else {\n boxShadow = \"\";\n }\n this.applyCSSStyle({\n boxShadow,\n });\n break;\n case 'alpha':\n this.applyCSSStyle({\n opacity: `${prop}`,\n });\n break;\n case 'rotation':\n this.transform.rotation = prop;\n break;\n case 'rotationX':\n this.transform.rotationX = prop;\n break;\n case 'rotationY':\n this.transform.rotationY = prop;\n break;\n case 'scaleX':\n this.transform.scaleX = prop;\n break;\n case 'scaleY':\n this.transform.scaleY = prop;\n break;\n case 'translationX':\n this.transform.translateX = prop;\n break;\n case 'translationY':\n this.transform.translateY = prop;\n break;\n case 'pivotX':\n if (this.transformOrigin) {\n this.transformOrigin.x = prop;\n }\n else {\n this.transformOrigin = {\n x: prop,\n y: 0.5,\n };\n }\n break;\n case 'pivotY':\n if (this.transformOrigin) {\n this.transformOrigin.y = prop;\n }\n else {\n this.transformOrigin = {\n x: 0.5,\n y: prop,\n };\n }\n break;\n case 'hidden':\n this.applyCSSStyle({\n display: prop === true ? \"none\" : this._originDisplay\n });\n break;\n default:\n console.error(`Cannot blend prop for ${propName}`);\n break;\n }\n }\n set backgroundColor(v) {\n this.applyCSSStyle({ backgroundColor: toRGBAString(v) });\n }\n static create(context, type) {\n const viewNodeClass = acquireViewNode(type);\n if (viewNodeClass === undefined) {\n console.error(`Cannot find ViewNode for ${type}`);\n return undefined;\n }\n const ret = new viewNodeClass(context);\n ret.viewType = type;\n return ret;\n }\n getIdList() {\n const ids = [];\n let viewNode = this;\n do {\n ids.push(viewNode.viewId);\n viewNode = viewNode.superNode;\n } while (viewNode);\n return ids.reverse();\n }\n callJSResponse(funcId, ...args) {\n const argumentsList = ['__response__', this.getIdList(), funcId];\n for (let i = 1; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(this.context.invokeEntityMethod, this.context, argumentsList);\n }\n pureCallJSResponse(funcId, ...args) {\n const argumentsList = ['__response__', this.getIdList(), funcId];\n for (let i = 1; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(this.context.pureInvokeEntityMethod, this.context, argumentsList);\n }\n updateTransform() {\n this.applyCSSStyle({\n transform: Object.entries(this.transform).filter((e) => !!e[1]).map((e) => {\n const v = e[1] || 0;\n switch (e[0]) {\n case \"translateX\":\n return `translateX(${v}px)`;\n case \"scaleX\":\n return `scaleX(${v})`;\n case \"scaleY\":\n return `scaleY(${v})`;\n case \"rotation\":\n return `rotate(${v / 2}turn)`;\n case \"rotationX\":\n return `rotateX(${v / 2}turn)`;\n case \"rotationY\":\n return `rotateY(${v / 2}turn)`;\n default:\n console.error(`Do not support transform ${e[0]}`);\n return \"\";\n }\n }).join(\" \")\n });\n }\n updateTransformOrigin() {\n if (this.transformOrigin) {\n this.applyCSSStyle({\n transformOrigin: `${Math.round(this.transformOrigin.x * 100)}% ${Math.round(this.transformOrigin.y * 100)}%`\n });\n }\n }\n applyCSSStyle(cssStyle) {\n if (this.context.inAnimation()) {\n this.context.addAnimation(this, cssStyle);\n }\n else {\n for (let v in cssStyle) {\n Reflect.set(this.view.style, v, cssStyle[v]);\n }\n }\n }\n /** ++++++++++call from doric ++++++++++*/\n getWidth() {\n return this.view.offsetWidth;\n }\n getHeight() {\n return this.view.offsetHeight;\n }\n setWidth(v) {\n this.view.style.width = toPixelString(v);\n }\n setHeight(v) {\n this.view.style.height = toPixelString(v);\n }\n getX() {\n return this.view.offsetLeft;\n }\n getY() {\n return this.view.offsetTop;\n }\n setX(v) {\n this.view.style.left = toPixelString(v);\n }\n setY(v) {\n this.view.style.top = toPixelString(v);\n }\n getBackgroundColor() {\n return this.view.style.backgroundColor;\n }\n setBackgroundColor(v) {\n this.backgroundColor = v;\n }\n getAlpha() {\n return parseFloat(this.view.style.opacity);\n }\n setAlpha(v) {\n this.view.style.opacity = `${v}`;\n }\n getCorners() {\n return parseFloat(this.view.style.borderRadius);\n }\n setCorners(v) {\n this.view.style.borderRadius = toPixelString(v);\n }\n getLocationOnScreen() {\n const rect = this.view.getClientRects()[0];\n return {\n x: rect.left,\n y: rect.top,\n };\n }\n getRotation() {\n return this.transform.rotation;\n }\n setRotation(v) {\n this.transform.rotation = v;\n this.updateTransform();\n }\n getRotationX() {\n return this.transform.rotationX;\n }\n setRotationX(v) {\n this.transform.rotationX = v;\n this.updateTransform();\n }\n getRotationY() {\n return this.transform.rotationY;\n }\n setRotationY(v) {\n this.transform.rotationY = v;\n this.updateTransform();\n }\n getTranslationX() {\n return this.transform.translateX;\n }\n setTranslationX(v) {\n this.transform.translateX = v;\n this.updateTransform();\n }\n getTranslationY() {\n return this.transform.translateY;\n }\n setTranslationY(v) {\n this.transform.translateY = v;\n this.updateTransform();\n }\n getScaleX() {\n return this.transform.scaleX;\n }\n setScaleX(v) {\n this.transform.scaleX = v;\n this.updateTransform();\n }\n getScaleY() {\n return this.transform.scaleY;\n }\n setScaleY(v) {\n this.transform.scaleY = v;\n this.updateTransform();\n }\n getPivotX() {\n var _a;\n return ((_a = this.transformOrigin) === null || _a === void 0 ? void 0 : _a.x) || 0.5;\n }\n setPivotX(v) {\n if (this.transformOrigin) {\n this.transformOrigin.x = v;\n }\n else {\n this.transformOrigin = {\n x: v,\n y: 0.5,\n };\n }\n this.updateTransform();\n }\n getPivotY() {\n var _a;\n return ((_a = this.transformOrigin) === null || _a === void 0 ? void 0 : _a.y) || 0.5;\n }\n setPivotY(v) {\n if (this.transformOrigin) {\n this.transformOrigin.y = v;\n }\n else {\n this.transformOrigin = {\n x: 0.5,\n y: v,\n };\n }\n this.updateTransform();\n }\n}\nexport class DoricSuperNode extends DoricViewNode {\n constructor() {\n super(...arguments);\n this.reusable = false;\n this.subModels = new Map;\n }\n blendProps(v, propName, prop) {\n if (propName === 'subviews') {\n if (prop instanceof Array) {\n prop.forEach((e) => {\n this.mixinSubModel(e);\n this.blendSubNode(e);\n });\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n mixinSubModel(subNode) {\n const oldValue = this.getSubModel(subNode.id);\n if (oldValue) {\n this.mixin(subNode, oldValue);\n }\n else {\n this.subModels.set(subNode.id, subNode);\n }\n }\n getSubModel(id) {\n return this.subModels.get(id);\n }\n mixin(src, target) {\n for (let key in src.props) {\n if (key === \"subviews\") {\n continue;\n }\n Reflect.set(target.props, key, Reflect.get(src.props, key));\n }\n }\n clearSubModels() {\n this.subModels.clear();\n }\n removeSubModel(id) {\n this.subModels.delete(id);\n }\n}\nexport class DoricGroupViewNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.childNodes = [];\n this.childViewIds = [];\n }\n init(superNode) {\n super.init(superNode);\n this.view.style.overflow = \"hidden\";\n }\n blendProps(v, propName, prop) {\n if (propName === 'children') {\n if (prop instanceof Array) {\n this.childViewIds = prop;\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blend(props) {\n super.blend(props);\n }\n onBlending() {\n super.onBlending();\n this.configChildNode();\n }\n onBlended() {\n super.onBlended();\n this.childNodes.forEach(e => e.onBlended());\n }\n configChildNode() {\n this.childViewIds.forEach((childViewId, index) => {\n const model = this.getSubModel(childViewId);\n if (model === undefined) {\n return;\n }\n if (index < this.childNodes.length) {\n const oldNode = this.childNodes[index];\n if (oldNode.viewId === childViewId) {\n //The same,skip\n }\n else {\n if (this.reusable) {\n if (oldNode.viewType === model.type) {\n //Same type,can be reused\n oldNode.viewId = childViewId;\n oldNode.blend(model.props);\n }\n else {\n //Replace this view\n this.view.removeChild(oldNode.view);\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes[index] = newNode;\n this.view.replaceChild(newNode.view, oldNode.view);\n }\n }\n else {\n //Find in remain nodes\n let position = -1;\n for (let start = index + 1; start < this.childNodes.length; start++) {\n if (childViewId === this.childNodes[start].viewId) {\n //Found\n position = start;\n break;\n }\n }\n if (position >= 0) {\n //Found swap idx,position\n const reused = this.childNodes[position];\n const abandoned = this.childNodes[index];\n this.childNodes[index] = reused;\n this.childNodes[position] = abandoned;\n this.view.removeChild(reused.view);\n this.view.insertBefore(reused.view, abandoned.view);\n this.view.removeChild(abandoned.view);\n if (position === this.view.childElementCount - 1) {\n this.view.appendChild(abandoned.view);\n }\n else {\n this.view.insertBefore(abandoned.view, this.view.children[position]);\n }\n }\n else {\n //Not found,insert\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes[index] = newNode;\n this.view.insertBefore(newNode.view, this.view.children[index]);\n }\n }\n }\n }\n else {\n //Insert\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes.push(newNode);\n this.view.appendChild(newNode.view);\n }\n });\n let size = this.childNodes.length;\n for (let idx = this.childViewIds.length; idx < size; idx++) {\n this.view.removeChild(this.childNodes[idx].view);\n }\n this.childNodes = this.childNodes.slice(0, this.childViewIds.length);\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n return this.childNodes.filter(e => e.viewId === viewId)[0];\n }\n}\n//# sourceMappingURL=DoricViewNode.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nimport { DoricSuperNode } from \"../shader/DoricViewNode\";\nexport class ShaderPlugin extends DoricPlugin {\n render(ret) {\n var _a;\n if (((_a = this.context.rootNode.viewId) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n const viewNode = this.context.targetViewNode(ret.id);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.blend(ret.props);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.onBlended();\n }\n else {\n this.context.rootNode.viewId = ret.id;\n this.context.rootNode.blend(ret.props);\n this.context.rootNode.onBlended();\n }\n }\n command(options) {\n let viewNode = undefined;\n for (let viewId of options.viewIds) {\n if (!viewNode) {\n viewNode = this.context.targetViewNode(viewId);\n }\n else {\n if (viewNode instanceof DoricSuperNode) {\n viewNode = viewNode.getSubNodeById(viewId);\n }\n }\n }\n if (!viewNode) {\n return Promise.reject(\"Cannot find opposite view\");\n }\n else {\n const target = viewNode;\n return new Promise((resolve, reject) => {\n try {\n const method = Reflect.get(target, options.name);\n if (!method) {\n reject(`\"Cannot find plugin method in class:${target},method:${options.name}\"`);\n }\n resolve(Reflect.apply(method, target, [options.args]));\n }\n catch (err) {\n reject(err);\n }\n });\n }\n }\n}\n//# sourceMappingURL=ShaderPlugin.js.map","import { DoricGroupViewNode, LayoutSpec, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString, pixelString2Number } from \"./DoricViewNode\";\nexport class DoricStackNode extends DoricGroupViewNode {\n build() {\n const ret = document.createElement('div');\n ret.style.position = \"relative\";\n return ret;\n }\n layout() {\n super.layout();\n Promise.resolve().then(_ => {\n this.configSize();\n this.configOffset();\n });\n }\n configSize() {\n if (this.layoutConfig.widthSpec === LayoutSpec.WRAP_CONTENT) {\n const width = this.childNodes.reduce((prev, current) => {\n const computedStyle = window.getComputedStyle(current.view);\n return Math.max(prev, current.view.offsetWidth\n + pixelString2Number(computedStyle.marginLeft)\n + pixelString2Number(computedStyle.marginRight));\n }, 0);\n this.view.style.width = toPixelString(width);\n }\n if (this.layoutConfig.heightSpec === LayoutSpec.WRAP_CONTENT) {\n const height = this.childNodes.reduce((prev, current) => {\n const computedStyle = window.getComputedStyle(current.view);\n return Math.max(prev, current.view.offsetHeight\n + pixelString2Number(computedStyle.marginTop)\n + pixelString2Number(computedStyle.marginBottom));\n }, 0);\n this.view.style.height = toPixelString(height);\n }\n }\n configOffset() {\n this.childNodes.forEach(e => {\n const position = \"absolute\";\n let left = toPixelString(e.offsetX + this.paddingLeft);\n let top = toPixelString(e.offsetY + this.paddingTop);\n const gravity = e.layoutConfig.alignment;\n if ((gravity & LEFT) === LEFT) {\n left = toPixelString(0);\n }\n else if ((gravity & RIGHT) === RIGHT) {\n left = toPixelString(this.view.offsetWidth - e.view.offsetWidth);\n }\n else if ((gravity & CENTER_X) === CENTER_X) {\n left = toPixelString(this.view.offsetWidth / 2 - e.view.offsetWidth / 2);\n }\n if ((gravity & TOP) === TOP) {\n top = toPixelString(0);\n }\n else if ((gravity & BOTTOM) === BOTTOM) {\n top = toPixelString(this.view.offsetHeight - e.view.offsetHeight);\n }\n else if ((gravity & CENTER_Y) === CENTER_Y) {\n top = toPixelString(this.view.offsetHeight / 2 - e.view.offsetHeight / 2);\n }\n e.applyCSSStyle({\n position,\n left,\n top,\n });\n });\n }\n}\n//# sourceMappingURL=DoricStackNode.js.map","import { DoricGroupViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString } from \"./DoricViewNode\";\nexport class DoricVLayoutNode extends DoricGroupViewNode {\n constructor() {\n super(...arguments);\n this.space = 0;\n this.gravity = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.display = \"flex\";\n ret.style.flexDirection = \"column\";\n ret.style.flexWrap = \"nowrap\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'space') {\n this.space = prop;\n }\n else if (propName === 'gravity') {\n this.gravity = prop;\n if ((this.gravity & LEFT) === LEFT) {\n this.view.style.alignItems = \"flex-start\";\n }\n else if ((this.gravity & RIGHT) === RIGHT) {\n this.view.style.alignItems = \"flex-end\";\n }\n else if ((this.gravity & CENTER_X) === CENTER_X) {\n this.view.style.alignItems = \"center\";\n }\n if ((this.gravity & TOP) === TOP) {\n this.view.style.justifyContent = \"flex-start\";\n }\n else if ((this.gravity & BOTTOM) === BOTTOM) {\n this.view.style.justifyContent = \"flex-end\";\n }\n else if ((this.gravity & CENTER_Y) === CENTER_Y) {\n this.view.style.justifyContent = \"center\";\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n layout() {\n super.layout();\n this.childNodes.forEach((e, idx) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n e.view.style.flexShrink = \"0\";\n if ((_a = e.layoutConfig) === null || _a === void 0 ? void 0 : _a.weight) {\n e.view.style.flex = `${(_b = e.layoutConfig) === null || _b === void 0 ? void 0 : _b.weight}`;\n }\n e.view.style.marginTop = toPixelString(((_d = (_c = e.layoutConfig) === null || _c === void 0 ? void 0 : _c.margin) === null || _d === void 0 ? void 0 : _d.top) || 0);\n e.view.style.marginBottom = toPixelString((idx === this.childNodes.length - 1) ? 0 : this.space\n + (((_f = (_e = e.layoutConfig) === null || _e === void 0 ? void 0 : _e.margin) === null || _f === void 0 ? void 0 : _f.bottom) || 0));\n e.view.style.marginLeft = toPixelString(((_h = (_g = e.layoutConfig) === null || _g === void 0 ? void 0 : _g.margin) === null || _h === void 0 ? void 0 : _h.left) || 0);\n e.view.style.marginRight = toPixelString(((_k = (_j = e.layoutConfig) === null || _j === void 0 ? void 0 : _j.margin) === null || _k === void 0 ? void 0 : _k.right) || 0);\n if ((e.layoutConfig.alignment & LEFT) === LEFT) {\n e.view.style.alignSelf = \"flex-start\";\n }\n else if ((e.layoutConfig.alignment & RIGHT) === RIGHT) {\n e.view.style.alignSelf = \"flex-end\";\n }\n else if ((e.layoutConfig.alignment & CENTER_X) === CENTER_X) {\n e.view.style.alignSelf = \"center\";\n }\n });\n }\n}\n//# sourceMappingURL=DoricVLayoutNode.js.map","import { DoricGroupViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString } from \"./DoricViewNode\";\nexport class DoricHLayoutNode extends DoricGroupViewNode {\n constructor() {\n super(...arguments);\n this.space = 0;\n this.gravity = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.display = \"flex\";\n ret.style.flexDirection = \"row\";\n ret.style.flexWrap = \"nowrap\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'space') {\n this.space = prop;\n }\n else if (propName === 'gravity') {\n this.gravity = prop;\n this.gravity = prop;\n if ((this.gravity & LEFT) === LEFT) {\n this.view.style.justifyContent = \"flex-start\";\n }\n else if ((this.gravity & RIGHT) === RIGHT) {\n this.view.style.justifyContent = \"flex-end\";\n }\n else if ((this.gravity & CENTER_X) === CENTER_X) {\n this.view.style.justifyContent = \"center\";\n }\n if ((this.gravity & TOP) === TOP) {\n this.view.style.alignItems = \"flex-start\";\n }\n else if ((this.gravity & BOTTOM) === BOTTOM) {\n this.view.style.alignItems = \"flex-end\";\n }\n else if ((this.gravity & CENTER_Y) === CENTER_Y) {\n this.view.style.alignItems = \"center\";\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n layout() {\n super.layout();\n this.childNodes.forEach((e, idx) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n e.view.style.flexShrink = \"0\";\n if ((_a = e.layoutConfig) === null || _a === void 0 ? void 0 : _a.weight) {\n e.view.style.flex = `${(_b = e.layoutConfig) === null || _b === void 0 ? void 0 : _b.weight}`;\n }\n e.view.style.marginLeft = toPixelString(((_d = (_c = e.layoutConfig) === null || _c === void 0 ? void 0 : _c.margin) === null || _d === void 0 ? void 0 : _d.left) || 0);\n e.view.style.marginRight = toPixelString((idx === this.childNodes.length - 1) ? 0 : this.space\n + (((_f = (_e = e.layoutConfig) === null || _e === void 0 ? void 0 : _e.margin) === null || _f === void 0 ? void 0 : _f.right) || 0));\n e.view.style.marginTop = toPixelString(((_h = (_g = e.layoutConfig) === null || _g === void 0 ? void 0 : _g.margin) === null || _h === void 0 ? void 0 : _h.top) || 0);\n e.view.style.marginBottom = toPixelString(((_k = (_j = e.layoutConfig) === null || _j === void 0 ? void 0 : _j.margin) === null || _k === void 0 ? void 0 : _k.bottom) || 0);\n if ((e.layoutConfig.alignment & TOP) === TOP) {\n e.view.style.alignSelf = \"flex-start\";\n }\n else if ((e.layoutConfig.alignment & BOTTOM) === BOTTOM) {\n e.view.style.alignSelf = \"flex-end\";\n }\n else if ((e.layoutConfig.alignment & CENTER_Y) === CENTER_Y) {\n e.view.style.alignSelf = \"center\";\n }\n });\n }\n}\n//# sourceMappingURL=DoricHLayoutNode.js.map","import { DoricViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString, toRGBAString } from \"./DoricViewNode\";\nexport class DoricTextNode extends DoricViewNode {\n build() {\n const div = document.createElement('div');\n div.style.display = \"flex\";\n this.textElement = document.createElement('span');\n div.appendChild(this.textElement);\n div.style.justifyContent = \"center\";\n div.style.alignItems = \"center\";\n return div;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'text':\n this.textElement.innerText = prop;\n break;\n case 'textSize':\n v.style.fontSize = toPixelString(prop);\n break;\n case 'textColor':\n v.style.color = toRGBAString(prop);\n break;\n case 'textAlignment':\n const gravity = prop;\n if ((gravity & LEFT) === LEFT) {\n v.style.justifyContent = \"flex-start\";\n }\n else if ((gravity & RIGHT) === RIGHT) {\n v.style.justifyContent = \"flex-end\";\n }\n else if ((gravity & CENTER_X) === CENTER_X) {\n v.style.justifyContent = \"center\";\n }\n if ((gravity & TOP) === TOP) {\n v.style.alignItems = \"flex-start\";\n }\n else if ((gravity & BOTTOM) === BOTTOM) {\n v.style.alignItems = \"flex-end\";\n }\n else if ((gravity & CENTER_Y) === CENTER_Y) {\n v.style.alignItems = \"center\";\n }\n break;\n case \"fontStyle\":\n switch (prop) {\n case \"bold\":\n v.style.fontWeight = \"bold\";\n v.style.fontStyle = \"normal\";\n break;\n case \"italic\":\n v.style.fontWeight = \"normal\";\n v.style.fontStyle = \"italic\";\n break;\n case \"bold_italic\":\n v.style.fontWeight = \"bold\";\n v.style.fontStyle = \"italic\";\n break;\n default:\n v.style.fontWeight = \"normal\";\n v.style.fontStyle = \"normal\";\n break;\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricTextNode.js.map","import { DoricViewNode } from \"./DoricViewNode\";\nvar ScaleType;\n(function (ScaleType) {\n ScaleType[ScaleType[\"ScaleToFill\"] = 0] = \"ScaleToFill\";\n ScaleType[ScaleType[\"ScaleAspectFit\"] = 1] = \"ScaleAspectFit\";\n ScaleType[ScaleType[\"ScaleAspectFill\"] = 2] = \"ScaleAspectFill\";\n})(ScaleType || (ScaleType = {}));\nexport class DoricImageNode extends DoricViewNode {\n build() {\n const ret = document.createElement('img');\n ret.style.objectFit = \"fill\";\n return ret;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'imageUrl':\n v.setAttribute('src', prop);\n break;\n case 'imageBase64':\n v.setAttribute('src', prop);\n break;\n case 'loadCallback':\n v.onload = () => {\n this.callJSResponse(prop, {\n width: v.width,\n height: v.height\n });\n };\n break;\n case 'scaleType':\n switch (prop) {\n case ScaleType.ScaleToFill:\n v.style.objectFit = \"fill\";\n break;\n case ScaleType.ScaleAspectFit:\n v.style.objectFit = \"contain\";\n break;\n case ScaleType.ScaleAspectFill:\n v.style.objectFit = \"cover\";\n break;\n }\n break;\n case 'isBlur':\n if (prop) {\n v.style.filter = 'blur(8px)';\n }\n else {\n v.style.filter = '';\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricImageNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricScrollerNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.childViewId = \"\";\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"scroll\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'content') {\n this.childViewId = prop;\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.childNode) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n return viewId === this.childViewId ? this.childNode : undefined;\n }\n onBlending() {\n super.onBlending();\n const model = this.getSubModel(this.childViewId);\n if (model === undefined) {\n return;\n }\n if (this.childNode) {\n if (this.childNode.viewId === this.childViewId) {\n ///skip\n }\n else {\n if (this.reusable && this.childNode.viewType === model.type) {\n this.childNode.viewId = model.id;\n this.childNode.blend(model.props);\n }\n else {\n this.view.removeChild(this.childNode.view);\n const childNode = DoricViewNode.create(this.context, model.type);\n if (childNode === undefined) {\n return;\n }\n childNode.viewId = model.id;\n childNode.init(this);\n childNode.blend(model.props);\n this.view.appendChild(childNode.view);\n this.childNode = childNode;\n }\n }\n }\n else {\n const childNode = DoricViewNode.create(this.context, model.type);\n if (childNode === undefined) {\n return;\n }\n childNode.viewId = model.id;\n childNode.init(this);\n childNode.blend(model.props);\n this.view.appendChild(childNode.view);\n this.childNode = childNode;\n }\n }\n onBlended() {\n var _a;\n super.onBlended();\n (_a = this.childNode) === null || _a === void 0 ? void 0 : _a.onBlended();\n }\n}\n//# sourceMappingURL=DoricScrollerNode.js.map","import { DoricPlugin } from '../DoricPlugin';\nimport { TOP, CENTER_Y, BOTTOM, toPixelString } from '../shader/DoricViewNode';\nexport class ModalPlugin extends DoricPlugin {\n toast(args) {\n const toastElement = document.createElement('div');\n toastElement.style.position = \"absolute\";\n toastElement.style.textAlign = \"center\";\n toastElement.style.width = \"100%\";\n const textElement = document.createElement('span');\n textElement.innerText = args.msg || \"\";\n textElement.style.backgroundColor = \"#777777\";\n textElement.style.color = \"white\";\n textElement.style.paddingLeft = '20px';\n textElement.style.paddingRight = '20px';\n textElement.style.paddingTop = '10px';\n textElement.style.paddingBottom = '10px';\n toastElement.appendChild(textElement);\n document.body.appendChild(toastElement);\n const gravity = args.gravity || BOTTOM;\n if ((gravity & TOP) == TOP) {\n toastElement.style.top = toPixelString(30);\n }\n else if ((gravity & BOTTOM) == BOTTOM) {\n toastElement.style.bottom = toPixelString(30);\n }\n else if ((gravity & CENTER_Y) == CENTER_Y) {\n toastElement.style.top = toPixelString(document.body.offsetHeight / 2 - toastElement.offsetHeight / 2);\n }\n setTimeout(() => {\n document.body.removeChild(toastElement);\n }, 2000);\n return Promise.resolve();\n }\n alert(args) {\n window.alert(args.msg || \"\");\n return Promise.resolve();\n }\n confirm(args) {\n if (window.confirm(args.msg || \"\")) {\n return Promise.resolve();\n }\n else {\n return Promise.reject();\n }\n }\n prompt(args) {\n const result = window.prompt(args.msg || \"\", args.defaultText);\n if (result) {\n return Promise.resolve(result);\n }\n else {\n return Promise.reject(result);\n }\n }\n}\n//# sourceMappingURL=ModalPlugin.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nexport class StoragePlugin extends DoricPlugin {\n setItem(args) {\n localStorage.setItem(`${args.zone}_${args.key}`, args.value);\n return Promise.resolve();\n }\n getItem(args) {\n return Promise.resolve(localStorage.getItem(`${args.zone}_${args.key}`));\n }\n remove(args) {\n localStorage.removeItem(`${args.zone}_${args.key}`);\n return Promise.resolve();\n }\n clear(args) {\n let removingKeys = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key && key.startsWith(`${args.zone}_`)) {\n removingKeys.push(key);\n }\n }\n removingKeys.forEach(e => {\n localStorage.removeItem(e);\n });\n return Promise.resolve();\n }\n}\n//# sourceMappingURL=StoragePlugin.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nimport { DoricElement } from \"../DoricElement\";\nexport class NavigatorPlugin extends DoricPlugin {\n constructor() {\n super(...arguments);\n this.navigation = document.getElementsByTagName('doric-navigation')[0];\n }\n push(args) {\n var _a;\n if (this.navigation) {\n const div = new DoricElement;\n div.src = args.source;\n div.alias = ((_a = args.config) === null || _a === void 0 ? void 0 : _a.alias) || args.source;\n this.navigation.push(div);\n return Promise.resolve();\n }\n else {\n return Promise.reject('Not implemented');\n }\n }\n pop() {\n if (this.navigation) {\n this.navigation.pop();\n return Promise.resolve();\n }\n else {\n return Promise.reject('Not implemented');\n }\n }\n}\n//# sourceMappingURL=NavigatorPlugin.js.map","import { DoricPlugin } from '../DoricPlugin';\nimport { DoricViewNode } from '../shader/DoricViewNode';\nexport class PopoverPlugin extends DoricPlugin {\n constructor(context) {\n super(context);\n this.fullScreen = document.createElement('div');\n this.fullScreen.id = `PopOver__${context.contextId}`;\n this.fullScreen.style.position = 'fixed';\n this.fullScreen.style.top = '0px';\n this.fullScreen.style.width = \"100%\";\n this.fullScreen.style.height = \"100%\";\n }\n show(model) {\n const viewNode = DoricViewNode.create(this.context, model.type);\n if (viewNode === undefined) {\n return Promise.reject(`Cannot create ViewNode for ${model.type}`);\n }\n viewNode.viewId = model.id;\n viewNode.init();\n viewNode.blend(model.props);\n this.fullScreen.appendChild(viewNode.view);\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n map.set(model.id, viewNode);\n }\n else {\n map = new Map;\n map.set(model.id, viewNode);\n this.context.headNodes.set(PopoverPlugin.TYPE, map);\n }\n if (!document.body.contains(this.fullScreen)) {\n document.body.appendChild(this.fullScreen);\n }\n return Promise.resolve();\n }\n dismiss(args) {\n if (args) {\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n const viewNode = map.get(args.id);\n if (viewNode) {\n this.fullScreen.removeChild(viewNode.view);\n }\n if (map.size === 0) {\n document.body.removeChild(this.fullScreen);\n }\n }\n }\n else {\n this.dismissAll();\n }\n return Promise.resolve();\n }\n dismissAll() {\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n for (let node of map.values()) {\n map.delete(node.viewId);\n this.fullScreen.removeChild(node.view);\n }\n }\n if (document.body.contains(this.fullScreen)) {\n document.body.removeChild(this.fullScreen);\n }\n }\n onTearDown() {\n super.onTearDown();\n this.dismissAll();\n }\n}\nPopoverPlugin.TYPE = \"popover\";\n//# sourceMappingURL=PopoverPlugin.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricListItemNode extends DoricStackNode {\n constructor(context) {\n super(context);\n this.reusable = true;\n }\n}\n//# sourceMappingURL=DoricListItemNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricListNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.itemCount = 0;\n this.batchCount = 15;\n this.loadMore = false;\n this.childNodes = [];\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"itemCount\":\n this.itemCount = prop;\n break;\n case \"renderItem\":\n this.reset();\n this.renderItemFuncId = prop;\n break;\n case \"onLoadMore\":\n this.onLoadMoreFuncId = prop;\n break;\n case \"loadMoreView\":\n this.loadMoreViewId = prop;\n break;\n case \"batchCount\":\n this.batchCount = prop;\n break;\n case \"loadMore\":\n this.loadMore = prop;\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n reset() {\n while (this.view.lastElementChild) {\n this.view.removeChild(this.view.lastElementChild);\n }\n }\n onBlending() {\n super.onBlending();\n if (this.childNodes.length !== this.itemCount) {\n const ret = this.pureCallJSResponse(\"renderBunchedItems\", this.childNodes.length, this.itemCount);\n this.childNodes = this.childNodes.concat(ret.map(e => {\n const viewNode = DoricViewNode.create(this.context, e.type);\n viewNode.viewId = e.id;\n viewNode.init(this);\n viewNode.blend(e.props);\n this.view.appendChild(viewNode.view);\n return viewNode;\n }));\n }\n if (this.loadMoreViewNode && this.view.contains(this.loadMoreViewNode.view)) {\n this.view.removeChild(this.loadMoreViewNode.view);\n }\n if (this.loadMore) {\n if (!this.loadMoreViewNode) {\n const loadMoreViewModel = this.getSubModel(this.loadMoreViewId || \"\");\n if (loadMoreViewModel) {\n this.loadMoreViewNode = DoricViewNode.create(this.context, loadMoreViewModel.type);\n this.loadMoreViewNode.viewId = loadMoreViewModel.id;\n this.loadMoreViewNode.init(this);\n this.loadMoreViewNode.blend(loadMoreViewModel.props);\n }\n }\n if (this.loadMoreViewNode) {\n this.view.appendChild(this.loadMoreViewNode.view);\n }\n if (this.view.scrollTop + this.view.offsetHeight === this.view.scrollHeight) {\n this.onScrollToEnd();\n }\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n var _a;\n if (viewId === this.loadMoreViewId) {\n return this.loadMoreViewNode;\n }\n return (_a = this.childNodes.filter(e => e.viewId === viewId)) === null || _a === void 0 ? void 0 : _a[0];\n }\n onScrollToEnd() {\n if (this.loadMore && this.onLoadMoreFuncId) {\n this.callJSResponse(this.onLoadMoreFuncId);\n }\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"scroll\";\n ret.addEventListener(\"scroll\", () => {\n if (this.loadMore) {\n if (ret.scrollTop + ret.offsetHeight === ret.scrollHeight) {\n this.onScrollToEnd();\n }\n }\n });\n return ret;\n }\n onBlended() {\n super.onBlended();\n this.childNodes.forEach(e => e.onBlended());\n }\n}\n//# sourceMappingURL=DoricListNode.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricDraggableNode extends DoricStackNode {\n constructor() {\n super(...arguments);\n this.onDrag = \"\";\n this.dragging = false;\n this.lastX = 0;\n this.lastY = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.ontouchstart = (event) => {\n this.dragging = true;\n this.lastX = event.targetTouches[0].clientX;\n this.lastY = event.targetTouches[0].clientY;\n };\n ret.ontouchend = (event) => {\n this.dragging = false;\n };\n ret.ontouchcancel = (event) => {\n this.dragging = false;\n };\n ret.ontouchmove = (event) => {\n if (this.dragging) {\n this.offsetX += (event.targetTouches[0].clientX - this.lastX);\n this.offsetY += (event.targetTouches[0].clientY - this.lastY);\n this.callJSResponse(this.onDrag, this.offsetX, this.offsetY);\n this.lastX = event.targetTouches[0].clientX;\n this.lastY = event.targetTouches[0].clientY;\n }\n };\n ret.onmousedown = (event) => {\n this.dragging = true;\n this.lastX = event.x;\n this.lastY = event.y;\n };\n ret.onmousemove = (event) => {\n if (this.dragging) {\n this.offsetX += (event.x - this.lastX);\n this.offsetY += (event.y - this.lastY);\n this.callJSResponse(this.onDrag, this.offsetX, this.offsetY);\n this.lastX = event.x;\n this.lastY = event.y;\n }\n };\n ret.onmouseup = (event) => {\n this.dragging = false;\n };\n ret.onmouseout = (event) => {\n this.dragging = false;\n };\n ret.style.position = \"relative\";\n return ret;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'onDrag':\n this.onDrag = prop;\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricDraggableNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricRefreshableNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.headerViewId = \"\";\n this.contentViewId = \"\";\n this.refreshable = true;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"hidden\";\n const header = document.createElement('div');\n const content = document.createElement('div');\n header.style.width = \"100%\";\n header.style.height = \"100%\";\n header.style.display = \"flex\";\n header.style.alignItems = \"flex-end\";\n header.style.justifyContent = \"center\";\n content.style.width = \"100%\";\n content.style.height = \"100%\";\n ret.appendChild(header);\n ret.appendChild(content);\n let touchStart = 0;\n ret.ontouchstart = (ev) => {\n if (!this.refreshable) {\n return;\n }\n touchStart = ev.touches[0].pageY;\n };\n ret.ontouchmove = (ev) => {\n var _a;\n if (!this.refreshable) {\n return;\n }\n const offset = (ev.touches[0].pageY - touchStart) * 0.68;\n ret.scrollTop = Math.max(0, header.offsetHeight - offset);\n (_a = this.headerNode) === null || _a === void 0 ? void 0 : _a.callJSResponse(\"setPullingDistance\", offset);\n };\n const touchend = () => {\n var _a, _b;\n if (!this.refreshable) {\n return;\n }\n if (header.offsetHeight - ret.scrollTop >= (((_a = this.headerNode) === null || _a === void 0 ? void 0 : _a.getWidth()) || 0)) {\n this.setRefreshing(true);\n (_b = this.onRefreshCallback) === null || _b === void 0 ? void 0 : _b.call(this);\n }\n else {\n // To idel\n ret.scrollTo({\n top: header.offsetHeight,\n behavior: \"smooth\"\n });\n }\n };\n ret.ontouchcancel = () => {\n touchend();\n };\n ret.ontouchend = () => {\n touchend();\n };\n window.requestAnimationFrame(() => {\n ret.scrollTop = header.offsetHeight;\n });\n this.headerContainer = header;\n this.contentContainer = content;\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'content') {\n this.contentViewId = prop;\n }\n else if (propName === 'header') {\n this.headerViewId = prop;\n }\n else if (propName === 'onRefresh') {\n this.onRefreshCallback = () => {\n this.callJSResponse(prop);\n };\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n if (viewId === this.headerViewId) {\n return this.headerNode;\n }\n else if (viewId === this.contentViewId) {\n return this.contentNode;\n }\n return undefined;\n }\n onBlending() {\n var _a, _b, _c, _d, _e, _f;\n super.onBlending();\n {\n const headerModel = this.getSubModel(this.headerViewId);\n if (headerModel) {\n if (this.headerNode) {\n if (this.headerNode.viewId !== this.headerViewId) {\n if (this.reusable && this.headerNode.viewType === headerModel.type) {\n this.headerNode.viewId = headerModel.id;\n this.headerNode.blend(headerModel.props);\n }\n else {\n (_a = this.headerContainer) === null || _a === void 0 ? void 0 : _a.removeChild(this.headerNode.view);\n const headerNode = DoricViewNode.create(this.context, headerModel.type);\n if (headerNode) {\n headerNode.viewId = headerModel.id;\n headerNode.init(this);\n headerNode.blend(headerModel.props);\n (_b = this.headerContainer) === null || _b === void 0 ? void 0 : _b.appendChild(headerNode.view);\n this.headerNode = headerNode;\n }\n }\n }\n }\n else {\n const headerNode = DoricViewNode.create(this.context, headerModel.type);\n if (headerNode) {\n headerNode.viewId = headerModel.id;\n headerNode.init(this);\n headerNode.blend(headerModel.props);\n (_c = this.headerContainer) === null || _c === void 0 ? void 0 : _c.appendChild(headerNode.view);\n this.headerNode = headerNode;\n }\n }\n }\n }\n {\n const contentModel = this.getSubModel(this.contentViewId);\n if (contentModel) {\n if (this.contentNode) {\n if (this.contentNode.viewId !== this.contentViewId) {\n if (this.reusable && this.contentNode.viewType === contentModel.type) {\n this.contentNode.viewId = contentModel.id;\n this.contentNode.blend(contentModel.props);\n }\n else {\n (_d = this.contentContainer) === null || _d === void 0 ? void 0 : _d.removeChild(this.contentNode.view);\n const contentNode = DoricViewNode.create(this.context, contentModel.type);\n if (contentNode) {\n contentNode.viewId = contentModel.id;\n contentNode.init(this);\n contentNode.blend(contentModel.props);\n (_e = this.contentContainer) === null || _e === void 0 ? void 0 : _e.appendChild(contentNode.view);\n this.contentNode = contentNode;\n }\n }\n }\n }\n else {\n const contentNode = DoricViewNode.create(this.context, contentModel.type);\n if (contentNode) {\n contentNode.viewId = contentModel.id;\n contentNode.init(this);\n contentNode.blend(contentModel.props);\n (_f = this.contentContainer) === null || _f === void 0 ? void 0 : _f.appendChild(contentNode.view);\n this.contentNode = contentNode;\n }\n }\n }\n }\n }\n onBlended() {\n super.onBlended();\n }\n setRefreshing(v) {\n var _a;\n if (!this.headerContainer || !this.headerNode) {\n return;\n }\n if (v) {\n this.view.scrollTo({\n top: this.headerContainer.offsetHeight - this.headerNode.getHeight(),\n behavior: \"smooth\"\n });\n this.headerNode.callJSResponse(\"startAnimation\");\n }\n else {\n this.view.scrollTo({\n top: (_a = this.headerContainer) === null || _a === void 0 ? void 0 : _a.offsetHeight,\n behavior: \"smooth\"\n });\n this.headerNode.callJSResponse(\"stopAnimation\");\n }\n }\n setRefreshable(v) {\n this.refreshable = v;\n if (!v) {\n this.setRefreshing(false);\n }\n }\n}\n//# sourceMappingURL=DoricRefreshableNode.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nexport class AnimatePlugin extends DoricPlugin {\n submit() {\n return Promise.resolve();\n }\n animateRender(args) {\n var _a;\n this.context.animationSet = [];\n if (((_a = this.context.rootNode.viewId) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n const viewNode = this.context.targetViewNode(args.id);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.blend(args.props);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.onBlended();\n }\n else {\n this.context.rootNode.viewId = args.id;\n this.context.rootNode.blend(args.props);\n this.context.rootNode.onBlended();\n }\n return new Promise(resolve => {\n Promise.resolve().then(() => {\n var _a;\n Promise.all(((_a = this.context.animationSet) === null || _a === void 0 ? void 0 : _a.map(e => {\n return new Promise(resolve => {\n const keyFrame = {};\n const ensureNonString = (key, value) => {\n if (!!value && value !== \"\") {\n return value;\n }\n switch ((key)) {\n case \"backgroundColor\":\n return \"transparent\";\n case \"transform\":\n return \"none\";\n default:\n return \"none\";\n }\n };\n for (let k in e.keyFrame) {\n keyFrame[k] = ensureNonString(k, e.viewNode.view.style[k]);\n e.keyFrame[k] = ensureNonString(k, e.keyFrame[k]);\n }\n try {\n const animation = e.viewNode.view.animate([keyFrame, e.keyFrame], {\n duration: args.duration,\n fill: \"forwards\"\n });\n animation.onfinish = () => {\n Object.entries(e.keyFrame).forEach(entry => {\n Reflect.set(e.viewNode.view.style, entry[0], entry[1]);\n });\n resolve(true);\n };\n }\n catch (e) {\n console.error(e);\n }\n });\n })) || [])\n .then(() => {\n resolve(0);\n })\n .finally(() => {\n this.context.animationSet = undefined;\n });\n });\n });\n }\n}\n//# sourceMappingURL=AnimatePlugin.js.map","import { DoricViewNode, toRGBAString } from \"./DoricViewNode\";\nexport class DoricSwitchNode extends DoricViewNode {\n constructor() {\n super(...arguments);\n this.offTintColor = \"#e6e6e6\";\n this.onTintColor = \"#52d769\";\n }\n build() {\n const ret = document.createElement('div');\n ret.style.position = \"relative\";\n ret.style.width = \"50px\";\n ret.style.height = \"30px\";\n const input = document.createElement('input');\n input.type = \"checkbox\";\n input.style.display = \"none\";\n const box = document.createElement('div');\n box.style.width = \"100%\";\n box.style.height = \"100%\";\n box.style.backgroundColor = \"#ccc\";\n box.style.borderRadius = \"15px\";\n const span = document.createElement('span');\n span.style.display = \"inline-block\";\n span.style.height = \"30px\";\n span.style.width = \"30px\";\n span.style.borderRadius = \"15px\";\n span.style.background = \"#fff\";\n span.style.boxShadow = \"0px 3px 3px #eee\";\n box.appendChild(span);\n ret.appendChild(input);\n ret.appendChild(box);\n ret.onclick = () => {\n try {\n if (input.checked === false) {\n span.animate([{ transform: \"translateX(0px)\" }, { transform: \"translateX(30px)\" }], {\n duration: 200,\n fill: \"forwards\"\n });\n box.animate([{ backgroundColor: this.offTintColor }, { backgroundColor: this.onTintColor }], {\n duration: 200,\n fill: \"forwards\"\n });\n input.checked = true;\n }\n else {\n span.animate([{ transform: \"translateX(30px)\" }, { transform: \"translateX(0px)\" }], {\n duration: 200,\n fill: \"forwards\"\n });\n box.animate([{ backgroundColor: this.onTintColor }, { backgroundColor: this.offTintColor }], {\n duration: 200,\n fill: \"forwards\"\n });\n input.checked = false;\n }\n if (this.onSwitchFuncId) {\n this.callJSResponse(this.onSwitchFuncId, input.checked);\n }\n }\n catch (e) {\n alert(e);\n }\n };\n this.input = input;\n this.span = span;\n this.box = box;\n return ret;\n }\n setChecked(v) {\n if (!this.input || !this.span || !this.box) {\n return;\n }\n if (v) {\n this.span.style.transform = \"translateX(30px)\";\n this.box.style.backgroundColor = this.onTintColor;\n this.input.checked = v;\n }\n else {\n this.span.style.transform = \"translateX(0px)\";\n this.box.style.backgroundColor = this.offTintColor;\n this.input.checked = v;\n }\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"state\":\n this.setChecked(prop);\n break;\n case \"onSwitch\":\n this.onSwitchFuncId = prop;\n break;\n case \"offTintColor\":\n this.offTintColor = toRGBAString(prop);\n this.setChecked(this.getState());\n break;\n case \"onTintColor\":\n this.onTintColor = toRGBAString(prop);\n this.setChecked(this.getState());\n break;\n case \"thumbTintColor\":\n if (this.span) {\n this.span.style.backgroundColor = toRGBAString(prop);\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n getState() {\n var _a;\n return ((_a = this.input) === null || _a === void 0 ? void 0 : _a.checked) || false;\n }\n}\n//# sourceMappingURL=DoricSwitchNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricSliderNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.itemCount = 0;\n this.renderPageFuncId = \"\";\n this.batchCount = 15;\n this.onPageSelectedFuncId = \"\";\n this.loop = false;\n this.childNodes = [];\n }\n blendProps(v, propName, prop) {\n if (propName === 'itemCount') {\n this.itemCount = prop;\n }\n else if (propName === 'renderPage') {\n if (prop !== this.renderPageFuncId) {\n this.childNodes = [];\n this.renderPageFuncId = prop;\n }\n }\n else if (propName === 'batchCount') {\n this.batchCount = prop;\n }\n else if (propName === 'onPageSlided') {\n this.onPageSelectedFuncId = prop;\n }\n else if (propName === 'loop') {\n this.loop = prop;\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n var _a;\n return (_a = this.childNodes.filter(e => e.viewId === viewId)) === null || _a === void 0 ? void 0 : _a[0];\n }\n onBlending() {\n super.onBlending();\n if (this.childNodes.length !== this.itemCount) {\n const ret = this.pureCallJSResponse(\"renderBunchedItems\", this.childNodes.length, this.itemCount);\n this.childNodes = this.childNodes.concat(ret.map(e => {\n const viewNode = DoricViewNode.create(this.context, e.type);\n viewNode.viewId = e.id;\n viewNode.init(this);\n viewNode.blend(e.props);\n this.view.appendChild(viewNode.view);\n return viewNode;\n }));\n }\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"hidden\";\n ret.style.display = \"inline\";\n ret.style.whiteSpace = \"nowrap\";\n let touchStartX = 0;\n let currentIndex = 0;\n ret.ontouchstart = (ev) => {\n currentIndex = Math.round(ret.scrollLeft / ret.offsetWidth);\n touchStartX = ev.touches[0].pageX;\n };\n ret.ontouchmove = (ev) => {\n const offsetX = (touchStartX - ev.touches[0].pageX) * 3;\n ret.scrollTo({\n left: currentIndex * ret.offsetWidth + offsetX\n });\n };\n ret.ontouchcancel = ret.ontouchend = () => {\n let originInndex = currentIndex;\n currentIndex = Math.round(ret.scrollLeft / ret.offsetWidth);\n ret.scrollTo({\n left: currentIndex * ret.offsetWidth,\n behavior: \"smooth\"\n });\n if (originInndex !== currentIndex) {\n if (this.onPageSelectedFuncId.length > 0) {\n this.callJSResponse(this.onPageSelectedFuncId, currentIndex);\n }\n }\n };\n return ret;\n }\n getSlidedPage() {\n return Math.round(this.view.scrollLeft / this.view.offsetWidth);\n }\n slidePage(params) {\n if (params.smooth) {\n this.view.scrollTo({\n left: this.view.offsetWidth * params.page,\n behavior: \"smooth\"\n });\n }\n else {\n this.view.scrollTo({\n left: this.view.offsetWidth * params.page\n });\n }\n if (this.onPageSelectedFuncId.length > 0) {\n this.callJSResponse(this.onPageSelectedFuncId, params.page);\n }\n }\n}\n//# sourceMappingURL=DoricSliderNode.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricSlideItemNode extends DoricStackNode {\n constructor(context) {\n super(context);\n this.reusable = true;\n }\n build() {\n const ret = super.build();\n ret.style.display = \"inline-block\";\n ret.style.width = \"100%\";\n ret.style.height = \"100%\";\n return ret;\n }\n}\n//# sourceMappingURL=DoricSlideItemNode.js.map","import { jsCallResolve } from \"doric/src/runtime/sandbox\";\nimport { DoricPlugin } from \"../DoricPlugin\";\nvar NotificationCenter;\n(function (NotificationCenter) {\n let receivers = [];\n function publish(notification) {\n receivers.filter(e => e.name === notification.name).forEach(e => {\n e.callback(notification.data);\n });\n }\n NotificationCenter.publish = publish;\n function subscribe(receiver) {\n receivers.push(receiver);\n }\n NotificationCenter.subscribe = subscribe;\n function unsubscribe(receiver) {\n receivers = receivers.filter(e => e !== receiver);\n }\n NotificationCenter.unsubscribe = unsubscribe;\n})(NotificationCenter || (NotificationCenter = {}));\nexport class NotificationPlugin extends DoricPlugin {\n constructor() {\n super(...arguments);\n this.receivers = {};\n }\n publish(args) {\n const key = `__doric__${args.biz || \"\"}#${args.name}`;\n NotificationCenter.publish({\n name: key,\n data: !!args.data ? JSON.parse(args.data) : undefined\n });\n return true;\n }\n subscribe(args) {\n const key = `__doric__${args.biz || \"\"}#${args.name}`;\n const receiver = {\n name: key,\n callback: (data) => {\n jsCallResolve(this.context.contextId, args.callback, data);\n }\n };\n this.receivers[args.callback] = receiver;\n NotificationCenter.subscribe(receiver);\n return args.callback;\n }\n unsubscribe(subscribeId) {\n const recevier = this.receivers[subscribeId];\n if (recevier) {\n NotificationCenter.unsubscribe(recevier);\n this.receivers[subscribeId] = undefined;\n return true;\n }\n else {\n return false;\n }\n }\n onTearDown() {\n Object.entries(this.receivers).map(e => e[1]).filter(e => !!e).forEach(e => {\n if (e) {\n NotificationCenter.unsubscribe(e);\n }\n });\n this.receivers = {};\n }\n}\n//# sourceMappingURL=NotificationPlugin.js.map","import { ShaderPlugin } from \"./plugins/ShaderPlugin\";\nimport { DoricStackNode } from \"./shader/DoricStackNode\";\nimport { DoricVLayoutNode } from './shader/DoricVLayoutNode';\nimport { DoricHLayoutNode } from './shader/DoricHLayoutNode';\nimport { DoricTextNode } from \"./shader/DoricTextNode\";\nimport { DoricImageNode } from \"./shader/DoricImageNode\";\nimport { DoricScrollerNode } from \"./shader/DoricScrollerNode\";\nimport { ModalPlugin } from './plugins/ModalPlugin';\nimport { StoragePlugin } from \"./plugins/StoragePlugin\";\nimport { NavigatorPlugin } from \"./navigate/NavigatorPlugin\";\nimport { PopoverPlugin } from './plugins/PopoverPlugin';\nimport { DoricListItemNode } from \"./shader/DoricListItemNode\";\nimport { DoricListNode } from \"./shader/DoricListNode\";\nimport { DoricDraggableNode } from \"./shader/DoricDraggableNode\";\nimport { DoricRefreshableNode } from \"./shader/DoricRefreshableNode\";\nimport { AnimatePlugin } from \"./plugins/AnimatePlugin\";\nimport { DoricSwitchNode } from \"./shader/DoricSwitchNode\";\nimport { DoricSliderNode } from \"./shader/DoricSliderNode\";\nimport { DoricSlideItemNode } from \"./shader/DoricSlideItemNode\";\nimport { NotificationPlugin } from \"./plugins/NotificationPlugin\";\nconst bundles = new Map;\nconst plugins = new Map;\nconst nodes = new Map;\nexport function acquireJSBundle(name) {\n return bundles.get(name);\n}\nexport function registerJSBundle(name, bundle) {\n bundles.set(name, bundle);\n}\nexport function registerPlugin(name, plugin) {\n plugins.set(name, plugin);\n}\nexport function acquirePlugin(name) {\n return plugins.get(name);\n}\nexport function registerViewNode(name, node) {\n nodes.set(name, node);\n}\nexport function acquireViewNode(name) {\n return nodes.get(name);\n}\nregisterPlugin('shader', ShaderPlugin);\nregisterPlugin('modal', ModalPlugin);\nregisterPlugin('storage', StoragePlugin);\nregisterPlugin('navigator', NavigatorPlugin);\nregisterPlugin('popover', PopoverPlugin);\nregisterPlugin('animate', AnimatePlugin);\nregisterPlugin('notification', NotificationPlugin);\nregisterViewNode('Stack', DoricStackNode);\nregisterViewNode('VLayout', DoricVLayoutNode);\nregisterViewNode('HLayout', DoricHLayoutNode);\nregisterViewNode('Text', DoricTextNode);\nregisterViewNode('Image', DoricImageNode);\nregisterViewNode('Scroller', DoricScrollerNode);\nregisterViewNode('ListItem', DoricListItemNode);\nregisterViewNode('List', DoricListNode);\nregisterViewNode('Draggable', DoricDraggableNode);\nregisterViewNode('Refreshable', DoricRefreshableNode);\nregisterViewNode('Switch', DoricSwitchNode);\nregisterViewNode('Slider', DoricSliderNode);\nregisterViewNode('SlideItem', DoricSlideItemNode);\n//# sourceMappingURL=DoricRegistry.js.map","import { jsCallResolve, jsCallReject, jsCallbackTimer, jsReleaseContext, jsHookAfterNativeCall } from 'doric/src/runtime/sandbox';\nimport { acquireJSBundle, acquirePlugin } from './DoricRegistry';\nimport { getDoricContext } from './DoricContext';\nfunction getScriptId(contextId) {\n return `__doric_script_${contextId}`;\n}\nconst originSetTimeout = window.setTimeout;\nconst originClearTimeout = window.clearTimeout;\nconst originSetInterval = window.setInterval;\nconst originClearInterval = window.clearInterval;\nconst timers = new Map;\nexport function injectGlobalObject(name, value) {\n Reflect.set(window, name, value, window);\n}\nexport function loadJS(contextId, script) {\n const scriptElement = document.createElement('script');\n scriptElement.text = script;\n scriptElement.id = getScriptId(contextId);\n document.body.appendChild(scriptElement);\n}\nfunction packageModuleScript(name, content) {\n return `Reflect.apply(doric.jsRegisterModule,this,[${name},Reflect.apply(function(__module){(function(module,exports,require,setTimeout,setInterval,clearTimeout,clearInterval){\n${content}\n})(__module,__module.exports,doric.__require__,doricSetTimeout,doricSetInterval,doricClearTimeout,doricClearInterval);\nreturn __module.exports;},this,[{exports:{}}])])`;\n}\nfunction packageCreateContext(contextId, content) {\n return `//@ sourceURL=contextId_${contextId}.js\nReflect.apply(function(doric,context,Entry,require,exports,setTimeout,setInterval,clearTimeout,clearInterval){\n${content}\n},undefined,[undefined,doric.jsObtainContext(\"${contextId}\"),doric.jsObtainEntry(\"${contextId}\"),doric.__require__,{},doricSetTimeout,doricSetInterval,doricClearTimeout,doricClearInterval])`;\n}\nfunction initDoric() {\n injectGlobalObject(\"Environment\", {\n platform: \"web\"\n });\n injectGlobalObject('nativeLog', (type, message) => {\n switch (type) {\n case 'd':\n console.log(message);\n break;\n case 'w':\n console.warn(message);\n break;\n case 'e':\n console.error(message);\n break;\n }\n });\n injectGlobalObject('nativeRequire', (moduleName) => {\n const bundle = acquireJSBundle(moduleName);\n if (bundle === undefined || bundle.length === 0) {\n console.log(`Cannot require JS Bundle :${moduleName}`);\n return false;\n }\n else {\n loadJS(moduleName, packageModuleScript(moduleName, bundle));\n return true;\n }\n });\n injectGlobalObject('nativeBridge', (contextId, namespace, method, callbackId, args) => {\n const pluginClass = acquirePlugin(namespace);\n const doricContext = getDoricContext(contextId);\n if (pluginClass === undefined) {\n console.error(`Cannot find Plugin:${namespace}`);\n return false;\n }\n if (doricContext === undefined) {\n console.error(`Cannot find Doric Context:${contextId}`);\n return false;\n }\n let plugin = doricContext.pluginInstances.get(namespace);\n if (plugin === undefined) {\n plugin = new pluginClass(doricContext);\n doricContext.pluginInstances.set(namespace, plugin);\n }\n if (!Reflect.has(plugin, method)) {\n console.error(`Cannot find Method:${method} in plugin ${namespace}`);\n return false;\n }\n const pluginMethod = Reflect.get(plugin, method, plugin);\n if (typeof pluginMethod !== 'function') {\n console.error(`Plugin ${namespace}'s property ${method}'s type is ${typeof pluginMethod} not function,`);\n }\n const ret = Reflect.apply(pluginMethod, plugin, [args]);\n if (ret instanceof Promise) {\n ret.then(e => {\n jsCallResolve(contextId, callbackId, e);\n markNeedHook();\n }, e => {\n jsCallReject(contextId, callbackId, e);\n markNeedHook();\n });\n }\n else if (ret !== undefined) {\n Promise.resolve(ret).then((ret) => {\n jsCallResolve(contextId, callbackId, ret);\n markNeedHook();\n });\n }\n return true;\n });\n injectGlobalObject('nativeSetTimer', (timerId, time, repeat) => {\n if (repeat) {\n const handleId = originSetInterval(() => {\n jsCallbackTimer(timerId);\n markNeedHook();\n }, time);\n timers.set(timerId, { handleId, repeat });\n }\n else {\n const handleId = originSetTimeout(() => {\n jsCallbackTimer(timerId);\n markNeedHook();\n }, time);\n timers.set(timerId, { handleId, repeat });\n }\n });\n injectGlobalObject('nativeClearTimer', (timerId) => {\n const timerInfo = timers.get(timerId);\n if (timerInfo) {\n if (timerInfo.repeat) {\n originClearInterval(timerInfo.handleId);\n }\n else {\n originClearTimeout(timerInfo.handleId);\n }\n }\n });\n}\nexport function createContext(contextId, content) {\n loadJS(contextId, packageCreateContext(contextId, content));\n}\nexport function destroyContext(contextId) {\n jsReleaseContext(contextId);\n const scriptElement = document.getElementById(getScriptId(contextId));\n if (scriptElement) {\n document.body.removeChild(scriptElement);\n }\n}\nlet requesting = false;\nexport function markNeedHook() {\n if (requesting) {\n return;\n }\n requesting = true;\n requestAnimationFrame(() => {\n jsHookAfterNativeCall();\n requesting = false;\n });\n}\ninitDoric();\n//# sourceMappingURL=DoricDriver.js.map","import { jsObtainContext, jsCallEntityMethod, pureCallEntityMethod } from 'doric/src/runtime/sandbox';\nimport { createContext, destroyContext, markNeedHook } from \"./DoricDriver\";\nimport { DoricStackNode } from './shader/DoricStackNode';\nconst doricContexts = new Map;\nlet __contextId__ = 0;\nfunction getContextId() {\n return `context_${__contextId__++}`;\n}\nexport function getDoricContext(contextId) {\n return doricContexts.get(contextId);\n}\nexport class DoricContext {\n constructor(content) {\n this.contextId = getContextId();\n this.pluginInstances = new Map;\n this.headNodes = new Map;\n createContext(this.contextId, content);\n doricContexts.set(this.contextId, this);\n this.rootNode = new DoricStackNode(this);\n }\n targetViewNode(viewId) {\n if (this.rootNode.viewId === viewId) {\n return this.rootNode;\n }\n for (let nodes of this.headNodes.values()) {\n if (nodes.has(viewId)) {\n return nodes.get(viewId);\n }\n }\n }\n get panel() {\n var _a;\n return (_a = jsObtainContext(this.contextId)) === null || _a === void 0 ? void 0 : _a.entity;\n }\n invokeEntityMethod(method, ...otherArgs) {\n const argumentsList = [this.contextId];\n for (let i = 0; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n const ret = Reflect.apply(jsCallEntityMethod, this.panel, argumentsList);\n markNeedHook();\n return ret;\n }\n pureInvokeEntityMethod(method, ...otherArgs) {\n const argumentsList = [this.contextId];\n for (let i = 0; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(pureCallEntityMethod, this.panel, argumentsList);\n }\n init(data) {\n this.invokeEntityMethod(\"__init__\", data);\n }\n onCreate() {\n this.invokeEntityMethod(\"__onCreate__\");\n }\n onDestroy() {\n this.invokeEntityMethod(\"__onDestroy__\");\n }\n onShow() {\n this.invokeEntityMethod(\"__onShow__\");\n }\n onHidden() {\n this.invokeEntityMethod(\"__onHidden__\");\n }\n build(frame) {\n this.invokeEntityMethod(\"__build__\", frame);\n }\n inAnimation() {\n return !!this.animationSet;\n }\n addAnimation(viewNode, keyFrame) {\n var _a;\n (_a = this.animationSet) === null || _a === void 0 ? void 0 : _a.push({\n viewNode,\n keyFrame,\n });\n }\n teardown() {\n for (let plugin of this.pluginInstances.values()) {\n plugin.onTearDown();\n }\n destroyContext(this.contextId);\n }\n}\n//# sourceMappingURL=DoricContext.js.map","import { loadDoricJSBundle } from './DoricBundleLoader';\nimport { DoricContext } from './DoricContext';\nexport class DoricElement extends HTMLElement {\n constructor() {\n super();\n }\n get src() {\n return this.getAttribute('src');\n }\n get alias() {\n return this.getAttribute('alias');\n }\n set src(v) {\n this.setAttribute('src', v);\n }\n set alias(v) {\n this.setAttribute('alias', v);\n }\n get initData() {\n return this.getAttribute('data');\n }\n set initData(v) {\n this.setAttribute('data', v);\n }\n connectedCallback() {\n if (this.src && this.context === undefined) {\n loadDoricJSBundle(this.src).then(result => {\n this.load(result);\n });\n }\n }\n disconnectedCallback() {\n }\n adoptedCallback() {\n }\n attributeChangedCallback() {\n }\n onDestroy() {\n var _a, _b;\n (_a = this.context) === null || _a === void 0 ? void 0 : _a.onDestroy();\n (_b = this.context) === null || _b === void 0 ? void 0 : _b.teardown();\n }\n load(content) {\n this.context = new DoricContext(content);\n this.context.init(this.initData);\n this.context.onCreate();\n const divElement = document.createElement('div');\n divElement.style.position = 'relative';\n divElement.style.height = '100%';\n this.append(divElement);\n this.context.rootNode.view = divElement;\n this.context.build({\n width: divElement.offsetWidth,\n height: divElement.offsetHeight,\n });\n this.context.onShow();\n }\n}\n//# sourceMappingURL=DoricElement.js.map","import { DoricElement } from \"../DoricElement\";\nexport class NavigationElement extends HTMLElement {\n constructor() {\n super(...arguments);\n this.elementStack = [];\n }\n get currentNode() {\n for (let i = 0; i < this.childNodes.length; i++) {\n if (this.childNodes[i] instanceof DoricElement) {\n return this.childNodes[i];\n }\n }\n return undefined;\n }\n push(element) {\n const currentNode = this.currentNode;\n if (currentNode) {\n this.elementStack.push(currentNode);\n this.replaceChild(element, currentNode);\n }\n else {\n this.appendChild(element);\n }\n }\n pop() {\n const lastElement = this.elementStack.pop();\n const currentNode = this.currentNode;\n if (lastElement && currentNode) {\n this.replaceChild(lastElement, currentNode);\n currentNode.onDestroy();\n }\n else {\n window.history.back();\n }\n }\n}\n//# sourceMappingURL=NavigationElement.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport axios from 'axios';\nimport smoothscroll from 'smoothscroll-polyfill';\nimport { registerDoricJSLoader } from './src/DoricBundleLoader';\nimport { DoricElement } from './src/DoricElement';\nimport { NavigationElement } from './src/navigate/NavigationElement';\nexport * from './src/DoricElement';\nexport * from './src/navigate/NavigationElement';\nexport * from './src/DoricPlugin';\nexport * from './src/DoricRegistry';\nexport * from './src/DoricDriver';\nexport * from './src/shader/DoricViewNode';\nwindow.customElements.define('doric-div', DoricElement);\nwindow.customElements.define('doric-navigation', NavigationElement);\nsmoothscroll.polyfill();\nregisterDoricJSLoader({\n filter: (source) => source.startsWith(\"assets://\"),\n request: (source) => __awaiter(void 0, void 0, void 0, function* () {\n const ret = yield axios.get(source.replace(\"assets://\", `${window.location.href}/../../doric-demo/bundle/`));\n return ret.data;\n })\n});\n//# sourceMappingURL=index.js.map"],"names":["__awaiter","this","axios","LayoutSpec","jsCallResolve","jsCallReject","jsCallbackTimer","jsReleaseContext","jsHookAfterNativeCall","jsObtainContext","jsCallEntityMethod","pureCallEntityMethod"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","../build/src/DoricBundleLoader.js","../build/src/DoricPlugin.js","../build/src/shader/DoricViewNode.js","../build/src/plugins/ShaderPlugin.js","../build/src/shader/DoricStackNode.js","../build/src/shader/DoricVLayoutNode.js","../build/src/shader/DoricHLayoutNode.js","../build/src/shader/DoricTextNode.js","../build/src/shader/DoricImageNode.js","../build/src/shader/DoricScrollerNode.js","../build/src/plugins/ModalPlugin.js","../build/src/plugins/StoragePlugin.js","../build/src/navigate/NavigatorPlugin.js","../build/src/plugins/PopoverPlugin.js","../build/src/shader/DoricListItemNode.js","../build/src/shader/DoricListNode.js","../build/src/shader/DoricDraggableNode.js","../build/src/shader/DoricRefreshableNode.js","../build/src/plugins/AnimatePlugin.js","../build/src/shader/DoricSwitchNode.js","../build/src/shader/DoricSliderNode.js","../build/src/shader/DoricSlideItemNode.js","../build/src/plugins/NotificationPlugin.js","../build/src/DoricRegistry.js","../build/src/DoricDriver.js","../build/src/DoricContext.js","../build/src/DoricElement.js","../build/src/navigate/NavigationElement.js","../build/index.js"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport axios from \"axios\";\nconst loaders = [\n {\n filter: () => true,\n request: (source) => __awaiter(void 0, void 0, void 0, function* () {\n const result = yield axios.get(source);\n return result.data;\n })\n }\n];\nexport function registerDoricJSLoader(loader) {\n loaders.push(loader);\n}\nexport function loadDoricJSBundle(source) {\n return __awaiter(this, void 0, void 0, function* () {\n const matched = loaders.filter(e => e.filter(source));\n if (matched.length > 0) {\n return matched[matched.length - 1].request(source);\n }\n throw new Error(`Cannot find matched loader for '${source}'`);\n });\n}\n//# sourceMappingURL=DoricBundleLoader.js.map","export class DoricPlugin {\n constructor(context) {\n this.context = context;\n }\n onTearDown() {\n }\n}\n//# sourceMappingURL=DoricPlugin.js.map","import { acquireViewNode } from \"../DoricRegistry\";\nexport var LayoutSpec;\n(function (LayoutSpec) {\n LayoutSpec[LayoutSpec[\"EXACTLY\"] = 0] = \"EXACTLY\";\n LayoutSpec[LayoutSpec[\"WRAP_CONTENT\"] = 1] = \"WRAP_CONTENT\";\n LayoutSpec[LayoutSpec[\"AT_MOST\"] = 2] = \"AT_MOST\";\n})(LayoutSpec || (LayoutSpec = {}));\nconst SPECIFIED = 1;\nconst START = 1 << 1;\nconst END = 1 << 2;\nconst SHIFT_X = 0;\nconst SHIFT_Y = 4;\nexport const LEFT = (START | SPECIFIED) << SHIFT_X;\nexport const RIGHT = (END | SPECIFIED) << SHIFT_X;\nexport const TOP = (START | SPECIFIED) << SHIFT_Y;\nexport const BOTTOM = (END | SPECIFIED) << SHIFT_Y;\nexport const CENTER_X = SPECIFIED << SHIFT_X;\nexport const CENTER_Y = SPECIFIED << SHIFT_Y;\nexport const CENTER = CENTER_X | CENTER_Y;\nexport function toPixelString(v) {\n return `${v}px`;\n}\nexport function pixelString2Number(v) {\n return parseFloat(v.substring(0, v.indexOf(\"px\")));\n}\nexport function toRGBAString(color) {\n let strs = [];\n for (let i = 0; i < 32; i += 8) {\n strs.push(((color >> i) & 0xff));\n }\n strs = strs.reverse();\n /// RGBAd\n return `rgba(${strs[1]},${strs[2]},${strs[3]},${strs[0] / 255})`;\n}\nexport class DoricViewNode {\n constructor(context) {\n this.viewId = \"\";\n this.viewType = \"View\";\n this.layoutConfig = {\n widthSpec: LayoutSpec.EXACTLY,\n heightSpec: LayoutSpec.EXACTLY,\n alignment: 0,\n weight: 0,\n margin: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }\n };\n this.padding = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n };\n this.frameWidth = 0;\n this.frameHeight = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n this._originDisplay = \"\";\n this.transform = {};\n this.context = context;\n }\n init(superNode) {\n if (superNode) {\n this.superNode = superNode;\n if (this instanceof DoricSuperNode) {\n this.reusable = superNode.reusable;\n }\n }\n this.view = this.build();\n this._originDisplay = this.view.style.display;\n }\n get paddingLeft() {\n return this.padding.left || 0;\n }\n get paddingRight() {\n return this.padding.right || 0;\n }\n get paddingTop() {\n return this.padding.top || 0;\n }\n get paddingBottom() {\n return this.padding.bottom || 0;\n }\n get borderWidth() {\n var _a;\n return ((_a = this.border) === null || _a === void 0 ? void 0 : _a.width) || 0;\n }\n blend(props) {\n this.view.id = `${this.viewId}`;\n for (let key in props) {\n this.blendProps(this.view, key, props[key]);\n }\n this.onBlending();\n this.layout();\n }\n onBlending() {\n this.updateTransform();\n }\n onBlended() {\n }\n configBorder() {\n if (this.border) {\n this.applyCSSStyle({\n borderStyle: \"solid\",\n borderWidth: toPixelString(this.border.width),\n borderColor: toRGBAString(this.border.color),\n });\n }\n }\n configWidth() {\n let width;\n switch (this.layoutConfig.widthSpec) {\n case LayoutSpec.WRAP_CONTENT:\n width = \"max-content\";\n break;\n case LayoutSpec.AT_MOST:\n width = \"100%\";\n break;\n case LayoutSpec.EXACTLY:\n default:\n width = toPixelString(this.frameWidth\n - this.paddingLeft - this.paddingRight\n - this.borderWidth * 2);\n break;\n }\n this.applyCSSStyle({ width });\n }\n configHeight() {\n let height;\n switch (this.layoutConfig.heightSpec) {\n case LayoutSpec.WRAP_CONTENT:\n height = \"max-content\";\n break;\n case LayoutSpec.AT_MOST:\n height = \"100%\";\n break;\n case LayoutSpec.EXACTLY:\n default:\n height = toPixelString(this.frameHeight\n - this.paddingTop - this.paddingBottom\n - this.borderWidth * 2);\n break;\n }\n this.applyCSSStyle({ height });\n }\n configMargin() {\n if (this.layoutConfig.margin) {\n this.applyCSSStyle({\n marginLeft: toPixelString(this.layoutConfig.margin.left || 0),\n marginRight: toPixelString(this.layoutConfig.margin.right || 0),\n marginTop: toPixelString(this.layoutConfig.margin.top || 0),\n marginBottom: toPixelString(this.layoutConfig.margin.bottom || 0),\n });\n }\n }\n configPadding() {\n if (this.padding) {\n this.applyCSSStyle({\n paddingLeft: toPixelString(this.paddingLeft),\n paddingRight: toPixelString(this.paddingRight),\n paddingTop: toPixelString(this.paddingTop),\n paddingBottom: toPixelString(this.paddingBottom),\n });\n }\n }\n layout() {\n this.configMargin();\n this.configBorder();\n this.configPadding();\n this.configWidth();\n this.configHeight();\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"border\":\n this.border = prop;\n break;\n case \"padding\":\n this.padding = prop;\n break;\n case 'width':\n this.frameWidth = prop;\n break;\n case 'height':\n this.frameHeight = prop;\n break;\n case 'backgroundColor':\n this.backgroundColor = prop;\n break;\n case 'layoutConfig':\n const layoutConfig = prop;\n for (let key in layoutConfig) {\n Reflect.set(this.layoutConfig, key, Reflect.get(layoutConfig, key, layoutConfig));\n }\n break;\n case 'x':\n this.offsetX = prop;\n break;\n case 'y':\n this.offsetY = prop;\n break;\n case 'onClick':\n this.view.onclick = (event) => {\n this.callJSResponse(prop);\n event.stopPropagation();\n };\n break;\n case 'corners':\n if (typeof prop === 'object') {\n this.applyCSSStyle({\n borderTopLeftRadius: toPixelString(prop.leftTop),\n borderTopRightRadius: toPixelString(prop.rightTop),\n borderBottomRightRadius: toPixelString(prop.rightBottom),\n borderBottomLeftRadius: toPixelString(prop.leftBottom),\n });\n }\n else {\n this.applyCSSStyle({ borderRadius: toPixelString(prop) });\n }\n break;\n case 'shadow':\n const opacity = prop.opacity || 0;\n let boxShadow;\n if (opacity > 0) {\n const offsetX = prop.offsetX || 0;\n const offsetY = prop.offsetY || 0;\n const shadowColor = prop.color || 0xff000000;\n const shadowRadius = prop.radius;\n const alpha = opacity * 255;\n boxShadow = `${toPixelString(offsetX)} ${toPixelString(offsetY)} ${toPixelString(shadowRadius)} ${toRGBAString((shadowColor & 0xffffff) | ((alpha & 0xff) << 24))} `;\n }\n else {\n boxShadow = \"\";\n }\n this.applyCSSStyle({\n boxShadow,\n });\n break;\n case 'alpha':\n this.applyCSSStyle({\n opacity: `${prop}`,\n });\n break;\n case 'rotation':\n this.transform.rotation = prop;\n break;\n case 'rotationX':\n this.transform.rotationX = prop;\n break;\n case 'rotationY':\n this.transform.rotationY = prop;\n break;\n case 'scaleX':\n this.transform.scaleX = prop;\n break;\n case 'scaleY':\n this.transform.scaleY = prop;\n break;\n case 'translationX':\n this.transform.translateX = prop;\n break;\n case 'translationY':\n this.transform.translateY = prop;\n break;\n case 'pivotX':\n if (this.transformOrigin) {\n this.transformOrigin.x = prop;\n }\n else {\n this.transformOrigin = {\n x: prop,\n y: 0.5,\n };\n }\n break;\n case 'pivotY':\n if (this.transformOrigin) {\n this.transformOrigin.y = prop;\n }\n else {\n this.transformOrigin = {\n x: 0.5,\n y: prop,\n };\n }\n break;\n case 'hidden':\n this.applyCSSStyle({\n display: prop === true ? \"none\" : this._originDisplay\n });\n break;\n default:\n console.error(`Cannot blend prop for ${propName}`);\n break;\n }\n }\n set backgroundColor(v) {\n this.applyCSSStyle({ backgroundColor: toRGBAString(v) });\n }\n static create(context, type) {\n const viewNodeClass = acquireViewNode(type);\n if (viewNodeClass === undefined) {\n console.error(`Cannot find ViewNode for ${type}`);\n return undefined;\n }\n const ret = new viewNodeClass(context);\n ret.viewType = type;\n return ret;\n }\n getIdList() {\n const ids = [];\n let viewNode = this;\n do {\n ids.push(viewNode.viewId);\n viewNode = viewNode.superNode;\n } while (viewNode);\n return ids.reverse();\n }\n callJSResponse(funcId, ...args) {\n const argumentsList = ['__response__', this.getIdList(), funcId];\n for (let i = 1; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(this.context.invokeEntityMethod, this.context, argumentsList);\n }\n pureCallJSResponse(funcId, ...args) {\n const argumentsList = ['__response__', this.getIdList(), funcId];\n for (let i = 1; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(this.context.pureInvokeEntityMethod, this.context, argumentsList);\n }\n updateTransform() {\n this.applyCSSStyle({\n transform: Object.entries(this.transform).filter((e) => !!e[1]).map((e) => {\n const v = e[1] || 0;\n switch (e[0]) {\n case \"translateX\":\n return `translateX(${v}px)`;\n case \"scaleX\":\n return `scaleX(${v})`;\n case \"scaleY\":\n return `scaleY(${v})`;\n case \"rotation\":\n return `rotate(${v / 2}turn)`;\n case \"rotationX\":\n return `rotateX(${v / 2}turn)`;\n case \"rotationY\":\n return `rotateY(${v / 2}turn)`;\n default:\n console.error(`Do not support transform ${e[0]}`);\n return \"\";\n }\n }).join(\" \")\n });\n }\n updateTransformOrigin() {\n if (this.transformOrigin) {\n this.applyCSSStyle({\n transformOrigin: `${Math.round(this.transformOrigin.x * 100)}% ${Math.round(this.transformOrigin.y * 100)}%`\n });\n }\n }\n applyCSSStyle(cssStyle) {\n if (this.context.inAnimation()) {\n this.context.addAnimation(this, cssStyle);\n }\n else {\n for (let v in cssStyle) {\n Reflect.set(this.view.style, v, cssStyle[v]);\n }\n }\n }\n /** ++++++++++call from doric ++++++++++*/\n getWidth() {\n return this.view.offsetWidth;\n }\n getHeight() {\n return this.view.offsetHeight;\n }\n setWidth(v) {\n this.view.style.width = toPixelString(v);\n }\n setHeight(v) {\n this.view.style.height = toPixelString(v);\n }\n getX() {\n return this.view.offsetLeft;\n }\n getY() {\n return this.view.offsetTop;\n }\n setX(v) {\n this.view.style.left = toPixelString(v);\n }\n setY(v) {\n this.view.style.top = toPixelString(v);\n }\n getBackgroundColor() {\n return this.view.style.backgroundColor;\n }\n setBackgroundColor(v) {\n this.backgroundColor = v;\n }\n getAlpha() {\n return parseFloat(this.view.style.opacity);\n }\n setAlpha(v) {\n this.view.style.opacity = `${v}`;\n }\n getCorners() {\n return parseFloat(this.view.style.borderRadius);\n }\n setCorners(v) {\n this.view.style.borderRadius = toPixelString(v);\n }\n getLocationOnScreen() {\n const rect = this.view.getClientRects()[0];\n return {\n x: rect.left,\n y: rect.top,\n };\n }\n getRotation() {\n return this.transform.rotation;\n }\n setRotation(v) {\n this.transform.rotation = v;\n this.updateTransform();\n }\n getRotationX() {\n return this.transform.rotationX;\n }\n setRotationX(v) {\n this.transform.rotationX = v;\n this.updateTransform();\n }\n getRotationY() {\n return this.transform.rotationY;\n }\n setRotationY(v) {\n this.transform.rotationY = v;\n this.updateTransform();\n }\n getTranslationX() {\n return this.transform.translateX;\n }\n setTranslationX(v) {\n this.transform.translateX = v;\n this.updateTransform();\n }\n getTranslationY() {\n return this.transform.translateY;\n }\n setTranslationY(v) {\n this.transform.translateY = v;\n this.updateTransform();\n }\n getScaleX() {\n return this.transform.scaleX;\n }\n setScaleX(v) {\n this.transform.scaleX = v;\n this.updateTransform();\n }\n getScaleY() {\n return this.transform.scaleY;\n }\n setScaleY(v) {\n this.transform.scaleY = v;\n this.updateTransform();\n }\n getPivotX() {\n var _a;\n return ((_a = this.transformOrigin) === null || _a === void 0 ? void 0 : _a.x) || 0.5;\n }\n setPivotX(v) {\n if (this.transformOrigin) {\n this.transformOrigin.x = v;\n }\n else {\n this.transformOrigin = {\n x: v,\n y: 0.5,\n };\n }\n this.updateTransform();\n }\n getPivotY() {\n var _a;\n return ((_a = this.transformOrigin) === null || _a === void 0 ? void 0 : _a.y) || 0.5;\n }\n setPivotY(v) {\n if (this.transformOrigin) {\n this.transformOrigin.y = v;\n }\n else {\n this.transformOrigin = {\n x: 0.5,\n y: v,\n };\n }\n this.updateTransform();\n }\n}\nexport class DoricSuperNode extends DoricViewNode {\n constructor() {\n super(...arguments);\n this.reusable = false;\n this.subModels = new Map;\n }\n blendProps(v, propName, prop) {\n if (propName === 'subviews') {\n if (prop instanceof Array) {\n prop.forEach((e) => {\n this.mixinSubModel(e);\n this.blendSubNode(e);\n });\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n mixinSubModel(subNode) {\n const oldValue = this.getSubModel(subNode.id);\n if (oldValue) {\n this.mixin(subNode, oldValue);\n }\n else {\n this.subModels.set(subNode.id, subNode);\n }\n }\n getSubModel(id) {\n return this.subModels.get(id);\n }\n mixin(src, target) {\n for (let key in src.props) {\n if (key === \"subviews\") {\n continue;\n }\n Reflect.set(target.props, key, Reflect.get(src.props, key));\n }\n }\n clearSubModels() {\n this.subModels.clear();\n }\n removeSubModel(id) {\n this.subModels.delete(id);\n }\n}\nexport class DoricGroupViewNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.childNodes = [];\n this.childViewIds = [];\n }\n init(superNode) {\n super.init(superNode);\n this.view.style.overflow = \"hidden\";\n }\n blendProps(v, propName, prop) {\n if (propName === 'children') {\n if (prop instanceof Array) {\n this.childViewIds = prop;\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blend(props) {\n super.blend(props);\n }\n onBlending() {\n super.onBlending();\n this.configChildNode();\n }\n onBlended() {\n super.onBlended();\n this.childNodes.forEach(e => e.onBlended());\n }\n configChildNode() {\n this.childViewIds.forEach((childViewId, index) => {\n const model = this.getSubModel(childViewId);\n if (model === undefined) {\n return;\n }\n if (index < this.childNodes.length) {\n const oldNode = this.childNodes[index];\n if (oldNode.viewId === childViewId) {\n //The same,skip\n }\n else {\n if (this.reusable) {\n if (oldNode.viewType === model.type) {\n //Same type,can be reused\n oldNode.viewId = childViewId;\n oldNode.blend(model.props);\n }\n else {\n //Replace this view\n this.view.removeChild(oldNode.view);\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes[index] = newNode;\n this.view.replaceChild(newNode.view, oldNode.view);\n }\n }\n else {\n //Find in remain nodes\n let position = -1;\n for (let start = index + 1; start < this.childNodes.length; start++) {\n if (childViewId === this.childNodes[start].viewId) {\n //Found\n position = start;\n break;\n }\n }\n if (position >= 0) {\n //Found swap idx,position\n const reused = this.childNodes[position];\n const abandoned = this.childNodes[index];\n this.childNodes[index] = reused;\n this.childNodes[position] = abandoned;\n this.view.removeChild(reused.view);\n this.view.insertBefore(reused.view, abandoned.view);\n this.view.removeChild(abandoned.view);\n if (position === this.view.childElementCount - 1) {\n this.view.appendChild(abandoned.view);\n }\n else {\n this.view.insertBefore(abandoned.view, this.view.children[position]);\n }\n }\n else {\n //Not found,insert\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes[index] = newNode;\n this.view.insertBefore(newNode.view, this.view.children[index]);\n }\n }\n }\n }\n else {\n //Insert\n const newNode = DoricViewNode.create(this.context, model.type);\n if (newNode === undefined) {\n return;\n }\n newNode.viewId = childViewId;\n newNode.init(this);\n newNode.blend(model.props);\n this.childNodes.push(newNode);\n this.view.appendChild(newNode.view);\n }\n });\n let size = this.childNodes.length;\n for (let idx = this.childViewIds.length; idx < size; idx++) {\n this.view.removeChild(this.childNodes[idx].view);\n }\n this.childNodes = this.childNodes.slice(0, this.childViewIds.length);\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n return this.childNodes.filter(e => e.viewId === viewId)[0];\n }\n}\n//# sourceMappingURL=DoricViewNode.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nimport { DoricSuperNode } from \"../shader/DoricViewNode\";\nexport class ShaderPlugin extends DoricPlugin {\n render(ret) {\n var _a;\n if (((_a = this.context.rootNode.viewId) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n const viewNode = this.context.targetViewNode(ret.id);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.blend(ret.props);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.onBlended();\n }\n else {\n this.context.rootNode.viewId = ret.id;\n this.context.rootNode.blend(ret.props);\n this.context.rootNode.onBlended();\n }\n }\n command(options) {\n let viewNode = undefined;\n for (let viewId of options.viewIds) {\n if (!viewNode) {\n viewNode = this.context.targetViewNode(viewId);\n }\n else {\n if (viewNode instanceof DoricSuperNode) {\n viewNode = viewNode.getSubNodeById(viewId);\n }\n }\n }\n if (!viewNode) {\n return Promise.reject(\"Cannot find opposite view\");\n }\n else {\n const target = viewNode;\n return new Promise((resolve, reject) => {\n try {\n const method = Reflect.get(target, options.name);\n if (!method) {\n reject(`\"Cannot find plugin method in class:${target},method:${options.name}\"`);\n }\n resolve(Reflect.apply(method, target, [options.args]));\n }\n catch (err) {\n reject(err);\n }\n });\n }\n }\n}\n//# sourceMappingURL=ShaderPlugin.js.map","import { DoricGroupViewNode, LayoutSpec, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString, pixelString2Number } from \"./DoricViewNode\";\nexport class DoricStackNode extends DoricGroupViewNode {\n build() {\n const ret = document.createElement('div');\n ret.style.position = \"relative\";\n return ret;\n }\n layout() {\n super.layout();\n Promise.resolve().then(_ => {\n this.configSize();\n this.configOffset();\n });\n }\n configSize() {\n if (this.layoutConfig.widthSpec === LayoutSpec.WRAP_CONTENT) {\n const width = this.childNodes.reduce((prev, current) => {\n const computedStyle = window.getComputedStyle(current.view);\n return Math.max(prev, current.view.offsetWidth\n + pixelString2Number(computedStyle.marginLeft)\n + pixelString2Number(computedStyle.marginRight));\n }, 0);\n this.view.style.width = toPixelString(width);\n }\n if (this.layoutConfig.heightSpec === LayoutSpec.WRAP_CONTENT) {\n const height = this.childNodes.reduce((prev, current) => {\n const computedStyle = window.getComputedStyle(current.view);\n return Math.max(prev, current.view.offsetHeight\n + pixelString2Number(computedStyle.marginTop)\n + pixelString2Number(computedStyle.marginBottom));\n }, 0);\n this.view.style.height = toPixelString(height);\n }\n }\n configOffset() {\n this.childNodes.forEach(e => {\n const position = \"absolute\";\n let left = toPixelString(e.offsetX + this.paddingLeft);\n let top = toPixelString(e.offsetY + this.paddingTop);\n const gravity = e.layoutConfig.alignment;\n if ((gravity & LEFT) === LEFT) {\n left = toPixelString(0);\n }\n else if ((gravity & RIGHT) === RIGHT) {\n left = toPixelString(this.view.offsetWidth - e.view.offsetWidth);\n }\n else if ((gravity & CENTER_X) === CENTER_X) {\n left = toPixelString(this.view.offsetWidth / 2 - e.view.offsetWidth / 2);\n }\n if ((gravity & TOP) === TOP) {\n top = toPixelString(0);\n }\n else if ((gravity & BOTTOM) === BOTTOM) {\n top = toPixelString(this.view.offsetHeight - e.view.offsetHeight);\n }\n else if ((gravity & CENTER_Y) === CENTER_Y) {\n top = toPixelString(this.view.offsetHeight / 2 - e.view.offsetHeight / 2);\n }\n e.applyCSSStyle({\n position,\n left,\n top,\n });\n });\n }\n}\n//# sourceMappingURL=DoricStackNode.js.map","import { DoricGroupViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString } from \"./DoricViewNode\";\nexport class DoricVLayoutNode extends DoricGroupViewNode {\n constructor() {\n super(...arguments);\n this.space = 0;\n this.gravity = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.display = \"flex\";\n ret.style.flexDirection = \"column\";\n ret.style.flexWrap = \"nowrap\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'space') {\n this.space = prop;\n }\n else if (propName === 'gravity') {\n this.gravity = prop;\n if ((this.gravity & LEFT) === LEFT) {\n this.view.style.alignItems = \"flex-start\";\n }\n else if ((this.gravity & RIGHT) === RIGHT) {\n this.view.style.alignItems = \"flex-end\";\n }\n else if ((this.gravity & CENTER_X) === CENTER_X) {\n this.view.style.alignItems = \"center\";\n }\n if ((this.gravity & TOP) === TOP) {\n this.view.style.justifyContent = \"flex-start\";\n }\n else if ((this.gravity & BOTTOM) === BOTTOM) {\n this.view.style.justifyContent = \"flex-end\";\n }\n else if ((this.gravity & CENTER_Y) === CENTER_Y) {\n this.view.style.justifyContent = \"center\";\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n layout() {\n super.layout();\n this.childNodes.forEach((e, idx) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n e.view.style.flexShrink = \"0\";\n if ((_a = e.layoutConfig) === null || _a === void 0 ? void 0 : _a.weight) {\n e.view.style.flex = `${(_b = e.layoutConfig) === null || _b === void 0 ? void 0 : _b.weight}`;\n }\n e.view.style.marginTop = toPixelString(((_d = (_c = e.layoutConfig) === null || _c === void 0 ? void 0 : _c.margin) === null || _d === void 0 ? void 0 : _d.top) || 0);\n e.view.style.marginBottom = toPixelString((idx === this.childNodes.length - 1) ? 0 : this.space\n + (((_f = (_e = e.layoutConfig) === null || _e === void 0 ? void 0 : _e.margin) === null || _f === void 0 ? void 0 : _f.bottom) || 0));\n e.view.style.marginLeft = toPixelString(((_h = (_g = e.layoutConfig) === null || _g === void 0 ? void 0 : _g.margin) === null || _h === void 0 ? void 0 : _h.left) || 0);\n e.view.style.marginRight = toPixelString(((_k = (_j = e.layoutConfig) === null || _j === void 0 ? void 0 : _j.margin) === null || _k === void 0 ? void 0 : _k.right) || 0);\n if ((e.layoutConfig.alignment & LEFT) === LEFT) {\n e.view.style.alignSelf = \"flex-start\";\n }\n else if ((e.layoutConfig.alignment & RIGHT) === RIGHT) {\n e.view.style.alignSelf = \"flex-end\";\n }\n else if ((e.layoutConfig.alignment & CENTER_X) === CENTER_X) {\n e.view.style.alignSelf = \"center\";\n }\n });\n }\n}\n//# sourceMappingURL=DoricVLayoutNode.js.map","import { DoricGroupViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString } from \"./DoricViewNode\";\nexport class DoricHLayoutNode extends DoricGroupViewNode {\n constructor() {\n super(...arguments);\n this.space = 0;\n this.gravity = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.display = \"flex\";\n ret.style.flexDirection = \"row\";\n ret.style.flexWrap = \"nowrap\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'space') {\n this.space = prop;\n }\n else if (propName === 'gravity') {\n this.gravity = prop;\n this.gravity = prop;\n if ((this.gravity & LEFT) === LEFT) {\n this.view.style.justifyContent = \"flex-start\";\n }\n else if ((this.gravity & RIGHT) === RIGHT) {\n this.view.style.justifyContent = \"flex-end\";\n }\n else if ((this.gravity & CENTER_X) === CENTER_X) {\n this.view.style.justifyContent = \"center\";\n }\n if ((this.gravity & TOP) === TOP) {\n this.view.style.alignItems = \"flex-start\";\n }\n else if ((this.gravity & BOTTOM) === BOTTOM) {\n this.view.style.alignItems = \"flex-end\";\n }\n else if ((this.gravity & CENTER_Y) === CENTER_Y) {\n this.view.style.alignItems = \"center\";\n }\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n layout() {\n super.layout();\n this.childNodes.forEach((e, idx) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n e.view.style.flexShrink = \"0\";\n if ((_a = e.layoutConfig) === null || _a === void 0 ? void 0 : _a.weight) {\n e.view.style.flex = `${(_b = e.layoutConfig) === null || _b === void 0 ? void 0 : _b.weight}`;\n }\n e.view.style.marginLeft = toPixelString(((_d = (_c = e.layoutConfig) === null || _c === void 0 ? void 0 : _c.margin) === null || _d === void 0 ? void 0 : _d.left) || 0);\n e.view.style.marginRight = toPixelString((idx === this.childNodes.length - 1) ? 0 : this.space\n + (((_f = (_e = e.layoutConfig) === null || _e === void 0 ? void 0 : _e.margin) === null || _f === void 0 ? void 0 : _f.right) || 0));\n e.view.style.marginTop = toPixelString(((_h = (_g = e.layoutConfig) === null || _g === void 0 ? void 0 : _g.margin) === null || _h === void 0 ? void 0 : _h.top) || 0);\n e.view.style.marginBottom = toPixelString(((_k = (_j = e.layoutConfig) === null || _j === void 0 ? void 0 : _j.margin) === null || _k === void 0 ? void 0 : _k.bottom) || 0);\n if ((e.layoutConfig.alignment & TOP) === TOP) {\n e.view.style.alignSelf = \"flex-start\";\n }\n else if ((e.layoutConfig.alignment & BOTTOM) === BOTTOM) {\n e.view.style.alignSelf = \"flex-end\";\n }\n else if ((e.layoutConfig.alignment & CENTER_Y) === CENTER_Y) {\n e.view.style.alignSelf = \"center\";\n }\n });\n }\n}\n//# sourceMappingURL=DoricHLayoutNode.js.map","import { DoricViewNode, LEFT, RIGHT, CENTER_X, CENTER_Y, TOP, BOTTOM, toPixelString, toRGBAString } from \"./DoricViewNode\";\nexport class DoricTextNode extends DoricViewNode {\n build() {\n const div = document.createElement('div');\n div.style.display = \"flex\";\n this.textElement = document.createElement('span');\n div.appendChild(this.textElement);\n div.style.justifyContent = \"center\";\n div.style.alignItems = \"center\";\n return div;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'text':\n this.textElement.innerText = prop;\n break;\n case 'textSize':\n v.style.fontSize = toPixelString(prop);\n break;\n case 'textColor':\n v.style.color = toRGBAString(prop);\n break;\n case 'textAlignment':\n const gravity = prop;\n if ((gravity & LEFT) === LEFT) {\n v.style.justifyContent = \"flex-start\";\n }\n else if ((gravity & RIGHT) === RIGHT) {\n v.style.justifyContent = \"flex-end\";\n }\n else if ((gravity & CENTER_X) === CENTER_X) {\n v.style.justifyContent = \"center\";\n }\n if ((gravity & TOP) === TOP) {\n v.style.alignItems = \"flex-start\";\n }\n else if ((gravity & BOTTOM) === BOTTOM) {\n v.style.alignItems = \"flex-end\";\n }\n else if ((gravity & CENTER_Y) === CENTER_Y) {\n v.style.alignItems = \"center\";\n }\n break;\n case \"fontStyle\":\n switch (prop) {\n case \"bold\":\n v.style.fontWeight = \"bold\";\n v.style.fontStyle = \"normal\";\n break;\n case \"italic\":\n v.style.fontWeight = \"normal\";\n v.style.fontStyle = \"italic\";\n break;\n case \"bold_italic\":\n v.style.fontWeight = \"bold\";\n v.style.fontStyle = \"italic\";\n break;\n default:\n v.style.fontWeight = \"normal\";\n v.style.fontStyle = \"normal\";\n break;\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricTextNode.js.map","import { DoricViewNode } from \"./DoricViewNode\";\nvar ScaleType;\n(function (ScaleType) {\n ScaleType[ScaleType[\"ScaleToFill\"] = 0] = \"ScaleToFill\";\n ScaleType[ScaleType[\"ScaleAspectFit\"] = 1] = \"ScaleAspectFit\";\n ScaleType[ScaleType[\"ScaleAspectFill\"] = 2] = \"ScaleAspectFill\";\n})(ScaleType || (ScaleType = {}));\nexport class DoricImageNode extends DoricViewNode {\n build() {\n const ret = document.createElement('img');\n ret.style.objectFit = \"fill\";\n return ret;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'imageUrl':\n v.setAttribute('src', prop);\n break;\n case 'imageBase64':\n v.setAttribute('src', prop);\n break;\n case 'loadCallback':\n v.onload = () => {\n this.callJSResponse(prop, {\n width: v.width,\n height: v.height\n });\n };\n break;\n case 'scaleType':\n switch (prop) {\n case ScaleType.ScaleToFill:\n v.style.objectFit = \"fill\";\n break;\n case ScaleType.ScaleAspectFit:\n v.style.objectFit = \"contain\";\n break;\n case ScaleType.ScaleAspectFill:\n v.style.objectFit = \"cover\";\n break;\n }\n break;\n case 'isBlur':\n if (prop) {\n v.style.filter = 'blur(8px)';\n }\n else {\n v.style.filter = '';\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricImageNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricScrollerNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.childViewId = \"\";\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"scroll\";\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'content') {\n this.childViewId = prop;\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.childNode) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n return viewId === this.childViewId ? this.childNode : undefined;\n }\n onBlending() {\n super.onBlending();\n const model = this.getSubModel(this.childViewId);\n if (model === undefined) {\n return;\n }\n if (this.childNode) {\n if (this.childNode.viewId === this.childViewId) {\n ///skip\n }\n else {\n if (this.reusable && this.childNode.viewType === model.type) {\n this.childNode.viewId = model.id;\n this.childNode.blend(model.props);\n }\n else {\n this.view.removeChild(this.childNode.view);\n const childNode = DoricViewNode.create(this.context, model.type);\n if (childNode === undefined) {\n return;\n }\n childNode.viewId = model.id;\n childNode.init(this);\n childNode.blend(model.props);\n this.view.appendChild(childNode.view);\n this.childNode = childNode;\n }\n }\n }\n else {\n const childNode = DoricViewNode.create(this.context, model.type);\n if (childNode === undefined) {\n return;\n }\n childNode.viewId = model.id;\n childNode.init(this);\n childNode.blend(model.props);\n this.view.appendChild(childNode.view);\n this.childNode = childNode;\n }\n }\n onBlended() {\n var _a;\n super.onBlended();\n (_a = this.childNode) === null || _a === void 0 ? void 0 : _a.onBlended();\n }\n}\n//# sourceMappingURL=DoricScrollerNode.js.map","import { DoricPlugin } from '../DoricPlugin';\nimport { TOP, CENTER_Y, BOTTOM, toPixelString } from '../shader/DoricViewNode';\nexport class ModalPlugin extends DoricPlugin {\n toast(args) {\n const toastElement = document.createElement('div');\n toastElement.style.position = \"absolute\";\n toastElement.style.textAlign = \"center\";\n toastElement.style.width = \"100%\";\n const textElement = document.createElement('span');\n textElement.innerText = args.msg || \"\";\n textElement.style.backgroundColor = \"#777777\";\n textElement.style.color = \"white\";\n textElement.style.paddingLeft = '20px';\n textElement.style.paddingRight = '20px';\n textElement.style.paddingTop = '10px';\n textElement.style.paddingBottom = '10px';\n toastElement.appendChild(textElement);\n document.body.appendChild(toastElement);\n const gravity = args.gravity || BOTTOM;\n if ((gravity & TOP) == TOP) {\n toastElement.style.top = toPixelString(30);\n }\n else if ((gravity & BOTTOM) == BOTTOM) {\n toastElement.style.bottom = toPixelString(30);\n }\n else if ((gravity & CENTER_Y) == CENTER_Y) {\n toastElement.style.top = toPixelString(document.body.offsetHeight / 2 - toastElement.offsetHeight / 2);\n }\n setTimeout(() => {\n document.body.removeChild(toastElement);\n }, 2000);\n return Promise.resolve();\n }\n alert(args) {\n window.alert(args.msg || \"\");\n return Promise.resolve();\n }\n confirm(args) {\n if (window.confirm(args.msg || \"\")) {\n return Promise.resolve();\n }\n else {\n return Promise.reject();\n }\n }\n prompt(args) {\n const result = window.prompt(args.msg || \"\", args.defaultText);\n if (result) {\n return Promise.resolve(result);\n }\n else {\n return Promise.reject(result);\n }\n }\n}\n//# sourceMappingURL=ModalPlugin.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nexport class StoragePlugin extends DoricPlugin {\n setItem(args) {\n localStorage.setItem(`${args.zone}_${args.key}`, args.value);\n return Promise.resolve();\n }\n getItem(args) {\n return Promise.resolve(localStorage.getItem(`${args.zone}_${args.key}`));\n }\n remove(args) {\n localStorage.removeItem(`${args.zone}_${args.key}`);\n return Promise.resolve();\n }\n clear(args) {\n let removingKeys = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key && key.startsWith(`${args.zone}_`)) {\n removingKeys.push(key);\n }\n }\n removingKeys.forEach(e => {\n localStorage.removeItem(e);\n });\n return Promise.resolve();\n }\n}\n//# sourceMappingURL=StoragePlugin.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nimport { DoricElement } from \"../DoricElement\";\nexport class NavigatorPlugin extends DoricPlugin {\n constructor() {\n super(...arguments);\n this.navigation = document.getElementsByTagName('doric-navigation')[0];\n }\n push(args) {\n var _a;\n if (this.navigation) {\n const div = new DoricElement;\n div.src = args.source;\n div.alias = ((_a = args.config) === null || _a === void 0 ? void 0 : _a.alias) || args.source;\n this.navigation.push(div);\n return Promise.resolve();\n }\n else {\n return Promise.reject('Not implemented');\n }\n }\n pop() {\n if (this.navigation) {\n this.navigation.pop();\n return Promise.resolve();\n }\n else {\n return Promise.reject('Not implemented');\n }\n }\n}\n//# sourceMappingURL=NavigatorPlugin.js.map","import { DoricPlugin } from '../DoricPlugin';\nimport { DoricViewNode } from '../shader/DoricViewNode';\nexport class PopoverPlugin extends DoricPlugin {\n constructor(context) {\n super(context);\n this.fullScreen = document.createElement('div');\n this.fullScreen.id = `PopOver__${context.contextId}`;\n this.fullScreen.style.position = 'fixed';\n this.fullScreen.style.top = '0px';\n this.fullScreen.style.width = \"100%\";\n this.fullScreen.style.height = \"100%\";\n }\n show(model) {\n const viewNode = DoricViewNode.create(this.context, model.type);\n if (viewNode === undefined) {\n return Promise.reject(`Cannot create ViewNode for ${model.type}`);\n }\n viewNode.viewId = model.id;\n viewNode.init();\n viewNode.blend(model.props);\n this.fullScreen.appendChild(viewNode.view);\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n map.set(model.id, viewNode);\n }\n else {\n map = new Map;\n map.set(model.id, viewNode);\n this.context.headNodes.set(PopoverPlugin.TYPE, map);\n }\n if (!document.body.contains(this.fullScreen)) {\n document.body.appendChild(this.fullScreen);\n }\n return Promise.resolve();\n }\n dismiss(args) {\n if (args) {\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n const viewNode = map.get(args.id);\n if (viewNode) {\n this.fullScreen.removeChild(viewNode.view);\n }\n if (map.size === 0) {\n document.body.removeChild(this.fullScreen);\n }\n }\n }\n else {\n this.dismissAll();\n }\n return Promise.resolve();\n }\n dismissAll() {\n let map = this.context.headNodes.get(PopoverPlugin.TYPE);\n if (map) {\n for (let node of map.values()) {\n map.delete(node.viewId);\n this.fullScreen.removeChild(node.view);\n }\n }\n if (document.body.contains(this.fullScreen)) {\n document.body.removeChild(this.fullScreen);\n }\n }\n onTearDown() {\n super.onTearDown();\n this.dismissAll();\n }\n}\nPopoverPlugin.TYPE = \"popover\";\n//# sourceMappingURL=PopoverPlugin.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricListItemNode extends DoricStackNode {\n constructor(context) {\n super(context);\n this.reusable = true;\n }\n}\n//# sourceMappingURL=DoricListItemNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricListNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.itemCount = 0;\n this.batchCount = 15;\n this.loadMore = false;\n this.childNodes = [];\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"itemCount\":\n this.itemCount = prop;\n break;\n case \"renderItem\":\n this.reset();\n this.renderItemFuncId = prop;\n break;\n case \"onLoadMore\":\n this.onLoadMoreFuncId = prop;\n break;\n case \"loadMoreView\":\n this.loadMoreViewId = prop;\n break;\n case \"batchCount\":\n this.batchCount = prop;\n break;\n case \"loadMore\":\n this.loadMore = prop;\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n reset() {\n while (this.view.lastElementChild) {\n this.view.removeChild(this.view.lastElementChild);\n }\n }\n onBlending() {\n super.onBlending();\n if (this.childNodes.length !== this.itemCount) {\n const ret = this.pureCallJSResponse(\"renderBunchedItems\", this.childNodes.length, this.itemCount);\n this.childNodes = this.childNodes.concat(ret.map(e => {\n const viewNode = DoricViewNode.create(this.context, e.type);\n viewNode.viewId = e.id;\n viewNode.init(this);\n viewNode.blend(e.props);\n this.view.appendChild(viewNode.view);\n return viewNode;\n }));\n }\n if (this.loadMoreViewNode && this.view.contains(this.loadMoreViewNode.view)) {\n this.view.removeChild(this.loadMoreViewNode.view);\n }\n if (this.loadMore) {\n if (!this.loadMoreViewNode) {\n const loadMoreViewModel = this.getSubModel(this.loadMoreViewId || \"\");\n if (loadMoreViewModel) {\n this.loadMoreViewNode = DoricViewNode.create(this.context, loadMoreViewModel.type);\n this.loadMoreViewNode.viewId = loadMoreViewModel.id;\n this.loadMoreViewNode.init(this);\n this.loadMoreViewNode.blend(loadMoreViewModel.props);\n }\n }\n if (this.loadMoreViewNode) {\n this.view.appendChild(this.loadMoreViewNode.view);\n }\n if (this.view.scrollTop + this.view.offsetHeight === this.view.scrollHeight) {\n this.onScrollToEnd();\n }\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n var _a;\n if (viewId === this.loadMoreViewId) {\n return this.loadMoreViewNode;\n }\n return (_a = this.childNodes.filter(e => e.viewId === viewId)) === null || _a === void 0 ? void 0 : _a[0];\n }\n onScrollToEnd() {\n if (this.loadMore && this.onLoadMoreFuncId) {\n this.callJSResponse(this.onLoadMoreFuncId);\n }\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"scroll\";\n ret.addEventListener(\"scroll\", () => {\n if (this.loadMore) {\n if (ret.scrollTop + ret.offsetHeight === ret.scrollHeight) {\n this.onScrollToEnd();\n }\n }\n });\n return ret;\n }\n onBlended() {\n super.onBlended();\n this.childNodes.forEach(e => e.onBlended());\n }\n}\n//# sourceMappingURL=DoricListNode.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricDraggableNode extends DoricStackNode {\n constructor() {\n super(...arguments);\n this.onDrag = \"\";\n this.dragging = false;\n this.lastX = 0;\n this.lastY = 0;\n }\n build() {\n const ret = document.createElement('div');\n ret.ontouchstart = (event) => {\n this.dragging = true;\n this.lastX = event.targetTouches[0].clientX;\n this.lastY = event.targetTouches[0].clientY;\n };\n ret.ontouchend = (event) => {\n this.dragging = false;\n };\n ret.ontouchcancel = (event) => {\n this.dragging = false;\n };\n ret.ontouchmove = (event) => {\n if (this.dragging) {\n this.offsetX += (event.targetTouches[0].clientX - this.lastX);\n this.offsetY += (event.targetTouches[0].clientY - this.lastY);\n this.callJSResponse(this.onDrag, this.offsetX, this.offsetY);\n this.lastX = event.targetTouches[0].clientX;\n this.lastY = event.targetTouches[0].clientY;\n }\n };\n ret.onmousedown = (event) => {\n this.dragging = true;\n this.lastX = event.x;\n this.lastY = event.y;\n };\n ret.onmousemove = (event) => {\n if (this.dragging) {\n this.offsetX += (event.x - this.lastX);\n this.offsetY += (event.y - this.lastY);\n this.callJSResponse(this.onDrag, this.offsetX, this.offsetY);\n this.lastX = event.x;\n this.lastY = event.y;\n }\n };\n ret.onmouseup = (event) => {\n this.dragging = false;\n };\n ret.onmouseout = (event) => {\n this.dragging = false;\n };\n ret.style.position = \"relative\";\n return ret;\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case 'onDrag':\n this.onDrag = prop;\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n}\n//# sourceMappingURL=DoricDraggableNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricRefreshableNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.headerViewId = \"\";\n this.contentViewId = \"\";\n this.refreshable = true;\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"hidden\";\n const header = document.createElement('div');\n const content = document.createElement('div');\n header.style.width = \"100%\";\n header.style.height = \"100%\";\n header.style.display = \"flex\";\n header.style.alignItems = \"flex-end\";\n header.style.justifyContent = \"center\";\n content.style.width = \"100%\";\n content.style.height = \"100%\";\n ret.appendChild(header);\n ret.appendChild(content);\n let touchStart = 0;\n ret.ontouchstart = (ev) => {\n if (!this.refreshable) {\n return;\n }\n touchStart = ev.touches[0].pageY;\n };\n ret.ontouchmove = (ev) => {\n var _a;\n if (!this.refreshable) {\n return;\n }\n const offset = (ev.touches[0].pageY - touchStart) * 0.68;\n ret.scrollTop = Math.max(0, header.offsetHeight - offset);\n (_a = this.headerNode) === null || _a === void 0 ? void 0 : _a.callJSResponse(\"setPullingDistance\", offset);\n };\n const touchend = () => {\n var _a, _b;\n if (!this.refreshable) {\n return;\n }\n if (header.offsetHeight - ret.scrollTop >= (((_a = this.headerNode) === null || _a === void 0 ? void 0 : _a.getWidth()) || 0)) {\n this.setRefreshing(true);\n (_b = this.onRefreshCallback) === null || _b === void 0 ? void 0 : _b.call(this);\n }\n else {\n // To idel\n ret.scrollTo({\n top: header.offsetHeight,\n behavior: \"smooth\"\n });\n }\n };\n ret.ontouchcancel = () => {\n touchend();\n };\n ret.ontouchend = () => {\n touchend();\n };\n window.requestAnimationFrame(() => {\n ret.scrollTop = header.offsetHeight;\n });\n this.headerContainer = header;\n this.contentContainer = content;\n return ret;\n }\n blendProps(v, propName, prop) {\n if (propName === 'content') {\n this.contentViewId = prop;\n }\n else if (propName === 'header') {\n this.headerViewId = prop;\n }\n else if (propName === 'onRefresh') {\n this.onRefreshCallback = () => {\n this.callJSResponse(prop);\n };\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n if (viewId === this.headerViewId) {\n return this.headerNode;\n }\n else if (viewId === this.contentViewId) {\n return this.contentNode;\n }\n return undefined;\n }\n onBlending() {\n var _a, _b, _c, _d, _e, _f;\n super.onBlending();\n {\n const headerModel = this.getSubModel(this.headerViewId);\n if (headerModel) {\n if (this.headerNode) {\n if (this.headerNode.viewId !== this.headerViewId) {\n if (this.reusable && this.headerNode.viewType === headerModel.type) {\n this.headerNode.viewId = headerModel.id;\n this.headerNode.blend(headerModel.props);\n }\n else {\n (_a = this.headerContainer) === null || _a === void 0 ? void 0 : _a.removeChild(this.headerNode.view);\n const headerNode = DoricViewNode.create(this.context, headerModel.type);\n if (headerNode) {\n headerNode.viewId = headerModel.id;\n headerNode.init(this);\n headerNode.blend(headerModel.props);\n (_b = this.headerContainer) === null || _b === void 0 ? void 0 : _b.appendChild(headerNode.view);\n this.headerNode = headerNode;\n }\n }\n }\n }\n else {\n const headerNode = DoricViewNode.create(this.context, headerModel.type);\n if (headerNode) {\n headerNode.viewId = headerModel.id;\n headerNode.init(this);\n headerNode.blend(headerModel.props);\n (_c = this.headerContainer) === null || _c === void 0 ? void 0 : _c.appendChild(headerNode.view);\n this.headerNode = headerNode;\n }\n }\n }\n }\n {\n const contentModel = this.getSubModel(this.contentViewId);\n if (contentModel) {\n if (this.contentNode) {\n if (this.contentNode.viewId !== this.contentViewId) {\n if (this.reusable && this.contentNode.viewType === contentModel.type) {\n this.contentNode.viewId = contentModel.id;\n this.contentNode.blend(contentModel.props);\n }\n else {\n (_d = this.contentContainer) === null || _d === void 0 ? void 0 : _d.removeChild(this.contentNode.view);\n const contentNode = DoricViewNode.create(this.context, contentModel.type);\n if (contentNode) {\n contentNode.viewId = contentModel.id;\n contentNode.init(this);\n contentNode.blend(contentModel.props);\n (_e = this.contentContainer) === null || _e === void 0 ? void 0 : _e.appendChild(contentNode.view);\n this.contentNode = contentNode;\n }\n }\n }\n }\n else {\n const contentNode = DoricViewNode.create(this.context, contentModel.type);\n if (contentNode) {\n contentNode.viewId = contentModel.id;\n contentNode.init(this);\n contentNode.blend(contentModel.props);\n (_f = this.contentContainer) === null || _f === void 0 ? void 0 : _f.appendChild(contentNode.view);\n this.contentNode = contentNode;\n }\n }\n }\n }\n }\n onBlended() {\n super.onBlended();\n }\n setRefreshing(v) {\n var _a;\n if (!this.headerContainer || !this.headerNode) {\n return;\n }\n if (v) {\n this.view.scrollTo({\n top: this.headerContainer.offsetHeight - this.headerNode.getHeight(),\n behavior: \"smooth\"\n });\n this.headerNode.callJSResponse(\"startAnimation\");\n }\n else {\n this.view.scrollTo({\n top: (_a = this.headerContainer) === null || _a === void 0 ? void 0 : _a.offsetHeight,\n behavior: \"smooth\"\n });\n this.headerNode.callJSResponse(\"stopAnimation\");\n }\n }\n setRefreshable(v) {\n this.refreshable = v;\n if (!v) {\n this.setRefreshing(false);\n }\n }\n}\n//# sourceMappingURL=DoricRefreshableNode.js.map","import { DoricPlugin } from \"../DoricPlugin\";\nexport class AnimatePlugin extends DoricPlugin {\n submit() {\n return Promise.resolve();\n }\n animateRender(args) {\n var _a;\n this.context.animationSet = [];\n if (((_a = this.context.rootNode.viewId) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n const viewNode = this.context.targetViewNode(args.id);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.blend(args.props);\n viewNode === null || viewNode === void 0 ? void 0 : viewNode.onBlended();\n }\n else {\n this.context.rootNode.viewId = args.id;\n this.context.rootNode.blend(args.props);\n this.context.rootNode.onBlended();\n }\n return new Promise(resolve => {\n Promise.resolve().then(() => {\n var _a;\n Promise.all(((_a = this.context.animationSet) === null || _a === void 0 ? void 0 : _a.map(e => {\n return new Promise(resolve => {\n const keyFrame = {};\n const ensureNonString = (key, value) => {\n if (!!value && value !== \"\") {\n return value;\n }\n switch ((key)) {\n case \"backgroundColor\":\n return \"transparent\";\n case \"transform\":\n return \"none\";\n default:\n return \"none\";\n }\n };\n for (let k in e.keyFrame) {\n keyFrame[k] = ensureNonString(k, e.viewNode.view.style[k]);\n e.keyFrame[k] = ensureNonString(k, e.keyFrame[k]);\n }\n try {\n const animation = e.viewNode.view.animate([keyFrame, e.keyFrame], {\n duration: args.duration,\n fill: \"forwards\"\n });\n animation.onfinish = () => {\n Object.entries(e.keyFrame).forEach(entry => {\n Reflect.set(e.viewNode.view.style, entry[0], entry[1]);\n });\n resolve(true);\n };\n }\n catch (e) {\n console.error(e);\n }\n });\n })) || [])\n .then(() => {\n resolve(0);\n })\n .finally(() => {\n this.context.animationSet = undefined;\n });\n });\n });\n }\n}\n//# sourceMappingURL=AnimatePlugin.js.map","import { DoricViewNode, toRGBAString } from \"./DoricViewNode\";\nexport class DoricSwitchNode extends DoricViewNode {\n constructor() {\n super(...arguments);\n this.offTintColor = \"#e6e6e6\";\n this.onTintColor = \"#52d769\";\n }\n build() {\n const ret = document.createElement('div');\n ret.style.position = \"relative\";\n ret.style.width = \"50px\";\n ret.style.height = \"30px\";\n const input = document.createElement('input');\n input.type = \"checkbox\";\n input.style.display = \"none\";\n const box = document.createElement('div');\n box.style.width = \"100%\";\n box.style.height = \"100%\";\n box.style.backgroundColor = \"#ccc\";\n box.style.borderRadius = \"15px\";\n const span = document.createElement('span');\n span.style.display = \"inline-block\";\n span.style.height = \"30px\";\n span.style.width = \"30px\";\n span.style.borderRadius = \"15px\";\n span.style.background = \"#fff\";\n span.style.boxShadow = \"0px 3px 3px #eee\";\n box.appendChild(span);\n ret.appendChild(input);\n ret.appendChild(box);\n ret.onclick = () => {\n try {\n if (input.checked === false) {\n span.animate([{ transform: \"translateX(0px)\" }, { transform: \"translateX(30px)\" }], {\n duration: 200,\n fill: \"forwards\"\n });\n box.animate([{ backgroundColor: this.offTintColor }, { backgroundColor: this.onTintColor }], {\n duration: 200,\n fill: \"forwards\"\n });\n input.checked = true;\n }\n else {\n span.animate([{ transform: \"translateX(30px)\" }, { transform: \"translateX(0px)\" }], {\n duration: 200,\n fill: \"forwards\"\n });\n box.animate([{ backgroundColor: this.onTintColor }, { backgroundColor: this.offTintColor }], {\n duration: 200,\n fill: \"forwards\"\n });\n input.checked = false;\n }\n if (this.onSwitchFuncId) {\n this.callJSResponse(this.onSwitchFuncId, input.checked);\n }\n }\n catch (e) {\n alert(e);\n }\n };\n this.input = input;\n this.span = span;\n this.box = box;\n return ret;\n }\n setChecked(v) {\n if (!this.input || !this.span || !this.box) {\n return;\n }\n if (v) {\n this.span.style.transform = \"translateX(30px)\";\n this.box.style.backgroundColor = this.onTintColor;\n this.input.checked = v;\n }\n else {\n this.span.style.transform = \"translateX(0px)\";\n this.box.style.backgroundColor = this.offTintColor;\n this.input.checked = v;\n }\n }\n blendProps(v, propName, prop) {\n switch (propName) {\n case \"state\":\n this.setChecked(prop);\n break;\n case \"onSwitch\":\n this.onSwitchFuncId = prop;\n break;\n case \"offTintColor\":\n this.offTintColor = toRGBAString(prop);\n this.setChecked(this.getState());\n break;\n case \"onTintColor\":\n this.onTintColor = toRGBAString(prop);\n this.setChecked(this.getState());\n break;\n case \"thumbTintColor\":\n if (this.span) {\n this.span.style.backgroundColor = toRGBAString(prop);\n }\n break;\n default:\n super.blendProps(v, propName, prop);\n break;\n }\n }\n getState() {\n var _a;\n return ((_a = this.input) === null || _a === void 0 ? void 0 : _a.checked) || false;\n }\n}\n//# sourceMappingURL=DoricSwitchNode.js.map","import { DoricSuperNode, DoricViewNode } from \"./DoricViewNode\";\nexport class DoricSliderNode extends DoricSuperNode {\n constructor() {\n super(...arguments);\n this.itemCount = 0;\n this.renderPageFuncId = \"\";\n this.batchCount = 15;\n this.onPageSelectedFuncId = \"\";\n this.loop = false;\n this.childNodes = [];\n }\n blendProps(v, propName, prop) {\n if (propName === 'itemCount') {\n this.itemCount = prop;\n }\n else if (propName === 'renderPage') {\n if (prop !== this.renderPageFuncId) {\n this.childNodes = [];\n this.renderPageFuncId = prop;\n }\n }\n else if (propName === 'batchCount') {\n this.batchCount = prop;\n }\n else if (propName === 'onPageSlided') {\n this.onPageSelectedFuncId = prop;\n }\n else if (propName === 'loop') {\n this.loop = prop;\n }\n else {\n super.blendProps(v, propName, prop);\n }\n }\n blendSubNode(model) {\n var _a;\n (_a = this.getSubNodeById(model.id)) === null || _a === void 0 ? void 0 : _a.blend(model.props);\n }\n getSubNodeById(viewId) {\n var _a;\n return (_a = this.childNodes.filter(e => e.viewId === viewId)) === null || _a === void 0 ? void 0 : _a[0];\n }\n onBlending() {\n super.onBlending();\n if (this.childNodes.length !== this.itemCount) {\n const ret = this.pureCallJSResponse(\"renderBunchedItems\", this.childNodes.length, this.itemCount);\n this.childNodes = this.childNodes.concat(ret.map(e => {\n const viewNode = DoricViewNode.create(this.context, e.type);\n viewNode.viewId = e.id;\n viewNode.init(this);\n viewNode.blend(e.props);\n this.view.appendChild(viewNode.view);\n return viewNode;\n }));\n }\n }\n build() {\n const ret = document.createElement('div');\n ret.style.overflow = \"hidden\";\n ret.style.display = \"inline\";\n ret.style.whiteSpace = \"nowrap\";\n let touchStartX = 0;\n let currentIndex = 0;\n ret.ontouchstart = (ev) => {\n currentIndex = Math.round(ret.scrollLeft / ret.offsetWidth);\n touchStartX = ev.touches[0].pageX;\n };\n ret.ontouchmove = (ev) => {\n const offsetX = (touchStartX - ev.touches[0].pageX) * 3;\n ret.scrollTo({\n left: currentIndex * ret.offsetWidth + offsetX\n });\n };\n ret.ontouchcancel = ret.ontouchend = () => {\n let originInndex = currentIndex;\n currentIndex = Math.round(ret.scrollLeft / ret.offsetWidth);\n ret.scrollTo({\n left: currentIndex * ret.offsetWidth,\n behavior: \"smooth\"\n });\n if (originInndex !== currentIndex) {\n if (this.onPageSelectedFuncId.length > 0) {\n this.callJSResponse(this.onPageSelectedFuncId, currentIndex);\n }\n }\n };\n return ret;\n }\n getSlidedPage() {\n return Math.round(this.view.scrollLeft / this.view.offsetWidth);\n }\n slidePage(params) {\n if (params.smooth) {\n this.view.scrollTo({\n left: this.view.offsetWidth * params.page,\n behavior: \"smooth\"\n });\n }\n else {\n this.view.scrollTo({\n left: this.view.offsetWidth * params.page\n });\n }\n if (this.onPageSelectedFuncId.length > 0) {\n this.callJSResponse(this.onPageSelectedFuncId, params.page);\n }\n }\n}\n//# sourceMappingURL=DoricSliderNode.js.map","import { DoricStackNode } from \"./DoricStackNode\";\nexport class DoricSlideItemNode extends DoricStackNode {\n constructor(context) {\n super(context);\n this.reusable = true;\n }\n build() {\n const ret = super.build();\n ret.style.display = \"inline-block\";\n ret.style.width = \"100%\";\n ret.style.height = \"100%\";\n return ret;\n }\n}\n//# sourceMappingURL=DoricSlideItemNode.js.map","import { jsCallResolve } from \"doric/src/runtime/sandbox\";\nimport { DoricPlugin } from \"../DoricPlugin\";\nvar NotificationCenter;\n(function (NotificationCenter) {\n let receivers = [];\n function publish(notification) {\n receivers.filter(e => e.name === notification.name).forEach(e => {\n e.callback(notification.data);\n });\n }\n NotificationCenter.publish = publish;\n function subscribe(receiver) {\n receivers.push(receiver);\n }\n NotificationCenter.subscribe = subscribe;\n function unsubscribe(receiver) {\n receivers = receivers.filter(e => e !== receiver);\n }\n NotificationCenter.unsubscribe = unsubscribe;\n})(NotificationCenter || (NotificationCenter = {}));\nexport class NotificationPlugin extends DoricPlugin {\n constructor() {\n super(...arguments);\n this.receivers = {};\n }\n publish(args) {\n const key = `__doric__${args.biz || \"\"}#${args.name}`;\n NotificationCenter.publish({\n name: key,\n data: !!args.data ? JSON.parse(args.data) : undefined\n });\n return true;\n }\n subscribe(args) {\n const key = `__doric__${args.biz || \"\"}#${args.name}`;\n const receiver = {\n name: key,\n callback: (data) => {\n jsCallResolve(this.context.contextId, args.callback, data);\n }\n };\n this.receivers[args.callback] = receiver;\n NotificationCenter.subscribe(receiver);\n return args.callback;\n }\n unsubscribe(subscribeId) {\n const recevier = this.receivers[subscribeId];\n if (recevier) {\n NotificationCenter.unsubscribe(recevier);\n this.receivers[subscribeId] = undefined;\n return true;\n }\n else {\n return false;\n }\n }\n onTearDown() {\n Object.entries(this.receivers).map(e => e[1]).filter(e => !!e).forEach(e => {\n if (e) {\n NotificationCenter.unsubscribe(e);\n }\n });\n this.receivers = {};\n }\n}\n//# sourceMappingURL=NotificationPlugin.js.map","import { ShaderPlugin } from \"./plugins/ShaderPlugin\";\nimport { DoricStackNode } from \"./shader/DoricStackNode\";\nimport { DoricVLayoutNode } from './shader/DoricVLayoutNode';\nimport { DoricHLayoutNode } from './shader/DoricHLayoutNode';\nimport { DoricTextNode } from \"./shader/DoricTextNode\";\nimport { DoricImageNode } from \"./shader/DoricImageNode\";\nimport { DoricScrollerNode } from \"./shader/DoricScrollerNode\";\nimport { ModalPlugin } from './plugins/ModalPlugin';\nimport { StoragePlugin } from \"./plugins/StoragePlugin\";\nimport { NavigatorPlugin } from \"./navigate/NavigatorPlugin\";\nimport { PopoverPlugin } from './plugins/PopoverPlugin';\nimport { DoricListItemNode } from \"./shader/DoricListItemNode\";\nimport { DoricListNode } from \"./shader/DoricListNode\";\nimport { DoricDraggableNode } from \"./shader/DoricDraggableNode\";\nimport { DoricRefreshableNode } from \"./shader/DoricRefreshableNode\";\nimport { AnimatePlugin } from \"./plugins/AnimatePlugin\";\nimport { DoricSwitchNode } from \"./shader/DoricSwitchNode\";\nimport { DoricSliderNode } from \"./shader/DoricSliderNode\";\nimport { DoricSlideItemNode } from \"./shader/DoricSlideItemNode\";\nimport { NotificationPlugin } from \"./plugins/NotificationPlugin\";\nconst bundles = new Map;\nconst plugins = new Map;\nconst nodes = new Map;\nexport function acquireJSBundle(name) {\n return bundles.get(name);\n}\nexport function registerJSBundle(name, bundle) {\n bundles.set(name, bundle);\n}\nexport function registerPlugin(name, plugin) {\n plugins.set(name, plugin);\n}\nexport function acquirePlugin(name) {\n return plugins.get(name);\n}\nexport function registerViewNode(name, node) {\n nodes.set(name, node);\n}\nexport function acquireViewNode(name) {\n return nodes.get(name);\n}\nregisterPlugin('shader', ShaderPlugin);\nregisterPlugin('modal', ModalPlugin);\nregisterPlugin('storage', StoragePlugin);\nregisterPlugin('navigator', NavigatorPlugin);\nregisterPlugin('popover', PopoverPlugin);\nregisterPlugin('animate', AnimatePlugin);\nregisterPlugin('notification', NotificationPlugin);\nregisterViewNode('Stack', DoricStackNode);\nregisterViewNode('VLayout', DoricVLayoutNode);\nregisterViewNode('HLayout', DoricHLayoutNode);\nregisterViewNode('Text', DoricTextNode);\nregisterViewNode('Image', DoricImageNode);\nregisterViewNode('Scroller', DoricScrollerNode);\nregisterViewNode('ListItem', DoricListItemNode);\nregisterViewNode('List', DoricListNode);\nregisterViewNode('Draggable', DoricDraggableNode);\nregisterViewNode('Refreshable', DoricRefreshableNode);\nregisterViewNode('Switch', DoricSwitchNode);\nregisterViewNode('Slider', DoricSliderNode);\nregisterViewNode('SlideItem', DoricSlideItemNode);\n//# sourceMappingURL=DoricRegistry.js.map","import { jsCallResolve, jsCallReject, jsCallbackTimer, jsReleaseContext, jsHookAfterNativeCall } from 'doric/src/runtime/sandbox';\nimport { acquireJSBundle, acquirePlugin } from './DoricRegistry';\nimport { getDoricContext } from './DoricContext';\nfunction getScriptId(contextId) {\n return `__doric_script_${contextId}`;\n}\nconst originSetTimeout = window.setTimeout;\nconst originClearTimeout = window.clearTimeout;\nconst originSetInterval = window.setInterval;\nconst originClearInterval = window.clearInterval;\nconst timers = new Map;\nexport function injectGlobalObject(name, value) {\n Reflect.set(window, name, value, window);\n}\nexport function loadJS(contextId, script) {\n const scriptElement = document.createElement('script');\n scriptElement.text = script;\n scriptElement.id = getScriptId(contextId);\n document.body.appendChild(scriptElement);\n}\nfunction packageModuleScript(name, content) {\n return `Reflect.apply(doric.jsRegisterModule,this,[${name},Reflect.apply(function(__module){(function(module,exports,require,setTimeout,setInterval,clearTimeout,clearInterval){\n${content}\n})(__module,__module.exports,doric.__require__,doricSetTimeout,doricSetInterval,doricClearTimeout,doricClearInterval);\nreturn __module.exports;},this,[{exports:{}}])])`;\n}\nfunction packageCreateContext(contextId, content) {\n return `//@ sourceURL=contextId_${contextId}.js\nReflect.apply(function(doric,context,Entry,require,exports,setTimeout,setInterval,clearTimeout,clearInterval){\n${content}\n},undefined,[undefined,doric.jsObtainContext(\"${contextId}\"),doric.jsObtainEntry(\"${contextId}\"),doric.__require__,{},doricSetTimeout,doricSetInterval,doricClearTimeout,doricClearInterval])`;\n}\nfunction initDoric() {\n injectGlobalObject(\"Environment\", {\n platform: \"web\"\n });\n injectGlobalObject('nativeLog', (type, message) => {\n switch (type) {\n case 'd':\n console.log(message);\n break;\n case 'w':\n console.warn(message);\n break;\n case 'e':\n console.error(message);\n break;\n }\n });\n injectGlobalObject('nativeRequire', (moduleName) => {\n const bundle = acquireJSBundle(moduleName);\n if (bundle === undefined || bundle.length === 0) {\n console.log(`Cannot require JS Bundle :${moduleName}`);\n return false;\n }\n else {\n loadJS(moduleName, packageModuleScript(moduleName, bundle));\n return true;\n }\n });\n injectGlobalObject('nativeBridge', (contextId, namespace, method, callbackId, args) => {\n const pluginClass = acquirePlugin(namespace);\n const doricContext = getDoricContext(contextId);\n if (pluginClass === undefined) {\n console.error(`Cannot find Plugin:${namespace}`);\n return false;\n }\n if (doricContext === undefined) {\n console.error(`Cannot find Doric Context:${contextId}`);\n return false;\n }\n let plugin = doricContext.pluginInstances.get(namespace);\n if (plugin === undefined) {\n plugin = new pluginClass(doricContext);\n doricContext.pluginInstances.set(namespace, plugin);\n }\n if (!Reflect.has(plugin, method)) {\n console.error(`Cannot find Method:${method} in plugin ${namespace}`);\n return false;\n }\n const pluginMethod = Reflect.get(plugin, method, plugin);\n if (typeof pluginMethod !== 'function') {\n console.error(`Plugin ${namespace}'s property ${method}'s type is ${typeof pluginMethod} not function,`);\n }\n const ret = Reflect.apply(pluginMethod, plugin, [args]);\n if (ret instanceof Promise) {\n ret.then(e => {\n jsCallResolve(contextId, callbackId, e);\n markNeedHook();\n }, e => {\n jsCallReject(contextId, callbackId, e);\n markNeedHook();\n });\n }\n else if (ret !== undefined) {\n Promise.resolve(ret).then((ret) => {\n jsCallResolve(contextId, callbackId, ret);\n markNeedHook();\n });\n }\n return true;\n });\n injectGlobalObject('nativeSetTimer', (timerId, time, repeat) => {\n if (repeat) {\n const handleId = originSetInterval(() => {\n jsCallbackTimer(timerId);\n markNeedHook();\n }, time);\n timers.set(timerId, { handleId, repeat });\n }\n else {\n const handleId = originSetTimeout(() => {\n jsCallbackTimer(timerId);\n markNeedHook();\n }, time);\n timers.set(timerId, { handleId, repeat });\n }\n });\n injectGlobalObject('nativeClearTimer', (timerId) => {\n const timerInfo = timers.get(timerId);\n if (timerInfo) {\n if (timerInfo.repeat) {\n originClearInterval(timerInfo.handleId);\n }\n else {\n originClearTimeout(timerInfo.handleId);\n }\n }\n });\n}\nexport function createContext(contextId, content) {\n loadJS(contextId, packageCreateContext(contextId, content));\n}\nexport function destroyContext(contextId) {\n jsReleaseContext(contextId);\n const scriptElement = document.getElementById(getScriptId(contextId));\n if (scriptElement) {\n document.body.removeChild(scriptElement);\n }\n}\nlet requesting = false;\nexport function markNeedHook() {\n if (requesting) {\n return;\n }\n requesting = true;\n requestAnimationFrame(() => {\n jsHookAfterNativeCall();\n requesting = false;\n });\n}\ninitDoric();\n//# sourceMappingURL=DoricDriver.js.map","import { jsObtainContext, jsCallEntityMethod, pureCallEntityMethod } from 'doric/src/runtime/sandbox';\nimport { createContext, destroyContext, markNeedHook } from \"./DoricDriver\";\nimport { DoricStackNode } from './shader/DoricStackNode';\nconst doricContexts = new Map;\nlet __contextId__ = 0;\nfunction getContextId() {\n return `context_${__contextId__++}`;\n}\nexport function getDoricContext(contextId) {\n return doricContexts.get(contextId);\n}\nexport class DoricContext {\n constructor(content) {\n this.contextId = getContextId();\n this.pluginInstances = new Map;\n this.headNodes = new Map;\n createContext(this.contextId, content);\n doricContexts.set(this.contextId, this);\n this.rootNode = new DoricStackNode(this);\n }\n targetViewNode(viewId) {\n if (this.rootNode.viewId === viewId) {\n return this.rootNode;\n }\n for (let nodes of this.headNodes.values()) {\n if (nodes.has(viewId)) {\n return nodes.get(viewId);\n }\n }\n }\n get panel() {\n var _a;\n return (_a = jsObtainContext(this.contextId)) === null || _a === void 0 ? void 0 : _a.entity;\n }\n invokeEntityMethod(method, ...otherArgs) {\n const argumentsList = [this.contextId];\n for (let i = 0; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n const ret = Reflect.apply(jsCallEntityMethod, this.panel, argumentsList);\n markNeedHook();\n return ret;\n }\n pureInvokeEntityMethod(method, ...otherArgs) {\n const argumentsList = [this.contextId];\n for (let i = 0; i < arguments.length; i++) {\n argumentsList.push(arguments[i]);\n }\n return Reflect.apply(pureCallEntityMethod, this.panel, argumentsList);\n }\n init(data) {\n this.invokeEntityMethod(\"__init__\", data);\n }\n onCreate() {\n this.invokeEntityMethod(\"__onCreate__\");\n }\n onDestroy() {\n this.invokeEntityMethod(\"__onDestroy__\");\n }\n onShow() {\n this.invokeEntityMethod(\"__onShow__\");\n }\n onHidden() {\n this.invokeEntityMethod(\"__onHidden__\");\n }\n build(frame) {\n this.invokeEntityMethod(\"__build__\", frame);\n }\n inAnimation() {\n return !!this.animationSet;\n }\n addAnimation(viewNode, keyFrame) {\n var _a;\n (_a = this.animationSet) === null || _a === void 0 ? void 0 : _a.push({\n viewNode,\n keyFrame,\n });\n }\n teardown() {\n for (let plugin of this.pluginInstances.values()) {\n plugin.onTearDown();\n }\n destroyContext(this.contextId);\n }\n}\n//# sourceMappingURL=DoricContext.js.map","import { loadDoricJSBundle } from './DoricBundleLoader';\nimport { DoricContext } from './DoricContext';\nexport class DoricElement extends HTMLElement {\n constructor() {\n super();\n }\n get src() {\n return this.getAttribute('src');\n }\n get alias() {\n return this.getAttribute('alias');\n }\n set src(v) {\n this.setAttribute('src', v);\n }\n set alias(v) {\n this.setAttribute('alias', v);\n }\n get initData() {\n return this.getAttribute('data');\n }\n set initData(v) {\n this.setAttribute('data', v);\n }\n connectedCallback() {\n if (this.src && this.context === undefined) {\n loadDoricJSBundle(this.src).then(result => {\n this.load(result);\n });\n }\n }\n disconnectedCallback() {\n }\n adoptedCallback() {\n }\n attributeChangedCallback() {\n }\n onDestroy() {\n var _a, _b;\n (_a = this.context) === null || _a === void 0 ? void 0 : _a.onDestroy();\n (_b = this.context) === null || _b === void 0 ? void 0 : _b.teardown();\n }\n load(content) {\n this.context = new DoricContext(content);\n this.context.init(this.initData);\n this.context.onCreate();\n const divElement = document.createElement('div');\n divElement.style.position = 'relative';\n divElement.style.height = '100%';\n this.append(divElement);\n this.context.rootNode.view = divElement;\n this.context.build({\n width: divElement.offsetWidth,\n height: divElement.offsetHeight,\n });\n this.context.onShow();\n }\n}\n//# sourceMappingURL=DoricElement.js.map","import { DoricElement } from \"../DoricElement\";\nexport class NavigationElement extends HTMLElement {\n constructor() {\n super(...arguments);\n this.elementStack = [];\n }\n get currentNode() {\n for (let i = 0; i < this.childNodes.length; i++) {\n if (this.childNodes[i] instanceof DoricElement) {\n return this.childNodes[i];\n }\n }\n return undefined;\n }\n push(element) {\n const currentNode = this.currentNode;\n if (currentNode) {\n this.elementStack.push(currentNode);\n this.replaceChild(element, currentNode);\n }\n else {\n this.appendChild(element);\n }\n }\n pop() {\n const lastElement = this.elementStack.pop();\n const currentNode = this.currentNode;\n if (lastElement && currentNode) {\n this.replaceChild(lastElement, currentNode);\n currentNode.onDestroy();\n }\n else {\n window.history.back();\n }\n }\n}\n//# sourceMappingURL=NavigationElement.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport axios from 'axios';\nimport smoothscroll from 'smoothscroll-polyfill';\nimport { registerDoricJSLoader } from './src/DoricBundleLoader';\nimport { DoricElement } from './src/DoricElement';\nimport { NavigationElement } from './src/navigate/NavigationElement';\nexport * from './src/DoricElement';\nexport * from './src/navigate/NavigationElement';\nexport * from './src/DoricPlugin';\nexport * from './src/DoricRegistry';\nexport * from './src/DoricDriver';\nexport * from './src/shader/DoricViewNode';\nwindow.customElements.define('doric-div', DoricElement);\nwindow.customElements.define('doric-navigation', NavigationElement);\nsmoothscroll.polyfill();\nregisterDoricJSLoader({\n filter: (source) => source.startsWith(\"assets://\"),\n request: (source) => __awaiter(void 0, void 0, void 0, function* () {\n const ret = yield axios.get(source.replace(\"assets://\", `${window.location.href}/../../doric-demo/bundle/`));\n return ret.data;\n })\n});\n//# sourceMappingURL=index.js.map"],"names":["__awaiter","this","axios","LayoutSpec","jsCallResolve","jsCallReject","jsCallbackTimer","jsReleaseContext","jsHookAfterNativeCall","jsObtainContext","jsCallEntityMethod","pureCallEntityMethod"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"} \ No newline at end of file