diff --git a/doric-android/doric/src/main/java/pub/doric/shader/list/ListAdapter.java b/doric-android/doric/src/main/java/pub/doric/shader/list/ListAdapter.java index 342e090a..d4b4958c 100644 --- a/doric-android/doric/src/main/java/pub/doric/shader/list/ListAdapter.java +++ b/doric-android/doric/src/main/java/pub/doric/shader/list/ListAdapter.java @@ -68,7 +68,7 @@ class ListAdapter extends RecyclerView.Adapter { holder.listItemNode.blend(jsObject.getProperty("props").asObject()); } if (this.loadMore - && position >= this.itemCount + && position >= this.itemCount - this.listNode.preloadItemCount && !TextUtils.isEmpty(this.listNode.onLoadMoreFuncId)) { callLoadMore(); } diff --git a/doric-android/doric/src/main/java/pub/doric/shader/list/ListNode.java b/doric-android/doric/src/main/java/pub/doric/shader/list/ListNode.java index 8dc45d90..1d9461c5 100644 --- a/doric-android/doric/src/main/java/pub/doric/shader/list/ListNode.java +++ b/doric-android/doric/src/main/java/pub/doric/shader/list/ListNode.java @@ -76,6 +76,8 @@ public class ListNode extends SuperNode implements IDoricScrollabl private String onScrollEndFuncId; private final DoricJSDispatcher jsDispatcher = new DoricJSDispatcher(); + int preloadItemCount = 0; + public ListNode(DoricContext doricContext) { super(doricContext); this.listAdapter = new ListAdapter(this); @@ -377,6 +379,12 @@ public class ListNode extends SuperNode implements IDoricScrollabl } this.onDraggedFuncId = prop.asString().value(); break; + case "preloadItemCount": + if (!prop.isNumber()) { + return; + } + this.preloadItemCount = prop.asNumber().toInt(); + break; default: super.blend(view, name, prop); break; diff --git a/doric-demo/src/ListDemo.ts b/doric-demo/src/ListDemo.ts index 7842b5a1..9e740495 100644 --- a/doric-demo/src/ListDemo.ts +++ b/doric-demo/src/ListDemo.ts @@ -20,8 +20,8 @@ async function loadData(offset: number): Promise<{ }>(resolve => { setTimeout(() => { resolve({ - isEnd: offset > 100, - data: new Array(5).fill(offset).map((e, idx) => { + isEnd: offset > 1000, + data: new Array(15).fill(offset).map((e, idx) => { return { text: `Item: ${e + idx}` } }) }) @@ -65,6 +65,7 @@ class ListVH extends ViewHolder { class ListVM extends ViewModel { onAttached(state: ListModel, vh: ListVH) { vh.list.apply({ + preloadItemCount: 5, canDrag: true, onDragging: (from, to) => { log(`onDragging, from: ${from}, to: ${to}`) @@ -127,7 +128,14 @@ class ListVM extends ViewModel { loge('completelyVisible Items is:', ret) const ret2 = await vh.list.findVisibleItems(context) loge('visible Items is:', ret2) - } + }, + loadMoreView: listItem(text({ + text: "LoadMore", + }), { + layoutConfig: layoutConfig().mostWidth().justHeight(), + height: 30, + backgroundColor: Color.YELLOW, + }) }) loadData(state.offset).then(ret => { this.updateState(state => { diff --git a/doric-iOS/Pod/Classes/Shader/DoricListNode.m b/doric-iOS/Pod/Classes/Shader/DoricListNode.m index e37e0554..875d4400 100644 --- a/doric-iOS/Pod/Classes/Shader/DoricListNode.m +++ b/doric-iOS/Pod/Classes/Shader/DoricListNode.m @@ -75,6 +75,7 @@ @interface DoricListNode () @property(nonatomic, assign) NSUInteger rowCount; @property(nonatomic, assign) BOOL needReload; +@property(nonatomic, assign) NSUInteger preloadItemCount; @end @implementation DoricListNode @@ -85,6 +86,7 @@ - (instancetype)initWithContext:(DoricContext *)doricContext { _itemActions = [NSMutableDictionary new]; _batchCount = 15; _loadAnchor = -1; + _preloadItemCount = 0; } return self; } @@ -206,6 +208,8 @@ - (void)blendView:(UITableView *)view forPropName:(NSString *)name propValue:(id self.onDraggingFuncId = prop; } else if ([@"onDragged" isEqualToString:name]) { self.onDraggedFuncId = prop; + } else if ([@"preloadItemCount" isEqualToString:name]) { + self.preloadItemCount = [prop unsignedIntegerValue]; } else { [super blendView:view forPropName:name propValue:prop]; } @@ -249,7 +253,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N NSString *reuseId = props[@"identifier"]; self.itemActions[@(position)] = props[@"actions"]; if (self.loadMore - && position >= self.rowCount - 1 + && position >= self.rowCount - 1 - self.preloadItemCount && self.onLoadMoreFuncId) { reuseId = @"doricLoadMoreCell"; [self callLoadMore]; @@ -291,7 +295,7 @@ - (void)calculateCellHeightItemNode:(DoricListItemNode *)node atIndexPath:(NSInd CGFloat height = node.view.doricLayout.heightSpec == DoricLayoutFit ? CGFLOAT_MAX : self.view.height; [node.view.doricLayout apply:CGSizeMake(self.view.width, height)]; [node requestLayout]; - + self.itemHeights[@(position)] = @(node.view.height); } diff --git a/doric-js/bundle/doric-lib.es5.js b/doric-js/bundle/doric-lib.es5.js index 9a975625..1fd078e2 100644 --- a/doric-js/bundle/doric-lib.es5.js +++ b/doric-js/bundle/doric-lib.es5.js @@ -2645,6 +2645,10 @@ var List = /** @class */ (function (_super) { Property, __metadata$b("design:type", Function) ], List.prototype, "onDragged", void 0); + __decorate$b([ + Property, + __metadata$b("design:type", Number) + ], List.prototype, "preloadItemCount", void 0); return List; }(Superview)); function list(config) { @@ -4402,7 +4406,7 @@ var __generator$1 = (undefined && undefined.__generator) || function (thisArg, b function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) { throw new TypeError("Generator is already executing."); } - while (_) { try { + while (g && (g = 0, op[0] && (_ = 0)), _) { try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) { return t; } if (y = 0, t) { op = [op[0] & 2, t.value]; } switch (op[0]) { @@ -4631,7 +4635,7 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) { throw new TypeError("Generator is already executing."); } - while (_) { try { + while (g && (g = 0, op[0] && (_ = 0)), _) { try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) { return t; } if (y = 0, t) { op = [op[0] & 2, t.value]; } switch (op[0]) { diff --git a/doric-js/bundle/doric-lib.js b/doric-js/bundle/doric-lib.js index 1ee2dc80..9a8dcb4d 100644 --- a/doric-js/bundle/doric-lib.js +++ b/doric-js/bundle/doric-lib.js @@ -161,6 +161,24 @@ function createRef() { return new Ref; } class View { + callback2Id(f) { + const id = uniqueId('Function'); + this.callbacks.set(id, f); + return id; + } + id2Callback(id) { + let f = this.callbacks.get(id); + if (f === undefined) { + f = Reflect.get(this, id); + } + return f; + } + findViewByTag(tag) { + if (tag === this.tag) { + return this; + } + return undefined; + } constructor() { this.width = 0; this.height = 0; @@ -192,24 +210,6 @@ class View { } }); } - callback2Id(f) { - const id = uniqueId('Function'); - this.callbacks.set(id, f); - return id; - } - id2Callback(id) { - let f = this.callbacks.get(id); - if (f === undefined) { - f = Reflect.get(this, id); - } - return f; - } - findViewByTag(tag) { - if (tag === this.tag) { - return this; - } - return undefined; - } /** Anchor start*/ get left() { return this.x; @@ -2010,6 +2010,10 @@ __decorate$b([ Property, __metadata$b("design:type", Function) ], List.prototype, "onDragged", void 0); +__decorate$b([ + Property, + __metadata$b("design:type", Number) +], List.prototype, "preloadItemCount", void 0); function list(config) { const ret = new List; ret.apply(config); diff --git a/doric-js/bundle/doric-sandbox.es5.js b/doric-js/bundle/doric-sandbox.es5.js index f402cdc4..af590e6a 100644 --- a/doric-js/bundle/doric-sandbox.es5.js +++ b/doric-js/bundle/doric-sandbox.es5.js @@ -23,7 +23,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 @@ -42,12 +42,12 @@ 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 + // eslint-disable-next-line es/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'); @@ -60,16 +60,16 @@ var doric = (function (exports) { }; 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$c = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$a && !$propertyIsEnumerable$2.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$c && !$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 descriptor = getOwnPropertyDescriptor$c(this, V); return !!descriptor && descriptor.enumerable; } : $propertyIsEnumerable$2; @@ -87,43 +87,46 @@ var doric = (function (exports) { }; var FunctionPrototype$4 = Function.prototype; - var bind$2 = FunctionPrototype$4.bind; var call$1 = FunctionPrototype$4.call; - var uncurryThis = functionBindNative && bind$2.bind(call$1, call$1); + var uncurryThisWithBind = functionBindNative && FunctionPrototype$4.bind.bind(call$1, call$1); - var functionUncurryThis = functionBindNative ? function (fn) { - return fn && uncurryThis(fn); - } : function (fn) { - return fn && function () { + var functionUncurryThis = functionBindNative ? uncurryThisWithBind : function (fn) { + return function () { return call$1.apply(fn, arguments); }; }; var toString$2 = functionUncurryThis({}.toString); - var stringSlice$h = functionUncurryThis(''.slice); + var stringSlice$k = functionUncurryThis(''.slice); var classofRaw = function (it) { - return stringSlice$h(toString$2(it), 8, -1); + return stringSlice$k(toString$2(it), 8, -1); }; - var $Object$6 = Object; - var split$3 = functionUncurryThis(''.split); + var $Object$8 = 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$8('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$8(it); + } : $Object$8; - var $TypeError$z = TypeError; + // we can't use just `it == null` since of `document.all` special case + // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec + var isNullOrUndefined = function (it) { + return it === null || it === undefined; + }; + + var $TypeError$E = 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 (isNullOrUndefined(it)) { throw $TypeError$E("Can't call method on " + it); } return it; }; @@ -135,13 +138,32 @@ var doric = (function (exports) { return indexedObject(requireObjectCoercible(it)); }; + var documentAll$2 = typeof document == 'object' && document.all; + + // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot + // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing + var IS_HTMLDDA = typeof documentAll$2 == 'undefined' && documentAll$2 !== undefined; + + var documentAll_1 = { + all: documentAll$2, + IS_HTMLDDA: IS_HTMLDDA + }; + + var documentAll$1 = documentAll_1.all; + // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable - var isCallable = function (argument) { + var isCallable = documentAll_1.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll$1; + } : function (argument) { return typeof argument == 'function'; }; - var isObject = function (it) { + var documentAll = documentAll_1.all; + + var isObject = documentAll_1.IS_HTMLDDA ? function (it) { + return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; + } : function (it) { return typeof it == 'object' ? it !== null : isCallable(it); }; @@ -155,7 +177,7 @@ var doric = (function (exports) { var objectIsPrototypeOf = functionUncurryThis({}.isPrototypeOf); - var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; + var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; var process$5 = global_1.process; var Deno$1 = global_1.Deno; @@ -182,12 +204,12 @@ 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 - var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing + var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances @@ -196,48 +218,48 @@ 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 + var useSymbolAsUid = symbolConstructorDetection && !Symbol.sham && typeof Symbol.iterator == 'symbol'; - var $Object$5 = Object; + var $Object$7 = 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$7(it)); }; - var $String$5 = String; + var $String$7 = String; var tryToString = function (argument) { try { - return $String$5(argument); + return $String$7(argument); } catch (error) { return 'Object'; } }; - var $TypeError$y = TypeError; + var $TypeError$D = 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$D(tryToString(argument) + ' is not a function'); }; // `GetMethod` abstract operation // https://tc39.es/ecma262/#sec-getmethod var getMethod = function (V, P) { var func = V[P]; - return func == null ? undefined : aCallable(func); + return isNullOrUndefined(func) ? undefined : aCallable(func); }; - var $TypeError$x = TypeError; + var $TypeError$C = TypeError; // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive @@ -246,17 +268,17 @@ 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$C("Can't convert object to primitive value"); }; var isPure = false; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe - var defineProperty$f = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var defineProperty$c = Object.defineProperty; var defineGlobalProperty = function (key, value) { try { - defineProperty$f(global_1, key, { value: value, configurable: true, writable: true }); + defineProperty$c(global_1, key, { value: value, configurable: true, writable: true }); } catch (error) { global_1[key] = value; } return value; @@ -271,27 +293,27 @@ var doric = (function (exports) { (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.24.1', + version: '3.29.0', mode: 'global', - copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); }); - var $Object$4 = Object; + var $Object$6 = Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject var toObject = function (argument) { - return $Object$4(requireObjectCoercible(argument)); + return $Object$6(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 + // eslint-disable-next-line es/no-object-hasown -- safe var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; @@ -304,25 +326,19 @@ var doric = (function (exports) { return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$1(++id$1 + postfix, 36); }; - var WellKnownSymbolsStore$1 = shared('wks'); - var Symbol$3 = global_1.Symbol; - var symbolFor = Symbol$3 && Symbol$3['for']; - var createWellKnownSymbol = useSymbolAsUid ? Symbol$3 : Symbol$3 && Symbol$3.withoutSetter || uid; + var Symbol$5 = global_1.Symbol; + var WellKnownSymbolsStore$2 = shared('wks'); + var createWellKnownSymbol = useSymbolAsUid ? Symbol$5['for'] || Symbol$5 : Symbol$5 && Symbol$5.withoutSetter || uid; var wellKnownSymbol = function (name) { - if (!hasOwnProperty_1(WellKnownSymbolsStore$1, name) || !(nativeSymbol || typeof WellKnownSymbolsStore$1[name] == 'string')) { - var description = 'Symbol.' + name; - if (nativeSymbol && hasOwnProperty_1(Symbol$3, name)) { - WellKnownSymbolsStore$1[name] = Symbol$3[name]; - } else if (useSymbolAsUid && symbolFor) { - WellKnownSymbolsStore$1[name] = symbolFor(description); - } else { - WellKnownSymbolsStore$1[name] = createWellKnownSymbol(description); - } - } return WellKnownSymbolsStore$1[name]; + if (!hasOwnProperty_1(WellKnownSymbolsStore$2, name)) { + WellKnownSymbolsStore$2[name] = symbolConstructorDetection && hasOwnProperty_1(Symbol$5, name) + ? Symbol$5[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore$2[name]; }; - var $TypeError$w = TypeError; + var $TypeError$B = TypeError; var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation @@ -335,7 +351,7 @@ var doric = (function (exports) { 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$B("Can't convert object to primitive value"); } if (pref === undefined) { pref = 'number'; } return ordinaryToPrimitive(input, pref); @@ -358,13 +374,13 @@ var doric = (function (exports) { // Thanks to IE8 for its 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 -- required for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method @@ -385,26 +401,26 @@ var doric = (function (exports) { // 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 + // eslint-disable-next-line es/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$6 = String; + var $TypeError$A = 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$A($String$6(argument) + ' is not an object'); }; - var $TypeError$u = TypeError; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var $TypeError$z = 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 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; var CONFIGURABLE$1 = 'configurable'; @@ -434,7 +450,7 @@ var doric = (function (exports) { 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$z('Accessors not supported'); } if ('value' in Attributes) { O[P] = Attributes.value; } return O; }; @@ -451,7 +467,7 @@ var doric = (function (exports) { }; var FunctionPrototype$3 = Function.prototype; - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = descriptors && Object.getOwnPropertyDescriptor; var EXISTS = hasOwnProperty_1(FunctionPrototype$3, 'name'); @@ -476,9 +492,9 @@ var doric = (function (exports) { var inspectSource = sharedStore.inspectSource; - var WeakMap$4 = global_1.WeakMap; + var WeakMap$5 = global_1.WeakMap; - var nativeWeakMap = isCallable(WeakMap$4) && /native code/.test(inspectSource(WeakMap$4)); + var weakMapBasicDetection = isCallable(WeakMap$5) && /native code/.test(String(WeakMap$5)); var keys$3 = shared('keys'); @@ -489,61 +505,63 @@ var doric = (function (exports) { var hiddenKeys$1 = {}; var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; - var TypeError$8 = global_1.TypeError; - var WeakMap$3 = global_1.WeakMap; - var set$3, get$2, has; + var TypeError$9 = global_1.TypeError; + var WeakMap$4 = global_1.WeakMap; + var set$a, get$5, has$c; var enforce = function (it) { - return has(it) ? get$2(it) : set$3(it, {}); + return has$c(it) ? get$5(it) : set$a(it, {}); }; var getterFor$2 = function (TYPE) { return function (it) { var state; - if (!isObject(it) || (state = get$2(it)).type !== TYPE) { - throw TypeError$8('Incompatible receiver, ' + TYPE + ' required'); + if (!isObject(it) || (state = get$5(it)).type !== TYPE) { + throw TypeError$9('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; - if (nativeWeakMap || sharedStore.state) { - var store$2 = sharedStore.state || (sharedStore.state = new WeakMap$3()); - var wmget = functionUncurryThis(store$2.get); - 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 (weakMapBasicDetection || sharedStore.state) { + var store$2 = sharedStore.state || (sharedStore.state = new WeakMap$4()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store$2.get = store$2.get; + store$2.has = store$2.has; + store$2.set = store$2.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set$a = function (it, metadata) { + if (store$2.has(it)) { throw TypeError$9(OBJECT_ALREADY_INITIALIZED); } metadata.facade = it; - wmset(store$2, it, metadata); + store$2.set(it, metadata); return metadata; }; - get$2 = function (it) { - return wmget(store$2, it) || {}; + get$5 = function (it) { + return store$2.get(it) || {}; }; - has = function (it) { - return wmhas(store$2, it); + has$c = function (it) { + return store$2.has(it); }; } else { 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); } + set$a = function (it, metadata) { + if (hasOwnProperty_1(it, STATE)) { throw TypeError$9(OBJECT_ALREADY_INITIALIZED); } metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; }; - get$2 = function (it) { + get$5 = function (it) { return hasOwnProperty_1(it, STATE) ? it[STATE] : {}; }; - has = function (it) { + has$c = function (it) { return hasOwnProperty_1(it, STATE); }; } var internalState = { - set: set$3, - get: get$2, - has: has, + set: set$a, + get: get$5, + has: has$c, enforce: enforce, getterFor: getterFor$2 }; @@ -555,8 +573,12 @@ var doric = (function (exports) { var enforceInternalState = internalState.enforce; var getInternalState = internalState.get; - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + var $String = String; + // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; + var stringSlice = functionUncurryThis(''.slice); + var replace = functionUncurryThis(''.replace); + var join = functionUncurryThis([].join); var CONFIGURABLE_LENGTH = descriptors && !fails(function () { return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; @@ -565,8 +587,8 @@ var doric = (function (exports) { 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') + ']'; + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; } if (options && options.getter) { name = 'get ' + name; } if (options && options.setter) { name = 'set ' + name; } @@ -585,7 +607,7 @@ var doric = (function (exports) { } catch (error) { /* empty */ } var state = enforceInternalState(value); if (!hasOwnProperty_1(state, 'source')) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); } return value; }; @@ -624,7 +646,7 @@ var doric = (function (exports) { // `Math.trunc` method // https://tc39.es/ecma262/#sec-math.trunc - // eslint-disable-next-line es-x/no-math-trunc -- safe + // eslint-disable-next-line es/no-math-trunc -- safe var mathTrunc = Math.trunc || function trunc(x) { var n = +x; return (n > 0 ? floor$a : ceil$1)(n); @@ -638,23 +660,23 @@ var doric = (function (exports) { return number !== number || number === 0 ? 0 : mathTrunc(number); }; - var max$9 = Math.max; - var min$c = Math.min; + var max$a = Math.max; + var min$e = 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$9(integer + length, 0) : min$c(integer, length); + return integer < 0 ? max$a(integer + length, 0) : min$e(integer, length); }; - var min$b = Math.min; + var min$d = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength var toLength = function (argument) { - return argument > 0 ? min$b(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 + return argument > 0 ? min$d(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; // `LengthOfArrayLike` abstract operation @@ -695,17 +717,17 @@ var doric = (function (exports) { var indexOf$2 = arrayIncludes.indexOf; - var push$m = functionUncurryThis([].push); + var push$q = 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$q(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$q(result, key); } } return result; }; @@ -725,7 +747,7 @@ var doric = (function (exports) { // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames - // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe + // eslint-disable-next-line es/no-object-getownpropertynames -- safe var f$5 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; @@ -734,7 +756,7 @@ var doric = (function (exports) { f: f$5 }; - // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe var f$4 = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { @@ -750,7 +772,7 @@ var doric = (function (exports) { return getOwnPropertySymbols ? concat$4(keys, getOwnPropertySymbols(it)) : keys; }; - var copyConstructorProperties = function (target, source, exceptions) { + var copyConstructorProperties$1 = function (target, source, exceptions) { var keys = ownKeys(source); var defineProperty = objectDefineProperty.f; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; @@ -782,7 +804,7 @@ var doric = (function (exports) { var isForced_1 = isForced; - var getOwnPropertyDescriptor$9 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$b = objectGetOwnPropertyDescriptor.f; @@ -819,14 +841,14 @@ var doric = (function (exports) { if (target) { for (key in source) { sourceProperty = source[key]; if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor$9(target, key); + descriptor = getOwnPropertyDescriptor$b(target, key); targetProperty = descriptor && descriptor.value; } else { targetProperty = target[key]; } FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty == typeof targetProperty) { continue; } - copyConstructorProperties(sourceProperty, targetProperty); + copyConstructorProperties$1(sourceProperty, targetProperty); } // add a flag to not completely full polyfills if (options.sham || (targetProperty && targetProperty.sham)) { @@ -836,15 +858,15 @@ var doric = (function (exports) { } } }; - var TO_STRING_TAG$9 = wellKnownSymbol('toStringTag'); + var TO_STRING_TAG$c = wellKnownSymbol('toStringTag'); var test$2 = {}; - test$2[TO_STRING_TAG$9] = 'z'; + test$2[TO_STRING_TAG$c] = 'z'; var toStringTagSupport = String(test$2) === '[object z]'; - var TO_STRING_TAG$8 = wellKnownSymbol('toStringTag'); - var $Object$3 = Object; + var TO_STRING_TAG$b = wellKnownSymbol('toStringTag'); + var $Object$5 = Object; // ES3 wrong here var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; @@ -861,30 +883,30 @@ 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$5(it), TO_STRING_TAG$b)) == '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$5 = 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$5(argument); }; // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys - // eslint-disable-next-line es-x/no-object-keys -- safe + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys$1 = 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 + // eslint-disable-next-line es/no-object-defineproperties -- safe var f$3 = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); @@ -973,7 +995,7 @@ var doric = (function (exports) { // `Object.create` method // https://tc39.es/ecma262/#sec-object.create - // eslint-disable-next-line es-x/no-object-create -- safe + // eslint-disable-next-line es/no-object-create -- safe var objectCreate = Object.create || function create(O, Properties) { var result; if (O !== null) { @@ -992,20 +1014,20 @@ var doric = (function (exports) { else { object[propertyKey] = value; } }; - var $Array$a = Array; - var max$8 = Math.max; + var $Array$c = Array; + var max$9 = 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$8(fin - k, 0)); + var result = $Array$c(max$9(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; @@ -1033,6 +1055,12 @@ var doric = (function (exports) { f: f$2 }; + 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 f$1 = wellKnownSymbol; var wellKnownSymbolWrapped = { @@ -1041,11 +1069,11 @@ var doric = (function (exports) { var path = global_1; - var defineProperty$e = objectDefineProperty.f; + var defineProperty$b = objectDefineProperty.f; - var defineWellKnownSymbol = function (NAME) { + var wellKnownSymbolDefine = function (NAME) { var Symbol = path.Symbol || (path.Symbol = {}); - if (!hasOwnProperty_1(Symbol, NAME)) { defineProperty$e(Symbol, NAME, { + if (!hasOwnProperty_1(Symbol, NAME)) { defineProperty$b(Symbol, NAME, { value: wellKnownSymbolWrapped.f(NAME) }); } }; @@ -1066,20 +1094,27 @@ var doric = (function (exports) { } }; - var defineProperty$d = objectDefineProperty.f; + var defineProperty$a = objectDefineProperty.f; - var TO_STRING_TAG$7 = wellKnownSymbol('toStringTag'); + var TO_STRING_TAG$a = 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 }); + if (target && !hasOwnProperty_1(target, TO_STRING_TAG$a)) { + defineProperty$a(target, TO_STRING_TAG$a, { configurable: true, value: TAG }); } }; - var bind$1 = functionUncurryThis(functionUncurryThis.bind); + var functionUncurryThisClause = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') { return functionUncurryThis(fn); } + }; + + var bind$1 = functionUncurryThisClause(functionUncurryThisClause.bind); // optional / simple context binding var functionBindContext = function (fn, that) { @@ -1091,8 +1126,8 @@ var doric = (function (exports) { // `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) { + // eslint-disable-next-line es/no-array-isarray -- safe + var isArray$1 = Array.isArray || function isArray(argument) { return classofRaw(argument) == 'Array'; }; @@ -1100,7 +1135,7 @@ var doric = (function (exports) { var empty = []; var construct$1 = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; - var exec$b = functionUncurryThis(constructorRegExp.exec); + var exec$f = functionUncurryThis(constructorRegExp.exec); var INCORRECT_TO_STRING$2 = !constructorRegExp.exec(noop); var isConstructorModern = function isConstructor(argument) { @@ -1124,7 +1159,7 @@ var doric = (function (exports) { // 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)); + return INCORRECT_TO_STRING$2 || !!exec$f(constructorRegExp, inspectSource(argument)); } catch (error) { return true; } @@ -1143,21 +1178,21 @@ var doric = (function (exports) { }) ? isConstructorLegacy : isConstructorModern; var SPECIES$6 = wellKnownSymbol('species'); - var $Array$9 = Array; + var $Array$b = Array; // a part of `ArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#sec-arrayspeciescreate var arraySpeciesConstructor = function (originalArray) { var C; - if (isArray(originalArray)) { + if (isArray$1(originalArray)) { C = originalArray.constructor; // cross-realm fallback - if (isConstructor(C) && (C === $Array$9 || isArray(C.prototype))) { C = undefined; } + if (isConstructor(C) && (C === $Array$b || isArray$1(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$b : C; }; // `ArraySpeciesCreate` abstract operation @@ -1166,7 +1201,7 @@ var doric = (function (exports) { return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); }; - var push$l = functionUncurryThis([].push); + var push$p = functionUncurryThis([].push); // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod$7 = function (TYPE) { @@ -1195,10 +1230,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$p(target, value); // filter } } else { switch (TYPE) { case 4: return false; // every - case 7: push$l(target, value); // filterReject + case 7: push$p(target, value); // filterReject } } } } } @@ -1239,23 +1274,23 @@ var doric = (function (exports) { var SYMBOL = 'Symbol'; var PROTOTYPE$1 = 'prototype'; - var setInternalState$i = internalState.set; + var setInternalState$l = internalState.set; var getInternalState$e = internalState.getterFor(SYMBOL); - var ObjectPrototype$4 = Object[PROTOTYPE$1]; + var ObjectPrototype$5 = Object[PROTOTYPE$1]; var $Symbol = global_1.Symbol; var SymbolPrototype$1 = $Symbol && $Symbol[PROTOTYPE$1]; - var TypeError$7 = global_1.TypeError; + var TypeError$8 = global_1.TypeError; var QObject = global_1.QObject; var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; var nativeDefineProperty = objectDefineProperty.f; var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f; var nativePropertyIsEnumerable = objectPropertyIsEnumerable.f; - var push$k = functionUncurryThis([].push); + var push$o = functionUncurryThis([].push); var AllSymbols = shared('symbols'); var ObjectPrototypeSymbols = shared('op-symbols'); - var WellKnownSymbolsStore = shared('wks'); + var WellKnownSymbolsStore$1 = shared('wks'); // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild; @@ -1266,17 +1301,17 @@ var doric = (function (exports) { get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } })).a != 7; }) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype$4, P); - if (ObjectPrototypeDescriptor) { delete ObjectPrototype$4[P]; } + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype$5, P); + if (ObjectPrototypeDescriptor) { delete ObjectPrototype$5[P]; } nativeDefineProperty(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype$4) { - nativeDefineProperty(ObjectPrototype$4, P, ObjectPrototypeDescriptor); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype$5) { + nativeDefineProperty(ObjectPrototype$5, P, ObjectPrototypeDescriptor); } } : nativeDefineProperty; - var wrap$1 = function (tag, description) { + var wrap = function (tag, description) { var symbol = AllSymbols[tag] = objectCreate(SymbolPrototype$1); - setInternalState$i(symbol, { + setInternalState$l(symbol, { type: SYMBOL, tag: tag, description: description @@ -1286,7 +1321,7 @@ var doric = (function (exports) { }; var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype$4) { $defineProperty(ObjectPrototypeSymbols, P, Attributes); } + if (O === ObjectPrototype$5) { $defineProperty(ObjectPrototypeSymbols, P, Attributes); } anObject(O); var key = toPropertyKey(P); anObject(Attributes); @@ -1318,7 +1353,7 @@ var doric = (function (exports) { var $propertyIsEnumerable$1 = function propertyIsEnumerable(V) { var P = toPropertyKey(V); var enumerable = functionCall(nativePropertyIsEnumerable, this, P); - if (this === ObjectPrototype$4 && hasOwnProperty_1(AllSymbols, P) && !hasOwnProperty_1(ObjectPrototypeSymbols, P)) { return false; } + if (this === ObjectPrototype$5 && hasOwnProperty_1(AllSymbols, P) && !hasOwnProperty_1(ObjectPrototypeSymbols, P)) { return false; } return enumerable || !hasOwnProperty_1(this, P) || !hasOwnProperty_1(AllSymbols, P) || hasOwnProperty_1(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; }; @@ -1326,7 +1361,7 @@ var doric = (function (exports) { var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { var it = toIndexedObject(O); var key = toPropertyKey(P); - if (it === ObjectPrototype$4 && hasOwnProperty_1(AllSymbols, key) && !hasOwnProperty_1(ObjectPrototypeSymbols, key)) { return; } + if (it === ObjectPrototype$5 && hasOwnProperty_1(AllSymbols, key) && !hasOwnProperty_1(ObjectPrototypeSymbols, key)) { return; } var descriptor = nativeGetOwnPropertyDescriptor$1(it, key); if (descriptor && hasOwnProperty_1(AllSymbols, key) && !(hasOwnProperty_1(it, HIDDEN) && it[HIDDEN][key])) { descriptor.enumerable = true; @@ -1338,18 +1373,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$o(result, key); } }); return result; }; var $getOwnPropertySymbols = function (O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$4; + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$5; 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]); + if (hasOwnProperty_1(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwnProperty_1(ObjectPrototype$5, key))) { + push$o(result, AllSymbols[key]); } }); return result; @@ -1357,18 +1392,18 @@ var doric = (function (exports) { // `Symbol` constructor // https://tc39.es/ecma262/#sec-symbol-constructor - if (!nativeSymbol) { + if (!symbolConstructorDetection) { $Symbol = function Symbol() { - if (objectIsPrototypeOf(SymbolPrototype$1, this)) { throw TypeError$7('Symbol is not a constructor'); } + if (objectIsPrototypeOf(SymbolPrototype$1, this)) { throw TypeError$8('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) { - if (this === ObjectPrototype$4) { functionCall(setter, ObjectPrototypeSymbols, value); } + if (this === ObjectPrototype$5) { functionCall(setter, ObjectPrototypeSymbols, value); } if (hasOwnProperty_1(this, HIDDEN) && hasOwnProperty_1(this[HIDDEN], tag)) { this[HIDDEN][tag] = false; } setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); }; - if (descriptors && USE_SETTER) { setSymbolDescriptor(ObjectPrototype$4, tag, { configurable: true, set: setter }); } - return wrap$1(tag, description); + if (descriptors && USE_SETTER) { setSymbolDescriptor(ObjectPrototype$5, tag, { configurable: true, set: setter }); } + return wrap(tag, description); }; SymbolPrototype$1 = $Symbol[PROTOTYPE$1]; @@ -1378,7 +1413,7 @@ var doric = (function (exports) { }); defineBuiltIn($Symbol, 'withoutSetter', function (description) { - return wrap$1(uid(description), description); + return wrap(uid(description), description); }); objectPropertyIsEnumerable.f = $propertyIsEnumerable$1; @@ -1389,37 +1424,37 @@ var doric = (function (exports) { objectGetOwnPropertySymbols.f = $getOwnPropertySymbols; wellKnownSymbolWrapped.f = function (name) { - return wrap$1(wellKnownSymbol(name), name); + return wrap(wellKnownSymbol(name), name); }; if (descriptors) { // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty(SymbolPrototype$1, 'description', { + defineBuiltInAccessor(SymbolPrototype$1, 'description', { configurable: true, get: function description() { return getInternalState$e(this).description; } }); { - defineBuiltIn(ObjectPrototype$4, 'propertyIsEnumerable', $propertyIsEnumerable$1, { unsafe: true }); + defineBuiltIn(ObjectPrototype$5, 'propertyIsEnumerable', $propertyIsEnumerable$1, { unsafe: true }); } } } - _export({ global: true, constructor: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, { + _export({ global: true, constructor: true, wrap: true, forced: !symbolConstructorDetection, sham: !symbolConstructorDetection }, { Symbol: $Symbol }); - $forEach$3(objectKeys$1(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); + $forEach$3(objectKeys$1(WellKnownSymbolsStore$1), function (name) { + wellKnownSymbolDefine(name); }); - _export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, { + _export({ target: SYMBOL, stat: true, forced: !symbolConstructorDetection }, { useSetter: function () { USE_SETTER = true; }, useSimple: function () { USE_SETTER = false; } }); - _export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, { + _export({ target: 'Object', stat: true, forced: !symbolConstructorDetection, sham: !descriptors }, { // `Object.create` method // https://tc39.es/ecma262/#sec-object.create create: $create, @@ -1434,7 +1469,7 @@ var doric = (function (exports) { getOwnPropertyDescriptor: $getOwnPropertyDescriptor }); - _export({ target: 'Object', stat: true, forced: !nativeSymbol }, { + _export({ target: 'Object', stat: true, forced: !symbolConstructorDetection }, { // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames getOwnPropertyNames: $getOwnPropertyNames @@ -1450,15 +1485,15 @@ var doric = (function (exports) { hiddenKeys$1[HIDDEN] = true; - /* eslint-disable es-x/no-symbol -- safe */ - var nativeSymbolRegistry = nativeSymbol && !!Symbol['for'] && !!Symbol.keyFor; + /* eslint-disable es/no-symbol -- safe */ + var symbolRegistryDetection = symbolConstructorDetection && !!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 }, { + _export({ target: 'Symbol', stat: true, forced: !symbolRegistryDetection }, { 'for': function (key) { var string = toString_1(key); if (hasOwnProperty_1(StringToSymbolRegistry, string)) { return StringToSymbolRegistry[string]; } @@ -1473,7 +1508,7 @@ var doric = (function (exports) { // `Symbol.keyFor` method // https://tc39.es/ecma262/#sec-symbol.keyfor - _export({ target: 'Symbol', stat: true, forced: !nativeSymbolRegistry }, { + _export({ target: 'Symbol', stat: true, forced: !symbolRegistryDetection }, { keyFor: function keyFor(sym) { if (!isSymbol(sym)) { throw TypeError(tryToString(sym) + ' is not a symbol'); } if (hasOwnProperty_1(SymbolToStringRegistry, sym)) { return SymbolToStringRegistry[sym]; } @@ -1484,17 +1519,42 @@ var doric = (function (exports) { var apply = FunctionPrototype$2.apply; var call = FunctionPrototype$2.call; - // eslint-disable-next-line es-x/no-reflect -- safe + // eslint-disable-next-line es/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 arraySlice = functionUncurryThis([].slice); - var $stringify = getBuiltIn('JSON', 'stringify'); - var exec$a = functionUncurryThis(/./.exec); - var charAt$h = functionUncurryThis(''.charAt); - var charCodeAt$5 = functionUncurryThis(''.charCodeAt); + var push$n = functionUncurryThis([].push); + + var getJsonReplacerFunction = function (replacer) { + if (isCallable(replacer)) { return replacer; } + if (!isArray$1(replacer)) { return; } + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') { push$n(keys, element); } + else if (typeof element == 'number' || classofRaw(element) == 'Number' || classofRaw(element) == 'String') { push$n(keys, toString_1(element)); } + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray$1(this)) { return value; } + for (var j = 0; j < keysLength; j++) { if (keys[j] === key) { return value; } } + }; + }; + + var $String$4 = String; + var $stringify$1 = getBuiltIn('JSON', 'stringify'); + var exec$e = functionUncurryThis(/./.exec); + var charAt$k = functionUncurryThis(''.charAt); + var charCodeAt$8 = functionUncurryThis(''.charCodeAt); var replace$b = functionUncurryThis(''.replace); var numberToString$3 = functionUncurryThis(1.0.toString); @@ -1502,50 +1562,50 @@ var doric = (function (exports) { var low = /^[\uD800-\uDBFF]$/; var hi = /^[\uDC00-\uDFFF]$/; - var WRONG_SYMBOLS_CONVERSION = !nativeSymbol || fails(function () { + var WRONG_SYMBOLS_CONVERSION = !symbolConstructorDetection || fails(function () { var symbol = getBuiltIn('Symbol')(); // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' + return $stringify$1([symbol]) != '[null]' // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' + || $stringify$1({ a: symbol }) != '{}' // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; + || $stringify$1(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"'; + return $stringify$1('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify$1('\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); } + var args = arraySlice(arguments); + var $replacer = getJsonReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) { return; } // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) { value = functionCall($replacer, this, $String$4(key), value); } if (!isSymbol(value)) { return value; } - }; } - args[1] = replacer; - return functionApply($stringify, null, args); + }; + return functionApply($stringify$1, 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); + var prev = charAt$k(string, offset - 1); + var next = charAt$k(string, offset + 1); + if ((exec$e(low, match) && !exec$e(hi, next)) || (exec$e(hi, match) && !exec$e(low, prev))) { + return '\\u' + numberToString$3(charCodeAt$8(match, 0), 16); } return match; }; - if ($stringify) { + if ($stringify$1) { // `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); + var args = arraySlice(arguments); + var result = functionApply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify$1, null, args); return ILL_FORMED_UNICODE && typeof result == 'string' ? replace$b(result, tester, fixIllFormed) : result; } }); @@ -1553,20 +1613,17 @@ var doric = (function (exports) { // 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); }); + var FORCED$A = !symbolConstructorDetection || fails(function () { objectGetOwnPropertySymbols.f(1); }); // `Object.getOwnPropertySymbols` method // https://tc39.es/ecma262/#sec-object.getownpropertysymbols - _export({ target: 'Object', stat: true, forced: FORCED$n }, { + _export({ target: 'Object', stat: true, forced: FORCED$A }, { getOwnPropertySymbols: function getOwnPropertySymbols(it) { var $getOwnPropertySymbols = objectGetOwnPropertySymbols.f; return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; } }); - var defineProperty$c = objectDefineProperty.f; - - var NativeSymbol = global_1.Symbol; var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; @@ -1586,24 +1643,24 @@ var doric = (function (exports) { return result; }; - copyConstructorProperties(SymbolWrapper, NativeSymbol); + copyConstructorProperties$1(SymbolWrapper, NativeSymbol); SymbolWrapper.prototype = SymbolPrototype; SymbolPrototype.constructor = SymbolWrapper; var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)'; - var symbolToString = functionUncurryThis(SymbolPrototype.toString); - var symbolValueOf = functionUncurryThis(SymbolPrototype.valueOf); + var thisSymbolValue$2 = functionUncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = functionUncurryThis(SymbolPrototype.toString); var regexp = /^Symbol\((.*)\)[^)]+$/; var replace$a = functionUncurryThis(''.replace); - var stringSlice$g = functionUncurryThis(''.slice); + var stringSlice$j = functionUncurryThis(''.slice); - defineProperty$c(SymbolPrototype, 'description', { + defineBuiltInAccessor(SymbolPrototype, 'description', { configurable: true, get: function description() { - var symbol = symbolValueOf(this); - var string = symbolToString(symbol); + var symbol = thisSymbolValue$2(this); if (hasOwnProperty_1(EmptyStringDescriptionStore, symbol)) { return ''; } - var desc = NATIVE_SYMBOL ? stringSlice$g(string, 7, -1) : replace$a(string, regexp, '$1'); + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice$j(string, 7, -1) : replace$a(string, regexp, '$1'); return desc === '' ? undefined : desc; } }); @@ -1615,47 +1672,47 @@ var doric = (function (exports) { // `Symbol.asyncIterator` well-known symbol // https://tc39.es/ecma262/#sec-symbol.asynciterator - defineWellKnownSymbol('asyncIterator'); + wellKnownSymbolDefine('asyncIterator'); // `Symbol.hasInstance` well-known symbol // https://tc39.es/ecma262/#sec-symbol.hasinstance - defineWellKnownSymbol('hasInstance'); + wellKnownSymbolDefine('hasInstance'); // `Symbol.isConcatSpreadable` well-known symbol // https://tc39.es/ecma262/#sec-symbol.isconcatspreadable - defineWellKnownSymbol('isConcatSpreadable'); + wellKnownSymbolDefine('isConcatSpreadable'); // `Symbol.iterator` well-known symbol // https://tc39.es/ecma262/#sec-symbol.iterator - defineWellKnownSymbol('iterator'); + wellKnownSymbolDefine('iterator'); // `Symbol.match` well-known symbol // https://tc39.es/ecma262/#sec-symbol.match - defineWellKnownSymbol('match'); + wellKnownSymbolDefine('match'); // `Symbol.matchAll` well-known symbol // https://tc39.es/ecma262/#sec-symbol.matchall - defineWellKnownSymbol('matchAll'); + wellKnownSymbolDefine('matchAll'); // `Symbol.replace` well-known symbol // https://tc39.es/ecma262/#sec-symbol.replace - defineWellKnownSymbol('replace'); + wellKnownSymbolDefine('replace'); // `Symbol.search` well-known symbol // https://tc39.es/ecma262/#sec-symbol.search - defineWellKnownSymbol('search'); + wellKnownSymbolDefine('search'); // `Symbol.species` well-known symbol // https://tc39.es/ecma262/#sec-symbol.species - defineWellKnownSymbol('species'); + wellKnownSymbolDefine('species'); // `Symbol.split` well-known symbol // https://tc39.es/ecma262/#sec-symbol.split - defineWellKnownSymbol('split'); + wellKnownSymbolDefine('split'); // `Symbol.toPrimitive` well-known symbol // https://tc39.es/ecma262/#sec-symbol.toprimitive - defineWellKnownSymbol('toPrimitive'); + wellKnownSymbolDefine('toPrimitive'); // `Symbol.prototype[@@toPrimitive]` method // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive @@ -1663,7 +1720,7 @@ var doric = (function (exports) { // `Symbol.toStringTag` well-known symbol // https://tc39.es/ecma262/#sec-symbol.tostringtag - defineWellKnownSymbol('toStringTag'); + wellKnownSymbolDefine('toStringTag'); // `Symbol.prototype[@@toStringTag]` property // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag @@ -1671,14 +1728,21 @@ var doric = (function (exports) { // `Symbol.unscopables` well-known symbol // https://tc39.es/ecma262/#sec-symbol.unscopables - defineWellKnownSymbol('unscopables'); + wellKnownSymbolDefine('unscopables'); - var $String$2 = String; - var $TypeError$t = TypeError; + var functionUncurryThisAccessor = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return functionUncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } + }; + + var $String$3 = String; + var $TypeError$y = 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$y("Can't set " + $String$3(argument) + ' as a prototype'); }; /* eslint-disable no-proto -- safe */ @@ -1689,14 +1753,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 - setter = functionUncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter = functionUncurryThisAccessor(Object.prototype, '__proto__', 'set'); setter(test, []); CORRECT_SETTER = test instanceof Array; } catch (error) { /* empty */ } @@ -1709,10 +1772,10 @@ var doric = (function (exports) { }; }() : undefined); - var defineProperty$b = objectDefineProperty.f; + var defineProperty$9 = objectDefineProperty.f; var proxyAccessor = function (Target, Source, key) { - key in Target || defineProperty$b(Target, key, { + key in Target || defineProperty$9(Target, key, { configurable: true, get: function () { return Source[key]; }, set: function (it) { Source[key] = it; } @@ -1746,15 +1809,16 @@ var doric = (function (exports) { } }; - var $Error$1 = Error; + var $Error$2 = Error; var replace$9 = functionUncurryThis(''.replace); - var TEST = (function (arg) { return String($Error$1(arg).stack); })('zxcasd'); + var TEST = (function (arg) { return String($Error$2(arg).stack); })('zxcasd'); + // eslint-disable-next-line redos/no-vulnerable -- safe 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) { + var errorStackClear = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error$2.prepareStackTrace) { while (dropEntries--) { stack = replace$9(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } } return stack; }; @@ -1762,11 +1826,21 @@ var doric = (function (exports) { var errorStackInstallable = !fails(function () { var error = Error('a'); if (!('stack' in error)) { return true; } - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); return error.stack !== 7; }); + // non-standard V8 + var captureStackTrace = Error.captureStackTrace; + + var errorStackInstall = function (error, C, stack, dropEntries) { + if (errorStackInstallable) { + if (captureStackTrace) { captureStackTrace(error, C); } + else { createNonEnumerableProperty(error, 'stack', errorStackClear(stack, dropEntries)); } + } + }; + var wrapErrorConstructorWithCause = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { var STACK_TRACE_LIMIT = 'stackTraceLimit'; var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; @@ -1789,7 +1863,7 @@ var doric = (function (exports) { 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)); } + errorStackInstall(result, WrappedError, result.stack, 2); if (this && objectIsPrototypeOf(OriginalErrorPrototype, this)) { inheritIfRequired(result, this, WrappedError); } if (arguments.length > OPTIONS_POSITION) { installErrorCause(result, arguments[OPTIONS_POSITION]); } return result; @@ -1799,13 +1873,13 @@ var doric = (function (exports) { if (ERROR_NAME !== 'Error') { if (objectSetPrototypeOf) { objectSetPrototypeOf(WrappedError, BaseError); } - else { copyConstructorProperties(WrappedError, BaseError, { name: true }); } + else { copyConstructorProperties$1(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); + copyConstructorProperties$1(WrappedError, OriginalError); { try { // Safari 13- bug: WebAssembly errors does not have a proper `.name` @@ -1827,22 +1901,23 @@ var doric = (function (exports) { var WEB_ASSEMBLY = 'WebAssembly'; var WebAssembly$1 = global_1[WEB_ASSEMBLY]; - var FORCED$m = Error('e', { cause: 7 }).cause !== 7; + var FORCED$z = 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); + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED$z); + _export({ global: true, constructor: true, arity: 1, forced: FORCED$z }, 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); + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED$z); + _export({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED$z }, O); } }; + // https://tc39.es/ecma262/#sec-nativeerror // https://github.com/tc39/proposal-error-cause exportGlobalErrorCauseWrapper('Error', function (init) { return function Error(message) { return functionApply(init, this, arguments); }; @@ -1880,7 +1955,7 @@ var doric = (function (exports) { var INCORRECT_TO_STRING$1 = fails(function () { if (descriptors) { // Chrome 32- incorrectly call accessor - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe var object = objectCreate(Object.defineProperty({}, 'name', { get: function () { return this === object; } })); @@ -1910,50 +1985,50 @@ var doric = (function (exports) { var correctPrototypeGetter = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; - // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing + // 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$2 = Object; - var ObjectPrototype$3 = $Object$2.prototype; + var $Object$4 = Object; + var ObjectPrototype$4 = $Object$4.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) { + // eslint-disable-next-line es/no-object-getprototypeof -- safe + var objectGetPrototypeOf = correctPrototypeGetter ? $Object$4.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; + } return object instanceof $Object$4 ? ObjectPrototype$4 : null; }; var iterators = {}; - var ITERATOR$a = wellKnownSymbol('iterator'); - var ArrayPrototype$2 = Array.prototype; + var ITERATOR$b = wellKnownSymbol('iterator'); + 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$b] === it); }; - var ITERATOR$9 = wellKnownSymbol('iterator'); + var ITERATOR$a = wellKnownSymbol('iterator'); var getIteratorMethod = function (it) { - if (it != undefined) { return getMethod(it, ITERATOR$9) + if (!isNullOrUndefined(it)) { return getMethod(it, ITERATOR$a) || getMethod(it, '@@iterator') || iterators[classof(it)]; } }; - var $TypeError$s = TypeError; + var $TypeError$x = 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$x(tryToString(argument) + ' is not iterable'); }; var iteratorClose = function (iterator, kind, value) { @@ -1976,7 +2051,7 @@ var doric = (function (exports) { return value; }; - var $TypeError$r = TypeError; + var $TypeError$w = TypeError; var Result = function (stopped, result) { this.stopped = stopped; @@ -2012,7 +2087,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$w(tryToString(iterable) + ' is not iterable'); } // optimisation for array iterators if (isArrayIteratorMethod(iterFn)) { for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { @@ -2034,33 +2109,32 @@ var doric = (function (exports) { } return new Result(false); }; - var TO_STRING_TAG$6 = wellKnownSymbol('toStringTag'); - var $Error = Error; - var push$j = [].push; + var TO_STRING_TAG$9 = wellKnownSymbol('toStringTag'); + var $Error$1 = Error; + var push$m = [].push; var $AggregateError$1 = function AggregateError(errors, message /* , options */) { - 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); + that = objectSetPrototypeOf($Error$1(), isInstance ? objectGetPrototypeOf(this) : AggregateErrorPrototype); } else { that = isInstance ? this : objectCreate(AggregateErrorPrototype); - createNonEnumerableProperty(that, TO_STRING_TAG$6, 'Error'); + createNonEnumerableProperty(that, TO_STRING_TAG$9, 'Error'); } if (message !== undefined) { createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); } - if (errorStackInstallable) { createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1)); } - installErrorCause(that, options); + errorStackInstall(that, $AggregateError$1, that.stack, 1); + if (arguments.length > 2) { installErrorCause(that, arguments[2]); } var errorsArray = []; - iterate(errors, push$j, { that: errorsArray }); + iterate(errors, push$m, { 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$1, $Error$1); } + else { copyConstructorProperties$1($AggregateError$1, $Error$1, { name: true }); } - var AggregateErrorPrototype = $AggregateError$1.prototype = objectCreate($Error.prototype, { + var AggregateErrorPrototype = $AggregateError$1.prototype = objectCreate($Error$1.prototype, { constructor: createPropertyDescriptor(1, $AggregateError$1), message: createPropertyDescriptor(1, ''), name: createPropertyDescriptor(1, 'AggregateError') @@ -2074,29 +2148,30 @@ var doric = (function (exports) { var AGGREGATE_ERROR = 'AggregateError'; var $AggregateError = getBuiltIn(AGGREGATE_ERROR); - var FORCED$l = !fails(function () { + + var FORCED$y = !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 }, { + _export({ global: true, constructor: true, arity: 2, forced: FORCED$y }, { 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) + }, FORCED$y, true) }); - var defineProperty$a = objectDefineProperty.f; + var defineProperty$8 = 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) { + defineProperty$8(ArrayPrototype, UNSCOPABLES, { configurable: true, value: objectCreate(null) }); @@ -2104,7 +2179,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 @@ -2121,11 +2196,11 @@ var doric = (function (exports) { addToUnscopables('at'); - var $TypeError$q = TypeError; + var $TypeError$v = 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'); } + if (it > MAX_SAFE_INTEGER) { throw $TypeError$v('Maximum allowed index exceeded'); } return it; }; @@ -2156,20 +2231,18 @@ var doric = (function (exports) { return array.concat()[0] !== array; }); - var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); - var isConcatSpreadable = function (O) { if (!isObject(O)) { return false; } var spreadable = O[IS_CONCAT_SPREADABLE]; - return spreadable !== undefined ? !!spreadable : isArray(O); + return spreadable !== undefined ? !!spreadable : isArray$1(O); }; - var FORCED$k = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + var FORCED$x = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); // `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, arity: 1, forced: FORCED$x }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { var arguments$1 = arguments; @@ -2194,24 +2267,24 @@ var doric = (function (exports) { } }); - var $TypeError$p = TypeError; + var $TypeError$u = TypeError; var deletePropertyOrThrow = function (O, P) { - if (!delete O[P]) { throw $TypeError$p('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); } + if (!delete O[P]) { throw $TypeError$u('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); } }; - var min$a = Math.min; + var min$c = 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$a((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var count = min$c((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); var inc = 1; if (from < to && to < from + count) { inc = -1; @@ -2246,11 +2319,11 @@ var doric = (function (exports) { var $every$2 = arrayIteration.every; - var STRICT_METHOD$8 = arrayMethodIsStrict('every'); + var STRICT_METHOD$4 = arrayMethodIsStrict('every'); // `Array.prototype.every` method // https://tc39.es/ecma262/#sec-array.prototype.every - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$8 }, { + _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$4 }, { every: function every(callbackfn /* , thisArg */) { return $every$2(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } @@ -2400,7 +2473,7 @@ var doric = (function (exports) { if (sourceIndex in source) { element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - if (depth > 0 && isArray(element)) { + if (depth > 0 && isArray$1(element)) { elementLen = lengthOfArrayLike(element); targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; } else { @@ -2447,18 +2520,18 @@ var doric = (function (exports) { var $forEach$2 = arrayIteration.forEach; - var STRICT_METHOD$7 = arrayMethodIsStrict('forEach'); + var STRICT_METHOD$3 = arrayMethodIsStrict('forEach'); // `Array.prototype.forEach` method implementation // https://tc39.es/ecma262/#sec-array.prototype.foreach - var arrayForEach = !STRICT_METHOD$7 ? function forEach(callbackfn /* , thisArg */) { + var arrayForEach = !STRICT_METHOD$3 ? 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 }); @@ -2472,7 +2545,7 @@ var doric = (function (exports) { } }; - var $Array$8 = Array; + var $Array$a = Array; // `Array.from` method implementation // https://tc39.es/ecma262/#sec-array.from @@ -2487,7 +2560,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$a && isArrayIteratorMethod(iteratorMethod))) { iterator = getIterator(O, iteratorMethod); next = iterator.next; result = IS_CONSTRUCTOR ? new this() : []; @@ -2497,7 +2570,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$a(length); for (;length > index; index++) { value = mapping ? mapfn(O[index], index) : O[index]; createProperty(result, index, value); @@ -2507,7 +2580,7 @@ var doric = (function (exports) { return result; }; - var ITERATOR$8 = wellKnownSymbol('iterator'); + var ITERATOR$9 = wellKnownSymbol('iterator'); var SAFE_CLOSING = false; try { @@ -2520,10 +2593,10 @@ var doric = (function (exports) { SAFE_CLOSING = true; } }; - iteratorWithReturn[ITERATOR$8] = function () { + iteratorWithReturn[ITERATOR$9] = 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 */ } @@ -2532,7 +2605,7 @@ var doric = (function (exports) { var ITERATION_SUPPORT = false; try { var object = {}; - object[ITERATOR$8] = function () { + object[ITERATOR$9] = function () { return { next: function () { return { done: ITERATION_SUPPORT = true }; @@ -2545,7 +2618,7 @@ var doric = (function (exports) { }; var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - // eslint-disable-next-line es-x/no-array-from -- required for testing + // eslint-disable-next-line es/no-array-from -- required for testing Array.from(iterable); }); @@ -2561,6 +2634,7 @@ var doric = (function (exports) { // FF99+ bug var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection return !Array(1).includes(); }); @@ -2575,75 +2649,75 @@ 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; + var $indexOf$1 = arrayIncludes.indexOf; - var un$IndexOf = functionUncurryThis([].indexOf); + var nativeIndexOf = functionUncurryThisClause([].indexOf); - var NEGATIVE_ZERO$1 = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0; - var STRICT_METHOD$6 = arrayMethodIsStrict('indexOf'); + var NEGATIVE_ZERO$1 = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; + var FORCED$w = NEGATIVE_ZERO$1 || !arrayMethodIsStrict('indexOf'); // `Array.prototype.indexOf` method // https://tc39.es/ecma262/#sec-array.prototype.indexof - _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO$1 || !STRICT_METHOD$6 }, { + _export({ target: 'Array', proto: true, forced: FORCED$w }, { indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { var fromIndex = arguments.length > 1 ? arguments[1] : undefined; return NEGATIVE_ZERO$1 // convert -0 to +0 - ? un$IndexOf(this, searchElement, fromIndex) || 0 - : $IndexOf(this, searchElement, fromIndex); + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf$1(this, searchElement, fromIndex); } }); // `Array.isArray` method // https://tc39.es/ecma262/#sec-array.isarray _export({ target: 'Array', stat: true }, { - isArray: isArray + isArray: isArray$1 }); - var ITERATOR$7 = wellKnownSymbol('iterator'); + var ITERATOR$8 = wellKnownSymbol('iterator'); var BUGGY_SAFARI_ITERATORS$1 = false; // `%IteratorPrototype%` object // https://tc39.es/ecma262/#sec-%iteratorprototype%-object - var IteratorPrototype$5, PrototypeOfArrayIteratorPrototype, arrayIterator$1; + var IteratorPrototype$6, 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` if (!('next' in arrayIterator$1)) { BUGGY_SAFARI_ITERATORS$1 = true; } else { PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator$1)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) { IteratorPrototype$5 = PrototypeOfArrayIteratorPrototype; } + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) { IteratorPrototype$6 = PrototypeOfArrayIteratorPrototype; } } } - var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$5 == undefined || fails(function () { + var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype$6) || fails(function () { var test = {}; // FF44- legacy iterators case - return IteratorPrototype$5[ITERATOR$7].call(test) !== test; + return IteratorPrototype$6[ITERATOR$8].call(test) !== test; }); - if (NEW_ITERATOR_PROTOTYPE) { IteratorPrototype$5 = {}; } + if (NEW_ITERATOR_PROTOTYPE) { IteratorPrototype$6 = {}; } // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator - if (!isCallable(IteratorPrototype$5[ITERATOR$7])) { - defineBuiltIn(IteratorPrototype$5, ITERATOR$7, function () { + if (!isCallable(IteratorPrototype$6[ITERATOR$8])) { + defineBuiltIn(IteratorPrototype$6, ITERATOR$8, function () { return this; }); } var iteratorsCore = { - IteratorPrototype: IteratorPrototype$5, + IteratorPrototype: IteratorPrototype$6, BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1 }; - var IteratorPrototype$4 = iteratorsCore.IteratorPrototype; + var IteratorPrototype$5 = iteratorsCore.IteratorPrototype; @@ -2651,9 +2725,9 @@ var doric = (function (exports) { var returnThis$1 = function () { return this; }; - var createIteratorConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = objectCreate(IteratorPrototype$4, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + IteratorConstructor.prototype = objectCreate(IteratorPrototype$5, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false); iterators[TO_STRING_TAG] = returnThis$1; return IteratorConstructor; @@ -2661,17 +2735,17 @@ var doric = (function (exports) { var PROPER_FUNCTION_NAME$3 = functionName.PROPER; var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE; - var IteratorPrototype$3 = iteratorsCore.IteratorPrototype; + var IteratorPrototype$4 = iteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS; - var ITERATOR$6 = wellKnownSymbol('iterator'); + var ITERATOR$7 = wellKnownSymbol('iterator'); var KEYS = 'keys'; var VALUES = 'values'; var ENTRIES = 'entries'; var returnThis = function () { return this; }; - var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); + var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + iteratorCreateConstructor(IteratorConstructor, NAME, next); var getIterationMethod = function (KIND) { if (KIND === DEFAULT && defaultIterator) { return defaultIterator; } @@ -2686,7 +2760,7 @@ var doric = (function (exports) { var TO_STRING_TAG = NAME + ' Iterator'; var INCORRECT_VALUES_NAME = false; var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR$6] + var nativeIterator = IterablePrototype[ITERATOR$7] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); @@ -2697,11 +2771,11 @@ var doric = (function (exports) { if (anyNativeIterator) { CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable())); if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$3) { + if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$4) { if (objectSetPrototypeOf) { - objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$3); - } else if (!isCallable(CurrentIteratorPrototype[ITERATOR$6])) { - defineBuiltIn(CurrentIteratorPrototype, ITERATOR$6, returnThis); + objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$4); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR$7])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR$7, returnThis); } } // Set @@toStringTag to native iterators @@ -2734,21 +2808,28 @@ var doric = (function (exports) { } // define iterator - if (IterablePrototype[ITERATOR$6] !== defaultIterator) { - defineBuiltIn(IterablePrototype, ITERATOR$6, defaultIterator, { name: DEFAULT }); + if (IterablePrototype[ITERATOR$7] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR$7, defaultIterator, { name: DEFAULT }); } iterators[NAME] = defaultIterator; return methods; }; - var defineProperty$9 = objectDefineProperty.f; + // `CreateIterResultObject` abstract operation + // https://tc39.es/ecma262/#sec-createiterresultobject + var createIterResultObject = function (value, done) { + return { value: value, done: done }; + }; + + var defineProperty$7 = objectDefineProperty.f; + var ARRAY_ITERATOR = 'Array Iterator'; - var setInternalState$h = internalState.set; + var setInternalState$k = internalState.set; var getInternalState$d = internalState.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method @@ -2761,8 +2842,8 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-array.prototype-@@iterator // `CreateArrayIterator` internal method // https://tc39.es/ecma262/#sec-createarrayiterator - var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState$h(this, { + var es_array_iterator = iteratorDefine(Array, 'Array', function (iterated, kind) { + setInternalState$k(this, { type: ARRAY_ITERATOR, target: toIndexedObject(iterated), // target index: 0, // next index @@ -2777,11 +2858,11 @@ var doric = (function (exports) { var index = state.index++; if (!target || index >= target.length) { state.target = undefined; - return { value: undefined, done: true }; + return createIterResultObject(undefined, true); } - if (kind == 'keys') { return { value: index, done: false }; } - if (kind == 'values') { return { value: target[index], done: false }; } - return { value: [index, target[index]], done: false }; + if (kind == 'keys') { return createIterResultObject(index, false); } + if (kind == 'values') { return createIterResultObject(target[index], false); } + return createIterResultObject([index, target[index]], false); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% @@ -2796,44 +2877,44 @@ var doric = (function (exports) { // V8 ~ Chrome 45- bug if (descriptors && values.name !== 'values') { try { - defineProperty$9(values, 'name', { value: 'values' }); + defineProperty$7(values, 'name', { value: 'values' }); } catch (error) { /* empty */ } } - var un$Join = functionUncurryThis([].join); + var nativeJoin = functionUncurryThis([].join); var ES3_STRINGS = indexedObject != Object; - var STRICT_METHOD$5 = arrayMethodIsStrict('join', ','); + var FORCED$v = ES3_STRINGS || !arrayMethodIsStrict('join', ','); // `Array.prototype.join` method // https://tc39.es/ecma262/#sec-array.prototype.join - _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$5 }, { + _export({ target: 'Array', proto: true, forced: FORCED$v }, { join: function join(separator) { - return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator); + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); } }); - /* eslint-disable es-x/no-array-prototype-lastindexof -- safe */ + /* eslint-disable es/no-array-prototype-lastindexof -- safe */ - var min$9 = Math.min; + var min$b = 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 STRICT_METHOD$2 = arrayMethodIsStrict('lastIndexOf'); + var FORCED$u = NEGATIVE_ZERO || !STRICT_METHOD$2; // `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$u ? 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$9(index, toIntegerOrInfinity(arguments[1])); } + if (arguments.length > 1) { index = min$b(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; @@ -2841,7 +2922,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 }); @@ -2860,12 +2941,12 @@ var doric = (function (exports) { } }); - var $Array$7 = Array; + var $Array$9 = 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); + // eslint-disable-next-line es/no-array-of -- safe + return !($Array$9.of.call(F) instanceof F); }); // `Array.of` method @@ -2877,31 +2958,57 @@ 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$9)(argumentsLength); while (argumentsLength > index) { createProperty(result, index, arguments$1[index++]); } result.length = argumentsLength; return result; } }); + var $TypeError$t = TypeError; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$a = Object.getOwnPropertyDescriptor; + + // Safari < 13 does not throw an error in this case + var SILENT_ON_NON_WRITABLE_LENGTH_SET = descriptors && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) { return true; } + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } + }(); + + var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray$1(O) && !getOwnPropertyDescriptor$a(O, 'length').writable) { + throw $TypeError$t('Cannot set read only .length'); + } return O.length = length; + } : function (O, length) { + return O.length = length; + }; + 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 () { + var properErrorOnNonWritableLength$1 = function () { try { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty([], 'length', { writable: false }).push(); } catch (error) { return error instanceof TypeError; } - }(); + }; + + var FORCED$t = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength$1(); // `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 }, { + _export({ target: 'Array', proto: true, arity: 1, forced: FORCED$t }, { // eslint-disable-next-line no-unused-vars -- required for `.length` push: function push(item) { var arguments$1 = arguments; @@ -2914,12 +3021,12 @@ var doric = (function (exports) { O[len] = arguments$1[i]; len++; } - O.length = len; + arraySetLength(O, len); return len; } }); - var $TypeError$o = TypeError; + var $TypeError$s = TypeError; // `Array.prototype.{ reduce, reduceRight }` methods implementation var createMethod$5 = function (IS_RIGHT) { @@ -2938,7 +3045,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) { @@ -2957,21 +3064,21 @@ var doric = (function (exports) { right: createMethod$5(true) }; - var engineIsNode = classofRaw(global_1.process) == 'process'; + var engineIsNode = typeof process != 'undefined' && classofRaw(process) == 'process'; var $reduce$1 = arrayReduce.left; - var STRICT_METHOD$3 = arrayMethodIsStrict('reduce'); // Chrome 80-82 has a critical bug // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 var CHROME_BUG$1 = !engineIsNode && engineV8Version > 79 && engineV8Version < 83; + var FORCED$s = CHROME_BUG$1 || !arrayMethodIsStrict('reduce'); // `Array.prototype.reduce` method // https://tc39.es/ecma262/#sec-array.prototype.reduce - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$3 || CHROME_BUG$1 }, { + _export({ target: 'Array', proto: true, forced: FORCED$s }, { reduce: function reduce(callbackfn /* , initialValue */) { var length = arguments.length; return $reduce$1(this, callbackfn, length, length > 1 ? arguments[1] : undefined); @@ -2983,20 +3090,20 @@ var doric = (function (exports) { - var STRICT_METHOD$2 = arrayMethodIsStrict('reduceRight'); // Chrome 80-82 has a critical bug // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 var CHROME_BUG = !engineIsNode && engineV8Version > 79 && engineV8Version < 83; + var FORCED$r = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); // `Array.prototype.reduceRight` method // https://tc39.es/ecma262/#sec-array.prototype.reduceright - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$2 || CHROME_BUG }, { + _export({ target: 'Array', proto: true, forced: FORCED$r }, { reduceRight: function reduceRight(callbackfn /* , initialValue */) { return $reduceRight$1(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); } }); - var un$Reverse = functionUncurryThis([].reverse); + var nativeReverse = functionUncurryThis([].reverse); var test$1 = [1, 2]; // `Array.prototype.reverse` method @@ -3006,16 +3113,16 @@ var doric = (function (exports) { _export({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.reverse()) }, { reverse: function reverse() { // eslint-disable-next-line no-self-assign -- dirty hack - if (isArray(this)) { this.length = this.length; } - return un$Reverse(this); + if (isArray$1(this)) { this.length = this.length; } + return nativeReverse(this); } }); var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('slice'); var SPECIES$4 = wellKnownSymbol('species'); - var $Array$6 = Array; - var max$7 = Math.max; + var $Array$8 = Array; + var max$8 = Math.max; // `Array.prototype.slice` method // https://tc39.es/ecma262/#sec-array.prototype.slice @@ -3028,20 +3135,20 @@ var doric = (function (exports) { var fin = toAbsoluteIndex(end === undefined ? length : end, length); // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible var Constructor, result, n; - if (isArray(O)) { + if (isArray$1(O)) { Constructor = O.constructor; // cross-realm fallback - if (isConstructor(Constructor) && (Constructor === $Array$6 || isArray(Constructor.prototype))) { + if (isConstructor(Constructor) && (Constructor === $Array$8 || isArray$1(Constructor.prototype))) { Constructor = undefined; } else if (isObject(Constructor)) { Constructor = Constructor[SPECIES$4]; if (Constructor === null) { Constructor = undefined; } } - if (Constructor === $Array$6 || Constructor === undefined) { - return arraySlice$1(O, k, fin); + if (Constructor === $Array$8 || Constructor === undefined) { + return arraySlice(O, k, fin); } } - result = new (Constructor === undefined ? $Array$6 : Constructor)(max$7(fin - k, 0)); + result = new (Constructor === undefined ? $Array$8 : Constructor)(max$8(fin - k, 0)); for (n = 0; k < fin; k++, n++) { if (k in O) { createProperty(result, n, O[k]); } } result.length = n; return result; @@ -3115,8 +3222,8 @@ var doric = (function (exports) { var engineWebkitVersion = !!webkit && +webkit[1]; var test = []; - var un$Sort$1 = functionUncurryThis(test.sort); - var push$i = functionUncurryThis(test.push); + var nativeSort$1 = functionUncurryThis(test.sort); + var push$l = functionUncurryThis(test.push); // IE8- var FAILS_ON_UNDEFINED = fails(function () { @@ -3164,7 +3271,7 @@ var doric = (function (exports) { return result !== 'DGBEFHACIJK'; }); - var FORCED$i = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT$1; + var FORCED$q = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT$1; var getSortCompare$1 = function (comparefn) { return function (x, y) { @@ -3177,25 +3284,25 @@ 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$q }, { sort: function sort(comparefn) { if (comparefn !== undefined) { aCallable(comparefn); } var array = toObject(this); - if (STABLE_SORT$1) { return comparefn === undefined ? un$Sort$1(array) : un$Sort$1(array, comparefn); } + if (STABLE_SORT$1) { return comparefn === undefined ? nativeSort$1(array) : nativeSort$1(array, comparefn); } var items = []; var arrayLength = lengthOfArrayLike(array); var itemsLength, index; for (index = 0; index < arrayLength; index++) { - if (index in array) { push$i(items, array[index]); } + if (index in array) { push$l(items, array[index]); } } arraySort(items, getSortCompare$1(comparefn)); - itemsLength = items.length; + itemsLength = lengthOfArrayLike(items); index = 0; while (index < itemsLength) { array[index] = items[index++]; } @@ -3209,10 +3316,9 @@ var doric = (function (exports) { var setSpecies = function (CONSTRUCTOR_NAME) { var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = objectDefineProperty.f; if (descriptors && Constructor && !Constructor[SPECIES$3]) { - defineProperty(Constructor, SPECIES$3, { + defineBuiltInAccessor(Constructor, SPECIES$3, { configurable: true, get: function () { return this; } }); @@ -3225,8 +3331,8 @@ var doric = (function (exports) { var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); - var max$6 = Math.max; - var min$8 = Math.min; + var max$7 = Math.max; + var min$a = Math.min; // `Array.prototype.splice` method // https://tc39.es/ecma262/#sec-array.prototype.splice @@ -3247,7 +3353,7 @@ var doric = (function (exports) { actualDeleteCount = len - actualStart; } else { insertCount = argumentsLength - 2; - actualDeleteCount = min$8(max$6(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + actualDeleteCount = min$a(max$7(toIntegerOrInfinity(deleteCount), 0), len - actualStart); } doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); A = arraySpeciesCreate(O, actualDeleteCount); @@ -3275,11 +3381,99 @@ var doric = (function (exports) { for (k = 0; k < insertCount; k++) { O[k + actualStart] = arguments$1[k + 2]; } - O.length = len - actualDeleteCount + insertCount; + arraySetLength(O, len - actualDeleteCount + insertCount); return A; } }); + // 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$7 = 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$7); + } + }); + + addToUnscopables('toReversed'); + + var arrayFromConstructorAndList = function (Constructor, list) { + var index = 0; + var length = lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) { result[index] = list[index++]; } + return result; + }; + + var entryVirtual = function (CONSTRUCTOR) { + return global_1[CONSTRUCTOR].prototype; + }; + + var $Array$6 = 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$6, O); + return sort$1(A, compareFn); + } + }); + + addToUnscopables('toSorted'); + + var $Array$5 = Array; + var max$6 = Math.max; + var min$9 = Math.min; + + // `Array.prototype.toSpliced` method + // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced + _export({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var arguments$1 = arguments; + + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.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$9(max$6(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array$5(newLen); + + for (; k < actualStart; k++) { A[k] = O[k]; } + for (; k < actualStart + insertCount; k++) { A[k] = arguments$1[k - actualStart + 2]; } + for (; k < newLen; k++) { A[k] = O[k + actualDeleteCount - insertCount]; } + + return A; + } + }); + + addToUnscopables('toSpliced'); + // this method was added to unscopables after implementation // in popular engines, so it's moved to a separate module @@ -3298,18 +3492,20 @@ var doric = (function (exports) { var INCORRECT_RESULT = [].unshift(0) !== 1; // V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError - var SILENT_ON_NON_WRITABLE_LENGTH = !function () { + var properErrorOnNonWritableLength = function () { try { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty([], 'length', { writable: false }).unshift(); } catch (error) { return error instanceof TypeError; } - }(); + }; + + var FORCED$p = INCORRECT_RESULT || !properErrorOnNonWritableLength(); // `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 }, { + _export({ target: 'Array', proto: true, arity: 1, forced: FORCED$p }, { // eslint-disable-next-line no-unused-vars -- required for `.length` unshift: function unshift(item) { var arguments$1 = arguments; @@ -3328,26 +3524,51 @@ var doric = (function (exports) { for (var j = 0; j < argCount; j++) { O[j] = arguments$1[j]; } - } return O.length = len + argCount; + } return arraySetLength(O, len + argCount); } }); - // eslint-disable-next-line es-x/no-typed-arrays -- safe - var arrayBufferNative = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + var $RangeError$c = 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$c('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$4 = 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$4, index, value); + } + }); + + // eslint-disable-next-line es/no-typed-arrays -- safe + var arrayBufferBasicDetection = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; var defineBuiltIns = function (target, src, options) { for (var key in src) { defineBuiltIn(target, key, src[key], options); } return target; }; - var $TypeError$n = TypeError; + var $TypeError$r = TypeError; var anInstance = function (it, Prototype) { if (objectIsPrototypeOf(Prototype, it)) { return it; } - throw $TypeError$n('Incorrect invocation'); + throw $TypeError$r('Incorrect invocation'); }; - var $RangeError$c = RangeError; + var $RangeError$b = RangeError; // `ToIndex` abstract operation // https://tc39.es/ecma262/#sec-toindex @@ -3355,12 +3576,12 @@ var doric = (function (exports) { if (it === undefined) { return 0; } var number = toIntegerOrInfinity(it); var length = toLength(number); - if (number !== length) { throw $RangeError$c('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 $Array$3 = Array; var abs$8 = Math.abs; var pow$5 = Math.pow; var floor$8 = Math.floor; @@ -3368,7 +3589,7 @@ var doric = (function (exports) { var LN2$2 = Math.LN2; var pack = function (number, mantissaLength, bytes) { - var buffer = $Array$5(bytes); + var buffer = $Array$3(bytes); var exponentLength = bytes * 8 - mantissaLength - 1; var eMax = (1 << exponentLength) - 1; var eBias = eMax >> 1; @@ -3462,8 +3683,7 @@ var doric = (function (exports) { unpack: unpack }; - var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f; - var defineProperty$8 = objectDefineProperty.f; + var getOwnPropertyNames$4 = objectGetOwnPropertyNames.f; @@ -3471,20 +3691,21 @@ var doric = (function (exports) { var PROPER_FUNCTION_NAME$2 = functionName.PROPER; var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; - var getInternalState$c = internalState.get; - var setInternalState$g = internalState.set; var ARRAY_BUFFER$1 = 'ArrayBuffer'; var DATA_VIEW = 'DataView'; var PROTOTYPE = 'prototype'; var WRONG_LENGTH = 'Wrong length'; var WRONG_INDEX = 'Wrong index'; + var getInternalArrayBufferState = internalState.getterFor(ARRAY_BUFFER$1); + var getInternalDataViewState = internalState.getterFor(DATA_VIEW); + var setInternalState$j = internalState.set; var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1]; var $ArrayBuffer = NativeArrayBuffer$1; - var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; + var ArrayBufferPrototype$2 = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; var $DataView = global_1[DATA_VIEW]; - var DataViewPrototype$1 = $DataView && $DataView[PROTOTYPE]; - var ObjectPrototype$2 = Object.prototype; - var Array$2 = global_1.Array; + var DataViewPrototype$2 = $DataView && $DataView[PROTOTYPE]; + var ObjectPrototype$3 = Object.prototype; + var Array$3 = global_1.Array; var RangeError$3 = global_1.RangeError; var fill = functionUncurryThis(arrayFill); var reverse = functionUncurryThis([].reverse); @@ -3516,55 +3737,67 @@ var doric = (function (exports) { return packIEEE754(number, 52, 8); }; - var addGetter = function (Constructor, key) { - defineProperty$8(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$c(this)[key]; } }); + var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); }; - var get$1 = function (view, count, index, isLittleEndian) { + var get$4 = function (view, count, index, isLittleEndian) { var intIndex = toIndex(index); - var store = getInternalState$c(view); + var store = getInternalDataViewState(view); if (intIndex + count > store.byteLength) { throw RangeError$3(WRONG_INDEX); } - var bytes = getInternalState$c(store.buffer).bytes; + var bytes = store.bytes; var start = intIndex + store.byteOffset; var pack = arraySliceSimple(bytes, start, start + count); return isLittleEndian ? pack : reverse(pack); }; - var set$2 = function (view, count, index, conversion, value, isLittleEndian) { + var set$9 = function (view, count, index, conversion, value, isLittleEndian) { var intIndex = toIndex(index); - var store = getInternalState$c(view); + var store = getInternalDataViewState(view); if (intIndex + count > store.byteLength) { throw RangeError$3(WRONG_INDEX); } - var bytes = getInternalState$c(store.buffer).bytes; + var bytes = store.bytes; var start = intIndex + store.byteOffset; var pack = conversion(+value); for (var i = 0; i < count; i++) { bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; } }; - if (!arrayBufferNative) { + if (!arrayBufferBasicDetection) { $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, ArrayBufferPrototype); + anInstance(this, ArrayBufferPrototype$2); var byteLength = toIndex(length); - setInternalState$g(this, { - bytes: fill(Array$2(byteLength), 0), + setInternalState$j(this, { + type: ARRAY_BUFFER$1, + bytes: fill(Array$3(byteLength), 0), byteLength: byteLength }); - if (!descriptors) { this.byteLength = byteLength; } + if (!descriptors) { + this.byteLength = byteLength; + this.detached = false; + } }; - ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + ArrayBufferPrototype$2 = $ArrayBuffer[PROTOTYPE]; $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, DataViewPrototype$1); - anInstance(buffer, ArrayBufferPrototype); - var bufferLength = getInternalState$c(buffer).byteLength; + anInstance(this, DataViewPrototype$2); + anInstance(buffer, ArrayBufferPrototype$2); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; var offset = toIntegerOrInfinity(byteOffset); if (offset < 0 || offset > bufferLength) { throw RangeError$3('Wrong offset'); } byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); if (offset + byteLength > bufferLength) { throw RangeError$3(WRONG_LENGTH); } - setInternalState$g(this, { + setInternalState$j(this, { + type: DATA_VIEW, buffer: buffer, byteLength: byteLength, - byteOffset: offset + byteOffset: offset, + bytes: bufferState.bytes }); if (!descriptors) { this.buffer = buffer; @@ -3573,65 +3806,65 @@ var doric = (function (exports) { } }; - DataViewPrototype$1 = $DataView[PROTOTYPE]; + DataViewPrototype$2 = $DataView[PROTOTYPE]; if (descriptors) { - addGetter($ArrayBuffer, 'byteLength'); - addGetter($DataView, 'buffer'); - addGetter($DataView, 'byteLength'); - addGetter($DataView, 'byteOffset'); + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); } - defineBuiltIns(DataViewPrototype$1, { + defineBuiltIns(DataViewPrototype$2, { getInt8: function getInt8(byteOffset) { - return get$1(this, 1, byteOffset)[0] << 24 >> 24; + return get$4(this, 1, byteOffset)[0] << 24 >> 24; }, getUint8: function getUint8(byteOffset) { - return get$1(this, 1, byteOffset)[0]; + return get$4(this, 1, byteOffset)[0]; }, getInt16: function getInt16(byteOffset /* , littleEndian */) { - var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + var bytes = get$4(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); return (bytes[1] << 8 | bytes[0]) << 16 >> 16; }, getUint16: function getUint16(byteOffset /* , littleEndian */) { - var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + var bytes = get$4(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); return bytes[1] << 8 | bytes[0]; }, getInt32: function getInt32(byteOffset /* , littleEndian */) { - return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); + return unpackInt32(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); }, getUint32: function getUint32(byteOffset /* , littleEndian */) { - return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; + return unpackInt32(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; }, getFloat32: function getFloat32(byteOffset /* , littleEndian */) { - return unpackIEEE754(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); + return unpackIEEE754(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); }, getFloat64: function getFloat64(byteOffset /* , littleEndian */) { - return unpackIEEE754(get$1(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); + return unpackIEEE754(get$4(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); }, setInt8: function setInt8(byteOffset, value) { - set$2(this, 1, byteOffset, packInt8, value); + set$9(this, 1, byteOffset, packInt8, value); }, setUint8: function setUint8(byteOffset, value) { - set$2(this, 1, byteOffset, packInt8, value); + set$9(this, 1, byteOffset, packInt8, value); }, setInt16: function setInt16(byteOffset, value /* , littleEndian */) { - set$2(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); }, setUint16: function setUint16(byteOffset, value /* , littleEndian */) { - set$2(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); }, setInt32: function setInt32(byteOffset, value /* , littleEndian */) { - set$2(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); }, setUint32: function setUint32(byteOffset, value /* , littleEndian */) { - set$2(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); }, setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { - set$2(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); }, setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { - set$2(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); + set$9(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); } }); } else { @@ -3645,38 +3878,38 @@ var doric = (function (exports) { new NativeArrayBuffer$1(); new NativeArrayBuffer$1(1.5); new NativeArrayBuffer$1(NaN); - return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + return NativeArrayBuffer$1.length != 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; })) { - /* eslint-enable no-new -- required for testing */ + /* eslint-enable no-new -- required for testing */ $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, ArrayBufferPrototype); + anInstance(this, ArrayBufferPrototype$2); return new NativeArrayBuffer$1(toIndex(length)); }; - $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype$2; - 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$4(NativeArrayBuffer$1), j = 0, key$2; keys$2.length > j;) { + if (!((key$2 = keys$2[j++]) in $ArrayBuffer)) { + createNonEnumerableProperty($ArrayBuffer, key$2, NativeArrayBuffer$1[key$2]); } } - ArrayBufferPrototype.constructor = $ArrayBuffer; + ArrayBufferPrototype$2.constructor = $ArrayBuffer; } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { createNonEnumerableProperty(NativeArrayBuffer$1, 'name', ARRAY_BUFFER$1); } // WebKit bug - the same parent prototype for typed arrays and data view - if (objectSetPrototypeOf && objectGetPrototypeOf(DataViewPrototype$1) !== ObjectPrototype$2) { - objectSetPrototypeOf(DataViewPrototype$1, ObjectPrototype$2); + if (objectSetPrototypeOf && objectGetPrototypeOf(DataViewPrototype$2) !== ObjectPrototype$3) { + objectSetPrototypeOf(DataViewPrototype$2, ObjectPrototype$3); } // iOS Safari 7.x bug var testView = new $DataView(new $ArrayBuffer(2)); - var $setInt8 = functionUncurryThis(DataViewPrototype$1.setInt8); + var $setInt8 = functionUncurryThis(DataViewPrototype$2.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)) { defineBuiltIns(DataViewPrototype$2, { setInt8: function setInt8(byteOffset, value) { $setInt8(this, byteOffset, value << 24 >> 24); }, @@ -3695,41 +3928,33 @@ var doric = (function (exports) { }; var ARRAY_BUFFER = 'ArrayBuffer'; - var ArrayBuffer$3 = arrayBuffer[ARRAY_BUFFER]; + var ArrayBuffer$4 = arrayBuffer[ARRAY_BUFFER]; var NativeArrayBuffer = global_1[ARRAY_BUFFER]; // `ArrayBuffer` constructor // https://tc39.es/ecma262/#sec-arraybuffer-constructor - _export({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer$3 }, { - ArrayBuffer: ArrayBuffer$3 + _export({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer$4 }, { + ArrayBuffer: ArrayBuffer$4 }); setSpecies(ARRAY_BUFFER); - var defineProperty$7 = objectDefineProperty.f; - - - - - - - var enforceInternalState$2 = internalState.enforce; - var getInternalState$b = internalState.get; + var getInternalState$c = internalState.get; 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 ObjectPrototype$1 = Object.prototype; - var TypeError$6 = global_1.TypeError; + var ObjectPrototype$2 = Object.prototype; + var TypeError$7 = global_1.TypeError; - var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag'); + var TO_STRING_TAG$8 = wellKnownSymbol('toStringTag'); var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; // 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 NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferBasicDetection && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera'; var TYPED_ARRAY_TAG_REQUIRED = false; var NAME$1, Constructor, Prototype; @@ -3758,11 +3983,11 @@ var doric = (function (exports) { || hasOwnProperty_1(BigIntArrayConstructorsList, klass); }; - var getTypedArrayConstructor$5 = function (it) { + var getTypedArrayConstructor$6 = function (it) { var proto = objectGetPrototypeOf(it); if (!isObject(proto)) { return; } - var state = getInternalState$b(proto); - return (state && hasOwnProperty_1(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor$5(proto); + var state = getInternalState$c(proto); + return (state && hasOwnProperty_1(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor$6(proto); }; var isTypedArray = function (it) { @@ -3774,12 +3999,12 @@ var doric = (function (exports) { var aTypedArray$x = function (it) { if (isTypedArray(it)) { return it; } - throw TypeError$6('Target is not a typed array'); + throw TypeError$7('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$7(tryToString(C) + ' is not a typed array constructor'); }; var exportTypedArrayMethod$y = function (KEY, property, forced, options) { @@ -3843,14 +4068,14 @@ var doric = (function (exports) { 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$7('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) { + if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype$1 || TypedArrayPrototype$1 === ObjectPrototype$2) { TypedArrayPrototype$1 = 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); } @@ -3862,11 +4087,14 @@ var doric = (function (exports) { objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype$1); } - if (descriptors && !hasOwnProperty_1(TypedArrayPrototype$1, TO_STRING_TAG$5)) { + if (descriptors && !hasOwnProperty_1(TypedArrayPrototype$1, TO_STRING_TAG$8)) { TYPED_ARRAY_TAG_REQUIRED = true; - defineProperty$7(TypedArrayPrototype$1, TO_STRING_TAG$5, { get: function () { - return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; - } }); + defineBuiltInAccessor(TypedArrayPrototype$1, TO_STRING_TAG$8, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); for (NAME$1 in TypedArrayConstructorsList) { if (global_1[NAME$1]) { createNonEnumerableProperty(global_1[NAME$1], TYPED_ARRAY_TAG, NAME$1); } } @@ -3879,7 +4107,7 @@ var doric = (function (exports) { aTypedArrayConstructor: aTypedArrayConstructor$4, exportTypedArrayMethod: exportTypedArrayMethod$y, exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$3, - getTypedArrayConstructor: getTypedArrayConstructor$5, + getTypedArrayConstructor: getTypedArrayConstructor$6, isView: isView, isTypedArray: isTypedArray, TypedArray: TypedArray, @@ -3894,12 +4122,12 @@ var doric = (function (exports) { isView: arrayBufferViewCore.isView }); - var $TypeError$m = TypeError; + var $TypeError$q = 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$q(tryToString(argument) + ' is not a constructor'); }; var SPECIES$2 = wellKnownSymbol('species'); @@ -3909,33 +4137,33 @@ var doric = (function (exports) { var speciesConstructor = function (O, defaultConstructor) { var C = anObject(O).constructor; var S; - return C === undefined || (S = anObject(C)[SPECIES$2]) == undefined ? defaultConstructor : aConstructor(S); + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES$2]) ? defaultConstructor : aConstructor(S); }; - var ArrayBuffer$2 = arrayBuffer.ArrayBuffer; - var DataView$1 = arrayBuffer.DataView; - var DataViewPrototype = DataView$1.prototype; - var un$ArrayBufferSlice = functionUncurryThis(ArrayBuffer$2.prototype.slice); - var getUint8 = functionUncurryThis(DataViewPrototype.getUint8); - var setUint8 = functionUncurryThis(DataViewPrototype.setUint8); + var ArrayBuffer$3 = arrayBuffer.ArrayBuffer; + var DataView$2 = arrayBuffer.DataView; + var DataViewPrototype$1 = DataView$2.prototype; + var nativeArrayBufferSlice = functionUncurryThisClause(ArrayBuffer$3.prototype.slice); + var getUint8 = functionUncurryThisClause(DataViewPrototype$1.getUint8); + var setUint8 = functionUncurryThisClause(DataViewPrototype$1.setUint8); var INCORRECT_SLICE = fails(function () { - return !new ArrayBuffer$2(2).slice(1, undefined).byteLength; + return !new ArrayBuffer$3(2).slice(1, undefined).byteLength; }); // `ArrayBuffer.prototype.slice` method // https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice _export({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { slice: function slice(start, end) { - if (un$ArrayBufferSlice && end === undefined) { - return un$ArrayBufferSlice(anObject(this), start); // FF fix + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix } var length = anObject(this).byteLength; var first = toAbsoluteIndex(start, length); var fin = toAbsoluteIndex(end === undefined ? length : end, length); - var result = new (speciesConstructor(this, ArrayBuffer$2))(toLength(fin - first)); - var viewSource = new DataView$1(this); - var viewTarget = new DataView$1(result); + var result = new (speciesConstructor(this, ArrayBuffer$3))(toLength(fin - first)); + var viewSource = new DataView$2(this); + var viewTarget = new DataView$2(result); var index = 0; while (first < fin) { setUint8(viewTarget, index++, getUint8(viewSource, first++)); @@ -3945,11 +4173,13 @@ var doric = (function (exports) { // `DataView` constructor // https://tc39.es/ecma262/#sec-dataview-constructor - _export({ global: true, constructor: true, forced: !arrayBufferNative }, { + _export({ global: true, constructor: true, forced: !arrayBufferBasicDetection }, { DataView: arrayBuffer.DataView }); - var FORCED$h = fails(function () { + // IE8- non-standard case + var FORCED$o = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection return new Date(16e11).getYear() !== 120; }); @@ -3957,7 +4187,7 @@ 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$o }, { getYear: function getYear() { return getFullYear(this) - 1900; } @@ -3968,18 +4198,18 @@ var doric = (function (exports) { var $Date = Date; - var getTime$4 = functionUncurryThis($Date.prototype.getTime); + var thisTimeValue$4 = functionUncurryThis($Date.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 thisTimeValue$4(new $Date()); } }); var DatePrototype$3 = Date.prototype; - var getTime$3 = functionUncurryThis(DatePrototype$3.getTime); + var thisTimeValue$3 = functionUncurryThis(DatePrototype$3.getTime); var setFullYear = functionUncurryThis(DatePrototype$3.setFullYear); // `Date.prototype.setYear` method @@ -3987,7 +4217,7 @@ var doric = (function (exports) { _export({ target: 'Date', proto: true }, { setYear: function setYear(year) { // validate - getTime$3(this); + thisTimeValue$3(this); var yi = toIntegerOrInfinity(year); var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi; return setFullYear(this, yyyy); @@ -4000,7 +4230,7 @@ var doric = (function (exports) { toGMTString: Date.prototype.toUTCString }); - var $RangeError$b = RangeError; + var $RangeError$a = RangeError; // `String.prototype.repeat` method implementation // https://tc39.es/ecma262/#sec-string.prototype.repeat @@ -4008,7 +4238,7 @@ var doric = (function (exports) { var str = toString_1(requireObjectCoercible(this)); var result = ''; var n = toIntegerOrInfinity(count); - if (n < 0 || n == Infinity) { throw $RangeError$b('Wrong number of repetitions'); } + if (n < 0 || n == Infinity) { throw $RangeError$a('Wrong number of repetitions'); } for (;n > 0; (n >>>= 1) && (str += str)) { if (n & 1) { result += str; } } return result; }; @@ -4021,7 +4251,7 @@ var doric = (function (exports) { var repeat$2 = functionUncurryThis(stringRepeat); - var stringSlice$f = functionUncurryThis(''.slice); + var stringSlice$i = functionUncurryThis(''.slice); var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation @@ -4035,7 +4265,7 @@ var doric = (function (exports) { 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); } + if (stringFiller.length > fillLen) { stringFiller = stringSlice$i(stringFiller, 0, fillLen); } return IS_END ? S + stringFiller : stringFiller + S; }; }; @@ -4051,11 +4281,12 @@ var doric = (function (exports) { var padStart = stringPad.start; - var $RangeError$a = RangeError; + var $RangeError$9 = RangeError; + var $isFinite$1 = isFinite; var abs$7 = Math.abs; var DatePrototype$2 = Date.prototype; - var n$DateToISOString = DatePrototype$2.toISOString; - var getTime$2 = functionUncurryThis(DatePrototype$2.getTime); + var nativeDateToISOString = DatePrototype$2.toISOString; + var thisTimeValue$2 = functionUncurryThis(DatePrototype$2.getTime); var getUTCDate = functionUncurryThis(DatePrototype$2.getUTCDate); var getUTCFullYear = functionUncurryThis(DatePrototype$2.getUTCFullYear); var getUTCHours = functionUncurryThis(DatePrototype$2.getUTCHours); @@ -4068,11 +4299,11 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-date.prototype.toisostring // PhantomJS / old WebKit fails here: var dateToIsoString = (fails(function () { - return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; + return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; }) || !fails(function () { - n$DateToISOString.call(new Date(NaN)); + nativeDateToISOString.call(new Date(NaN)); })) ? function toISOString() { - if (!isFinite(getTime$2(this))) { throw $RangeError$a('Invalid time value'); } + if (!$isFinite$1(thisTimeValue$2(this))) { throw $RangeError$9('Invalid time value'); } var date = this; var year = getUTCFullYear(date); var milliseconds = getUTCMilliseconds(date); @@ -4085,7 +4316,7 @@ var doric = (function (exports) { ':' + padStart(getUTCSeconds(date), 2, 0) + '.' + padStart(milliseconds, 3, 0) + 'Z'; - } : n$DateToISOString; + } : nativeDateToISOString; // `Date.prototype.toISOString` method // https://tc39.es/ecma262/#sec-date.prototype.toisostring @@ -4094,14 +4325,14 @@ var doric = (function (exports) { toISOString: dateToIsoString }); - var FORCED$g = fails(function () { + var FORCED$n = 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, arity: 1, forced: FORCED$n }, { // eslint-disable-next-line no-unused-vars -- required for `.length` toJSON: function toJSON(key) { var O = toObject(this); @@ -4110,14 +4341,14 @@ var doric = (function (exports) { } }); - var $TypeError$l = TypeError; + var $TypeError$p = 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$p('Incorrect hint'); } return ordinaryToPrimitive(this, hint); }; @@ -4137,22 +4368,22 @@ var doric = (function (exports) { 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 nativeDateToString = functionUncurryThis(DatePrototype[TO_STRING$1]); + var thisTimeValue$1 = 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); + var value = thisTimeValue$1(this); // eslint-disable-next-line no-self-compare -- NaN check - return value === value ? un$DateToString(this) : INVALID_DATE; + return value === value ? nativeDateToString(this) : INVALID_DATE; }); } - var charAt$g = functionUncurryThis(''.charAt); - var charCodeAt$4 = functionUncurryThis(''.charCodeAt); - var exec$9 = functionUncurryThis(/./.exec); + var charAt$j = functionUncurryThis(''.charAt); + var charCodeAt$7 = functionUncurryThis(''.charCodeAt); + var exec$d = functionUncurryThis(/./.exec); var numberToString$2 = functionUncurryThis(1.0.toString); var toUpperCase = functionUncurryThis(''.toUpperCase); @@ -4174,11 +4405,11 @@ 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$j(str, index++); + if (exec$d(raw, chr)) { result += chr; } else { - code = charCodeAt$4(chr, 0); + code = charCodeAt$7(chr, 0); if (code < 256) { result += '%' + hex$1(code, 2); } else { @@ -4191,24 +4422,25 @@ var doric = (function (exports) { var $Function = Function; var concat$3 = functionUncurryThis([].concat); - var join$7 = functionUncurryThis([].join); + var join$8 = 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('C,a', 'return new C(' + join$8(list, ',') + ')'); } return factories[argsLength](C, args); }; // `Function.prototype.bind` method implementation // https://tc39.es/ecma262/#sec-function.prototype.bind + // eslint-disable-next-line es/no-function-prototype-bind -- detection var functionBind = functionBindNative ? $Function.bind : function bind(that /* , ...args */) { var F = aCallable(this); var Prototype = F.prototype; - var partArgs = arraySlice$1(arguments, 1); + var partArgs = arraySlice(arguments, 1); var boundFunction = function bound(/* args... */) { - var args = concat$3(partArgs, arraySlice$1(arguments)); + var args = concat$3(partArgs, arraySlice(arguments)); return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); }; if (isObject(Prototype)) { boundFunction.prototype = Prototype; } @@ -4221,6 +4453,7 @@ var doric = (function (exports) { // `Function.prototype.bind` method // https://tc39.es/ecma262/#sec-function.prototype.bind + // eslint-disable-next-line es/no-function-prototype-bind -- detection _export({ target: 'Function', proto: true, forced: Function.bind !== functionBind }, { bind: functionBind }); @@ -4243,7 +4476,7 @@ var doric = (function (exports) { var FUNCTION_NAME_EXISTS = functionName.EXISTS; - var defineProperty$6 = objectDefineProperty.f; + var FunctionPrototype = Function.prototype; var functionToString = functionUncurryThis(FunctionPrototype.toString); @@ -4254,7 +4487,7 @@ var doric = (function (exports) { // Function instances `.name` property // https://tc39.es/ecma262/#sec-function-instances-name if (descriptors && !FUNCTION_NAME_EXISTS) { - defineProperty$6(FunctionPrototype, NAME, { + defineBuiltInAccessor(FunctionPrototype, NAME, { configurable: true, get: function () { try { @@ -4268,7 +4501,7 @@ var doric = (function (exports) { // `globalThis` object // https://tc39.es/ecma262/#sec-globalthis - _export({ global: true }, { + _export({ global: true, forced: global_1.globalThis !== global_1 }, { globalThis: global_1 }); @@ -4282,25 +4515,25 @@ var doric = (function (exports) { 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 + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe if (Object.isExtensible(buffer)) { Object.defineProperty(buffer, 'a', { value: 8 }); } } }); - // eslint-disable-next-line es-x/no-object-isextensible -- safe + // eslint-disable-next-line es/no-object-isextensible -- safe var $isExtensible = Object.isExtensible; - var FAILS_ON_PRIMITIVES$9 = fails(function () { $isExtensible(1); }); + var FAILS_ON_PRIMITIVES$6 = fails(function () { $isExtensible(1); }); // `Object.isExtensible` method // https://tc39.es/ecma262/#sec-object.isextensible - var objectIsExtensible = (FAILS_ON_PRIMITIVES$9 || arrayBufferNonExtensible) ? function isExtensible(it) { + var objectIsExtensible = (FAILS_ON_PRIMITIVES$6 || 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({})); }); @@ -4452,7 +4685,7 @@ var doric = (function (exports) { Constructor = wrapper(function (dummy, iterable) { anInstance(dummy, NativePrototype); var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); - if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } + if (!isNullOrUndefined(iterable)) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } return that; }); Constructor.prototype = NativePrototype; @@ -4481,26 +4714,17 @@ var doric = (function (exports) { return Constructor; }; - var defineProperty$5 = objectDefineProperty.f; - - - - - - - - var fastKey = internalMetadata.fastKey; - var setInternalState$f = internalState.set; + var setInternalState$i = 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$i(that, { type: CONSTRUCTOR_NAME, index: objectCreate(null), first: undefined, @@ -4508,7 +4732,7 @@ var doric = (function (exports) { size: 0 }); if (!descriptors) { that.size = 0; } - if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } + if (!isNullOrUndefined(iterable)) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } }); var Prototype = Constructor.prototype; @@ -4632,7 +4856,8 @@ var doric = (function (exports) { return define(this, value = value === 0 ? 0 : value, value); } }); - if (descriptors) { defineProperty$5(Prototype, 'size', { + if (descriptors) { defineBuiltInAccessor(Prototype, 'size', { + configurable: true, get: function () { return getInternalState(this).size; } @@ -4652,8 +4877,8 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-set.prototype.keys // 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, { + iteratorDefine(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState$i(this, { type: ITERATOR_NAME, target: iterated, state: getInternalCollectionState(iterated), @@ -4670,12 +4895,12 @@ var doric = (function (exports) { if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { // or finish the iteration state.target = undefined; - return { value: undefined, done: true }; + return createIterResultObject(undefined, true); } // return step by kind - if (kind == 'keys') { return { value: entry.key, done: false }; } - if (kind == 'values') { return { value: entry.value, done: false }; } - return { value: [entry.key, entry.value], done: false }; + if (kind == 'keys') { return createIterResultObject(entry.key, false); } + if (kind == 'values') { return createIterResultObject(entry.value, false); } + return createIterResultObject([entry.key, entry.value], false); }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // `{ Map, Set }.prototype[@@species]` accessors @@ -4695,19 +4920,19 @@ 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$8(1 + n); }; - // 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$7 = Math.log; var sqrt$2 = Math.sqrt; var LN2$1 = Math.LN2; - var FORCED$f = !$acosh + var FORCED$m = !$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 @@ -4715,7 +4940,7 @@ 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$m }, { acosh: function acosh(x) { var n = +x; return n < 1 ? NaN : n > 94906265.62425156 @@ -4724,7 +4949,7 @@ var doric = (function (exports) { } }); - // 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$6 = Math.log; var sqrt$1 = Math.sqrt; @@ -4734,21 +4959,25 @@ var doric = (function (exports) { return !isFinite(n) || n == 0 ? n : n < 0 ? -asinh(-n) : log$6(n + sqrt$1(n * n + 1)); } + var FORCED$l = !($asinh && 1 / $asinh(0) > 0); + // `Math.asinh` method // https://tc39.es/ecma262/#sec-math.asinh // Tor Browser bug: Math.asinh(0) -> -0 - _export({ target: 'Math', stat: true, forced: !($asinh && 1 / $asinh(0) > 0) }, { + _export({ target: 'Math', stat: true, forced: FORCED$l }, { 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$5 = Math.log; + var FORCED$k = !($atanh && 1 / $atanh(-0) < 0); + // `Math.atanh` method // https://tc39.es/ecma262/#sec-math.atanh // Tor Browser bug: Math.atanh(-0) -> 0 - _export({ target: 'Math', stat: true, forced: !($atanh && 1 / $atanh(-0) < 0) }, { + _export({ target: 'Math', stat: true, forced: FORCED$k }, { atanh: function atanh(x) { var n = +x; return n == 0 ? n : log$5((1 + n) / (1 - n)) / 2; @@ -4757,7 +4986,7 @@ var doric = (function (exports) { // `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 @@ -4789,7 +5018,7 @@ var doric = (function (exports) { } }); - // 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; @@ -4805,14 +5034,16 @@ var doric = (function (exports) { return n == 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp$2(n) - 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 E$1 = Math.E; + var FORCED$j = !$cosh || $cosh(710) === Infinity; + // `Math.cosh` method // https://tc39.es/ecma262/#sec-math.cosh - _export({ target: 'Math', stat: true, forced: !$cosh || $cosh(710) === Infinity }, { + _export({ target: 'Math', stat: true, forced: FORCED$j }, { cosh: function cosh(x) { var t = mathExpm1(abs$5(x) - 1) + 1; return (t + 1 / (t * E$1 * E$1)) * (E$1 / 2); @@ -4821,7 +5052,7 @@ var doric = (function (exports) { // `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; @@ -4837,7 +5068,7 @@ 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); @@ -4855,18 +5086,18 @@ 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 sqrt = Math.sqrt; // Chrome 77 bug // https://bugs.chromium.org/p/v8/issues/detail?id=9546 - var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + var FORCED$i = !!$hypot && $hypot(Infinity, NaN) !== Infinity; // `Math.hypot` method // https://tc39.es/ecma262/#sec-math.hypot - _export({ target: 'Math', stat: true, arity: 2, forced: BUGGY }, { + _export({ target: 'Math', stat: true, arity: 2, forced: FORCED$i }, { // eslint-disable-next-line no-unused-vars -- required for `.length` hypot: function hypot(value1, value2) { var arguments$1 = arguments; @@ -4891,17 +5122,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$h = fails(function () { return $imul(0xFFFFFFFF, 5) != -5 || $imul.length != 2; }); // `Math.imul` method // https://tc39.es/ecma262/#sec-math.imul // some WebKit versions fails with big numbers, some has wrong arity - _export({ target: 'Math', stat: true, forced: FORCED$e }, { + _export({ target: 'Math', stat: true, forced: FORCED$h }, { imul: function imul(x, y) { var UINT16 = 0xFFFF; var xn = +x; @@ -4915,7 +5146,7 @@ var doric = (function (exports) { var log$3 = Math.log; var LOG10E = Math.LOG10E; - // eslint-disable-next-line es-x/no-math-log10 -- safe + // eslint-disable-next-line es/no-math-log10 -- safe var mathLog10 = Math.log10 || function log10(x) { return log$3(x) * LOG10E; }; @@ -4951,15 +5182,15 @@ var doric = (function (exports) { 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$g = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing return Math.sinh(-2e-17) != -2e-17; }); // `Math.sinh` method // https://tc39.es/ecma262/#sec-math.sinh // V8 near Chromium 38 has a problem with very small numbers - _export({ target: 'Math', stat: true, forced: FORCED$d }, { + _export({ target: 'Math', stat: true, forced: FORCED$g }, { 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); @@ -4991,23 +5222,22 @@ var doric = (function (exports) { // `thisNumberValue` abstract operation // https://tc39.es/ecma262/#sec-thisnumbervalue - var thisNumberValue = functionUncurryThis(1.0.valueOf); + var thisNumberValue$1 = 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' + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; var replace$8 = functionUncurryThis(''.replace); - var whitespace = '[' + whitespaces$1 + ']'; - var ltrim = RegExp('^' + whitespace + whitespace + '*'); - var rtrim = RegExp(whitespace + whitespace + '*$'); + var ltrim = RegExp('^[' + whitespaces$1 + ']+'); + var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation var createMethod$3 = 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 & 2) { string = replace$8(string, rtrim, '$1'); } return string; }; }; @@ -5024,18 +5254,19 @@ var doric = (function (exports) { trim: createMethod$3(3) }; - var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f; - var getOwnPropertyDescriptor$8 = objectGetOwnPropertyDescriptor.f; - var defineProperty$4 = objectDefineProperty.f; + var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f; + var getOwnPropertyDescriptor$9 = objectGetOwnPropertyDescriptor.f; + var defineProperty$6 = objectDefineProperty.f; var trim$2 = stringTrim.trim; var NUMBER = 'Number'; var NativeNumber = global_1[NUMBER]; + path[NUMBER]; var NumberPrototype = NativeNumber.prototype; - var TypeError$5 = global_1.TypeError; - var arraySlice = functionUncurryThis(''.slice); - var charCodeAt$3 = functionUncurryThis(''.charCodeAt); + var TypeError$6 = global_1.TypeError; + var stringSlice$h = functionUncurryThis(''.slice); + var charCodeAt$6 = functionUncurryThis(''.charCodeAt); // `ToNumeric` abstract operation // https://tc39.es/ecma262/#sec-tonumeric @@ -5049,23 +5280,23 @@ 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$6('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$6(it, 0); if (first === 43 || first === 45) { - third = charCodeAt$3(it, 2); + third = charCodeAt$6(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$6(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; } - digits = arraySlice(it, 2); + digits = stringSlice$h(it, 2); length = digits.length; for (index = 0; index < length; index++) { - code = charCodeAt$3(digits, index); + code = charCodeAt$6(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; } @@ -5074,32 +5305,43 @@ var doric = (function (exports) { } return +it; }; + var FORCED$f = isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + + var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return objectIsPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue$1(dummy); }); + }; + // `Number` constructor // https://tc39.es/ecma262/#sec-number-constructor - if (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { - var NumberWrapper = function Number(value) { - var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); - var dummy = this; - // check on 1..constructor(foo) case - return objectIsPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }) - ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n; - }; - for (var keys$1 = descriptors ? getOwnPropertyNames$2(NativeNumber) : ( + var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; + }; + + NumberWrapper.prototype = NumberPrototype; + if (FORCED$f && !isPure) { NumberPrototype.constructor = NumberWrapper; } + + _export({ global: true, constructor: true, wrap: true, forced: FORCED$f }, { + Number: NumberWrapper + }); + + // Use `internal/copy-constructor-properties` helper in `core-js@4` + var copyConstructorProperties = function (target, source) { + for (var keys = descriptors ? getOwnPropertyNames$3(source) : ( // ES3: 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES2015 (in case, if modules with ES2015 Number statics required before): '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.length > j; j++) { + if (hasOwnProperty_1(source, key = keys[j]) && !hasOwnProperty_1(target, key)) { + defineProperty$6(target, key, getOwnPropertyDescriptor$9(source, key)); } } - NumberWrapper.prototype = NumberPrototype; - NumberPrototype.constructor = NumberWrapper; - defineBuiltIn(global_1, NUMBER, NumberWrapper, { constructor: true }); - } + }; + if (FORCED$f || isPure) { copyConstructorProperties(path[NUMBER], NativeNumber); } // `Number.EPSILON` constant // https://tc39.es/ecma262/#sec-number.epsilon @@ -5111,7 +5353,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); }; @@ -5124,7 +5366,7 @@ var doric = (function (exports) { // `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; }; @@ -5169,25 +5411,25 @@ var doric = (function (exports) { var trim$1 = stringTrim.trim; - var charAt$f = 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 charAt$i = functionUncurryThis(''.charAt); + var $parseFloat = global_1.parseFloat; + var Symbol$4 = global_1.Symbol; + var ITERATOR$6 = Symbol$4 && Symbol$4.iterator; + var FORCED$e = 1 / $parseFloat(whitespaces$1 + '-0') !== -Infinity // MS Edge 18- broken with boxed symbols - || (ITERATOR$5 && !fails(function () { n$ParseFloat(Object(ITERATOR$5)); })); + || (ITERATOR$6 && !fails(function () { $parseFloat(Object(ITERATOR$6)); })); // `parseFloat` method // https://tc39.es/ecma262/#sec-parsefloat-string - var numberParseFloat = FORCED$c ? function parseFloat(string) { + var numberParseFloat = FORCED$e ? function parseFloat(string) { var trimmedString = trim$1(toString_1(string)); - var result = n$ParseFloat(trimmedString); - return result === 0 && charAt$f(trimmedString, 0) == '-' ? -0 : result; - } : n$ParseFloat; + var result = $parseFloat(trimmedString); + return result === 0 && charAt$i(trimmedString, 0) == '-' ? -0 : result; + } : $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 }); @@ -5195,76 +5437,79 @@ var doric = (function (exports) { var trim = stringTrim.trim; - var $parseInt = global_1.parseInt; - var Symbol$1 = global_1.Symbol; - var ITERATOR$4 = Symbol$1 && Symbol$1.iterator; + var $parseInt$1 = global_1.parseInt; + var Symbol$3 = global_1.Symbol; + var ITERATOR$5 = Symbol$3 && Symbol$3.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$c = functionUncurryThis(hex.exec); + var FORCED$d = $parseInt$1(whitespaces$1 + '08') !== 8 || $parseInt$1(whitespaces$1 + '0x16') !== 22 // MS Edge 18- broken with boxed symbols - || (ITERATOR$4 && !fails(function () { $parseInt(Object(ITERATOR$4)); })); + || (ITERATOR$5 && !fails(function () { $parseInt$1(Object(ITERATOR$5)); })); // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix - var numberParseInt = FORCED$b ? function parseInt(string, radix) { + var numberParseInt = FORCED$d ? function parseInt(string, radix) { var S = trim(toString_1(string)); - return $parseInt(S, (radix >>> 0) || (exec$8(hex, S) ? 16 : 10)); - } : $parseInt; + return $parseInt$1(S, (radix >>> 0) || (exec$c(hex, S) ? 16 : 10)); + } : $parseInt$1; // `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$9 = RangeError; - var $String$1 = String; + var $RangeError$8 = RangeError; + var $String$2 = 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 nativeToExponential = functionUncurryThis(1.0.toExponential); var repeat$1 = functionUncurryThis(stringRepeat); - var stringSlice$e = functionUncurryThis(''.slice); + var stringSlice$g = functionUncurryThis(''.slice); // Edge 17- - var ROUNDS_PROPERLY = un$ToExponential(-6.9e-11, 4) === '-6.9000e-11' + var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' // IE11- && Edge 14- - && un$ToExponential(1.255, 2) === '1.25e+0' + && nativeToExponential(1.255, 2) === '1.25e+0' // FF86-, V8 ~ Chrome 49-50 - && un$ToExponential(12345, 3) === '1.235e+4' + && nativeToExponential(12345, 3) === '1.235e+4' // FF86-, V8 ~ Chrome 49-50 - && un$ToExponential(25, 0) === '3e+1'; + && nativeToExponential(25, 0) === '3e+1'; // IE8- - var THROWS_ON_INFINITY_FRACTION = fails(function () { - un$ToExponential(1, Infinity); - }) && fails(function () { - un$ToExponential(1, -Infinity); - }); + var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(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 properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); + }; - var FORCED$a = !ROUNDS_PROPERLY || !THROWS_ON_INFINITY_FRACTION || !PROPER_NON_FINITE_THIS_CHECK; + var FORCED$c = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); // `Number.prototype.toExponential` method // https://tc39.es/ecma262/#sec-number.prototype.toexponential - _export({ target: 'Number', proto: true, forced: FORCED$a }, { + _export({ target: 'Number', proto: true, forced: FORCED$c }, { toExponential: function toExponential(fractionDigits) { - var x = thisNumberValue(this); - if (fractionDigits === undefined) { return un$ToExponential(x); } + var x = thisNumberValue$1(this); + if (fractionDigits === undefined) { return nativeToExponential(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$9('Incorrect fraction digits'); } - if (ROUNDS_PROPERLY) { return un$ToExponential(x, f); } + if (f < 0 || f > 20) { throw $RangeError$8('Incorrect fraction digits'); } + if (ROUNDS_PROPERLY) { return nativeToExponential(x, f); } var s = ''; var m = ''; var e = 0; @@ -5292,29 +5537,29 @@ var doric = (function (exports) { n /= 10; e += 1; } - m = $String$1(n); + m = $String$2(n); } if (f !== 0) { - m = stringSlice$e(m, 0, 1) + '.' + stringSlice$e(m, 1); + m = stringSlice$g(m, 0, 1) + '.' + stringSlice$g(m, 1); } if (e === 0) { c = '+'; d = '0'; } else { c = e > 0 ? '+' : '-'; - d = $String$1(abs(e)); + d = $String$2(abs(e)); } m += 'e' + c + d; return s + m; } }); - var $RangeError$8 = RangeError; - var $String = String; + var $RangeError$7 = RangeError; + var $String$1 = String; var floor$4 = Math.floor; var repeat = functionUncurryThis(stringRepeat); - var stringSlice$d = functionUncurryThis(''.slice); - var un$ToFixed = functionUncurryThis(1.0.toFixed); + var stringSlice$f = functionUncurryThis(''.slice); + var nativeToFixed = functionUncurryThis(1.0.toFixed); var pow$1 = function (x, n, acc) { return n === 0 ? acc : n % 2 === 1 ? pow$1(x, n - 1, acc * x) : pow$1(x * x, n / 2, acc); @@ -5358,27 +5603,27 @@ var doric = (function (exports) { var s = ''; while (--index >= 0) { if (s !== '' || index === 0 || data[index] !== 0) { - var t = $String(data[index]); + var t = $String$1(data[index]); s = s === '' ? t : s + repeat('0', 7 - t.length) + t; } } return s; }; - var FORCED$9 = fails(function () { - return un$ToFixed(0.00008, 3) !== '0.000' || - un$ToFixed(0.9, 0) !== '1' || - un$ToFixed(1.255, 2) !== '1.25' || - un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; + var FORCED$b = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; }) || !fails(function () { // V8 ~ Android 4.3- - un$ToFixed({}); + nativeToFixed({}); }); // `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$b }, { toFixed: function toFixed(fractionDigits) { - var number = thisNumberValue(this); + var number = thisNumberValue$1(this); var fractDigits = toIntegerOrInfinity(fractionDigits); var data = [0, 0, 0, 0, 0, 0]; var sign = ''; @@ -5386,10 +5631,10 @@ var doric = (function (exports) { 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$8('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$1(number); } if (number < 0) { sign = '-'; number = -number; @@ -5426,47 +5671,47 @@ var doric = (function (exports) { k = result.length; result = sign + (k <= fractDigits ? '0.' + repeat('0', fractDigits - k) + result - : stringSlice$d(result, 0, k - fractDigits) + '.' + stringSlice$d(result, k - fractDigits)); + : stringSlice$f(result, 0, k - fractDigits) + '.' + stringSlice$f(result, k - fractDigits)); } else { result = sign + result; } return result; } }); - var un$ToPrecision = functionUncurryThis(1.0.toPrecision); + var nativeToPrecision = functionUncurryThis(1.0.toPrecision); - var FORCED$8 = fails(function () { + var FORCED$a = fails(function () { // IE7- - return un$ToPrecision(1, undefined) !== '1'; + return nativeToPrecision(1, undefined) !== '1'; }) || !fails(function () { // V8 ~ Android 4.3- - un$ToPrecision({}); + nativeToPrecision({}); }); // `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$a }, { toPrecision: function toPrecision(precision) { return precision === undefined - ? un$ToPrecision(thisNumberValue(this)) - : un$ToPrecision(thisNumberValue(this), precision); + ? nativeToPrecision(thisNumberValue$1(this)) + : nativeToPrecision(thisNumberValue$1(this), precision); } }); - // 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$5 = 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$5({}, 'a', { enumerable: true, get: function () { - defineProperty$3(this, 'b', { + defineProperty$5(this, 'b', { value: 3, enumerable: false }); @@ -5475,7 +5720,7 @@ 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; @@ -5504,7 +5749,7 @@ 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 + // eslint-disable-next-line es/no-object-assign -- required for testing _export({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== objectAssign }, { assign: objectAssign }); @@ -5527,7 +5772,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, es/no-legacy-object-prototype-accessor-methods -- required for testing __defineSetter__.call(null, key, function () { /* empty */ }); delete global_1[key]; }); @@ -5546,18 +5791,18 @@ var doric = (function (exports) { // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties - // eslint-disable-next-line es-x/no-object-defineproperties -- safe + // eslint-disable-next-line es/no-object-defineproperties -- safe _export({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties$1, sham: !descriptors }, { defineProperties: defineProperties$1 }); - var defineProperty$2 = objectDefineProperty.f; + var defineProperty$4 = 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 + // eslint-disable-next-line es/no-object-defineproperty -- safe + _export({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty$4, sham: !descriptors }, { + defineProperty: defineProperty$4 }); // `Object.prototype.__defineSetter__` method @@ -5573,7 +5818,7 @@ var doric = (function (exports) { var $propertyIsEnumerable = objectPropertyIsEnumerable.f; var propertyIsEnumerable = functionUncurryThis($propertyIsEnumerable); - var push$h = functionUncurryThis([].push); + var push$k = functionUncurryThis([].push); // `Object.{ entries, values }` methods implementation var createMethod$2 = function (TO_ENTRIES) { @@ -5587,7 +5832,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$k(result, TO_ENTRIES ? [key, O[key]] : O[key]); } } return result; @@ -5615,13 +5860,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$5 = 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$5, sham: !freezing }, { freeze: function freeze(it) { return $freeze && isObject(it) ? $freeze(onFreeze$2(it)) : it; } @@ -5642,12 +5887,11 @@ 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 FORCED$9 = !descriptors || fails(function () { nativeGetOwnPropertyDescriptor(1); }); // `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$9, sham: !descriptors }, { getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); } @@ -5671,22 +5915,22 @@ var doric = (function (exports) { } }); - var getOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f; + var getOwnPropertyNames$2 = 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$4 = 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 }, { - getOwnPropertyNames: getOwnPropertyNames$1 + _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, { + getOwnPropertyNames: getOwnPropertyNames$2 }); - var FAILS_ON_PRIMITIVES$5 = fails(function () { objectGetPrototypeOf(1); }); + var FAILS_ON_PRIMITIVES$3 = 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$3, sham: !correctPrototypeGetter }, { getPrototypeOf: function getPrototypeOf(it) { return objectGetPrototypeOf(toObject(it)); } @@ -5700,7 +5944,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; @@ -5714,18 +5958,19 @@ var doric = (function (exports) { // `Object.isExtensible` method // https://tc39.es/ecma262/#sec-object.isextensible - // eslint-disable-next-line es-x/no-object-isextensible -- safe + // eslint-disable-next-line es/no-object-isextensible -- safe _export({ target: 'Object', stat: true, forced: Object.isExtensible !== objectIsExtensible }, { isExtensible: objectIsExtensible }); - // 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); }); + + var FORCED$8 = arrayBufferNonExtensible || 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: FORCED$8 }, { isFrozen: function isFrozen(it) { if (!isObject(it)) { return true; } if (arrayBufferNonExtensible && classofRaw(it) == 'ArrayBuffer') { return true; } @@ -5733,13 +5978,14 @@ var doric = (function (exports) { } }); - // 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); }); + + var FORCED$7 = arrayBufferNonExtensible || 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: FORCED$7 }, { isSealed: function isSealed(it) { if (!isObject(it)) { return true; } if (arrayBufferNonExtensible && classofRaw(it) == 'ArrayBuffer') { return true; } @@ -5757,7 +6003,7 @@ var doric = (function (exports) { } }); - var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$8 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupGetter__` method // https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ @@ -5768,13 +6014,13 @@ var doric = (function (exports) { var key = toPropertyKey(P); var desc; do { - if (desc = getOwnPropertyDescriptor$7(O, key)) { return desc.get; } + if (desc = getOwnPropertyDescriptor$8(O, key)) { return desc.get; } } while (O = objectGetPrototypeOf(O)); } }); } - var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupSetter__` method // https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ @@ -5785,7 +6031,7 @@ var doric = (function (exports) { var key = toPropertyKey(P); var desc; do { - if (desc = getOwnPropertyDescriptor$6(O, key)) { return desc.set; } + if (desc = getOwnPropertyDescriptor$7(O, key)) { return desc.set; } } while (O = objectGetPrototypeOf(O)); } }); @@ -5795,7 +6041,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); }); @@ -5807,11 +6053,34 @@ var doric = (function (exports) { } }); + // eslint-disable-next-line es/no-object-getprototypeof -- safe + var getPrototypeOf = Object.getPrototypeOf; + // eslint-disable-next-line es/no-object-setprototypeof -- safe + var setPrototypeOf = Object.setPrototypeOf; + var ObjectPrototype$1 = Object.prototype; + var PROTO = '__proto__'; + + // `Object.prototype.__proto__` accessor + // https://tc39.es/ecma262/#sec-object.prototype.__proto__ + if (descriptors && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype$1)) { try { + defineBuiltInAccessor(ObjectPrototype$1, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (!isObject(proto) && proto !== null || !isObject(O)) { return; } + setPrototypeOf(O, proto); + } + }); + } catch (error) { /* empty */ } } + var onFreeze = internalMetadata.onFreeze; - // 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); }); @@ -5863,16 +6132,17 @@ var doric = (function (exports) { parseInt: numberParseInt }); - var $TypeError$k = TypeError; + var $TypeError$o = TypeError; var validateArgumentsLength = function (passed, required) { - if (passed < required) { throw $TypeError$k('Not enough arguments'); } + if (passed < required) { throw $TypeError$o('Not enough arguments'); } return passed; }; + // eslint-disable-next-line redos/no-vulnerable -- safe var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(engineUserAgent); - var set$1 = global_1.setImmediate; + var set$8 = global_1.setImmediate; var clear = global_1.clearImmediate; var process$4 = global_1.process; var Dispatch = global_1.Dispatch; @@ -5880,19 +6150,19 @@ var doric = (function (exports) { var MessageChannel = global_1.MessageChannel; var String$1 = global_1.String; var counter = 0; - var queue$1 = {}; + var queue$2 = {}; var ONREADYSTATECHANGE = 'onreadystatechange'; - var location, defer, channel, port; + var $location, defer, channel, port; - try { + fails(function () { // Deno throws a ReferenceError on `location` access without `--location` flag - location = global_1.location; - } catch (error) { /* empty */ } + $location = global_1.location; + }); var run = function (id) { - if (hasOwnProperty_1(queue$1, id)) { - var fn = queue$1[id]; - delete queue$1[id]; + if (hasOwnProperty_1(queue$2, id)) { + var fn = queue$2[id]; + delete queue$2[id]; fn(); } }; @@ -5903,29 +6173,29 @@ var doric = (function (exports) { }; }; - var listener = function (event) { + var eventListener = function (event) { run(event.data); }; - var post = function (id) { + var globalPostMessageDefer = function (id) { // old engines have not location.origin - global_1.postMessage(String$1(id), location.protocol + '//' + location.host); + global_1.postMessage(String$1(id), $location.protocol + '//' + $location.host); }; // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if (!set$1 || !clear) { - set$1 = function setImmediate(handler) { + if (!set$8 || !clear) { + set$8 = function setImmediate(handler) { validateArgumentsLength(arguments.length, 1); var fn = isCallable(handler) ? handler : Function$2(handler); - var args = arraySlice$1(arguments, 1); - queue$1[++counter] = function () { + var args = arraySlice(arguments, 1); + queue$2[++counter] = function () { functionApply(fn, undefined, args); }; defer(counter); return counter; }; clear = function clearImmediate(id) { - delete queue$1[id]; + delete queue$2[id]; }; // Node.js 0.8- if (engineIsNode) { @@ -5942,7 +6212,7 @@ var doric = (function (exports) { } else if (MessageChannel && !engineIsIos) { channel = new MessageChannel(); port = channel.port2; - channel.port1.onmessage = listener; + channel.port1.onmessage = eventListener; defer = functionBindContext(port.postMessage, port); // Browsers with postMessage, skip WebWorkers // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' @@ -5950,11 +6220,11 @@ var doric = (function (exports) { global_1.addEventListener && isCallable(global_1.postMessage) && !global_1.importScripts && - location && location.protocol !== 'file:' && - !fails(post) + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) ) { - defer = post; - global_1.addEventListener('message', listener, false); + defer = globalPostMessageDefer; + global_1.addEventListener('message', eventListener, false); // IE8- } else if (ONREADYSTATECHANGE in documentCreateElement('script')) { defer = function (id) { @@ -5972,47 +6242,69 @@ var doric = (function (exports) { } var task$1 = { - set: set$1, + set: set$8, clear: clear }; - var engineIsIosPebble = /ipad|iphone|ipod/i.test(engineUserAgent) && global_1.Pebble !== undefined; + var Queue = function () { + this.head = null; + this.tail = null; + }; + + Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) { tail.next = entry; } + else { this.head = entry; } + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) { this.tail = null; } + return entry.item; + } + } + }; + + var queue$1 = Queue; + + var engineIsIosPebble = /ipad|iphone|ipod/i.test(engineUserAgent) && typeof Pebble != 'undefined'; var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(engineUserAgent); - var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; var macrotask = task$1.set; + var MutationObserver = global_1.MutationObserver || global_1.WebKitMutationObserver; var document$2 = global_1.document; var process$3 = global_1.process; - var Promise$4 = global_1.Promise; + var Promise$6 = global_1.Promise; // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` - var queueMicrotaskDescriptor = getOwnPropertyDescriptor$5(global_1, 'queueMicrotask'); - var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; - - var flush, head, last, notify$1, toggle, node, promise, then; + var queueMicrotaskDescriptor = getOwnPropertyDescriptor$6(global_1, 'queueMicrotask'); + var microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; + var notify$1, toggle, node, promise, then; // modern engines have queueMicrotask method - if (!queueMicrotask) { - flush = function () { + if (!microtask) { + var queue = new queue$1(); + + var flush = function () { var parent, fn; if (engineIsNode && (parent = process$3.domain)) { parent.exit(); } - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (error) { - if (head) { notify$1(); } - else { last = undefined; } - throw error; - } - } last = undefined; + while (fn = queue.get()) { try { + fn(); + } catch (error) { + if (queue.head) { notify$1(); } + throw error; + } } if (parent) { parent.enter(); } }; @@ -6026,11 +6318,11 @@ var doric = (function (exports) { node.data = toggle = !toggle; }; // environments with maybe non-completely correct, but existent Promise - } else if (!engineIsIosPebble && Promise$4 && Promise$4.resolve) { + } else if (!engineIsIosPebble && Promise$6 && Promise$6.resolve) { // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise$4.resolve(undefined); + promise = Promise$6.resolve(undefined); // workaround of WebKit ~ iOS Safari 10.1 bug - promise.constructor = Promise$4; + promise.constructor = Promise$6; then = functionBindContext(promise.then, promise); notify$1 = function () { then(flush); @@ -6047,28 +6339,26 @@ var doric = (function (exports) { // - onreadystatechange // - setTimeout } else { - // strange IE + webpack dev server bug - use .bind(global) + // `webpack` dev server bug on IE global methods - use bind(fn, global) macrotask = functionBindContext(macrotask, global_1); notify$1 = function () { macrotask(flush); }; } + + microtask = function (fn) { + if (!queue.head) { notify$1(); } + queue.add(fn); + }; } - var microtask = queueMicrotask || function (fn) { - var task = { fn: fn, next: undefined }; - if (last) { last.next = task; } - if (!head) { - head = task; - notify$1(); - } last = task; - }; + var microtask_1 = microtask; var hostReportErrors = function (a, b) { - var console = global_1.console; - if (console && console.error) { + try { + // eslint-disable-next-line no-console -- safe arguments.length == 1 ? console.error(a) : console.error(a, b); - } + } catch (error) { /* empty */ } }; var perform = function (exec) { @@ -6079,30 +6369,6 @@ var doric = (function (exports) { } }; - 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; /* global Deno -- Deno case */ @@ -6147,10 +6413,12 @@ var doric = (function (exports) { SUBCLASSING: SUBCLASSING }; + var $TypeError$n = TypeError; + var PromiseCapability = function (C) { var resolve, reject; this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) { throw TypeError('Bad Promise constructor'); } + if (resolve !== undefined || reject !== undefined) { throw $TypeError$n('Bad Promise constructor'); } resolve = $$resolve; reject = $$reject; }); @@ -6183,11 +6451,11 @@ var doric = (function (exports) { var NATIVE_PROMISE_REJECTION_EVENT = promiseConstructorDetection.REJECTION_EVENT; var NATIVE_PROMISE_SUBCLASSING = promiseConstructorDetection.SUBCLASSING; var getInternalPromiseState = internalState.getterFor(PROMISE); - var setInternalState$e = internalState.set; + var setInternalState$h = internalState.set; var NativePromisePrototype$2 = promiseNativeConstructor && promiseNativeConstructor.prototype; var PromiseConstructor = promiseNativeConstructor; var PromisePrototype = NativePromisePrototype$2; - var TypeError$4 = global_1.TypeError; + var TypeError$5 = global_1.TypeError; var document$1 = global_1.document; var process$2 = global_1.process; var newPromiseCapability = newPromiseCapability$1.f; @@ -6196,7 +6464,7 @@ var doric = (function (exports) { var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global_1.dispatchEvent); var UNHANDLED_REJECTION = 'unhandledrejection'; var REJECTION_HANDLED = 'rejectionhandled'; - var PENDING = 0; + var PENDING$2 = 0; var FULFILLED = 1; var REJECTED = 2; var HANDLED = 1; @@ -6234,7 +6502,7 @@ var doric = (function (exports) { } } if (result === reaction.promise) { - reject(TypeError$4('Promise-chain cycle')); + reject(TypeError$5('Promise-chain cycle')); } else if (then = isThenable(result)) { functionCall(then, result, resolve, reject); } else { resolve(result); } @@ -6248,7 +6516,7 @@ var doric = (function (exports) { var notify = function (state, isReject) { if (state.notified) { return; } state.notified = true; - microtask(function () { + microtask_1(function () { var reactions = state.reactions; var reaction; while (reaction = reactions.get()) { @@ -6324,10 +6592,10 @@ 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$5("Promise can't be resolved itself"); } var then = isThenable(value); if (then) { - microtask(function () { + microtask_1(function () { var wrapper = { done: false }; try { functionCall(then, value, @@ -6367,14 +6635,14 @@ var doric = (function (exports) { // eslint-disable-next-line no-unused-vars -- required for `.length` Internal = function Promise(executor) { - setInternalState$e(this, { + setInternalState$h(this, { type: PROMISE, done: false, notified: false, parent: false, - reactions: new queue(), + reactions: new queue$1(), rejection: false, - state: PENDING, + state: PENDING$2, value: undefined }); }; @@ -6388,8 +6656,8 @@ var doric = (function (exports) { 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 () { + if (state.state == PENDING$2) { state.reactions.add(reaction); } + else { microtask_1(function () { callReaction(reaction, state); }); } return reaction.promise; @@ -6557,7 +6825,7 @@ var doric = (function (exports) { // `Promise.allSettled` method // https://tc39.es/ecma262/#sec-promise.allsettled - _export({ target: 'Promise', stat: true }, { + _export({ target: 'Promise', stat: true, forced: promiseStaticsIncorrectIteration }, { allSettled: function allSettled(iterable) { var C = this; var capability = newPromiseCapability$1.f(C); @@ -6595,7 +6863,7 @@ var doric = (function (exports) { // `Promise.any` method // https://tc39.es/ecma262/#sec-promise.any - _export({ target: 'Promise', stat: true }, { + _export({ target: 'Promise', stat: true, forced: promiseStaticsIncorrectIteration }, { any: function any(iterable) { var C = this; var AggregateError = getBuiltIn('AggregateError'); @@ -6665,7 +6933,7 @@ var doric = (function (exports) { // 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 */ }); }); @@ -6679,7 +6947,7 @@ var doric = (function (exports) { var nativeConstruct = getBuiltIn('Reflect', 'construct'); var ObjectPrototype = Object.prototype; - var push$g = [].push; + var push$j = [].push; // `Reflect.construct` method // https://tc39.es/ecma262/#sec-reflect.construct @@ -6713,7 +6981,7 @@ var doric = (function (exports) { } // w/o altered newTarget, lot of arguments case var $args = [null]; - functionApply(push$g, $args, args); + functionApply(push$j, $args, args); return new (functionApply(functionBind, Target, $args))(); } // with altered newTarget, not support built-in constructors @@ -6726,7 +6994,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 }); }); @@ -6746,13 +7014,13 @@ var doric = (function (exports) { } }); - var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$5 = 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$5(anObject(target), propertyKey); return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; } }); @@ -6763,7 +7031,7 @@ var doric = (function (exports) { // `Reflect.get` method // https://tc39.es/ecma262/#sec-reflect.get - function get(target, propertyKey /* , receiver */) { + function get$3(target, propertyKey /* , receiver */) { var receiver = arguments.length < 3 ? target : arguments[2]; var descriptor, prototype; if (anObject(target) === receiver) { return target[propertyKey]; } @@ -6771,11 +7039,11 @@ var doric = (function (exports) { if (descriptor) { return isDataDescriptor(descriptor) ? descriptor.value : descriptor.get === undefined ? undefined : functionCall(descriptor.get, receiver); } - if (isObject(prototype = objectGetPrototypeOf(target))) { return get(prototype, propertyKey, receiver); } + if (isObject(prototype = objectGetPrototypeOf(target))) { return get$3(prototype, propertyKey, receiver); } } _export({ target: 'Reflect', stat: true }, { - get: get + get: get$3 }); // `Reflect.getOwnPropertyDescriptor` method @@ -6834,13 +7102,13 @@ var doric = (function (exports) { // `Reflect.set` method // https://tc39.es/ecma262/#sec-reflect.set - function set(target, propertyKey, V /* , receiver */) { + function set$7(target, propertyKey, V /* , receiver */) { var receiver = arguments.length < 4 ? target : arguments[3]; var ownDescriptor = objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey); var existingDescriptor, prototype, setter; if (!ownDescriptor) { if (isObject(prototype = objectGetPrototypeOf(target))) { - return set(prototype, propertyKey, V, receiver); + return set$7(prototype, propertyKey, V, receiver); } ownDescriptor = createPropertyDescriptor(0); } @@ -6863,12 +7131,12 @@ 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; }); _export({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { - set: set + set: set$7 }); // `Reflect.setPrototypeOf` method @@ -6970,7 +7238,7 @@ var doric = (function (exports) { 'b'.replace(re, '$c') !== 'bc'; }); - var getOwnPropertyNames = objectGetOwnPropertyNames.f; + var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f; @@ -6989,12 +7257,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 SyntaxError$3 = global_1.SyntaxError; + var exec$b = functionUncurryThis(RegExpPrototype$6.exec); + var charAt$h = functionUncurryThis(''.charAt); var replace$7 = functionUncurryThis(''.replace); - var stringIndexOf$4 = functionUncurryThis(''.indexOf); - var stringSlice$c = functionUncurryThis(''.slice); + var stringIndexOf$5 = functionUncurryThis(''.indexOf); + var stringSlice$e = functionUncurryThis(''.slice); // TODO: Use only proper RegExpIdentifierName var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; var re1 = /a/g; @@ -7020,9 +7288,9 @@ var doric = (function (exports) { var brackets = false; var chr; for (; index <= length; index++) { - chr = charAt$e(string, index); + chr = charAt$h(string, index); if (chr === '\\') { - result += chr + charAt$e(string, ++index); + result += chr + charAt$h(string, ++index); continue; } if (!brackets && chr === '.') { @@ -7049,9 +7317,9 @@ var doric = (function (exports) { var groupname = ''; var chr; for (; index <= length; index++) { - chr = charAt$e(string, index); + chr = charAt$h(string, index); if (chr === '\\') { - chr = chr + charAt$e(string, ++index); + chr = chr + charAt$h(string, ++index); } else if (chr === ']') { brackets = false; } else if (!brackets) { switch (true) { @@ -7059,7 +7327,7 @@ var doric = (function (exports) { brackets = true; break; case chr === '(': - if (exec$7(IS_NCG, stringSlice$c(string, index + 1))) { + if (exec$b(IS_NCG, stringSlice$e(string, index + 1))) { index += 2; ncg = true; } @@ -7068,7 +7336,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$3('Invalid capture group name'); } names[groupname] = true; named[named.length] = [groupname, groupid]; @@ -7106,14 +7374,14 @@ var doric = (function (exports) { rawPattern = pattern; if (regexpUnsupportedDotAll && 'dotAll' in re1) { - dotAll = !!flags && stringIndexOf$4(flags, 's') > -1; + dotAll = !!flags && stringIndexOf$5(flags, 's') > -1; if (dotAll) { flags = replace$7(flags, /s/g, ''); } } rawFlags = flags; if (MISSED_STICKY$1 && 'sticky' in re1) { - sticky = !!flags && stringIndexOf$4(flags, 'y') > -1; + sticky = !!flags && stringIndexOf$5(flags, 'y') > -1; if (sticky && UNSUPPORTED_Y$2) { flags = replace$7(flags, /y/g, ''); } } @@ -7143,8 +7411,8 @@ var doric = (function (exports) { return result; }; - for (var keys = getOwnPropertyNames(NativeRegExp), index$1 = 0; keys.length > index$1;) { - proxyAccessor(RegExpWrapper, NativeRegExp, keys[index$1++]); + for (var keys$1 = getOwnPropertyNames$1(NativeRegExp), index$1 = 0; keys$1.length > index$1;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys$1[index$1++]); } RegExpPrototype$6.constructor = RegExpWrapper; @@ -7155,16 +7423,10 @@ var doric = (function (exports) { // 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 getInternalState$a = internalState.get; + var getInternalState$b = internalState.get; var RegExpPrototype$5 = RegExp.prototype; - var $TypeError$j = TypeError; + var $TypeError$m = TypeError; // `RegExp.prototype.dotAll` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall @@ -7176,9 +7438,9 @@ var doric = (function (exports) { // 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).dotAll; + return !!getInternalState$b(this).dotAll; } - throw $TypeError$j('Incompatible receiver, RegExp required'); + throw $TypeError$m('Incompatible receiver, RegExp required'); } }); } @@ -7192,17 +7454,17 @@ var doric = (function (exports) { - var getInternalState$9 = internalState.get; + var getInternalState$a = internalState.get; var nativeReplace = shared('native-string-replace', String.prototype.replace); var nativeExec = RegExp.prototype.exec; var patchedExec = nativeExec; - var charAt$d = functionUncurryThis(''.charAt); + var charAt$g = functionUncurryThis(''.charAt); var indexOf$1 = functionUncurryThis(''.indexOf); var replace$6 = functionUncurryThis(''.replace); - var stringSlice$b = functionUncurryThis(''.slice); + var stringSlice$d = functionUncurryThis(''.slice); var UPDATES_LAST_INDEX_WRONG = (function () { var re1 = /a/; @@ -7222,7 +7484,7 @@ var doric = (function (exports) { if (PATCH) { patchedExec = function exec(string) { var re = this; - var state = getInternalState$9(re); + var state = getInternalState$a(re); var str = toString_1(string); var raw = state.raw; var result, reCopy, lastIndex, match, i, object, group; @@ -7247,9 +7509,9 @@ var doric = (function (exports) { flags += 'g'; } - strCopy = stringSlice$b(str, re.lastIndex); + strCopy = stringSlice$d(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$g(str, re.lastIndex - 1) !== '\n')) { source = '(?: ' + source + ')'; strCopy = ' ' + strCopy; charsAdded++; @@ -7268,8 +7530,8 @@ var doric = (function (exports) { if (sticky) { if (match) { - match.input = stringSlice$b(match.input, charsAdded); - match[0] = stringSlice$b(match[0], charsAdded); + match.input = stringSlice$d(match.input, charsAdded); + match[0] = stringSlice$d(match[0], charsAdded); match.index = re.lastIndex; re.lastIndex += match[0].length; } else { re.lastIndex = 0; } @@ -7326,7 +7588,7 @@ var doric = (function (exports) { var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; var addGetter = function (key, chr) { - // eslint-disable-next-line es-x/no-object-defineproperty -- safe + // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty(O, key, { get: function () { calls += chr; return true; @@ -7345,7 +7607,7 @@ var doric = (function (exports) { for (var key in pairs) { addGetter(key, pairs[key]); } - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var result = Object.getOwnPropertyDescriptor(RegExpPrototype$4, 'flags').get.call(O); return result !== expected || calls !== expected; @@ -7361,10 +7623,10 @@ var doric = (function (exports) { var MISSED_STICKY = regexpStickyHelpers.MISSED_STICKY; - var getInternalState$8 = internalState.get; + var getInternalState$9 = internalState.get; var RegExpPrototype$3 = RegExp.prototype; - var $TypeError$i = TypeError; + var $TypeError$l = TypeError; // `RegExp.prototype.sticky` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky @@ -7372,13 +7634,13 @@ var doric = (function (exports) { defineBuiltInAccessor(RegExpPrototype$3, 'sticky', { configurable: true, get: function sticky() { - if (this === RegExpPrototype$3) { return undefined; } + if (this === RegExpPrototype$3) { return; } // We can't use InternalStateModule.getterFor because // we don't add metadata for regexps created by a literal. if (classofRaw(this) === 'RegExp') { - return !!getInternalState$8(this).sticky; + return !!getInternalState$9(this).sticky; } - throw $TypeError$i('Incompatible receiver, RegExp required'); + throw $TypeError$l('Incompatible receiver, RegExp required'); } }); } @@ -7401,20 +7663,20 @@ var doric = (function (exports) { return re.test('abc') === true && execCalled; }(); - var $TypeError$h = TypeError; - var un$Test = functionUncurryThis(/./.test); + var nativeTest = /./.test; // `RegExp.prototype.test` method // https://tc39.es/ecma262/#sec-regexp.prototype.test _export({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { - test: function (str) { - var exec = this.exec; - 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'); - } - return !!result; + test: function (S) { + var R = anObject(this); + var string = toString_1(S); + var exec = R.exec; + if (!isCallable(exec)) { return functionCall(nativeTest, R, string); } + var result = functionCall(exec, R, string); + if (result === null) { return false; } + anObject(result); + return true; } }); @@ -7427,11 +7689,11 @@ var doric = (function (exports) { var TO_STRING = 'toString'; var RegExpPrototype$2 = RegExp.prototype; - var n$ToString = RegExpPrototype$2[TO_STRING]; + var nativeToString = RegExpPrototype$2[TO_STRING]; - var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); + var NOT_GENERIC = fails(function () { return nativeToString.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$1 && nativeToString.name != TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring @@ -7450,10 +7712,10 @@ var doric = (function (exports) { return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; }, collectionStrong); - var charAt$c = functionUncurryThis(''.charAt); + var charAt$f = functionUncurryThis(''.charAt); var FORCED$4 = fails(function () { - // eslint-disable-next-line es-x/no-array-string-prototype-at -- safe + // eslint-disable-next-line es/no-array-string-prototype-at -- safe return '𠮷'.at(-2) !== '\uD842'; }); @@ -7465,13 +7727,13 @@ var doric = (function (exports) { 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$f(S, k); } }); - var charAt$b = functionUncurryThis(''.charAt); - var charCodeAt$2 = functionUncurryThis(''.charCodeAt); - var stringSlice$a = functionUncurryThis(''.slice); + var charAt$e = functionUncurryThis(''.charAt); + var charCodeAt$5 = functionUncurryThis(''.charCodeAt); + var stringSlice$c = functionUncurryThis(''.slice); var createMethod$1 = function (CONVERT_TO_STRING) { return function ($this, pos) { @@ -7480,14 +7742,14 @@ var doric = (function (exports) { var size = S.length; var first, second; if (position < 0 || position >= size) { return CONVERT_TO_STRING ? '' : undefined; } - first = charCodeAt$2(S, position); + first = charCodeAt$5(S, position); return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = charCodeAt$2(S, position + 1)) < 0xDC00 || second > 0xDFFF + || (second = charCodeAt$5(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING - ? charAt$b(S, position) + ? charAt$e(S, position) : first : CONVERT_TO_STRING - ? stringSlice$a(S, position, position + 2) + ? stringSlice$c(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; }; }; @@ -7511,11 +7773,11 @@ var doric = (function (exports) { } }); - var $TypeError$g = TypeError; + var $TypeError$k = TypeError; var notARegexp = function (it) { if (isRegexp(it)) { - throw $TypeError$g("The method doesn't accept regular expressions"); + throw $TypeError$k("The method doesn't accept regular expressions"); } return it; }; @@ -7533,7 +7795,7 @@ var doric = (function (exports) { } return false; }; - var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; @@ -7541,15 +7803,15 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-string-prototype-endswith -- safe - var un$EndsWith = functionUncurryThis(''.endsWith); - var slice$2 = functionUncurryThis(''.slice); - var min$7 = Math.min; + // eslint-disable-next-line es/no-string-prototype-endswith -- safe + var nativeEndsWith = functionUncurryThisClause(''.endsWith); + var slice$6 = functionUncurryThisClause(''.slice); + var min$8 = 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$4(String.prototype, 'endsWith'); return descriptor && !descriptor.writable; }(); @@ -7561,19 +7823,19 @@ var doric = (function (exports) { notARegexp(searchString); var endPosition = arguments.length > 1 ? arguments[1] : undefined; var len = that.length; - var end = endPosition === undefined ? len : min$7(toLength(endPosition), len); + var end = endPosition === undefined ? len : min$8(toLength(endPosition), len); var search = toString_1(searchString); - return un$EndsWith - ? un$EndsWith(that, search, end) - : slice$2(that, end - search.length, end) === search; + return nativeEndsWith + ? nativeEndsWith(that, search, end) + : slice$6(that, end - search.length, end) === search; } }); - var $RangeError$7 = RangeError; - var fromCharCode$3 = String.fromCharCode; - // eslint-disable-next-line es-x/no-string-fromcodepoint -- required for testing + var $RangeError$6 = RangeError; + var fromCharCode$5 = String.fromCharCode; + // eslint-disable-next-line es/no-string-fromcodepoint -- required for testing var $fromCodePoint = String.fromCodePoint; - var join$6 = functionUncurryThis([].join); + var join$7 = functionUncurryThis([].join); // length should be 1, old FF problem var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1; @@ -7591,21 +7853,21 @@ var doric = (function (exports) { var code; while (length > i) { code = +arguments$1[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw $RangeError$7(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$5(code) + : fromCharCode$5(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join$7(elements, ''); } }); - var stringIndexOf$3 = functionUncurryThis(''.indexOf); + var stringIndexOf$4 = functionUncurryThis(''.indexOf); // `String.prototype.includes` method // https://tc39.es/ecma262/#sec-string.prototype.includes _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, { includes: function includes(searchString /* , position = 0 */) { - return !!~stringIndexOf$3( + return !!~stringIndexOf$4( toString_1(requireObjectCoercible(this)), toString_1(notARegexp(searchString)), arguments.length > 1 ? arguments[1] : undefined @@ -7613,19 +7875,20 @@ var doric = (function (exports) { } }); - var charAt$a = stringMultibyte.charAt; + var charAt$d = stringMultibyte.charAt; + var STRING_ITERATOR$1 = 'String Iterator'; - var setInternalState$d = internalState.set; - var getInternalState$7 = internalState.getterFor(STRING_ITERATOR$1); + var setInternalState$g = internalState.set; + var getInternalState$8 = internalState.getterFor(STRING_ITERATOR$1); // `String.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-string.prototype-@@iterator - defineIterator(String, 'String', function (iterated) { - setInternalState$d(this, { + iteratorDefine(String, 'String', function (iterated) { + setInternalState$g(this, { type: STRING_ITERATOR$1, string: toString_1(iterated), index: 0 @@ -7633,14 +7896,14 @@ var doric = (function (exports) { // `%StringIteratorPrototype%.next` method // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next }, function next() { - var state = getInternalState$7(this); + var state = getInternalState$8(this); var string = state.string; var index = state.index; var point; - if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$a(string, index); + if (index >= string.length) { return createIterResultObject(undefined, true); } + point = charAt$d(string, index); state.index += point.length; - return { value: point, done: false }; + return createIterResultObject(point, false); }); // TODO: Remove from `core-js@4` since it's moved to entry points @@ -7694,9 +7957,9 @@ var doric = (function (exports) { !DELEGATES_TO_EXEC || FORCED ) { - var uncurriedNativeRegExpMethod = functionUncurryThis(/./[SYMBOL]); + var uncurriedNativeRegExpMethod = functionUncurryThisClause(/./[SYMBOL]); var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - var uncurriedNativeMethod = functionUncurryThis(nativeMethod); + var uncurriedNativeMethod = functionUncurryThisClause(nativeMethod); var $exec = regexp.exec; if ($exec === regexpExec || $exec === RegExpPrototype$1.exec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { @@ -7717,15 +7980,15 @@ var doric = (function (exports) { if (SHAM) { createNonEnumerableProperty(RegExpPrototype$1[SYMBOL], 'sham', true); } }; - var charAt$9 = stringMultibyte.charAt; + var charAt$c = 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$c(S, index).length : 1); }; - var $TypeError$f = TypeError; + var $TypeError$j = TypeError; // `RegExpExec` abstract operation // https://tc39.es/ecma262/#sec-regexpexec @@ -7737,7 +8000,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$j('RegExp#exec called on incompatible receiver'); }; // @@match logic @@ -7747,7 +8010,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-string.prototype.match function match(regexp) { var O = requireObjectCoercible(this); - var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); return matcher ? functionCall(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString_1(O)); }, // `RegExp.prototype[@@match]` method @@ -7777,7 +8040,9 @@ var doric = (function (exports) { ]; }); - /* eslint-disable es-x/no-string-prototype-matchall -- safe */ + /* eslint-disable es/no-string-prototype-matchall -- safe */ + + @@ -7802,19 +8067,19 @@ 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 getInternalState$6 = internalState.getterFor(REGEXP_STRING_ITERATOR); + var setInternalState$f = internalState.set; + var getInternalState$7 = internalState.getterFor(REGEXP_STRING_ITERATOR); var RegExpPrototype = RegExp.prototype; - var $TypeError$e = TypeError; - var stringIndexOf$2 = functionUncurryThis(''.indexOf); - var un$MatchAll = functionUncurryThis(''.matchAll); + var $TypeError$i = TypeError; + var stringIndexOf$3 = functionUncurryThisClause(''.indexOf); + var nativeMatchAll = functionUncurryThisClause(''.matchAll); - var WORKS_WITH_NON_GLOBAL_REGEX = !!un$MatchAll && !fails(function () { - un$MatchAll('a', /./); + var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); }); - var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { - setInternalState$c(this, { + var $RegExpStringIterator = iteratorCreateConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState$f(this, { type: REGEXP_STRING_ITERATOR, regexp: regexp, string: string, @@ -7823,18 +8088,21 @@ var doric = (function (exports) { done: false }); }, REGEXP_STRING, function next() { - var state = getInternalState$6(this); - if (state.done) { return { value: undefined, done: true }; } + var state = getInternalState$7(this); + if (state.done) { return createIterResultObject(undefined, true); } var R = state.regexp; var S = state.string; var match = regexpExecAbstract(R, S); - if (match === null) { return { value: undefined, done: state.done = true }; } + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } if (state.global) { if (toString_1(match[0]) === '') { R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); } - return { value: match, done: false }; + return createIterResultObject(match, false); } state.done = true; - return { value: match, done: false }; + return createIterResultObject(match, false); }); var $matchAll = function (string) { @@ -7844,8 +8112,8 @@ var doric = (function (exports) { var flags = toString_1(regexpGetFlags(R)); var matcher, $global, fullUnicode; matcher = new C(C === RegExp ? R.source : R, flags); - $global = !!~stringIndexOf$2(flags, 'g'); - fullUnicode = !!~stringIndexOf$2(flags, 'u'); + $global = !!~stringIndexOf$3(flags, 'g'); + fullUnicode = !!~stringIndexOf$3(flags, 'u'); matcher.lastIndex = toLength(R.lastIndex); return new $RegExpStringIterator(matcher, S, $global, fullUnicode); }; @@ -7856,16 +8124,16 @@ var doric = (function (exports) { matchAll: function matchAll(regexp) { var O = requireObjectCoercible(this); var flags, S, matcher, rx; - if (regexp != null) { + if (!isNullOrUndefined(regexp)) { if (isRegexp(regexp)) { flags = toString_1(requireObjectCoercible(regexpGetFlags(regexp))); - if (!~stringIndexOf$2(flags, 'g')) { throw $TypeError$e('`.matchAll` does not allow non-global regexes'); } + if (!~stringIndexOf$3(flags, 'g')) { throw $TypeError$i('`.matchAll` does not allow non-global regexes'); } } - if (WORKS_WITH_NON_GLOBAL_REGEX) { return un$MatchAll(O, regexp); } + if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll(O, regexp); } matcher = getMethod(regexp, MATCH_ALL); if (matcher === undefined && isPure && classofRaw(regexp) == 'RegExp') { matcher = $matchAll; } if (matcher) { return functionCall(matcher, regexp, O); } - } else if (WORKS_WITH_NON_GLOBAL_REGEX) { return un$MatchAll(O, regexp); } + } else if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll(O, regexp); } S = toString_1(O); rx = new RegExp(regexp, 'g'); return rx[MATCH_ALL](S); @@ -7901,8 +8169,8 @@ var doric = (function (exports) { } }); - var push$f = functionUncurryThis([].push); - var join$5 = functionUncurryThis([].join); + var push$i = functionUncurryThis([].push); + var join$6 = functionUncurryThis([].join); // `String.raw` method // https://tc39.es/ecma262/#sec-string.raw @@ -7912,13 +8180,14 @@ var doric = (function (exports) { var rawTemplate = toIndexedObject(toObject(template).raw); var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) { return ''; } var argumentsLength = arguments.length; 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])); } + while (true) { + push$i(elements, toString_1(rawTemplate[i++])); + if (i === literalSegments) { return join$6(elements, ''); } + if (i < argumentsLength) { push$i(elements, toString_1(arguments$1[i])); } } } }); @@ -7930,9 +8199,10 @@ var doric = (function (exports) { }); var floor$3 = Math.floor; - var charAt$8 = functionUncurryThis(''.charAt); + var charAt$b = functionUncurryThis(''.charAt); var replace$5 = functionUncurryThis(''.replace); - var stringSlice$9 = functionUncurryThis(''.slice); + var stringSlice$b = functionUncurryThis(''.slice); + // eslint-disable-next-line redos/no-vulnerable -- safe var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; @@ -7948,13 +8218,13 @@ var doric = (function (exports) { } return replace$5(replacement, symbols, function (match, ch) { var capture; - switch (charAt$8(ch, 0)) { + switch (charAt$b(ch, 0)) { case '$': return '$'; case '&': return matched; - case '`': return stringSlice$9(str, 0, position); - case "'": return stringSlice$9(str, tailPos); + case '`': return stringSlice$b(str, 0, position); + case "'": return stringSlice$b(str, tailPos); case '<': - capture = namedCaptures[stringSlice$9(ch, 1, -1)]; + capture = namedCaptures[stringSlice$b(ch, 1, -1)]; break; default: // \d\d? var n = +ch; @@ -7962,7 +8232,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$b(ch, 1) : captures[f - 1] + charAt$b(ch, 1); } return match; } capture = captures[n - 1]; @@ -7973,11 +8243,11 @@ var doric = (function (exports) { var REPLACE$1 = wellKnownSymbol('replace'); var max$5 = Math.max; - var min$6 = Math.min; + var min$7 = Math.min; var concat$1 = functionUncurryThis([].concat); - var push$e = functionUncurryThis([].push); - var stringIndexOf$1 = functionUncurryThis(''.indexOf); - var stringSlice$8 = functionUncurryThis(''.slice); + var push$h = functionUncurryThis([].push); + var stringIndexOf$2 = functionUncurryThis(''.indexOf); + var stringSlice$a = functionUncurryThis(''.slice); var maybeToString = function (it) { return it === undefined ? it : String(it); @@ -8018,7 +8288,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-string.prototype.replace function replace(searchValue, replaceValue) { var O = requireObjectCoercible(this); - var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE$1); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE$1); return replacer ? functionCall(replacer, searchValue, O, replaceValue) : functionCall(nativeReplace, toString_1(O), searchValue, replaceValue); @@ -8031,8 +8301,8 @@ var doric = (function (exports) { if ( typeof replaceValue == 'string' && - stringIndexOf$1(replaceValue, UNSAFE_SUBSTITUTE) === -1 && - stringIndexOf$1(replaceValue, '$<') === -1 + stringIndexOf$2(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf$2(replaceValue, '$<') === -1 ) { var res = maybeCallNative(nativeReplace, rx, S, replaceValue); if (res.done) { return res.value; } @@ -8051,7 +8321,7 @@ var doric = (function (exports) { var result = regexpExecAbstract(rx, S); if (result === null) { break; } - push$e(results, result); + push$h(results, result); if (!global) { break; } var matchStr = toString_1(result[0]); @@ -8064,40 +8334,40 @@ var doric = (function (exports) { result = results[i]; var matched = toString_1(result[0]); - var position = max$5(min$6(toIntegerOrInfinity(result.index), S.length), 0); + var position = max$5(min$7(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$h(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$h(replacerArgs, namedCaptures); } var replacement = toString_1(functionApply(replaceValue, undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); } if (position >= nextSourcePosition) { - accumulatedResult += stringSlice$8(S, nextSourcePosition, position) + replacement; + accumulatedResult += stringSlice$a(S, nextSourcePosition, position) + replacement; nextSourcePosition = position + matched.length; } } - return accumulatedResult + stringSlice$8(S, nextSourcePosition); + return accumulatedResult + stringSlice$a(S, nextSourcePosition); } ]; }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); var REPLACE = wellKnownSymbol('replace'); - var $TypeError$d = TypeError; + var $TypeError$h = TypeError; var indexOf = functionUncurryThis(''.indexOf); functionUncurryThis(''.replace); - var stringSlice$7 = functionUncurryThis(''.slice); + var stringSlice$9 = functionUncurryThis(''.slice); var max$4 = Math.max; - var stringIndexOf = function (string, searchValue, fromIndex) { + var stringIndexOf$1 = function (string, searchValue, fromIndex) { if (fromIndex > string.length) { return -1; } if (searchValue === '') { return fromIndex; } return indexOf(string, searchValue, fromIndex); @@ -8112,11 +8382,11 @@ var doric = (function (exports) { var position = 0; var endOfLastMatch = 0; var result = ''; - if (searchValue != null) { + if (!isNullOrUndefined(searchValue)) { 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'); } + if (!~indexOf(flags, 'g')) { throw $TypeError$h('`.replaceAll` does not allow non-global regexes'); } } replacer = getMethod(searchValue, REPLACE); if (replacer) { @@ -8129,17 +8399,17 @@ var doric = (function (exports) { if (!functionalReplace) { replaceValue = toString_1(replaceValue); } searchLength = searchString.length; advanceBy = max$4(1, searchLength); - position = stringIndexOf(string, searchString, 0); + position = stringIndexOf$1(string, searchString, 0); while (position !== -1) { replacement = functionalReplace ? toString_1(replaceValue(searchString, position, string)) : getSubstitution(searchString, string, position, [], undefined, replaceValue); - result += stringSlice$7(string, endOfLastMatch, position) + replacement; + result += stringSlice$9(string, endOfLastMatch, position) + replacement; endOfLastMatch = position + searchLength; - position = stringIndexOf(string, searchString, position + advanceBy); + position = stringIndexOf$1(string, searchString, position + advanceBy); } if (endOfLastMatch < string.length) { - result += stringSlice$7(string, endOfLastMatch); + result += stringSlice$9(string, endOfLastMatch); } return result; } @@ -8152,7 +8422,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-string.prototype.search function search(regexp) { var O = requireObjectCoercible(this); - var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); return searcher ? functionCall(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString_1(O)); }, // `RegExp.prototype[@@search]` method @@ -8175,11 +8445,11 @@ var doric = (function (exports) { var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y; var MAX_UINT32 = 0xFFFFFFFF; - var min$5 = Math.min; + var min$6 = Math.min; var $push = [].push; - var exec$6 = functionUncurryThis(/./.exec); - var push$d = functionUncurryThis($push); - var stringSlice$6 = functionUncurryThis(''.slice); + var exec$a = functionUncurryThis(/./.exec); + var push$g = functionUncurryThis($push); + var stringSlice$8 = functionUncurryThis(''.slice); // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec // Weex JS has frozen built-in prototypes, so use try / catch wrapper @@ -8227,7 +8497,7 @@ 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)); + push$g(output, stringSlice$8(string, lastLastIndex, match.index)); if (match.length > 1 && match.index < string.length) { functionApply($push, output, arraySliceSimple(match, 1)); } lastLength = match[0].length; lastLastIndex = lastIndex; @@ -8236,8 +8506,8 @@ 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)); } + if (lastLength || !exec$a(separatorCopy, '')) { push$g(output, ''); } + } else { push$g(output, stringSlice$8(string, lastLastIndex)); } return output.length > lim ? arraySliceSimple(output, 0, lim) : output; }; // Chakra, V8 @@ -8252,7 +8522,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-string.prototype.split function split(separator, limit) { var O = requireObjectCoercible(this); - var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); return splitter ? functionCall(splitter, separator, O, limit) : functionCall(internalSplit, toString_1(O), separator, limit); @@ -8288,30 +8558,30 @@ var doric = (function (exports) { var A = []; while (q < S.length) { splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; - var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? stringSlice$6(S, q) : S); + var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? stringSlice$8(S, q) : S); var e; if ( z === null || - (e = min$5(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + (e = min$6(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$g(A, stringSlice$8(S, p, q)); if (A.length === lim) { return A; } for (var i = 1; i <= z.length - 1; i++) { - push$d(A, z[i]); + push$g(A, z[i]); if (A.length === lim) { return A; } } q = p = e; } } - push$d(A, stringSlice$6(S, p)); + push$g(A, stringSlice$8(S, p)); return A; } ]; }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); - var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; + var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; @@ -8319,15 +8589,15 @@ var doric = (function (exports) { - // eslint-disable-next-line es-x/no-string-prototype-startswith -- safe - var un$StartsWith = functionUncurryThis(''.startsWith); - var stringSlice$5 = functionUncurryThis(''.slice); - var min$4 = Math.min; + // eslint-disable-next-line es/no-string-prototype-startswith -- safe + var nativeStartsWith = functionUncurryThisClause(''.startsWith); + var stringSlice$7 = functionUncurryThisClause(''.slice); + var min$5 = 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$3(String.prototype, 'startsWith'); return descriptor && !descriptor.writable; }(); @@ -8337,19 +8607,19 @@ var doric = (function (exports) { startsWith: function startsWith(searchString /* , position = 0 */) { var that = toString_1(requireObjectCoercible(this)); notARegexp(searchString); - var index = toLength(min$4(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var index = toLength(min$5(arguments.length > 1 ? arguments[1] : undefined, that.length)); var search = toString_1(searchString); - return un$StartsWith - ? un$StartsWith(that, search, index) - : stringSlice$5(that, index, index + search.length) === search; + return nativeStartsWith + ? nativeStartsWith(that, search, index) + : stringSlice$7(that, index, index + search.length) === search; } }); - var stringSlice$4 = functionUncurryThis(''.slice); + var stringSlice$6 = functionUncurryThis(''.slice); var max$3 = Math.max; - var min$3 = Math.min; + var min$4 = Math.min; - // eslint-disable-next-line unicorn/prefer-string-slice, es-x/no-string-prototype-substr -- required for testing + // eslint-disable-next-line unicorn/prefer-string-slice -- required for testing var FORCED$3 = !''.substr || 'ab'.substr(-1) !== 'b'; // `String.prototype.substr` method @@ -8364,8 +8634,8 @@ var doric = (function (exports) { if (intStart < 0) { intStart = max$3(size + intStart, 0); } intLength = length === undefined ? size : toIntegerOrInfinity(length); if (intLength <= 0 || intLength === Infinity) { return ''; } - intEnd = min$3(intStart + intLength, size); - return intStart >= intEnd ? '' : stringSlice$4(that, intStart, intEnd); + intEnd = min$4(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice$6(that, intStart, intEnd); } }); @@ -8404,12 +8674,12 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#String.prototype.trimright var stringTrimEnd = stringTrimForced('trimEnd') ? 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 // https://tc39.es/ecma262/#sec-string.prototype.trimend - // eslint-disable-next-line es-x/no-string-prototype-trimleft-trimright -- safe + // eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe _export({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== stringTrimEnd }, { trimRight: stringTrimEnd }); @@ -8421,7 +8691,7 @@ var doric = (function (exports) { // `String.prototype.trimEnd` method // https://tc39.es/ecma262/#sec-string.prototype.trimend - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe + // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe _export({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== stringTrimEnd }, { trimEnd: stringTrimEnd }); @@ -8434,12 +8704,12 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#String.prototype.trimleft var stringTrimStart = stringTrimForced('trimStart') ? 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 + // eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe _export({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== stringTrimStart }, { trimLeft: stringTrimStart }); @@ -8451,7 +8721,7 @@ var doric = (function (exports) { // `String.prototype.trimStart` method // https://tc39.es/ecma262/#sec-string.prototype.trimstart - // eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe + // eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe _export({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== stringTrimStart }, { trimStart: stringTrimStart }); @@ -8587,7 +8857,7 @@ var doric = (function (exports) { var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; - var ArrayBuffer$1 = global_1.ArrayBuffer; + var ArrayBuffer$2 = global_1.ArrayBuffer; var Int8Array$3 = global_1.Int8Array; var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { @@ -8601,27 +8871,44 @@ var doric = (function (exports) { new Int8Array$3(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$3(new ArrayBuffer$2(2), 1, undefined).length !== 1; }); - var $RangeError$6 = RangeError; - - var toPositiveInteger = function (it) { - var result = toIntegerOrInfinity(it); - if (result < 0) { throw $RangeError$6("The argument can't be less than 0"); } - return result; - }; - var $RangeError$5 = RangeError; + var toPositiveInteger = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) { throw $RangeError$5("The argument can't be less than 0"); } + return result; + }; + + var $RangeError$4 = RangeError; + var toOffset = function (it, BYTES) { var offset = toPositiveInteger(it); - if (offset % BYTES) { throw $RangeError$5('Wrong offset'); } + if (offset % BYTES) { throw $RangeError$4('Wrong offset'); } return offset; }; + var isBigIntArray = function (it) { + var klass = classof(it); + return klass == 'BigInt64Array' || klass == 'BigUint64Array'; + }; + + var $TypeError$g = 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$g("Can't convert number to bigint"); } + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); + }; + var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor; + var typedArrayFrom = function from(source /* , mapfn, thisArg */) { var C = aConstructor(this); var O = toObject(source); @@ -8629,7 +8916,7 @@ var doric = (function (exports) { var mapfn = argumentsLength > 1 ? arguments[1] : undefined; var mapping = mapfn !== undefined; var iteratorMethod = getIteratorMethod(O); - var i, length, result, step, iterator, next; + var i, length, result, thisIsBigIntArray, value, step, iterator, next; if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { iterator = getIterator(O, iteratorMethod); next = iterator.next; @@ -8643,8 +8930,11 @@ var doric = (function (exports) { } length = lengthOfArrayLike(O); result = new (aTypedArrayConstructor$3(C))(length); + thisIsBigIntArray = isBigIntArray(result); for (i = 0; length > i; i++) { - result[i] = mapping ? mapfn(O[i], i) : O[i]; + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; } return result; }; @@ -8681,6 +8971,7 @@ var doric = (function (exports) { + var getInternalState = internalState.get; var setInternalState = internalState.set; var enforceInternalState = internalState.enforce; @@ -8710,9 +9001,12 @@ var doric = (function (exports) { }; var addGetter = function (it, key) { - nativeDefineProperty(it, key, { get: function () { - return getInternalState(this)[key]; - } }); + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); }; var isArrayBuffer = function (it) { @@ -8768,7 +9062,7 @@ var doric = (function (exports) { }); module.exports = function (TYPE, wrapper, CLAMPED) { - var BYTES = TYPE.match(/\d+$/)[0] / 8; + var BYTES = TYPE.match(/\d+/)[0] / 8; var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; var GETTER = 'get' + TYPE; var SETTER = 'set' + TYPE; @@ -8999,25 +9293,14 @@ var doric = (function (exports) { return $every$1(aTypedArray$u(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); + var slice$5 = 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 + // eslint-disable-next-line es/no-typed-arrays -- safe new Int8Array(2).fill({ valueOf: function () { return count++; } }); return count !== 1; }); @@ -9027,25 +9310,17 @@ var doric = (function (exports) { exportTypedArrayMethod$u('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; + var actualValue = slice$5(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); - var arrayFromConstructorAndList = function (Constructor, list) { - var index = 0; - var length = lengthOfArrayLike(list); - var result = new Constructor(length); - while (length > index) { result[index] = list[index++]; } - return result; - }; - var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor; - var getTypedArrayConstructor$4 = arrayBufferViewCore.getTypedArrayConstructor; + var getTypedArrayConstructor$5 = arrayBufferViewCore.getTypedArrayConstructor; // a part of `TypedArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#typedarray-species-create var typedArraySpeciesConstructor = function (originalArray) { - return aTypedArrayConstructor$2(speciesConstructor(originalArray, getTypedArrayConstructor$4(originalArray))); + return aTypedArrayConstructor$2(speciesConstructor(originalArray, getTypedArrayConstructor$5(originalArray))); }; var typedArrayFromSpeciesAndList = function (instance, list) { @@ -9149,7 +9424,7 @@ var doric = (function (exports) { return $indexOf(aTypedArray$l(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); }); - var ITERATOR$3 = wellKnownSymbol('iterator'); + var ITERATOR$4 = wellKnownSymbol('iterator'); var Uint8Array$2 = global_1.Uint8Array; var arrayValues = functionUncurryThis(es_array_iterator.values); var arrayKeys = functionUncurryThis(es_array_iterator.keys); @@ -9159,12 +9434,12 @@ var doric = (function (exports) { var TypedArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype; var GENERIC = !fails(function () { - TypedArrayPrototype[ITERATOR$3].call([1]); + TypedArrayPrototype[ITERATOR$4].call([1]); }); var ITERATOR_IS_VALUES = !!TypedArrayPrototype && TypedArrayPrototype.values - && TypedArrayPrototype[ITERATOR$3] === TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR$4] === TypedArrayPrototype.values && TypedArrayPrototype.values.name === 'values'; var typedArrayValues = function values() { @@ -9186,7 +9461,7 @@ var doric = (function (exports) { exportTypedArrayMethod$l('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); // `%TypedArray%.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator - exportTypedArrayMethod$l(ITERATOR$3, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + exportTypedArrayMethod$l(ITERATOR$4, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); var aTypedArray$j = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod; @@ -9287,15 +9562,15 @@ var doric = (function (exports) { var aTypedArray$d = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$e = 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 WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/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 TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { var array = new Int8Array$2(2); array.set(1); array.set('2', 1); @@ -9308,26 +9583,26 @@ var doric = (function (exports) { aTypedArray$d(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); } + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) { return functionCall($set, this, src, offset); } var length = this.length; var len = lengthOfArrayLike(src); var index = 0; if (len + offset > length) { throw RangeError$2('Wrong length'); } while (index < len) { this[offset + index] = src[index++]; } - }, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + }, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); var aTypedArray$c = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod; var FORCED$2 = fails(function () { - // eslint-disable-next-line es-x/no-typed-arrays -- required for testing + // 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); + var list = arraySlice(aTypedArray$c(this), start, end); var C = typedArraySpeciesConstructor(this); var index = 0; var length = list.length; @@ -9350,16 +9625,16 @@ var doric = (function (exports) { var aTypedArray$a = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod; var Uint16Array = global_1.Uint16Array; - var un$Sort = Uint16Array && functionUncurryThis(Uint16Array.prototype.sort); + var nativeSort = Uint16Array && functionUncurryThisClause(Uint16Array.prototype.sort); // WebKit - var ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () { - un$Sort(new Uint16Array(2), null); + var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); }) && fails(function () { - un$Sort(new Uint16Array(2), {}); + nativeSort(new Uint16Array(2), {}); })); - var STABLE_SORT = !!un$Sort && !fails(function () { + var STABLE_SORT = !!nativeSort && !fails(function () { // feature detection can be too slow, so check engines versions if (engineV8Version) { return engineV8Version < 74; } if (engineFfVersion) { return engineFfVersion < 67; } @@ -9376,7 +9651,7 @@ var doric = (function (exports) { expected[index] = index - 2 * mod + 3; } - un$Sort(array, function (a, b) { + nativeSort(array, function (a, b) { return (a / 4 | 0) - (b / 4 | 0); }); @@ -9401,7 +9676,7 @@ var doric = (function (exports) { // https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort exportTypedArrayMethod$b('sort', function sort(comparefn) { if (comparefn !== undefined) { aCallable(comparefn); } - if (STABLE_SORT) { return un$Sort(this, comparefn); } + if (STABLE_SORT) { return nativeSort(this, comparefn); } return arraySort(aTypedArray$a(this), getSortCompare(comparefn)); }, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); @@ -9444,12 +9719,36 @@ var doric = (function (exports) { exportTypedArrayMethod$9('toLocaleString', function toLocaleString() { return functionApply( $toLocaleString, - TO_LOCALE_STRING_BUG ? arraySlice$1(aTypedArray$8(this)) : aTypedArray$8(this), - arraySlice$1(arguments) + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray$8(this)) : aTypedArray$8(this), + arraySlice(arguments) ); }, FORCED$1); + var aTypedArray$7 = arrayBufferViewCore.aTypedArray; var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod; + var getTypedArrayConstructor$4 = arrayBufferViewCore.getTypedArrayConstructor; + + // `%TypedArray%.prototype.toReversed` method + // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed + exportTypedArrayMethod$8('toReversed', function toReversed() { + return arrayToReversed(aTypedArray$7(this), getTypedArrayConstructor$4(this)); + }); + + var aTypedArray$6 = arrayBufferViewCore.aTypedArray; + var getTypedArrayConstructor$3 = arrayBufferViewCore.getTypedArrayConstructor; + var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; + var sort = functionUncurryThis(arrayBufferViewCore.TypedArrayPrototype.sort); + + // `%TypedArray%.prototype.toSorted` method + // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSorted + exportTypedArrayMethod$7('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) { aCallable(compareFn); } + var O = aTypedArray$6(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor$3(O), O); + return sort(A, compareFn); + }); + + var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod; @@ -9457,11 +9756,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$5 = functionUncurryThis([].join); if (fails(function () { arrayToString.call({}); })) { arrayToString = function toString() { - return join$4(this); + return join$5(this); }; } @@ -9469,12 +9768,36 @@ 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 stringSlice$3 = functionUncurryThis(''.slice); + var aTypedArray$5 = arrayBufferViewCore.aTypedArray; + var getTypedArrayConstructor$2 = arrayBufferViewCore.getTypedArrayConstructor; + var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; + + var PROPER_ORDER$1 = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- 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$5('with', { 'with': function (index, value) { + var O = aTypedArray$5(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor$2(O), relativeIndex, actualValue); + } }['with'], !PROPER_ORDER$1); + + var fromCharCode$4 = String.fromCharCode; + var charAt$a = functionUncurryThis(''.charAt); + var exec$9 = functionUncurryThis(/./.exec); + var stringSlice$5 = functionUncurryThis(''.slice); var hex2 = /^[\da-f]{2}$/i; var hex4 = /^[\da-f]{4}$/i; @@ -9489,19 +9812,19 @@ var doric = (function (exports) { var index = 0; var chr, part; while (index < length) { - chr = charAt$7(str, index++); + chr = charAt$a(str, index++); if (chr === '%') { - if (charAt$7(str, index) === 'u') { - part = stringSlice$3(str, index + 1, index + 5); - if (exec$5(hex4, part)) { - result += fromCharCode$2(parseInt(part, 16)); + if (charAt$a(str, index) === 'u') { + part = stringSlice$5(str, index + 1, index + 5); + if (exec$9(hex4, part)) { + result += fromCharCode$4(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)); + part = stringSlice$5(str, index, index + 2); + if (exec$9(hex2, part)) { + result += fromCharCode$4(parseInt(part, 16)); index += 2; continue; } @@ -9521,7 +9844,8 @@ var doric = (function (exports) { - var setInternalState$b = internalState.set; + + var setInternalState$e = internalState.set; var internalStateGetterFor = internalState.getterFor; var find$1 = arrayIteration.find; var findIndex = arrayIteration.findIndex; @@ -9529,8 +9853,8 @@ var doric = (function (exports) { var id = 0; // fallback for uncaught frozen keys - var uncaughtFrozenStore = function (store) { - return store.frozen || (store.frozen = new UncaughtFrozenStore()); + var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); }; var UncaughtFrozenStore = function () { @@ -9569,12 +9893,12 @@ 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$e(that, { type: CONSTRUCTOR_NAME, id: id++, frozen: undefined }); - if (iterable != undefined) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } + if (!isNullOrUndefined(iterable)) { iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); } }); var Prototype = Constructor.prototype; @@ -9643,6 +9967,23 @@ var doric = (function (exports) { var enforceInternalState = internalState.enforce; + + var $Object$3 = Object; + // eslint-disable-next-line es/no-array-isarray -- safe + var isArray = Array.isArray; + // eslint-disable-next-line es/no-object-isextensible -- safe + var isExtensible = $Object$3.isExtensible; + // eslint-disable-next-line es/no-object-isfrozen -- safe + var isFrozen$2 = $Object$3.isFrozen; + // eslint-disable-next-line es/no-object-issealed -- safe + var isSealed = $Object$3.isSealed; + // eslint-disable-next-line es/no-object-freeze -- safe + var freeze$2 = $Object$3.freeze; + // eslint-disable-next-line es/no-object-seal -- safe + var seal = $Object$3.seal; + + var FROZEN = {}; + var SEALED = {}; var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1; var InternalWeakMap; @@ -9655,50 +9996,74 @@ var doric = (function (exports) { // `WeakMap` constructor // https://tc39.es/ecma262/#sec-weakmap-constructor var $WeakMap = collection('WeakMap', wrapper, collectionWeak); + var WeakMapPrototype$1 = $WeakMap.prototype; + var nativeSet = functionUncurryThis(WeakMapPrototype$1.set); + + // Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them + var hasMSEdgeFreezingBug = function () { + return freezing && fails(function () { + var frozenArray = freeze$2([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen$2(frozenArray); + }); + }; // IE11 WeakMap frozen keys fix // We can't use feature detection because it crash some old IE builds // https://github.com/zloirock/core-js/issues/485 - if (nativeWeakMap && IS_IE11) { + if (weakMapBasicDetection) { if (IS_IE11) { InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); internalMetadata.enable(); - var WeakMapPrototype = $WeakMap.prototype; - var nativeDelete = functionUncurryThis(WeakMapPrototype['delete']); - var nativeHas = functionUncurryThis(WeakMapPrototype.has); - var nativeGet = functionUncurryThis(WeakMapPrototype.get); - var nativeSet = functionUncurryThis(WeakMapPrototype.set); - defineBuiltIns(WeakMapPrototype, { + var nativeDelete = functionUncurryThis(WeakMapPrototype$1['delete']); + var nativeHas$1 = functionUncurryThis(WeakMapPrototype$1.has); + var nativeGet = functionUncurryThis(WeakMapPrototype$1.get); + defineBuiltIns(WeakMapPrototype$1, { 'delete': function (key) { - if (isObject(key) && !objectIsExtensible(key)) { + if (isObject(key) && !isExtensible(key)) { var state = enforceInternalState(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)) { + if (isObject(key) && !isExtensible(key)) { var state = enforceInternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } - return nativeHas(this, key) || state.frozen.has(key); - } return nativeHas(this, key); + return nativeHas$1(this, key) || state.frozen.has(key); + } return nativeHas$1(this, key); }, get: function get(key) { - if (isObject(key) && !objectIsExtensible(key)) { + if (isObject(key) && !isExtensible(key)) { var state = enforceInternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } - return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + return nativeHas$1(this, key) ? nativeGet(this, key) : state.frozen.get(key); } return nativeGet(this, key); }, set: function set(key, value) { - if (isObject(key) && !objectIsExtensible(key)) { + if (isObject(key) && !isExtensible(key)) { var state = enforceInternalState(this); if (!state.frozen) { state.frozen = new InternalWeakMap(); } - nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + nativeHas$1(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); } else { nativeSet(this, key, value); } return this; } }); - } + // Chakra Edge frozen keys fix + } else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype$1, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen$2(key)) { arrayIntegrityLevel = FROZEN; } + else if (isSealed(key)) { arrayIntegrityLevel = SEALED; } + } + nativeSet(this, key, value); + if (arrayIntegrityLevel == FROZEN) { freeze$2(key); } + if (arrayIntegrityLevel == SEALED) { seal(key); } + return this; + } + }); + } } // `WeakSet` constructor // https://tc39.es/ecma262/#sec-weakset-constructor @@ -9706,6 +10071,40 @@ var doric = (function (exports) { return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; }, collectionWeak); + var TO_STRING_TAG$7 = wellKnownSymbol('toStringTag'); + var $Error = Error; + + var $SuppressedError = function SuppressedError(error, suppressed, message) { + var isInstance = objectIsPrototypeOf(SuppressedErrorPrototype, this); + var that; + if (objectSetPrototypeOf) { + that = objectSetPrototypeOf($Error(), isInstance ? objectGetPrototypeOf(this) : SuppressedErrorPrototype); + } else { + that = isInstance ? this : objectCreate(SuppressedErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG$7, 'Error'); + } + if (message !== undefined) { createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); } + errorStackInstall(that, $SuppressedError, that.stack, 1); + createNonEnumerableProperty(that, 'error', error); + createNonEnumerableProperty(that, 'suppressed', suppressed); + return that; + }; + + if (objectSetPrototypeOf) { objectSetPrototypeOf($SuppressedError, $Error); } + else { copyConstructorProperties$1($SuppressedError, $Error, { name: true }); } + + var SuppressedErrorPrototype = $SuppressedError.prototype = objectCreate($Error.prototype, { + constructor: createPropertyDescriptor(1, $SuppressedError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'SuppressedError') + }); + + // `SuppressedError` constructor + // https://github.com/tc39/proposal-explicit-resource-management + _export({ global: true, constructor: true, arity: 3 }, { + SuppressedError: $SuppressedError + }); + var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; var ASYNC_ITERATOR$3 = wellKnownSymbol('asyncIterator'); var AsyncIterator = global_1.AsyncIterator; @@ -9734,40 +10133,37 @@ var doric = (function (exports) { var asyncIteratorPrototype = AsyncIteratorPrototype; - var Promise$3 = getBuiltIn('Promise'); + var Promise$5 = getBuiltIn('Promise'); var ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator'; - var setInternalState$a = internalState.set; - var getInternalState$5 = internalState.getterFor(ASYNC_FROM_SYNC_ITERATOR); + var setInternalState$d = internalState.set; + var getInternalState$6 = internalState.getterFor(ASYNC_FROM_SYNC_ITERATOR); var asyncFromSyncIteratorContinuation = function (result, resolve, reject) { var done = result.done; - Promise$3.resolve(result.value).then(function (value) { - resolve({ done: done, value: value }); + Promise$5.resolve(result.value).then(function (value) { + resolve(createIterResultObject(value, done)); }, reject); }; - var AsyncFromSyncIterator = function AsyncIterator(iterator) { - setInternalState$a(this, { - type: ASYNC_FROM_SYNC_ITERATOR, - iterator: anObject(iterator), - next: iterator.next - }); + var AsyncFromSyncIterator = function AsyncIterator(iteratorRecord) { + iteratorRecord.type = ASYNC_FROM_SYNC_ITERATOR; + setInternalState$d(this, iteratorRecord); }; AsyncFromSyncIterator.prototype = defineBuiltIns(objectCreate(asyncIteratorPrototype), { next: function next() { - var state = getInternalState$5(this); - return new Promise$3(function (resolve, reject) { + var state = getInternalState$6(this); + return new Promise$5(function (resolve, reject) { var result = anObject(functionCall(state.next, state.iterator)); asyncFromSyncIteratorContinuation(result, resolve, reject); }); }, 'return': function () { - var iterator = getInternalState$5(this).iterator; - return new Promise$3(function (resolve, reject) { + var iterator = getInternalState$6(this).iterator; + return new Promise$5(function (resolve, reject) { var $return = getMethod(iterator, 'return'); - if ($return === undefined) { return resolve({ done: true, value: undefined }); } + if ($return === undefined) { return resolve(createIterResultObject(undefined, true)); } var result = anObject(functionCall($return, iterator)); asyncFromSyncIteratorContinuation(result, resolve, reject); }); @@ -9776,17 +10172,6 @@ var doric = (function (exports) { var asyncFromSyncIterator = AsyncFromSyncIterator; - var ASYNC_ITERATOR$2 = wellKnownSymbol('asyncIterator'); - - var getAsyncIterator = function (it, usingIterator) { - var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR$2) : usingIterator; - return method ? anObject(functionCall(method, it)) : new asyncFromSyncIterator(getIterator(it)); - }; - - var entryVirtual = function (CONSTRUCTOR) { - return global_1[CONSTRUCTOR].prototype; - }; - var getIteratorDirect = function (obj) { return { iterator: obj, @@ -9794,6 +10179,13 @@ var doric = (function (exports) { }; }; + var ASYNC_ITERATOR$2 = wellKnownSymbol('asyncIterator'); + + var getAsyncIterator = function (it, usingIterator) { + var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR$2) : usingIterator; + return method ? anObject(functionCall(method, it)) : new asyncFromSyncIterator(getIteratorDirect(getIterator(it))); + }; + var asyncIteratorClose = function (iterator, method, argument, reject) { try { var returnMethod = getMethod(iterator, 'return'); @@ -9819,6 +10211,7 @@ var doric = (function (exports) { + var createMethod = function (TYPE) { var IS_TO_ARRAY = TYPE == 0; var IS_FOR_EACH = TYPE == 1; @@ -9829,7 +10222,7 @@ var doric = (function (exports) { var Promise = getBuiltIn('Promise'); var iterator = record.iterator; var next = record.next; - var index = 0; + var counter = 0; var MAPPING = fn !== undefined; if (MAPPING || !IS_TO_ARRAY) { aCallable(fn); } @@ -9840,36 +10233,41 @@ var doric = (function (exports) { var loop = function () { try { - if (IS_TO_ARRAY && MAPPING) { try { - doesNotExceedSafeInteger(index); + if (MAPPING) { try { + doesNotExceedSafeInteger(counter); } catch (error5) { ifAbruptCloseAsyncIterator(error5); } } Promise.resolve(anObject(functionCall(next, iterator))).then(function (step) { try { if (anObject(step).done) { if (IS_TO_ARRAY) { - target.length = index; + target.length = counter; resolve(target); } else { resolve(IS_SOME ? false : IS_EVERY || undefined); } } else { var value = step.value; try { if (MAPPING) { - Promise.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function (result) { + var result = fn(value, counter); + + var handler = function ($result) { if (IS_FOR_EACH) { loop(); } else if (IS_EVERY) { - result ? loop() : asyncIteratorClose(iterator, resolve, false, reject); + $result ? loop() : asyncIteratorClose(iterator, resolve, false, reject); } else if (IS_TO_ARRAY) { try { - target[index++] = result; + target[counter++] = $result; loop(); } catch (error4) { ifAbruptCloseAsyncIterator(error4); } } else { - result ? asyncIteratorClose(iterator, resolve, IS_SOME || value, reject) : loop(); + $result ? asyncIteratorClose(iterator, resolve, IS_SOME || value, reject) : loop(); } - }, ifAbruptCloseAsyncIterator); + }; + + if (isObject(result)) { Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); } + else { handler(result); } } else { - target[index++] = value; + target[counter++] = value; loop(); } } catch (error3) { ifAbruptCloseAsyncIterator(error3); } @@ -9895,7 +10293,20 @@ var doric = (function (exports) { var toArray = asyncIteratorIteration.toArray; var ASYNC_ITERATOR$1 = wellKnownSymbol('asyncIterator'); - var arrayIterator = entryVirtual('Array').values; + var arrayIterator = functionUncurryThis(entryVirtual('Array').values); + var arrayIteratorNext = functionUncurryThis(arrayIterator([]).next); + + var safeArrayIterator = function () { + return new SafeArrayIterator(this); + }; + + var SafeArrayIterator = function (O) { + this.iterator = arrayIterator(O); + }; + + SafeArrayIterator.prototype.next = function () { + return arrayIteratorNext(this.iterator); + }; // `Array.fromAsync` method implementation // https://github.com/tc39/proposal-array-from-async @@ -9908,18 +10319,18 @@ var doric = (function (exports) { var O = toObject(asyncItems); if (mapfn !== undefined) { mapfn = functionBindContext(mapfn, thisArg); } var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR$1); - var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || arrayIterator; + var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || safeArrayIterator; var A = isConstructor(C) ? new C() : []; var iterator = usingAsyncIterator ? getAsyncIterator(O, usingAsyncIterator) - : new asyncFromSyncIterator(getIterator(O, usingSyncIterator)); + : new asyncFromSyncIterator(getIteratorDirect(getIterator(O, usingSyncIterator))); resolve(toArray(iterator, mapfn, A)); }); }; // `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 }); @@ -9951,8 +10362,8 @@ var doric = (function (exports) { addToUnscopables('filterReject'); - var $Array$4 = Array; - var push$c = functionUncurryThis([].push); + var $Array$2 = Array; + var push$f = functionUncurryThis([].push); var arrayGroup = function ($this, callbackfn, that, specificConstructor) { var O = toObject($this); @@ -9967,13 +10378,13 @@ 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$f(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; @@ -10008,12 +10419,24 @@ var doric = (function (exports) { 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); + // eslint-disable-next-line es/no-map -- safe + var MapPrototype$1 = Map.prototype; + + var mapHelpers = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: functionUncurryThis(MapPrototype$1.set), + get: functionUncurryThis(MapPrototype$1.get), + has: functionUncurryThis(MapPrototype$1.has), + remove: functionUncurryThis(MapPrototype$1['delete']), + proto: MapPrototype$1 + }; + + var Map$b = mapHelpers.Map; + var mapGet$1 = mapHelpers.get; + var mapHas$2 = mapHelpers.has; + var mapSet$2 = mapHelpers.set; + var push$e = functionUncurryThis([].push); // `Array.prototype.groupToMap` method // https://github.com/tc39/proposal-array-grouping @@ -10021,14 +10444,14 @@ var doric = (function (exports) { var O = toObject(this); var self = indexedObject(O); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var map = new Map$5(); + var map = new Map$b(); 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); } + if (mapHas$2(map, key)) { push$e(mapGet$1(map, key), value); } else { mapSet$2(map, key, [value]); } } return map; }; @@ -10039,6 +10462,7 @@ var doric = (function (exports) { + // `Array.prototype.groupByToMap` method // https://github.com/tc39/proposal-array-grouping // https://bugs.webkit.org/show_bug.cgi?id=236541 @@ -10050,23 +10474,23 @@ var doric = (function (exports) { // `Array.prototype.groupToMap` method // https://github.com/tc39/proposal-array-grouping - _export({ target: 'Array', proto: true }, { + _export({ target: 'Array', proto: true, forced: isPure }, { groupToMap: arrayGroupToMap }); addToUnscopables('groupToMap'); - // eslint-disable-next-line es-x/no-object-isfrozen -- safe - var isFrozen = Object.isFrozen; + // eslint-disable-next-line es/no-object-isfrozen -- safe + var isFrozen$1 = Object.isFrozen; var isFrozenStringArray = function (array, allowUndefined) { - if (!isFrozen || !isArray(array) || !isFrozen(array)) { return false; } + if (!isFrozen$1 || !isArray$1(array) || !isFrozen$1(array)) { return false; } var index = 0; var length = array.length; var element; while (index < length) { element = array[index++]; - if (!(typeof element == 'string' || (allowUndefined && typeof element == 'undefined'))) { + if (!(typeof element == 'string' || (allowUndefined && element === undefined))) { return false; } } return length !== 0; @@ -10131,97 +10555,40 @@ 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 iterateSimple = function (iterator, fn, $next) { + var next = $next || iterator.next; + var step, result; + while (!(step = functionCall(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) { return result; } + } }; - var $Array$3 = Array; + var Map$a = mapHelpers.Map; + var MapPrototype = mapHelpers.proto; + var forEach$2 = functionUncurryThis(MapPrototype.forEach); + var entries = functionUncurryThis(MapPrototype.entries); + var next$1 = entries(new Map$a()).next; - // `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); - } - }); + var mapIterate = function (map, fn, interruptible) { + return interruptible ? iterateSimple(entries(map), function (entry) { + return fn(entry[1], entry[0]); + }, next$1) : forEach$2(map, fn); + }; - 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 $Array$1 = Array; - var max$2 = Math.max; - var min$2 = Math.min; - - // `Array.prototype.toSpliced` method - // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced - _export({ target: 'Array', proto: true }, { - toSpliced: function toSpliced(start, deleteCount /* , ...items */) { - var arguments$1 = arguments; - - var O = toIndexedObject(this); - var len = lengthOfArrayLike(O); - var actualStart = toAbsoluteIndex(start, len); - var argumentsLength = arguments.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$2(max$2(toIntegerOrInfinity(deleteCount), 0), len - actualStart); - } - newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); - A = $Array$1(newLen); - - for (; k < actualStart; k++) { A[k] = O[k]; } - for (; k < actualStart + insertCount; k++) { A[k] = arguments$1[k - actualStart + 2]; } - for (; k < newLen; k++) { A[k] = O[k + actualDeleteCount - insertCount]; } - - return A; - } - }); - - 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$9 = mapHelpers.Map; + var mapHas$1 = mapHelpers.has; + var mapSet$1 = mapHelpers.set; + var push$d = functionUncurryThis([].push); // `Array.prototype.uniqueBy` method // https://github.com/tc39/proposal-array-unique var arrayUniqueBy$2 = function uniqueBy(resolver) { var that = toObject(this); var length = lengthOfArrayLike(that); - var result = arraySpeciesCreate(that, 0); - var map = new Map$4(); - var resolverFunction = resolver != null ? aCallable(resolver) : function (value) { + var result = []; + var map = new Map$9(); + var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) { return value; }; var index, item, key; @@ -10230,8 +10597,8 @@ var doric = (function (exports) { key = resolverFunction(item); if (!mapHas$1(map, key)) { mapSet$1(map, key, item); } } - mapForEach(map, function (value) { - push$a(result, value); + mapIterate(map, function (value) { + push$d(result, value); }); return result; }; @@ -10244,41 +10611,257 @@ var doric = (function (exports) { addToUnscopables('uniqueBy'); - var $RangeError$4 = RangeError; + var $TypeError$f = TypeError; - // 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$4('Incorrect index'); } - var A = new C(len); - var k = 0; - for (; k < len; k++) { A[k] = k === actualIndex ? value : O[k]; } - return A; + // Includes + // - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + // - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. + var arrayBufferByteLength = functionUncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classofRaw(O) != 'ArrayBuffer') { throw $TypeError$f('ArrayBuffer expected'); } + return O.byteLength; }; - var $Array = Array; + var slice$4 = functionUncurryThis(ArrayBuffer.prototype.slice); - // `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); + var arrayBufferIsDetached = function (O) { + if (arrayBufferByteLength(O) !== 0) { return false; } + try { + slice$4(O, 0, 0); + return false; + } catch (error) { + return true; + } + }; + + var ArrayBufferPrototype$1 = ArrayBuffer.prototype; + + if (descriptors && !('detached' in ArrayBufferPrototype$1)) { + defineBuiltInAccessor(ArrayBufferPrototype$1, 'detached', { + configurable: true, + get: function detached() { + return arrayBufferIsDetached(this); + } + }); + } + + var structuredClone$1 = global_1.structuredClone; + + var structuredCloneProperTransfer = !!structuredClone$1 && !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 = structuredClone$1(buffer, { transfer: [buffer] }); + return buffer.byteLength != 0 || clone.byteLength != 8; + }); + + var TypeError$4 = global_1.TypeError; + var structuredClone = global_1.structuredClone; + var ArrayBuffer$1 = global_1.ArrayBuffer; + var DataView$1 = global_1.DataView; + var min$3 = Math.min; + var ArrayBufferPrototype = ArrayBuffer$1.prototype; + var DataViewPrototype = DataView$1.prototype; + var slice$3 = functionUncurryThis(ArrayBufferPrototype.slice); + var isResizable = functionUncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); + var maxByteLength = functionUncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); + var getInt8 = functionUncurryThis(DataViewPrototype.getInt8); + var setInt8 = functionUncurryThis(DataViewPrototype.setInt8); + + var arrayBufferTransfer = structuredCloneProperTransfer && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : min$3(toIndex(newLength), byteLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + if (arrayBufferIsDetached(arrayBuffer)) { throw TypeError$4('ArrayBuffer is detached'); } + var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength == newByteLength && (preserveResizability || fixedLength)) { return newBuffer; } + if (!preserveResizability || fixedLength) { return slice$3(newBuffer, 0, newByteLength); } + var newNewBuffer = new ArrayBuffer$1(newByteLength, maxByteLength && { maxByteLength: maxByteLength(newBuffer) }); + var a = new DataView$1(newBuffer); + var b = new DataView$1(newNewBuffer); + for (var i = 0; i < newByteLength; i++) { setInt8(b, i, getInt8(a, i)); } + return newNewBuffer; + }; + + // `ArrayBuffer.prototype.transfer` method + // https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer + if (arrayBufferTransfer) { _export({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return arrayBufferTransfer(this, arguments.length ? arguments[0] : undefined, true); + } + }); } + + // `ArrayBuffer.prototype.transferToFixedLength` method + // https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength + if (arrayBufferTransfer) { _export({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return arrayBufferTransfer(this, arguments.length ? arguments[0] : undefined, false); + } + }); } + + var ASYNC_DISPOSE$2 = wellKnownSymbol('asyncDispose'); + var DISPOSE$2 = wellKnownSymbol('dispose'); + + var push$c = functionUncurryThis([].push); + + var getDisposeMethod = function (V, hint) { + if (hint == 'async-dispose') { + return getMethod(V, ASYNC_DISPOSE$2) || getMethod(V, DISPOSE$2); + } return getMethod(V, DISPOSE$2); + }; + + // `CreateDisposableResource` abstract operation + // https://tc39.es/proposal-explicit-resource-management/#sec-createdisposableresource + var createDisposableResource = function (V, hint, method) { + return functionBindContext(method || getDisposeMethod(V, hint), V); + }; + + // `AddDisposableResource` abstract operation + // https://tc39.es/proposal-explicit-resource-management/#sec-adddisposableresource-disposable-v-hint-disposemethod + var addDisposableResource = function (disposable, V, hint, method) { + var resource; + if (!method) { + if (isNullOrUndefined(V)) { return; } + resource = createDisposableResource(V, hint); + } else if (isNullOrUndefined(V)) { + resource = createDisposableResource(undefined, hint, method); + } else { + resource = createDisposableResource(anObject(V), hint, method); + } + + push$c(disposable.stack, resource); + }; + + // https://github.com/tc39/proposal-async-explicit-resource-management + + + + + + + + + + + + + var Promise$4 = getBuiltIn('Promise'); + var SuppressedError$1 = getBuiltIn('SuppressedError'); + var $ReferenceError$1 = ReferenceError; + + var ASYNC_DISPOSE$1 = wellKnownSymbol('asyncDispose'); + var TO_STRING_TAG$6 = wellKnownSymbol('toStringTag'); + + var ASYNC_DISPOSABLE_STACK = 'AsyncDisposableStack'; + var setInternalState$c = internalState.set; + var getAsyncDisposableStackInternalState = internalState.getterFor(ASYNC_DISPOSABLE_STACK); + + var HINT$1 = 'async-dispose'; + var DISPOSED$1 = 'disposed'; + var PENDING$1 = 'pending'; + + var ALREADY_DISPOSED$1 = ASYNC_DISPOSABLE_STACK + ' already disposed'; + + var $AsyncDisposableStack = function AsyncDisposableStack() { + setInternalState$c(anInstance(this, AsyncDisposableStackPrototype), { + type: ASYNC_DISPOSABLE_STACK, + state: PENDING$1, + stack: [] + }); + + if (!descriptors) { this.disposed = false; } + }; + + var AsyncDisposableStackPrototype = $AsyncDisposableStack.prototype; + + defineBuiltIns(AsyncDisposableStackPrototype, { + disposeAsync: function disposeAsync() { + var asyncDisposableStack = this; + return new Promise$4(function (resolve, reject) { + var internalState = getAsyncDisposableStackInternalState(asyncDisposableStack); + if (internalState.state == DISPOSED$1) { return resolve(undefined); } + internalState.state = DISPOSED$1; + if (!descriptors) { asyncDisposableStack.disposed = true; } + var stack = internalState.stack; + var i = stack.length; + var thrown = false; + var suppressed; + + var handleError = function (result) { + if (thrown) { + suppressed = new SuppressedError$1(result, suppressed); + } else { + thrown = true; + suppressed = result; + } + + loop(); + }; + + var loop = function () { + if (i) { + var disposeMethod = stack[--i]; + stack[i] = null; + try { + Promise$4.resolve(disposeMethod()).then(loop, handleError); + } catch (error) { + handleError(error); + } + } else { + internalState.stack = null; + thrown ? reject(suppressed) : resolve(undefined); + } + }; + + loop(); + }); + }, + use: function use(value) { + var internalState = getAsyncDisposableStackInternalState(this); + if (internalState.state == DISPOSED$1) { throw $ReferenceError$1(ALREADY_DISPOSED$1); } + addDisposableResource(internalState, value, HINT$1); + return value; + }, + adopt: function adopt(value, onDispose) { + var internalState = getAsyncDisposableStackInternalState(this); + if (internalState.state == DISPOSED$1) { throw $ReferenceError$1(ALREADY_DISPOSED$1); } + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT$1, function () { + onDispose(value); + }); + return value; + }, + defer: function defer(onDispose) { + var internalState = getAsyncDisposableStackInternalState(this); + if (internalState.state == DISPOSED$1) { throw $ReferenceError$1(ALREADY_DISPOSED$1); } + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT$1, onDispose); + }, + move: function move() { + var internalState = getAsyncDisposableStackInternalState(this); + if (internalState.state == DISPOSED$1) { throw $ReferenceError$1(ALREADY_DISPOSED$1); } + var newAsyncDisposableStack = new $AsyncDisposableStack(); + getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack; + internalState.stack = []; + return newAsyncDisposableStack; } }); - // https://github.com/tc39/proposal-iterator-helpers + if (descriptors) { defineBuiltInAccessor(AsyncDisposableStackPrototype, 'disposed', { + configurable: true, + get: function disposed() { + return getAsyncDisposableStackInternalState(this).state == DISPOSED$1; + } + }); } + defineBuiltIn(AsyncDisposableStackPrototype, ASYNC_DISPOSE$1, AsyncDisposableStackPrototype.disposeAsync, { name: 'disposeAsync' }); + defineBuiltIn(AsyncDisposableStackPrototype, TO_STRING_TAG$6, ASYNC_DISPOSABLE_STACK, { nonWritable: true }); + _export({ global: true, constructor: true, forced: true }, { + AsyncDisposableStack: $AsyncDisposableStack + }); - - - - - - var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag'); + var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag'); var AsyncIteratorConstructor = function AsyncIterator() { anInstance(this, asyncIteratorPrototype); @@ -10286,31 +10869,30 @@ var doric = (function (exports) { AsyncIteratorConstructor.prototype = asyncIteratorPrototype; - if (!hasOwnProperty_1(asyncIteratorPrototype, TO_STRING_TAG$4)) { - createNonEnumerableProperty(asyncIteratorPrototype, TO_STRING_TAG$4, 'AsyncIterator'); + if (!hasOwnProperty_1(asyncIteratorPrototype, TO_STRING_TAG$5)) { + createNonEnumerableProperty(asyncIteratorPrototype, TO_STRING_TAG$5, 'AsyncIterator'); } if (!hasOwnProperty_1(asyncIteratorPrototype, 'constructor') || asyncIteratorPrototype.constructor === Object) { createNonEnumerableProperty(asyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); } + // `AsyncIterator` constructor + // https://github.com/tc39/proposal-async-iterator-helpers _export({ global: true, constructor: true, forced: isPure }, { AsyncIterator: AsyncIteratorConstructor }); - var Promise$2 = getBuiltIn('Promise'); + var Promise$3 = getBuiltIn('Promise'); + var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag'); var ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper'; var WRAP_FOR_VALID_ASYNC_ITERATOR = 'WrapForValidAsyncIterator'; - var setInternalState$9 = internalState.set; - - var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag'); + var setInternalState$b = internalState.set; var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) { var IS_GENERATOR = !IS_ITERATOR; - var ASYNC_ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; - - var getInternalState = internalState.getterFor(ASYNC_ITERATOR_PROXY); + var getInternalState = internalState.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER); var getStateOrEarlyExit = function (that) { var stateCompletion = perform(function () { @@ -10321,90 +10903,70 @@ var doric = (function (exports) { var state = stateCompletion.value; if (stateError || (IS_GENERATOR && state.done)) { - return { exit: true, value: stateError ? Promise$2.reject(state) : Promise$2.resolve({ done: true, value: undefined }) }; + return { exit: true, value: stateError ? Promise$3.reject(state) : Promise$3.resolve(createIterResultObject(undefined, true)) }; } return { exit: false, value: state }; }; - var enqueue = function (state, handler) { - var task = function () { - var promise = handler(); - if (IS_GENERATOR) { - state.awaiting = promise; - var clean = function () { - if (state.awaiting === promise) { state.awaiting = null; } - }; - promise.then(clean, clean); - } return promise; - }; - - return state.awaiting ? state.awaiting = state.awaiting.then(task, task) : task(); - }; - - var AsyncIteratorProxyPrototype = defineBuiltIns(objectCreate(asyncIteratorPrototype), { + return defineBuiltIns(objectCreate(asyncIteratorPrototype), { next: function next() { var stateCompletion = getStateOrEarlyExit(this); - var exit = stateCompletion.exit; var state = stateCompletion.value; - - return exit ? state : enqueue(state, function () { - var handlerCompletion = perform(function () { - return anObject(state.nextHandler(Promise$2)); - }); - var handlerError = handlerCompletion.error; - var value = handlerCompletion.value; - if (handlerError) { state.done = true; } - return handlerError ? Promise$2.reject(value) : Promise$2.resolve(value); + if (stateCompletion.exit) { return state; } + var handlerCompletion = perform(function () { + return anObject(state.nextHandler(Promise$3)); }); + var handlerError = handlerCompletion.error; + var value = handlerCompletion.value; + if (handlerError) { state.done = true; } + return handlerError ? Promise$3.reject(value) : Promise$3.resolve(value); }, 'return': function () { var stateCompletion = getStateOrEarlyExit(this); - var exit = stateCompletion.exit; var state = stateCompletion.value; - - return exit ? state : enqueue(state, function () { - return new Promise$2(function (resolve, reject) { - var iterator = state.iterator; - var innerIterator = state.innerIterator; - state.done = true; - if (innerIterator) { try { - iteratorClose(innerIterator, 'return'); - } catch (error) { - return iteratorClose(iterator, 'throw', error); - } } - var $$return = getMethod(iterator, 'return'); - if ($$return === undefined) { return resolve({ done: true, value: undefined }); } - Promise$2.resolve(functionCall($$return, iterator)).then(function (result) { - anObject(result); - resolve({ done: true, value: undefined }); - }, reject); - }); + if (stateCompletion.exit) { return state; } + state.done = true; + var iterator = state.iterator; + var returnMethod, result; + var completion = perform(function () { + if (state.inner) { try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } } + return getMethod(iterator, 'return'); + }); + returnMethod = result = completion.value; + if (completion.error) { return Promise$3.reject(result); } + if (returnMethod === undefined) { return Promise$3.resolve(createIterResultObject(undefined, true)); } + completion = perform(function () { + return functionCall(returnMethod, iterator); + }); + result = completion.value; + if (completion.error) { return Promise$3.reject(result); } + return IS_ITERATOR ? Promise$3.resolve(result) : Promise$3.resolve(result).then(function (resolved) { + anObject(resolved); + return createIterResultObject(undefined, true); }); } }); - - if (IS_GENERATOR) { - createNonEnumerableProperty(AsyncIteratorProxyPrototype, TO_STRING_TAG$3, 'Async Iterator Helper'); - } - - return AsyncIteratorProxyPrototype; }; - var AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false); var WrapForValidAsyncIteratorPrototype = createAsyncIteratorProxyPrototype(true); + var AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false); + + createNonEnumerableProperty(AsyncIteratorHelperPrototype, TO_STRING_TAG$4, 'Async Iterator Helper'); var asyncIteratorCreateProxy = function (nextHandler, IS_ITERATOR) { - var ASYNC_ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; - var AsyncIteratorProxy = function AsyncIterator(record, state) { if (state) { state.iterator = record.iterator; state.next = record.next; } else { state = record; } - state.type = ASYNC_ITERATOR_PROXY; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; state.nextHandler = nextHandler; + state.counter = 0; state.done = false; - state.awaiting = null; - setInternalState$9(this, state); + setInternalState$b(this, state); }; AsyncIteratorProxy.prototype = IS_ITERATOR ? WrapForValidAsyncIteratorPrototype : AsyncIteratorHelperPrototype; @@ -10412,318 +10974,8 @@ var doric = (function (exports) { return AsyncIteratorProxy; }; - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var AsyncIteratorProxy$5 = asyncIteratorCreateProxy(function (Promise) { - var state = this; - var iterator = state.iterator; - - return Promise.resolve(anObject(functionCall(state.next, iterator))).then(function (step) { - if (anObject(step).done) { - state.done = true; - return { done: true, value: undefined }; - } - return { done: false, value: [state.index++, step.value] }; - }).then(null, function (error) { - state.done = true; - throw error; - }); - }); - - var asyncIteratorIndexed = function indexed() { - return new AsyncIteratorProxy$5(getIteratorDirect(this), { - index: 0 - }); - }; - - // TODO: Remove from `core-js@4` - // https://github.com/tc39/proposal-iterator-helpers - - - - _export({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, { - asIndexedPairs: asyncIteratorIndexed - }); - - var $RangeError$3 = RangeError; - - var notANan = function (it) { - // eslint-disable-next-line no-self-compare -- NaN check - if (it === it) { return it; } - throw $RangeError$3('NaN is not allowed'); - }; - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - var AsyncIteratorProxy$4 = asyncIteratorCreateProxy(function (Promise) { var state = this; - - return new Promise(function (resolve, reject) { - var doneAndReject = function (error) { - state.done = true; - reject(error); - }; - - var loop = function () { - try { - Promise.resolve(anObject(functionCall(state.next, state.iterator))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else if (state.remaining) { - state.remaining--; - loop(); - } else { resolve({ done: false, value: step.value }); } - } catch (err) { doneAndReject(err); } - }, doneAndReject); - } catch (error) { doneAndReject(error); } - }; - - loop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - drop: function drop(limit) { - return new AsyncIteratorProxy$4(getIteratorDirect(this), { - remaining: toPositiveInteger(notANan(+limit)) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $every = asyncIteratorIteration.every; - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - every: function every(fn) { - return $every(this, fn); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var AsyncIteratorProxy$3 = asyncIteratorCreateProxy(function (Promise) { - var state = this; - var iterator = state.iterator; - var filterer = state.filterer; - - return new Promise(function (resolve, reject) { - var doneAndReject = function (error) { - state.done = true; - reject(error); - }; - - var ifAbruptCloseAsyncIterator = function (error) { - asyncIteratorClose(iterator, doneAndReject, error, doneAndReject); - }; - - var loop = function () { - try { - Promise.resolve(anObject(functionCall(state.next, iterator))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else { - var value = step.value; - try { - Promise.resolve(filterer(value)).then(function (selected) { - selected ? resolve({ done: false, value: value }) : loop(); - }, ifAbruptCloseAsyncIterator); - } catch (error3) { ifAbruptCloseAsyncIterator(error3); } - } - } catch (error2) { doneAndReject(error2); } - }, doneAndReject); - } catch (error) { doneAndReject(error); } - }; - - loop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - filter: function filter(filterer) { - return new AsyncIteratorProxy$3(getIteratorDirect(this), { - filterer: aCallable(filterer) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $find = asyncIteratorIteration.find; - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - find: function find(fn) { - return $find(this, fn); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - - var AsyncIteratorProxy$2 = asyncIteratorCreateProxy(function (Promise) { - var state = this; - var iterator = state.iterator; - var mapper = state.mapper; - var innerIterator; - - return new Promise(function (resolve, reject) { - var doneAndReject = function (error) { - state.done = true; - reject(error); - }; - - var ifAbruptCloseAsyncIterator = function (error) { - asyncIteratorClose(iterator, doneAndReject, error, doneAndReject); - }; - - var outerLoop = function () { - try { - Promise.resolve(anObject(functionCall(state.next, iterator))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else { - var value = step.value; - try { - Promise.resolve(mapper(value)).then(function (mapped) { - try { - state.innerIterator = innerIterator = getAsyncIterator(mapped); - state.innerNext = aCallable(innerIterator.next); - innerLoop(); - } catch (error4) { ifAbruptCloseAsyncIterator(error4); } - }, ifAbruptCloseAsyncIterator); - } catch (error3) { ifAbruptCloseAsyncIterator(error3); } - } - } catch (error2) { doneAndReject(error2); } - }, doneAndReject); - } catch (error) { doneAndReject(error); } - }; - - var innerLoop = function () { - if (innerIterator = state.innerIterator) { - try { - Promise.resolve(anObject(functionCall(state.innerNext, innerIterator))).then(function (result) { - try { - if (anObject(result).done) { - state.innerIterator = state.innerNext = null; - outerLoop(); - } else { resolve({ done: false, value: result.value }); } - } catch (error1) { ifAbruptCloseAsyncIterator(error1); } - }, ifAbruptCloseAsyncIterator); - } catch (error) { ifAbruptCloseAsyncIterator(error); } - } else { outerLoop(); } - }; - - innerLoop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - flatMap: function flatMap(mapper) { - return new AsyncIteratorProxy$2(getIteratorDirect(this), { - mapper: aCallable(mapper), - innerIterator: null, - innerNext: null - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $forEach = asyncIteratorIteration.forEach; - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - forEach: function forEach(fn) { - return $forEach(this, fn); - } - }); - - var asyncIteratorWrap = asyncIteratorCreateProxy(function () { - return functionCall(this.next, this.iterator); - }, true); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - - - - - - var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); - - _export({ target: 'AsyncIterator', stat: true, forced: true }, { - from: function from(O) { - var object = toObject(O); - var usingIterator = getMethod(object, ASYNC_ITERATOR); - var iterator; - if (usingIterator) { - iterator = getAsyncIterator(object, usingIterator); - if (objectIsPrototypeOf(asyncIteratorPrototype, iterator)) { return iterator; } - } - if (iterator === undefined) { - usingIterator = getIteratorMethod(object); - if (usingIterator) { iterator = new asyncFromSyncIterator(getIterator(object, usingIterator)); } - } - return new asyncIteratorWrap(getIteratorDirect(iterator !== undefined ? iterator : object)); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - indexed: asyncIteratorIndexed - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var AsyncIteratorProxy$1 = asyncIteratorCreateProxy(function (Promise) { - var state = this; var iterator = state.iterator; var mapper = state.mapper; @@ -10741,13 +10993,18 @@ var doric = (function (exports) { try { if (anObject(step).done) { state.done = true; - resolve({ done: true, value: undefined }); + resolve(createIterResultObject(undefined, true)); } else { var value = step.value; try { - Promise.resolve(mapper(value)).then(function (mapped) { - resolve({ done: false, value: mapped }); - }, ifAbruptCloseAsyncIterator); + var result = mapper(value, state.counter++); + + var handler = function (mapped) { + resolve(createIterResultObject(mapped, false)); + }; + + if (isObject(result)) { Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); } + else { handler(result); } } catch (error2) { ifAbruptCloseAsyncIterator(error2); } } } catch (error) { doneAndReject(error); } @@ -10755,33 +11012,330 @@ var doric = (function (exports) { }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - map: function map(mapper) { - return new AsyncIteratorProxy$1(getIteratorDirect(this), { - mapper: aCallable(mapper) + // `AsyncIterator.prototype.map` method + // https://github.com/tc39/proposal-iterator-helpers + var asyncIteratorMap = function map(mapper) { + return new AsyncIteratorProxy$4(getIteratorDirect(this), { + mapper: aCallable(mapper) + }); + }; + + var callback$1 = function (value, counter) { + return [counter, value]; + }; + + // `AsyncIterator.prototype.indexed` method + // https://github.com/tc39/proposal-iterator-helpers + var asyncIteratorIndexed = function indexed() { + return functionCall(asyncIteratorMap, this, callback$1); + }; + + // TODO: Remove from `core-js@4` + + + + // `AsyncIterator.prototype.asIndexedPairs` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, { + asIndexedPairs: asyncIteratorIndexed + }); + + // https://github.com/tc39/proposal-async-explicit-resource-management + + + + + + + + + var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose'); + var Promise$2 = getBuiltIn('Promise'); + + if (!hasOwnProperty_1(asyncIteratorPrototype, ASYNC_DISPOSE)) { + defineBuiltIn(asyncIteratorPrototype, ASYNC_DISPOSE, function () { + var O = this; + return new Promise$2(function (resolve, reject) { + var $return = getMethod(O, 'return'); + if ($return) { + Promise$2.resolve(functionCall($return, O)).then(function () { + resolve(undefined); + }, reject); + } else { resolve(undefined); } + }); + }); + } + + var $RangeError$3 = RangeError; + + var notANan = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) { return it; } + throw $RangeError$3('NaN is not allowed'); + }; + + var AsyncIteratorProxy$3 = asyncIteratorCreateProxy(function (Promise) { + var state = this; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var loop = function () { + try { + Promise.resolve(anObject(functionCall(state.next, state.iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else if (state.remaining) { + state.remaining--; + loop(); + } else { resolve(createIterResultObject(step.value, false)); } + } catch (err) { doneAndReject(err); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + loop(); + }); + }); + + // `AsyncIterator.prototype.drop` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + drop: function drop(limit) { + return new AsyncIteratorProxy$3(getIteratorDirect(this), { + remaining: toPositiveInteger(notANan(+limit)) }); } }); + var $every = asyncIteratorIteration.every; + + // `AsyncIterator.prototype.every` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + every: function every(predicate) { + return $every(this, predicate); + } + }); + + var AsyncIteratorProxy$2 = asyncIteratorCreateProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var predicate = state.predicate; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var ifAbruptCloseAsyncIterator = function (error) { + asyncIteratorClose(iterator, doneAndReject, error, doneAndReject); + }; + + var loop = function () { + try { + Promise.resolve(anObject(functionCall(state.next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else { + var value = step.value; + try { + var result = predicate(value, state.counter++); + + var handler = function (selected) { + selected ? resolve(createIterResultObject(value, false)) : loop(); + }; + + if (isObject(result)) { Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); } + else { handler(result); } + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + } catch (error2) { doneAndReject(error2); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + loop(); + }); + }); + + // `AsyncIterator.prototype.filter` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + filter: function filter(predicate) { + return new AsyncIteratorProxy$2(getIteratorDirect(this), { + predicate: aCallable(predicate) + }); + } + }); + + var $find = asyncIteratorIteration.find; + + // `AsyncIterator.prototype.find` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + find: function find(predicate) { + return $find(this, predicate); + } + }); + + var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); + + var getAsyncIteratorFlattenable = function from(obj) { + var object = anObject(obj); + var alreadyAsync = true; + var method = getMethod(object, ASYNC_ITERATOR); + var iterator; + if (!isCallable(method)) { + method = getIteratorMethod(object); + alreadyAsync = false; + } + if (isCallable(method)) { + iterator = functionCall(method, object); + } else { + iterator = object; + alreadyAsync = true; + } + anObject(iterator); + return getIteratorDirect(alreadyAsync ? iterator : new asyncFromSyncIterator(getIteratorDirect(iterator))); + }; + + var AsyncIteratorProxy$1 = asyncIteratorCreateProxy(function (Promise) { + var state = this; + var iterator = state.iterator; + var mapper = state.mapper; + + return new Promise(function (resolve, reject) { + var doneAndReject = function (error) { + state.done = true; + reject(error); + }; + + var ifAbruptCloseAsyncIterator = function (error) { + asyncIteratorClose(iterator, doneAndReject, error, doneAndReject); + }; + + var outerLoop = function () { + try { + Promise.resolve(anObject(functionCall(state.next, iterator))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve(createIterResultObject(undefined, true)); + } else { + var value = step.value; + try { + var result = mapper(value, state.counter++); + + var handler = function (mapped) { + try { + state.inner = getAsyncIteratorFlattenable(mapped); + innerLoop(); + } catch (error4) { ifAbruptCloseAsyncIterator(error4); } + }; + + if (isObject(result)) { Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator); } + else { handler(result); } + } catch (error3) { ifAbruptCloseAsyncIterator(error3); } + } + } catch (error2) { doneAndReject(error2); } + }, doneAndReject); + } catch (error) { doneAndReject(error); } + }; + + var innerLoop = function () { + var inner = state.inner; + if (inner) { + try { + Promise.resolve(anObject(functionCall(inner.next, inner.iterator))).then(function (result) { + try { + if (anObject(result).done) { + state.inner = null; + outerLoop(); + } else { resolve(createIterResultObject(result.value, false)); } + } catch (error1) { ifAbruptCloseAsyncIterator(error1); } + }, ifAbruptCloseAsyncIterator); + } catch (error) { ifAbruptCloseAsyncIterator(error); } + } else { outerLoop(); } + }; + + innerLoop(); + }); + }); + + // `AsyncIterator.prototype.flaMap` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + flatMap: function flatMap(mapper) { + return new AsyncIteratorProxy$1(getIteratorDirect(this), { + mapper: aCallable(mapper), + inner: null + }); + } + }); + + var $forEach = asyncIteratorIteration.forEach; + + // `AsyncIterator.prototype.forEach` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + forEach: function forEach(fn) { + return $forEach(this, fn); + } + }); + + var asyncIteratorWrap = asyncIteratorCreateProxy(function () { + return functionCall(this.next, this.iterator); + }, true); + + // `AsyncIterator.from` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', stat: true }, { + from: function from(O) { + var iteratorRecord = getAsyncIteratorFlattenable(typeof O == 'string' ? toObject(O) : O); + return objectIsPrototypeOf(asyncIteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new asyncIteratorWrap(iteratorRecord); + } + }); + + // TODO: Remove from `core-js@4` + + + + // `AsyncIterator.prototype.indexed` method // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + indexed: asyncIteratorIndexed + }); - - - - - - + // `AsyncIterator.prototype.map` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + map: asyncIteratorMap + }); var Promise$1 = getBuiltIn('Promise'); - var $TypeError$b = TypeError; + var $TypeError$e = TypeError; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + // `AsyncIterator.prototype.reduce` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { reduce: function reduce(reducer /* , initialValue */) { var record = getIteratorDirect(this); var iterator = record.iterator; var next = record.next; var noInitial = arguments.length < 2; var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; aCallable(reducer); return new Promise$1(function (resolve, reject) { @@ -10794,7 +11348,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$e('Reduce of empty iterator with no initial value')) : resolve(accumulator); } else { var value = step.value; if (noInitial) { @@ -10802,12 +11356,18 @@ var doric = (function (exports) { accumulator = value; loop(); } else { try { - Promise$1.resolve(reducer(accumulator, value)).then(function (result) { - accumulator = result; + var result = reducer(accumulator, value, counter); + + var handler = function ($result) { + accumulator = $result; loop(); - }, ifAbruptCloseAsyncIterator); + }; + + if (isObject(result)) { Promise$1.resolve(result).then(handler, ifAbruptCloseAsyncIterator); } + else { handler(result); } } catch (error3) { ifAbruptCloseAsyncIterator(error3); } } } + counter++; } catch (error2) { reject(error2); } }, reject); } catch (error) { reject(error); } @@ -10818,32 +11378,23 @@ var doric = (function (exports) { } }); - // https://github.com/tc39/proposal-iterator-helpers - var $some = asyncIteratorIteration.some; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { - some: function some(fn) { - return $some(this, fn); + // `AsyncIterator.prototype.some` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { + some: function some(predicate) { + return $some(this, predicate); } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - var AsyncIteratorProxy = asyncIteratorCreateProxy(function (Promise) { var state = this; var iterator = state.iterator; var returnMethod; if (!state.remaining--) { - var resultDone = { done: true, value: undefined }; + var resultDone = createIterResultObject(undefined, true); state.done = true; returnMethod = iterator['return']; if (returnMethod !== undefined) { @@ -10855,15 +11406,17 @@ var doric = (function (exports) { } return Promise.resolve(functionCall(state.next, iterator)).then(function (step) { if (anObject(step).done) { state.done = true; - return { done: true, value: undefined }; - } return { done: false, value: step.value }; + return createIterResultObject(undefined, true); + } return createIterResultObject(step.value, false); }).then(null, function (error) { state.done = true; throw error; }); }); - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + // `AsyncIterator.prototype.take` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { take: function take(limit) { return new AsyncIteratorProxy(getIteratorDirect(this), { remaining: toPositiveInteger(notANan(+limit)) @@ -10871,11 +11424,11 @@ var doric = (function (exports) { } }); - // https://github.com/tc39/proposal-iterator-helpers - var $toArray = asyncIteratorIteration.toArray; - _export({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { + // `AsyncIterator.prototype.toArray` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'AsyncIterator', proto: true, real: true }, { toArray: function toArray() { return $toArray(this, undefined, []); } @@ -10884,21 +11437,22 @@ var doric = (function (exports) { var defineProperties = objectDefineProperties.f; - var INCORRECT_RANGE = 'Incorrect Number.range arguments'; + var INCORRECT_RANGE = 'Incorrect Iterator.range arguments'; var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator'; - var setInternalState$8 = internalState.set; - var getInternalState$4 = internalState.getterFor(NUMERIC_RANGE_ITERATOR); + var setInternalState$a = internalState.set; + var getInternalState$5 = internalState.getterFor(NUMERIC_RANGE_ITERATOR); var $RangeError$2 = RangeError; - var $TypeError$a = TypeError; + var $TypeError$d = TypeError; - var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) { + var $RangeIterator = iteratorCreateConstructor(function NumericRangeIterator(start, end, option, type, zero, one) { + // TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4` if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) { - throw new $TypeError$a(INCORRECT_RANGE); + throw $TypeError$d(INCORRECT_RANGE); } if (start === Infinity || start === -Infinity) { - throw new $RangeError$2(INCORRECT_RANGE); + throw $RangeError$2(INCORRECT_RANGE); } var ifIncrease = end > start; var inclusiveEnd = false; @@ -10911,20 +11465,20 @@ var doric = (function (exports) { } else if (typeof option == type) { step = option; } else { - throw new $TypeError$a(INCORRECT_RANGE); + throw $TypeError$d(INCORRECT_RANGE); } - if (step == null) { + if (isNullOrUndefined(step)) { step = ifIncrease ? one : -one; } if (typeof step != type) { - throw new $TypeError$a(INCORRECT_RANGE); + throw $TypeError$d(INCORRECT_RANGE); } if (step === Infinity || step === -Infinity || (step === zero && start !== end)) { - throw new $RangeError$2(INCORRECT_RANGE); + throw $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$a(this, { type: NUMERIC_RANGE_ITERATOR, start: start, end: end, @@ -10941,8 +11495,8 @@ var doric = (function (exports) { this.inclusive = inclusiveEnd; } }, NUMERIC_RANGE_ITERATOR, function next() { - var state = getInternalState$4(this); - if (state.hitsEnd) { return { value: undefined, done: true }; } + var state = getInternalState$5(this); + if (state.hitsEnd) { return createIterResultObject(undefined, true); } var start = state.start; var end = state.end; var step = state.step; @@ -10956,8 +11510,9 @@ var doric = (function (exports) { endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue; } if (endCondition) { - return { value: undefined, done: state.hitsEnd = true }; - } return { value: currentYieldingValue, done: false }; + state.hitsEnd = true; + return createIterResultObject(undefined, true); + } return createIterResultObject(currentYieldingValue, false); }); var getter = function (fn) { @@ -10967,28 +11522,29 @@ var doric = (function (exports) { if (descriptors) { defineProperties($RangeIterator.prototype, { start: getter(function () { - return getInternalState$4(this).start; + return getInternalState$5(this).start; }), end: getter(function () { - return getInternalState$4(this).end; + return getInternalState$5(this).end; }), inclusive: getter(function () { - return getInternalState$4(this).inclusiveEnd; + return getInternalState$5(this).inclusiveEnd; }), step: getter(function () { - return getInternalState$4(this).step; + return getInternalState$5(this).step; }) }); } 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 + // TODO: Remove from `core-js@4` if (typeof BigInt == 'function') { _export({ target: 'BigInt', stat: true, forced: true }, { range: function range(start, end, option) { @@ -11004,12 +11560,12 @@ var doric = (function (exports) { - var $Object$1 = Object; - var $TypeError$9 = TypeError; - var Map$3 = getBuiltIn('Map'); - var WeakMap$2 = getBuiltIn('WeakMap'); + var $Object$2 = Object; + var $TypeError$c = TypeError; + var Map$8 = getBuiltIn('Map'); + var WeakMap$3 = getBuiltIn('WeakMap'); - var Node = function () { + var Node$1 = function () { // keys this.object = null; this.symbol = null; @@ -11018,20 +11574,20 @@ var doric = (function (exports) { this.objectsByIndex = objectCreate(null); }; - Node.prototype.get = function (key, initializer) { + Node$1.prototype.get = function (key, initializer) { return this[key] || (this[key] = initializer()); }; - Node.prototype.next = function (i, it, IS_OBJECT) { + Node$1.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.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap$3()) + : this.primitives || (this.primitives = new Map$8()); var entry = store.get(it); - if (!entry) { store.set(it, entry = new Node()); } + if (!entry) { store.set(it, entry = new Node$1()); } return entry; }; - var root = new Node(); + var root = new Node$1(); var compositeKey = function () { var arguments$1 = arguments; @@ -11043,13 +11599,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$c('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 = Object; var initializer = function () { var freeze = getBuiltIn('Object', 'freeze'); @@ -11059,7 +11615,7 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey _export({ global: true, forced: true }, { compositeKey: function compositeKey$1() { - return functionApply(compositeKey, $Object, arguments).get('object', initializer); + return functionApply(compositeKey, $Object$1, arguments).get('object', initializer); } }); @@ -11071,18 +11627,141 @@ var doric = (function (exports) { } }); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + // https://github.com/tc39/proposal-explicit-resource-management + + + + + + + + + + + + + var SuppressedError = getBuiltIn('SuppressedError'); + var $ReferenceError = ReferenceError; + + var DISPOSE$1 = wellKnownSymbol('dispose'); + var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag'); + + var DISPOSABLE_STACK = 'DisposableStack'; + var setInternalState$9 = internalState.set; + var getDisposableStackInternalState = internalState.getterFor(DISPOSABLE_STACK); + + var HINT = 'sync-dispose'; + var DISPOSED = 'disposed'; + var PENDING = 'pending'; + + var ALREADY_DISPOSED = DISPOSABLE_STACK + ' already disposed'; + + var $DisposableStack = function DisposableStack() { + setInternalState$9(anInstance(this, DisposableStackPrototype), { + type: DISPOSABLE_STACK, + state: PENDING, + stack: [] + }); + + if (!descriptors) { this.disposed = false; } + }; + + var DisposableStackPrototype = $DisposableStack.prototype; + + defineBuiltIns(DisposableStackPrototype, { + dispose: function dispose() { + var internalState = getDisposableStackInternalState(this); + if (internalState.state == DISPOSED) { return; } + internalState.state = DISPOSED; + if (!descriptors) { this.disposed = true; } + var stack = internalState.stack; + var i = stack.length; + var thrown = false; + var suppressed; + while (i) { + var disposeMethod = stack[--i]; + stack[i] = null; + try { + disposeMethod(); + } catch (errorResult) { + if (thrown) { + suppressed = new SuppressedError(errorResult, suppressed); + } else { + thrown = true; + suppressed = errorResult; + } + } + } + internalState.stack = null; + if (thrown) { throw suppressed; } + }, + use: function use(value) { + var internalState = getDisposableStackInternalState(this); + if (internalState.state == DISPOSED) { throw $ReferenceError(ALREADY_DISPOSED); } + addDisposableResource(internalState, value, HINT); + return value; + }, + adopt: function adopt(value, onDispose) { + var internalState = getDisposableStackInternalState(this); + if (internalState.state == DISPOSED) { throw $ReferenceError(ALREADY_DISPOSED); } + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, function () { + onDispose(value); + }); + return value; + }, + defer: function defer(onDispose) { + var internalState = getDisposableStackInternalState(this); + if (internalState.state == DISPOSED) { throw $ReferenceError(ALREADY_DISPOSED); } + aCallable(onDispose); + addDisposableResource(internalState, undefined, HINT, onDispose); + }, + move: function move() { + var internalState = getDisposableStackInternalState(this); + if (internalState.state == DISPOSED) { throw $ReferenceError(ALREADY_DISPOSED); } + var newDisposableStack = new $DisposableStack(); + getDisposableStackInternalState(newDisposableStack).stack = internalState.stack; + internalState.stack = []; + return newDisposableStack; + } + }); + + if (descriptors) { defineBuiltInAccessor(DisposableStackPrototype, 'disposed', { + configurable: true, + get: function disposed() { + return getDisposableStackInternalState(this).state == DISPOSED; + } + }); } + + defineBuiltIn(DisposableStackPrototype, DISPOSE$1, DisposableStackPrototype.dispose, { name: 'dispose' }); + defineBuiltIn(DisposableStackPrototype, TO_STRING_TAG$3, DISPOSABLE_STACK, { nonWritable: true }); + + _export({ global: true, constructor: true }, { + DisposableStack: $DisposableStack + }); + + var functionDemethodize = function demethodize() { + return functionUncurryThis(aCallable(this)); + }; + + // `Function.prototype.demethodize` method + // https://github.com/js-choi/proposal-function-demethodize + _export({ target: 'Function', proto: true, forced: true }, { + demethodize: functionDemethodize + }); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor; var classRegExp = /^\s*class\b/; - var exec$4 = functionUncurryThis(classRegExp.exec); + var exec$8 = 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; } + if (!descriptors || !exec$8(classRegExp, inspectSource(argument))) { return false; } } catch (error) { /* empty */ } - var prototype = getOwnPropertyDescriptor$1(argument, 'prototype'); + var prototype = getOwnPropertyDescriptor$2(argument, 'prototype'); return !!prototype && hasOwnProperty_1(prototype, 'writable') && !prototype.writable; }; @@ -11101,23 +11780,13 @@ var doric = (function (exports) { }); // `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/js-choi/proposal-function-demethodize + // TODO: Remove from `core-js@4` + _export({ target: 'Function', proto: true, forced: true, name: 'demethodize' }, { + unThis: functionDemethodize }); - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var IteratorPrototype$2 = iteratorsCore.IteratorPrototype; + var IteratorPrototype$3 = iteratorsCore.IteratorPrototype; var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag'); @@ -11126,43 +11795,43 @@ var doric = (function (exports) { // FF56- have non-standard global helper `Iterator` var FORCED = !isCallable(NativeIterator) - || NativeIterator.prototype !== IteratorPrototype$2 + || NativeIterator.prototype !== IteratorPrototype$3 // FF44- non-standard `Iterator` passes previous tests || !fails(function () { NativeIterator({}); }); var IteratorConstructor = function Iterator() { - anInstance(this, IteratorPrototype$2); + anInstance(this, IteratorPrototype$3); }; - if (!hasOwnProperty_1(IteratorPrototype$2, TO_STRING_TAG$2)) { - createNonEnumerableProperty(IteratorPrototype$2, TO_STRING_TAG$2, 'Iterator'); + if (!hasOwnProperty_1(IteratorPrototype$3, TO_STRING_TAG$2)) { + createNonEnumerableProperty(IteratorPrototype$3, TO_STRING_TAG$2, 'Iterator'); } - if (FORCED || !hasOwnProperty_1(IteratorPrototype$2, 'constructor') || IteratorPrototype$2.constructor === Object) { - createNonEnumerableProperty(IteratorPrototype$2, 'constructor', IteratorConstructor); + if (FORCED || !hasOwnProperty_1(IteratorPrototype$3, 'constructor') || IteratorPrototype$3.constructor === Object) { + createNonEnumerableProperty(IteratorPrototype$3, 'constructor', IteratorConstructor); } - IteratorConstructor.prototype = IteratorPrototype$2; + IteratorConstructor.prototype = IteratorPrototype$3; + // `Iterator` constructor + // https://github.com/tc39/proposal-iterator-helpers _export({ global: true, constructor: true, forced: FORCED }, { Iterator: IteratorConstructor }); - var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; + var IteratorPrototype$2 = iteratorsCore.IteratorPrototype; - var ITERATOR_HELPER = 'IteratorHelper'; - var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; - var setInternalState$7 = internalState.set; var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); + var ITERATOR_HELPER = 'IteratorHelper'; + var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; + var setInternalState$8 = internalState.set; var createIteratorProxyPrototype = function (IS_ITERATOR) { - var ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + var getInternalState = internalState.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); - var getInternalState = internalState.getterFor(ITERATOR_PROXY); - - var IteratorProxyPrototype = defineBuiltIns(objectCreate(IteratorPrototype$1), { + return defineBuiltIns(objectCreate(IteratorPrototype$2), { next: function next() { var state = getInternalState(this); // for simplification: @@ -11171,7 +11840,7 @@ var doric = (function (exports) { if (IS_ITERATOR) { return state.nextHandler(); } try { var result = state.done ? undefined : state.nextHandler(); - return { done: state.done, value: result }; + return createIterResultObject(result, state.done); } catch (error) { state.done = true; throw error; @@ -11180,40 +11849,38 @@ var doric = (function (exports) { 'return': function () { var state = getInternalState(this); var iterator = state.iterator; - var innerIterator = state.innerIterator; state.done = true; - if (innerIterator) { try { - iteratorClose(innerIterator, 'return'); + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? functionCall(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) { try { + iteratorClose(state.inner.iterator, 'normal'); } catch (error) { return iteratorClose(iterator, 'throw', error); } } - var $$return = getMethod(iterator, 'return'); - return { done: true, value: $$return ? anObject(functionCall($$return, iterator)).value : undefined }; + iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); } }); - - if (!IS_ITERATOR) { - createNonEnumerableProperty(IteratorProxyPrototype, TO_STRING_TAG$1, 'Iterator Helper'); - } - - return IteratorProxyPrototype; }; - var IteratorHelperPrototype = createIteratorProxyPrototype(false); var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); + var IteratorHelperPrototype = createIteratorProxyPrototype(false); + + createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG$1, 'Iterator Helper'); var iteratorCreateProxy = function (nextHandler, IS_ITERATOR) { - var ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; - var IteratorProxy = function Iterator(record, state) { if (state) { state.iterator = record.iterator; state.next = record.next; } else { state = record; } - state.type = ITERATOR_PROXY; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; state.nextHandler = nextHandler; + state.counter = 0; state.done = false; - setInternalState$7(this, state); + setInternalState$8(this, state); }; IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; @@ -11221,43 +11888,59 @@ var doric = (function (exports) { return IteratorProxy; }; - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var IteratorProxy$6 = iteratorCreateProxy(function () { - var result = anObject(functionCall(this.next, this.iterator)); + var IteratorProxy$5 = iteratorCreateProxy(function () { + var iterator = this.iterator; + var result = anObject(functionCall(this.next, iterator)); var done = this.done = !!result.done; - if (!done) { return [this.index++, result.value]; } + if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); } }); - var iteratorIndexed = function indexed() { - return new IteratorProxy$6(getIteratorDirect(this), { - index: 0 + // `Iterator.prototype.map` method + // https://github.com/tc39/proposal-iterator-helpers + var iteratorMap = function map(mapper) { + return new IteratorProxy$5(getIteratorDirect(this), { + mapper: aCallable(mapper) }); }; - // TODO: Remove from `core-js@4` + var callback = function (value, counter) { + return [counter, value]; + }; + + // `Iterator.prototype.indexed` method // https://github.com/tc39/proposal-iterator-helpers + var iteratorIndexed = function indexed() { + return functionCall(iteratorMap, this, callback); + }; + + // TODO: Remove from `core-js@4` + // `Iterator.prototype.asIndexedPairs` method + // https://github.com/tc39/proposal-iterator-helpers _export({ target: 'Iterator', name: 'indexed', proto: true, real: true, forced: true }, { asIndexedPairs: iteratorIndexed }); - // https://github.com/tc39/proposal-iterator-helpers + // https://github.com/tc39/proposal-explicit-resource-management + var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; + var DISPOSE = wellKnownSymbol('dispose'); + if (!hasOwnProperty_1(IteratorPrototype$1, DISPOSE)) { + defineBuiltIn(IteratorPrototype$1, DISPOSE, function () { + var $return = getMethod(this, 'return'); + if ($return) { functionCall($return, this); } + }); + } - var IteratorProxy$5 = iteratorCreateProxy(function () { + var IteratorProxy$4 = iteratorCreateProxy(function () { var iterator = this.iterator; var next = this.next; var result, done; @@ -11272,42 +11955,32 @@ var doric = (function (exports) { if (!done) { return result.value; } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + // `Iterator.prototype.drop` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'Iterator', proto: true, real: true }, { drop: function drop(limit) { - return new IteratorProxy$5(getIteratorDirect(this), { + return new IteratorProxy$4(getIteratorDirect(this), { remaining: toPositiveInteger(notANan(+limit)) }); } }); + // `Iterator.prototype.every` method // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - every: function every(fn) { + _export({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { var record = getIteratorDirect(this); - aCallable(fn); + var counter = 0; + aCallable(predicate); return !iterate(record, function (value, stop) { - if (!fn(value)) { return stop(); } + if (!predicate(value, counter++)) { return stop(); } }, { IS_RECORD: true, INTERRUPTED: true }).stopped; } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var IteratorProxy$4 = iteratorCreateProxy(function () { + var IteratorProxy$3 = iteratorCreateProxy(function () { var iterator = this.iterator; - var filterer = this.filterer; + var predicate = this.predicate; var next = this.next; var result, done, value; while (true) { @@ -11315,56 +11988,49 @@ var doric = (function (exports) { done = this.done = !!result.done; if (done) { return; } value = result.value; - if (callWithSafeIterationClosing(iterator, filterer, value)) { return value; } + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) { return value; } } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - filter: function filter(filterer) { - return new IteratorProxy$4(getIteratorDirect(this), { - filterer: aCallable(filterer) + // `Iterator.prototype.filter` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'Iterator', proto: true, real: true }, { + filter: function filter(predicate) { + return new IteratorProxy$3(getIteratorDirect(this), { + predicate: aCallable(predicate) }); } }); + // `Iterator.prototype.find` method // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - find: function find(fn) { + _export({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { var record = getIteratorDirect(this); - aCallable(fn); + var counter = 0; + aCallable(predicate); return iterate(record, function (value, stop) { - if (fn(value)) { return stop(value); } + if (predicate(value, counter++)) { return stop(value); } }, { IS_RECORD: true, INTERRUPTED: true }).result; } }); - // https://github.com/tc39/proposal-iterator-helpers + var getIteratorFlattenable = function (obj) { + var object = anObject(obj); + var method = getIteratorMethod(object); + return getIteratorDirect(anObject(isCallable(method) ? functionCall(method, object) : object)); + }; - - - - - - - - - var $TypeError$8 = TypeError; - - var IteratorProxy$3 = iteratorCreateProxy(function () { + var IteratorProxy$2 = iteratorCreateProxy(function () { var iterator = this.iterator; var mapper = this.mapper; - var result, mapped, iteratorMethod, innerIterator; + var result, inner; while (true) { - if (innerIterator = this.innerIterator) { try { - result = anObject(functionCall(this.innerNext, innerIterator)); + if (inner = this.inner) { try { + result = anObject(functionCall(inner.next, inner.iterator)); if (!result.done) { return result.value; } - this.innerIterator = this.innerNext = null; + this.inner = null; } catch (error) { iteratorClose(iterator, 'throw', error); } } result = anObject(functionCall(this.next, iterator)); @@ -11372,154 +12038,124 @@ var doric = (function (exports) { if (this.done = !!result.done) { return; } try { - mapped = mapper(result.value); - iteratorMethod = getIteratorMethod(mapped); - - if (!iteratorMethod) { - throw $TypeError$8('.flatMap callback should return an iterable object'); - } - - this.innerIterator = innerIterator = anObject(functionCall(iteratorMethod, mapped)); - this.innerNext = aCallable(innerIterator.next); + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++)); } catch (error$1) { iteratorClose(iterator, 'throw', error$1); } } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + // `Iterator.prototype.flatMap` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'Iterator', proto: true, real: true }, { flatMap: function flatMap(mapper) { - return new IteratorProxy$3(getIteratorDirect(this), { + return new IteratorProxy$2(getIteratorDirect(this), { mapper: aCallable(mapper), - innerIterator: null, - innerNext: null + inner: null }); } }); + // `Iterator.prototype.forEach` method // https://github.com/tc39/proposal-iterator-helpers - - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { forEach: function forEach(fn) { - iterate(getIteratorDirect(this), fn, { IS_RECORD: true }); + var record = getIteratorDirect(this); + var counter = 0; + aCallable(fn); + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - var IteratorPrototype = iteratorsCore.IteratorPrototype; - - - var IteratorProxy$2 = iteratorCreateProxy(function () { + var IteratorProxy$1 = iteratorCreateProxy(function () { return functionCall(this.next, this.iterator); }, true); - _export({ target: 'Iterator', stat: true, forced: true }, { + // `Iterator.from` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'Iterator', stat: true }, { from: function from(O) { - var object = toObject(O); - var usingIterator = getIteratorMethod(object); - var iterator; - if (usingIterator) { - iterator = getIterator(object, usingIterator); - if (objectIsPrototypeOf(IteratorPrototype, iterator)) { return iterator; } - } else { - iterator = object; - } return new IteratorProxy$2(getIteratorDirect(iterator)); + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O); + return objectIsPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy$1(iteratorRecord); } }); + // TODO: Remove from `core-js@4` + + + + // `Iterator.prototype.indexed` method // https://github.com/tc39/proposal-iterator-helpers - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { indexed: iteratorIndexed }); + // `Iterator.prototype.map` method // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var IteratorProxy$1 = iteratorCreateProxy(function () { - var iterator = this.iterator; - var result = anObject(functionCall(this.next, iterator)); - var done = this.done = !!result.done; - if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, result.value); } + _export({ target: 'Iterator', proto: true, real: true }, { + map: iteratorMap }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - map: function map(mapper) { - return new IteratorProxy$1(getIteratorDirect(this), { - mapper: aCallable(mapper) - }); + /* eslint-disable es/no-bigint -- safe */ + + + + var $TypeError$b = TypeError; + + // `Iterator.range` method + // https://github.com/tc39/proposal-Number.range + _export({ target: 'Iterator', stat: true, forced: true }, { + range: function range(start, end, option) { + if (typeof start == 'number') { return new numericRangeIterator(start, end, option, 'number', 0, 1); } + if (typeof start == 'bigint') { return new numericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); } + throw $TypeError$b('Incorrect Iterator.range arguments'); } }); + var $TypeError$a = TypeError; + + // `Iterator.prototype.reduce` method // https://github.com/tc39/proposal-iterator-helpers - - - - - - var $TypeError$7 = TypeError; - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { reduce: function reduce(reducer /* , initialValue */) { var record = getIteratorDirect(this); aCallable(reducer); var noInitial = arguments.length < 2; var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; iterate(record, function (value) { if (noInitial) { noInitial = false; accumulator = value; } else { - accumulator = reducer(accumulator, value); + accumulator = reducer(accumulator, value, counter); } + counter++; }, { IS_RECORD: true }); - if (noInitial) { throw $TypeError$7('Reduce of empty iterator with no initial value'); } + if (noInitial) { throw $TypeError$a('Reduce of empty iterator with no initial value'); } return accumulator; } }); + // `Iterator.prototype.some` method // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { - some: function some(fn) { + _export({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { var record = getIteratorDirect(this); - aCallable(fn); + var counter = 0; + aCallable(predicate); return iterate(record, function (value, stop) { - if (fn(value)) { return stop(); } + if (predicate(value, counter++)) { return stop(); } }, { IS_RECORD: true, INTERRUPTED: true }).stopped; } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var IteratorProxy = iteratorCreateProxy(function () { var iterator = this.iterator; if (!this.remaining--) { @@ -11531,7 +12167,9 @@ var doric = (function (exports) { if (!done) { return result.value; } }); - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + // `Iterator.prototype.take` method + // https://github.com/tc39/proposal-iterator-helpers + _export({ target: 'Iterator', proto: true, real: true }, { take: function take(limit) { return new IteratorProxy(getIteratorDirect(this), { remaining: toPositiveInteger(notANan(+limit)) @@ -11539,110 +12177,482 @@ var doric = (function (exports) { } }); + var push$b = [].push; + + // `Iterator.prototype.toArray` method // https://github.com/tc39/proposal-iterator-helpers - - - - - var push$9 = [].push; - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + _export({ target: 'Iterator', proto: true, real: true }, { toArray: function toArray() { var result = []; - iterate(getIteratorDirect(this), push$9, { that: result, IS_RECORD: true }); + iterate(getIteratorDirect(this), push$b, { that: result, IS_RECORD: true }); return result; } }); - // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true, forced: true }, { + // `Iterator.prototype.toAsync` method + // https://github.com/tc39/proposal-async-iterator-helpers + _export({ target: 'Iterator', proto: true, real: true }, { toAsync: function toAsync() { - return new asyncIteratorWrap(getIteratorDirect(new asyncFromSyncIterator(this))); + return new asyncIteratorWrap(getIteratorDirect(new asyncFromSyncIterator(getIteratorDirect(this)))); } }); - // https://github.com/tc39/collection-methods - var collectionDeleteAll = function deleteAll(/* ...elements */) { - var arguments$1 = arguments; + /* eslint-disable es/no-json -- safe */ - var collection = anObject(this); - var remover = aCallable(collection['delete']); - var allDeleted = true; - var wasDeleted; - for (var k = 0, len = arguments.length; k < len; k++) { - wasDeleted = functionCall(remover, collection, arguments$1[k]); - allDeleted = allDeleted && wasDeleted; - } - return !!allDeleted; + + var nativeRawJson = !fails(function () { + var unsafeInt = '9007199254740993'; + var raw = JSON.rawJSON(unsafeInt); + return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt; + }); + + var getInternalState$4 = internalState.get; + + var isRawJson = function isRawJSON(O) { + if (!isObject(O)) { return false; } + var state = getInternalState$4(O); + return !!state && state.type === 'RawJSON'; }; + // `JSON.parse` method + // https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson + // https://github.com/tc39/proposal-json-parse-with-source + _export({ target: 'JSON', stat: true, forced: !nativeRawJson }, { + isRawJSON: isRawJson + }); + + var $SyntaxError$2 = SyntaxError; + var $parseInt = parseInt; + var fromCharCode$3 = String.fromCharCode; + var at$2 = functionUncurryThis(''.charAt); + var slice$2 = functionUncurryThis(''.slice); + var exec$7 = functionUncurryThis(/./.exec); + + var codePoints = { + '\\"': '"', + '\\\\': '\\', + '\\/': '/', + '\\b': '\b', + '\\f': '\f', + '\\n': '\n', + '\\r': '\r', + '\\t': '\t' + }; + + var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i; + // eslint-disable-next-line regexp/no-control-character -- safe + var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/; + + var parseJsonString = function (source, i) { + var unterminated = true; + var value = ''; + while (i < source.length) { + var chr = at$2(source, i); + if (chr == '\\') { + var twoChars = slice$2(source, i, i + 2); + if (hasOwnProperty_1(codePoints, twoChars)) { + value += codePoints[twoChars]; + i += 2; + } else if (twoChars == '\\u') { + i += 2; + var fourHexDigits = slice$2(source, i, i + 4); + if (!exec$7(IS_4_HEX_DIGITS, fourHexDigits)) { throw $SyntaxError$2('Bad Unicode escape at: ' + i); } + value += fromCharCode$3($parseInt(fourHexDigits, 16)); + i += 4; + } else { throw $SyntaxError$2('Unknown escape sequence: "' + twoChars + '"'); } + } else if (chr == '"') { + unterminated = false; + i++; + break; + } else { + if (exec$7(IS_C0_CONTROL_CODE, chr)) { throw $SyntaxError$2('Bad control character in string literal at: ' + i); } + value += chr; + i++; + } + } + if (unterminated) { throw $SyntaxError$2('Unterminated string at: ' + i); } + return { value: value, end: i }; + }; + + var JSON$1 = global_1.JSON; + var Number$1 = global_1.Number; + var SyntaxError$2 = global_1.SyntaxError; + var nativeParse = JSON$1 && JSON$1.parse; + var enumerableOwnProperties = getBuiltIn('Object', 'keys'); + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; + var at$1 = functionUncurryThis(''.charAt); + var slice$1 = functionUncurryThis(''.slice); + var exec$6 = functionUncurryThis(/./.exec); + var push$a = functionUncurryThis([].push); + + var IS_DIGIT = /^\d$/; + var IS_NON_ZERO_DIGIT = /^[1-9]$/; + var IS_NUMBER_START = /^(-|\d)$/; + var IS_WHITESPACE$1 = /^[\t\n\r ]$/; + + var PRIMITIVE = 0; + var OBJECT = 1; + + var $parse = function (source, reviver) { + source = toString_1(source); + var context = new Context$1(source, 0); + var root = context.parse(); + var value = root.value; + var endIndex = context.skip(IS_WHITESPACE$1, root.end); + if (endIndex < source.length) { + throw SyntaxError$2('Unexpected extra character: "' + at$1(source, endIndex) + '" after the parsed data at: ' + endIndex); + } + return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value; + }; + + var internalize = function (holder, name, reviver, node) { + var val = holder[name]; + var unmodified = node && val === node.value; + var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {}; + var elementRecordsLen, keys, len, i, P; + if (isObject(val)) { + var nodeIsArray = isArray$1(val); + var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {}; + if (nodeIsArray) { + elementRecordsLen = nodes.length; + len = lengthOfArrayLike(val); + for (i = 0; i < len; i++) { + internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined)); + } + } else { + keys = enumerableOwnProperties(val); + len = lengthOfArrayLike(keys); + for (i = 0; i < len; i++) { + P = keys[i]; + internalizeProperty(val, P, internalize(val, P, reviver, hasOwnProperty_1(nodes, P) ? nodes[P] : undefined)); + } + } + } + return functionCall(reviver, holder, name, val, context); + }; + + var internalizeProperty = function (object, key, value) { + if (descriptors) { + var descriptor = getOwnPropertyDescriptor$1(object, key); + if (descriptor && !descriptor.configurable) { return; } + } + if (value === undefined) { delete object[key]; } + else { createProperty(object, key, value); } + }; + + var Node = function (value, end, source, nodes) { + this.value = value; + this.end = end; + this.source = source; + this.nodes = nodes; + }; + + var Context$1 = function (source, index) { + this.source = source; + this.index = index; + }; + + // https://www.json.org/json-en.html + Context$1.prototype = { + fork: function (nextIndex) { + return new Context$1(this.source, nextIndex); + }, + parse: function () { + var source = this.source; + var i = this.skip(IS_WHITESPACE$1, this.index); + var fork = this.fork(i); + var chr = at$1(source, i); + if (exec$6(IS_NUMBER_START, chr)) { return fork.number(); } + switch (chr) { + case '{': + return fork.object(); + case '[': + return fork.array(); + case '"': + return fork.string(); + case 't': + return fork.keyword(true); + case 'f': + return fork.keyword(false); + case 'n': + return fork.keyword(null); + } throw SyntaxError$2('Unexpected character: "' + chr + '" at: ' + i); + }, + node: function (type, value, start, end, nodes) { + return new Node(value, end, type ? null : slice$1(this.source, start, end), nodes); + }, + object: function () { + var source = this.source; + var i = this.index + 1; + var expectKeypair = false; + var object = {}; + var nodes = {}; + while (i < source.length) { + i = this.until(['"', '}'], i); + if (at$1(source, i) == '}' && !expectKeypair) { + i++; + break; + } + // Parsing the key + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + // Parsing value + i = this.skip(IS_WHITESPACE$1, i); + result = this.fork(i).parse(); + createProperty(nodes, key, result); + createProperty(object, key, result.value); + i = this.until([',', '}'], result.end); + var chr = at$1(source, i); + if (chr == ',') { + expectKeypair = true; + i++; + } else if (chr == '}') { + i++; + break; + } + } + return this.node(OBJECT, object, this.index, i, nodes); + }, + array: function () { + var source = this.source; + var i = this.index + 1; + var expectElement = false; + var array = []; + var nodes = []; + while (i < source.length) { + i = this.skip(IS_WHITESPACE$1, i); + if (at$1(source, i) == ']' && !expectElement) { + i++; + break; + } + var result = this.fork(i).parse(); + push$a(nodes, result); + push$a(array, result.value); + i = this.until([',', ']'], result.end); + if (at$1(source, i) == ',') { + expectElement = true; + i++; + } else if (at$1(source, i) == ']') { + i++; + break; + } + } + return this.node(OBJECT, array, this.index, i, nodes); + }, + string: function () { + var index = this.index; + var parsed = parseJsonString(this.source, this.index + 1); + return this.node(PRIMITIVE, parsed.value, index, parsed.end); + }, + number: function () { + var source = this.source; + var startIndex = this.index; + var i = startIndex; + if (at$1(source, i) == '-') { i++; } + if (at$1(source, i) == '0') { i++; } + else if (exec$6(IS_NON_ZERO_DIGIT, at$1(source, i))) { i = this.skip(IS_DIGIT, ++i); } + else { throw SyntaxError$2('Failed to parse number at: ' + i); } + if (at$1(source, i) == '.') { i = this.skip(IS_DIGIT, ++i); } + if (at$1(source, i) == 'e' || at$1(source, i) == 'E') { + i++; + if (at$1(source, i) == '+' || at$1(source, i) == '-') { i++; } + var exponentStartIndex = i; + i = this.skip(IS_DIGIT, i); + if (exponentStartIndex == i) { throw SyntaxError$2("Failed to parse number's exponent value at: " + i); } + } + return this.node(PRIMITIVE, Number$1(slice$1(source, startIndex, i)), startIndex, i); + }, + keyword: function (value) { + var keyword = '' + value; + var index = this.index; + var endIndex = index + keyword.length; + if (slice$1(this.source, index, endIndex) != keyword) { throw SyntaxError$2('Failed to parse value at: ' + index); } + return this.node(PRIMITIVE, value, index, endIndex); + }, + skip: function (regex, i) { + var source = this.source; + for (; i < source.length; i++) { if (!exec$6(regex, at$1(source, i))) { break; } } + return i; + }, + until: function (array, i) { + i = this.skip(IS_WHITESPACE$1, i); + var chr = at$1(this.source, i); + for (var j = 0; j < array.length; j++) { if (array[j] == chr) { return i; } } + throw SyntaxError$2('Unexpected character: "' + chr + '" at: ' + i); + } + }; + + var NO_SOURCE_SUPPORT = fails(function () { + var unsafeInt = '9007199254740993'; + var source; + nativeParse(unsafeInt, function (key, value, context) { + source = context.source; + }); + return source !== unsafeInt; + }); + + var PROPER_BASE_PARSE = symbolConstructorDetection && !fails(function () { + // Safari 9 bug + return 1 / nativeParse('-0 \t') !== -Infinity; + }); + + // `JSON.parse` method + // https://tc39.es/ecma262/#sec-json.parse + // https://github.com/tc39/proposal-json-parse-with-source + _export({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } + }); + + var setInternalState$7 = internalState.set; + + var $String = String; + var $SyntaxError$1 = SyntaxError; + var parse = getBuiltIn('JSON', 'parse'); + var $stringify = getBuiltIn('JSON', 'stringify'); + var create = getBuiltIn('Object', 'create'); + var freeze$1 = getBuiltIn('Object', 'freeze'); + var at = functionUncurryThis(''.charAt); + var slice = functionUncurryThis(''.slice); + var exec$5 = functionUncurryThis(/./.exec); + var push$9 = functionUncurryThis([].push); + + var MARK = uid(); + var MARK_LENGTH = MARK.length; + var ERROR_MESSAGE = 'Unacceptable as raw JSON'; + var IS_WHITESPACE = /^[\t\n\r ]$/; + + // `JSON.parse` method + // https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson + // https://github.com/tc39/proposal-json-parse-with-source + _export({ target: 'JSON', stat: true, forced: !nativeRawJson }, { + rawJSON: function rawJSON(text) { + var jsonString = toString_1(text); + if (jsonString == '' || exec$5(IS_WHITESPACE, at(jsonString, 0)) || exec$5(IS_WHITESPACE, at(jsonString, jsonString.length - 1))) { + throw $SyntaxError$1(ERROR_MESSAGE); + } + var parsed = parse(jsonString); + if (typeof parsed == 'object' && parsed !== null) { throw $SyntaxError$1(ERROR_MESSAGE); } + var obj = create(null); + setInternalState$7(obj, { type: 'RawJSON' }); + createProperty(obj, 'rawJSON', jsonString); + return freezing ? freeze$1(obj) : obj; + } + }); + + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + // https://github.com/tc39/proposal-json-parse-with-source + if ($stringify) { _export({ target: 'JSON', stat: true, arity: 3, forced: !nativeRawJson }, { + stringify: function stringify(text, replacer, space) { + var replacerFunction = getJsonReplacerFunction(replacer); + var rawStrings = []; + + var json = $stringify(text, function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + var v = isCallable(replacerFunction) ? functionCall(replacerFunction, this, $String(key), value) : value; + return isRawJson(v) ? MARK + (push$9(rawStrings, v.rawJSON) - 1) : v; + }, space); + + if (typeof json != 'string') { return json; } + + var result = ''; + var length = json.length; + + for (var i = 0; i < length; i++) { + var chr = at(json, i); + if (chr == '"') { + var end = parseJsonString(json, ++i).end - 1; + var string = slice(json, i, end); + result += slice(string, 0, MARK_LENGTH) == MARK + ? rawStrings[slice(string, MARK_LENGTH)] + : '"' + string + '"'; + i = end; + } else { result += chr; } + } + + return result; + } + }); } + + var has$b = mapHelpers.has; + + // Perform ? RequireInternalSlot(M, [[MapData]]) + var aMap = function (it) { + has$b(it); + return it; + }; + + var remove$5 = mapHelpers.remove; + // `Map.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { - deleteAll: collectionDeleteAll - }); + deleteAll: function deleteAll(/* ...elements */) { + var arguments$1 = arguments; - // `Map.prototype.emplace` method - // https://github.com/thumbsupep/proposal-upsert - var mapEmplace = function emplace(key, handler) { - var map = anObject(this); - var get = aCallable(map.get); - var has = aCallable(map.has); - var set = aCallable(map.set); - var value, inserted; - if (functionCall(has, map, key)) { - value = functionCall(get, map, key); - if ('update' in handler) { - value = handler.update(value, key, map); - functionCall(set, map, key, value); - } return value; + var collection = aMap(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove$5(collection, arguments$1[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; } - inserted = handler.insert(key, map); - functionCall(set, map, key, inserted); - return inserted; - }; - - // `Map.prototype.emplace` method - // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, forced: true }, { - emplace: mapEmplace }); - var getMapIterator = function (it) { - // eslint-disable-next-line es-x/no-map -- safe - return functionCall(Map.prototype.entries, it); - }; + var get$2 = mapHelpers.get; + var has$a = mapHelpers.has; + var set$6 = mapHelpers.set; + + // `Map.prototype.emplace` method + // https://github.com/tc39/proposal-upsert + _export({ target: 'Map', proto: true, real: true, forced: true }, { + emplace: function emplace(key, handler) { + var map = aMap(this); + var value, inserted; + if (has$a(map, key)) { + value = get$2(map, key); + if ('update' in handler) { + value = handler.update(value, key, map); + set$6(map, key, value); + } return value; + } + inserted = handler.insert(key, map); + set$6(map, key, inserted); + return inserted; + } + }); // `Map.prototype.every` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { every: function every(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return !iterate(iterator, function (key, value, stop) { - if (!boundFunction(value, key, map)) { return stop(); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped; + return mapIterate(map, function (value, key) { + if (!boundFunction(value, key, map)) { return false; } + }, true) !== false; } }); + var Map$7 = mapHelpers.Map; + var set$5 = mapHelpers.set; + // `Map.prototype.filter` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { filter: function filter(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aCallable(newMap.set); - iterate(iterator, function (key, value) { - if (boundFunction(value, key, map)) { functionCall(setter, newMap, key, value); } - }, { AS_ENTRIES: true, IS_ITERATOR: true }); + var newMap = new Map$7(); + mapIterate(map, function (value, key) { + if (boundFunction(value, key, map)) { set$5(newMap, key, value); } + }); return newMap; } }); @@ -11651,12 +12661,12 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { find: function find(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return iterate(iterator, function (key, value, stop) { - if (boundFunction(value, key, map)) { return stop(value); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result; + var result = mapIterate(map, function (value, key) { + if (boundFunction(value, key, map)) { return { value: value }; } + }, true); + return result && result.value; } }); @@ -11664,12 +12674,12 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { findKey: function findKey(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return iterate(iterator, function (key, value, stop) { - if (boundFunction(value, key, map)) { return stop(key); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result; + var result = mapIterate(map, function (value, key) { + if (boundFunction(value, key, map)) { return { key: key }; } + }, true); + return result && result.key; } }); @@ -11680,6 +12690,7 @@ var doric = (function (exports) { + var push$8 = [].push; var collectionFrom = function from(source /* , mapFn, thisArg */) { @@ -11689,7 +12700,7 @@ var doric = (function (exports) { aConstructor(this); mapping = mapFn !== undefined; if (mapping) { aCallable(mapFn); } - if (source == undefined) { return new this(); } + if (isNullOrUndefined(source)) { return new this(); } array = []; if (mapping) { n = 0; @@ -11709,23 +12720,25 @@ var doric = (function (exports) { from: collectionFrom }); + var Map$6 = mapHelpers.Map; + var push$7 = functionUncurryThis([].push); // `Map.groupBy` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', stat: true, forced: true }, { groupBy: function groupBy(iterable, keyDerivative) { + var C = isCallable(this) ? this : Map$6; + var newMap = new C(); aCallable(keyDerivative); - var iterator = getIterator(iterable); - var newMap = new this(); var has = aCallable(newMap.has); var get = aCallable(newMap.get); var set = aCallable(newMap.set); - iterate(iterator, function (element) { + iterate(iterable, function (element) { var derivedKey = keyDerivative(element); if (!functionCall(has, newMap, derivedKey)) { functionCall(set, newMap, derivedKey, [element]); } else { push$7(functionCall(get, newMap, derivedKey), element); } - }, { IS_ITERATOR: true }); + }); return newMap; } }); @@ -11741,17 +12754,20 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { includes: function includes(searchElement) { - return iterate(getMapIterator(anObject(this)), function (key, value, stop) { - if (sameValueZero(value, searchElement)) { return stop(); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped; + return mapIterate(aMap(this), function (value) { + if (sameValueZero(value, searchElement)) { return true; } + }, true) === true; } }); + var Map$5 = mapHelpers.Map; + // `Map.keyBy` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', stat: true, forced: true }, { keyBy: function keyBy(iterable, keyDerivative) { - var newMap = new this(); + var C = isCallable(this) ? this : Map$5; + var newMap = new C(); aCallable(keyDerivative); var setter = aCallable(newMap.set); iterate(iterable, function (element) { @@ -11765,44 +12781,49 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { keyOf: function keyOf(searchElement) { - return iterate(getMapIterator(anObject(this)), function (key, value, stop) { - if (value === searchElement) { return stop(key); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result; + var result = mapIterate(aMap(this), function (value, key) { + if (value === searchElement) { return { key: key }; } + }, true); + return result && result.key; } }); + var Map$4 = mapHelpers.Map; + var set$4 = mapHelpers.set; + // `Map.prototype.mapKeys` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { mapKeys: function mapKeys(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aCallable(newMap.set); - iterate(iterator, function (key, value) { - functionCall(setter, newMap, boundFunction(value, key, map), value); - }, { AS_ENTRIES: true, IS_ITERATOR: true }); + var newMap = new Map$4(); + mapIterate(map, function (value, key) { + set$4(newMap, boundFunction(value, key, map), value); + }); return newMap; } }); + var Map$3 = mapHelpers.Map; + var set$3 = mapHelpers.set; + // `Map.prototype.mapValues` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { mapValues: function mapValues(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aCallable(newMap.set); - iterate(iterator, function (key, value) { - functionCall(setter, newMap, key, boundFunction(value, key, map)); - }, { AS_ENTRIES: true, IS_ITERATOR: true }); + var newMap = new Map$3(); + mapIterate(map, function (value, key) { + set$3(newMap, key, boundFunction(value, key, map)); + }); return newMap; } }); + var set$2 = mapHelpers.set; + // `Map.prototype.merge` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, { @@ -11810,12 +12831,13 @@ var doric = (function (exports) { merge: function merge(iterable /* ...iterables */) { var arguments$1 = arguments; - var map = anObject(this); - var setter = aCallable(map.set); + var map = aMap(this); var argumentsLength = arguments.length; var i = 0; while (i < argumentsLength) { - iterate(arguments$1[i++], setter, { that: map, AS_ENTRIES: true }); + iterate(arguments$1[i++], function (key, value) { + set$2(map, key, value); + }, { AS_ENTRIES: true }); } return map; } @@ -11823,7 +12845,7 @@ var doric = (function (exports) { // https://tc39.github.io/proposal-setmap-offrom/ var collectionOf = function of() { - return new this(arraySlice$1(arguments)); + return new this(arraySlice(arguments)); }; // `Map.of` method @@ -11832,69 +12854,67 @@ var doric = (function (exports) { of: collectionOf }); - var $TypeError$6 = TypeError; + var $TypeError$9 = TypeError; // `Map.prototype.reduce` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { reduce: function reduce(callbackfn /* , initialValue */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var noInitial = arguments.length < 2; var accumulator = noInitial ? undefined : arguments[1]; aCallable(callbackfn); - iterate(iterator, function (key, value) { + mapIterate(map, function (value, key) { if (noInitial) { noInitial = false; accumulator = value; } else { 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$9('Reduce of empty map with no initial value'); } return accumulator; } }); - // `Set.prototype.some` method + // `Map.prototype.some` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { some: function some(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); + var map = aMap(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return iterate(iterator, function (key, value, stop) { - if (boundFunction(value, key, map)) { return stop(); } - }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped; + return mapIterate(map, function (value, key) { + if (boundFunction(value, key, map)) { return true; } + }, true) === true; } }); - var $TypeError$5 = TypeError; + var $TypeError$8 = TypeError; + var get$1 = mapHelpers.get; + var has$9 = mapHelpers.has; + var set$1 = mapHelpers.set; - // `Set.prototype.update` method + // `Map.prototype.update` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Map', proto: true, real: true, forced: true }, { update: function update(key, callback /* , thunk */) { - var map = anObject(this); - var get = aCallable(map.get); - var has = aCallable(map.has); - var set = aCallable(map.set); + var map = aMap(this); var length = arguments.length; aCallable(callback); - var isPresentInMap = functionCall(has, map, key); + var isPresentInMap = has$9(map, key); if (!isPresentInMap && length < 3) { - throw $TypeError$5('Updating absent value'); + throw $TypeError$8('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)); + var value = isPresentInMap ? get$1(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map); + set$1(map, key, callback(value, key, map)); return map; } }); - var $TypeError$4 = TypeError; + var $TypeError$7 = TypeError; // `Map.prototype.upsert` method - // https://github.com/thumbsupep/proposal-upsert + // https://github.com/tc39/proposal-upsert var mapUpsert = function upsert(key, updateFn /* , insertFn */) { var map = anObject(this); var get = aCallable(map.get); @@ -11903,7 +12923,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$7('At least one callback required'); } if (functionCall(has, map, key)) { value = functionCall(get, map, key); @@ -11937,14 +12957,14 @@ var doric = (function (exports) { upsert: mapUpsert }); - var min$1 = Math.min; - var max$1 = Math.max; + var min$2 = Math.min; + var max$2 = Math.max; // `Math.clamp` method // https://rwaldron.github.io/proposal-math-extensions/ _export({ target: 'Math', stat: true, forced: true }, { clamp: function clamp(x, lower, upper) { - return min$1(upper, max$1(lower, x)); + return min$2(upper, max$2(lower, x)); } }); @@ -12054,9 +13074,9 @@ var doric = (function (exports) { var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; var setInternalState$6 = internalState.set; var getInternalState$3 = internalState.getterFor(SEEDED_RANDOM_GENERATOR); - var $TypeError$3 = TypeError; + var $TypeError$6 = TypeError; - var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { + var $SeededRandomGenerator = iteratorCreateConstructor(function SeededRandomGenerator(seed) { setInternalState$6(this, { type: SEEDED_RANDOM_GENERATOR, seed: seed % 2147483647 @@ -12064,7 +13084,7 @@ var doric = (function (exports) { }, SEEDED_RANDOM, function next() { var state = getInternalState$3(this); var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647; - return { value: (seed & 1073741823) / 1073741823, done: false }; + return createIterResultObject((seed & 1073741823) / 1073741823, false); }); // `Math.seededPRNG` method @@ -12073,7 +13093,7 @@ 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$6(SEED_TYPE_ERROR); } return new $SeededRandomGenerator(seed); } }); @@ -12109,12 +13129,12 @@ var doric = (function (exports) { var INVALID_RADIX = 'Invalid radix'; var $RangeError$1 = RangeError; var $SyntaxError = SyntaxError; - var $TypeError$2 = TypeError; + var $TypeError$5 = TypeError; var valid = /^[\da-z]+$/; - var charAt$6 = functionUncurryThis(''.charAt); - var exec$3 = functionUncurryThis(valid.exec); + var charAt$9 = functionUncurryThis(''.charAt); + var exec$4 = functionUncurryThis(valid.exec); var numberToString$1 = functionUncurryThis(1.0.toString); - var stringSlice$2 = functionUncurryThis(''.slice); + var stringSlice$4 = functionUncurryThis(''.slice); // `Number.fromString` method // https://github.com/tc39/proposal-number-fromstring @@ -12122,16 +13142,16 @@ var doric = (function (exports) { fromString: function fromString(string, radix) { var sign = 1; var R, mathNum; - if (typeof string != 'string') { throw $TypeError$2(INVALID_NUMBER_REPRESENTATION); } + if (typeof string != 'string') { throw $TypeError$5(INVALID_NUMBER_REPRESENTATION); } if (!string.length) { throw $SyntaxError(INVALID_NUMBER_REPRESENTATION); } - if (charAt$6(string, 0) == '-') { + if (charAt$9(string, 0) == '-') { sign = -1; - string = stringSlice$2(string, 1); + string = stringSlice$4(string, 1); 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) { + if (!exec$4(valid, string) || numberToString$1(mathNum = numberParseInt(string, R), R) !== string) { throw $SyntaxError(INVALID_NUMBER_REPRESENTATION); } return sign * mathNum; @@ -12140,6 +13160,7 @@ var doric = (function (exports) { // `Number.range` method // https://github.com/tc39/proposal-Number.range + // TODO: Remove from `core-js@4` _export({ target: 'Number', stat: true, forced: true }, { range: function range(start, end, option) { return new numericRangeIterator(start, end, option, 'number', 0, 1); @@ -12150,7 +13171,7 @@ var doric = (function (exports) { var setInternalState$5 = internalState.set; var getInternalState$2 = internalState.getterFor(OBJECT_ITERATOR); - var objectIterator = createIteratorConstructor(function ObjectIterator(source, mode) { + var objectIterator = iteratorCreateConstructor(function ObjectIterator(source, mode) { var object = toObject(source); setInternalState$5(this, { type: OBJECT_ITERATOR, @@ -12165,15 +13186,15 @@ var doric = (function (exports) { while (true) { if (keys === null || state.index >= keys.length) { state.object = state.keys = null; - return { value: undefined, done: true }; + return createIterResultObject(undefined, true); } var key = keys[state.index++]; var object = state.object; if (!hasOwnProperty_1(object, key)) { continue; } switch (state.mode) { - case 'keys': return { value: key, done: false }; - case 'values': return { value: object[key], done: false }; - } /* entries */ return { value: [key, object[key]], done: false }; + case 'keys': return createIterResultObject(key, false); + case 'values': return createIterResultObject(object[key], false); + } /* entries */ return createIterResultObject([key, object[key]], false); } }); @@ -12242,6 +13263,7 @@ var doric = (function (exports) { + var $$OBSERVABLE$1 = wellKnownSymbol('observable'); var OBSERVABLE = 'Observable'; var SUBSCRIPTION = 'Subscription'; @@ -12298,7 +13320,7 @@ var doric = (function (exports) { try { var cleanup = subscriber(subscriptionObserver); var subscription = cleanup; - if (cleanup != null) { subscriptionState.cleanup = isCallable(cleanup.unsubscribe) + if (!isNullOrUndefined(cleanup)) { subscriptionState.cleanup = isCallable(cleanup.unsubscribe) ? function () { subscription.unsubscribe(); } : aCallable(cleanup); } } catch (error$1) { @@ -12435,7 +13457,7 @@ var doric = (function (exports) { } }); - var Array$1 = getBuiltIn('Array'); + var Array$2 = getBuiltIn('Array'); // `Observable.of` method // https://github.com/tc39/proposal-observable @@ -12445,7 +13467,7 @@ var doric = (function (exports) { var C = isConstructor(this) ? this : getBuiltIn('Observable'); var length = arguments.length; - var items = Array$1(length); + var items = Array$2(length); var index = 0; while (index < length) { items[index] = arguments$1[index++]; } return new C(function (observer) { @@ -12481,11 +13503,11 @@ var doric = (function (exports) { var Map$2 = getBuiltIn('Map'); - var WeakMap$1 = getBuiltIn('WeakMap'); + var WeakMap$2 = getBuiltIn('WeakMap'); var push$6 = functionUncurryThis([].push); var metadata = shared('metadata'); - var store$1 = metadata.store || (metadata.store = new WeakMap$1()); + var store$1 = metadata.store || (metadata.store = new WeakMap$2()); var getOrCreateMetadataMap$1 = function (target, targetKey, create) { var targetMetadata = store$1.get(target); @@ -12715,74 +13737,231 @@ var doric = (function (exports) { } }); - // https://github.com/tc39/collection-methods - var collectionAddAll = function addAll(/* ...elements */) { - var arguments$1 = arguments; + // eslint-disable-next-line es/no-set -- safe + var SetPrototype$1 = Set.prototype; - var set = anObject(this); - var adder = aCallable(set.add); - for (var k = 0, len = arguments.length; k < len; k++) { - functionCall(adder, set, arguments$1[k]); - } - return set; + var setHelpers = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: functionUncurryThis(SetPrototype$1.add), + has: functionUncurryThis(SetPrototype$1.has), + remove: functionUncurryThis(SetPrototype$1['delete']), + proto: SetPrototype$1, + $has: SetPrototype$1.has, + $keys: SetPrototype$1.keys }; + var has$8 = setHelpers.has; + + // Perform ? RequireInternalSlot(M, [[SetData]]) + var aSet = function (it) { + has$8(it); + return it; + }; + + var add$7 = setHelpers.add; + // `Set.prototype.addAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { - addAll: collectionAddAll + addAll: function addAll(/* ...elements */) { + var arguments$1 = arguments; + + var set = aSet(this); + for (var k = 0, len = arguments.length; k < len; k++) { + add$7(set, arguments$1[k]); + } return set; + } }); + var remove$4 = setHelpers.remove; + // `Set.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { - deleteAll: collectionDeleteAll - }); + deleteAll: function deleteAll(/* ...elements */) { + var arguments$1 = arguments; - // `Set.prototype.difference` method - // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { - difference: function difference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aCallable(newSet['delete']); - iterate(iterable, function (value) { - functionCall(remover, newSet, value); - }); - return newSet; + var collection = aSet(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove$4(collection, arguments$1[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; } }); - var getSetIterator = function (it) { - // eslint-disable-next-line es-x/no-set -- safe - return functionCall(Set.prototype.values, it); + var Set$7 = setHelpers.Set; + var SetPrototype = setHelpers.proto; + var forEach$1 = functionUncurryThis(SetPrototype.forEach); + var keys = functionUncurryThis(SetPrototype.keys); + var next = keys(new Set$7()).next; + + var setIterate = function (set, fn, interruptible) { + return interruptible ? iterateSimple(keys(set), fn, next) : forEach$1(set, fn); }; + var Set$6 = setHelpers.Set; + var add$6 = setHelpers.add; + + var setClone = function (set) { + var result = new Set$6(); + setIterate(set, function (it) { + add$6(result, it); + }); + return result; + }; + + var setSize = functionUncurryThisAccessor(setHelpers.proto, 'size', 'get') || function (set) { + return set.size; + }; + + var $TypeError$4 = TypeError; + var max$1 = Math.max; + + var SetRecord = function (set, size, has, keys) { + this.set = set; + this.size = size; + this.has = has; + this.keys = keys; + }; + + SetRecord.prototype = { + getIterator: function () { + return anObject(functionCall(this.keys, this.set)); + }, + includes: function (it) { + return functionCall(this.has, this.set, it); + } + }; + + // `GetSetRecord` abstract operation + // https://tc39.es/proposal-set-methods/#sec-getsetrecord + var getSetRecord = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize != numSize) { throw $TypeError$4('Invalid size'); } + return new SetRecord( + obj, + max$1(toIntegerOrInfinity(numSize), 0), + aCallable(obj.has), + aCallable(obj.keys) + ); + }; + + var has$7 = setHelpers.has; + var remove$3 = setHelpers.remove; + + // `Set.prototype.difference` method + // https://github.com/tc39/proposal-set-methods + var setDifference = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = setClone(O); + if (setSize(O) <= otherRec.size) { setIterate(O, function (e) { + if (otherRec.includes(e)) { remove$3(result, e); } + }); } + else { iterateSimple(otherRec.getIterator(), function (e) { + if (has$7(O, e)) { remove$3(result, e); } + }); } + return result; + }; + + var createEmptySetLike = function () { + return { + size: 0, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; + }; + + var setMethodAcceptSetLike = function (name) { + try { + var Set = getBuiltIn('Set'); + new Set()[name](createEmptySetLike()); + return true; + } catch (error) { + return false; + } + }; + + // `Set.prototype.difference` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: setDifference + }); + + var ITERATOR$3 = wellKnownSymbol('iterator'); + var $Object = Object; + + var isIterable = function (it) { + if (isNullOrUndefined(it)) { return false; } + var O = $Object(it); + return O[ITERATOR$3] !== undefined + || '@@iterator' in O + || hasOwnProperty_1(iterators, classof(O)); + }; + + var Set$5 = getBuiltIn('Set'); + + var isSetLike = function (it) { + return isObject(it) + && typeof it.size == 'number' + && isCallable(it.has) + && isCallable(it.keys); + }; + + // fallback old -> new set methods proposal arguments + var toSetLike = function (it) { + if (isSetLike(it)) { return it; } + if (isIterable(it)) { return new Set$5(it); } + }; + + // `Set.prototype.difference` method + // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` + _export({ target: 'Set', proto: true, real: true, forced: true }, { + difference: function difference(other) { + return functionCall(setDifference, this, toSetLike(other)); + } + }); + // `Set.prototype.every` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { every: function every(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return !iterate(iterator, function (value, stop) { - if (!boundFunction(value, value, set)) { return stop(); } - }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped; + return setIterate(set, function (value) { + if (!boundFunction(value, value, set)) { return false; } + }, true) !== false; } }); + var Set$4 = setHelpers.Set; + var add$5 = setHelpers.add; + // `Set.prototype.filter` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { filter: function filter(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aCallable(newSet.add); - iterate(iterator, function (value) { - if (boundFunction(value, value, set)) { functionCall(adder, newSet, value); } - }, { IS_ITERATOR: true }); + var newSet = new Set$4(); + setIterate(set, function (value) { + if (boundFunction(value, value, set)) { add$5(newSet, value); } + }); return newSet; } }); @@ -12791,12 +13970,12 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { find: function find(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return iterate(iterator, function (value, stop) { - if (boundFunction(value, value, set)) { return stop(value); } - }, { IS_ITERATOR: true, INTERRUPTED: true }).result; + var result = setIterate(set, function (value) { + if (boundFunction(value, value, set)) { return { value: value }; } + }, true); + return result && result.value; } }); @@ -12806,90 +13985,185 @@ var doric = (function (exports) { from: collectionFrom }); + var Set$3 = setHelpers.Set; + var add$4 = setHelpers.add; + var has$6 = setHelpers.has; + var nativeHas = setHelpers.$has; + var nativeKeys = setHelpers.$keys; + + var isNativeSetRecord = function (record) { + return record.has === nativeHas && record.keys === nativeKeys; + }; + // `Set.prototype.intersection` method // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: true }, { - intersection: function intersection(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var hasCheck = aCallable(set.has); - var adder = aCallable(newSet.add); - iterate(iterable, function (value) { - if (functionCall(hasCheck, set, value)) { functionCall(adder, newSet, value); } + var setIntersection = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set$3(); + + // observable side effects + if (!isNativeSetRecord(otherRec) && setSize(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has$6(O, e)) { add$4(result, e); } }); - return newSet; + + if (setSize(result) < 2) { return result; } + + var disordered = result; + result = new Set$3(); + setIterate(O, function (e) { + if (has$6(disordered, e)) { add$4(result, e); } + }); + } else { + setIterate(O, function (e) { + if (otherRec.includes(e)) { add$4(result, e); } + }); + } + + return result; + }; + + // `Set.prototype.intersection` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('intersection') }, { + intersection: setIntersection + }); + + // `Set.prototype.intersection` method + // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` + _export({ target: 'Set', proto: true, real: true, forced: true }, { + intersection: function intersection(other) { + return functionCall(setIntersection, this, toSetLike(other)); } }); + var has$5 = setHelpers.has; + + + + + + // `Set.prototype.isDisjointFrom` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom + var setIsDisjointFrom = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (setSize(O) <= otherRec.size) { return setIterate(O, function (e) { + if (otherRec.includes(e)) { return false; } + }, true) !== false; } + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has$5(O, e)) { return iteratorClose(iterator, 'normal', false); } + }) !== false; + }; + + // `Set.prototype.isDisjointFrom` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: setIsDisjointFrom + }); + + // `Set.prototype.isDisjointFrom` method + // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` _export({ target: 'Set', proto: true, real: true, forced: true }, { - isDisjointFrom: function isDisjointFrom(iterable) { - var set = anObject(this); - var hasCheck = aCallable(set.has); - return !iterate(iterable, function (value, stop) { - if (functionCall(hasCheck, set, value) === true) { return stop(); } - }, { INTERRUPTED: true }).stopped; + isDisjointFrom: function isDisjointFrom(other) { + return functionCall(setIsDisjointFrom, this, toSetLike(other)); } }); // `Set.prototype.isSubsetOf` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf + var setIsSubsetOf = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (setSize(O) > otherRec.size) { return false; } + return setIterate(O, function (e) { + if (!otherRec.includes(e)) { return false; } + }, true) !== false; + }; + + // `Set.prototype.isSubsetOf` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: setIsSubsetOf + }); + + // `Set.prototype.isSubsetOf` method + // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` _export({ target: 'Set', proto: true, real: true, forced: true }, { - isSubsetOf: function isSubsetOf(iterable) { - var iterator = getIterator(this); - var otherSet = anObject(iterable); - var hasCheck = otherSet.has; - if (!isCallable(hasCheck)) { - otherSet = new (getBuiltIn('Set'))(iterable); - hasCheck = aCallable(otherSet.has); - } - return !iterate(iterator, function (value, stop) { - if (functionCall(hasCheck, otherSet, value) === false) { return stop(); } - }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped; + isSubsetOf: function isSubsetOf(other) { + return functionCall(setIsSubsetOf, this, toSetLike(other)); } }); + var has$4 = setHelpers.has; + + + + + // `Set.prototype.isSupersetOf` method // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf + var setIsSupersetOf = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (setSize(O) < otherRec.size) { return false; } + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has$4(O, e)) { return iteratorClose(iterator, 'normal', false); } + }) !== false; + }; + + // `Set.prototype.isSupersetOf` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: setIsSupersetOf + }); + + // `Set.prototype.isSupersetOf` method + // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` _export({ target: 'Set', proto: true, real: true, forced: true }, { - isSupersetOf: function isSupersetOf(iterable) { - var set = anObject(this); - var hasCheck = aCallable(set.has); - return !iterate(iterable, function (value, stop) { - if (functionCall(hasCheck, set, value) === false) { return stop(); } - }, { INTERRUPTED: true }).stopped; + isSupersetOf: function isSupersetOf(other) { + return functionCall(setIsSupersetOf, this, toSetLike(other)); } }); var arrayJoin = functionUncurryThis([].join); - var push$5 = [].push; + var push$5 = functionUncurryThis([].push); // `Set.prototype.join` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { join: function join(separator) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var sep = separator === undefined ? ',' : toString_1(separator); - var result = []; - iterate(iterator, push$5, { that: result, IS_ITERATOR: true }); - return arrayJoin(result, sep); + var array = []; + setIterate(set, function (value) { + push$5(array, value); + }); + return arrayJoin(array, sep); } }); + var Set$2 = setHelpers.Set; + var add$3 = setHelpers.add; + // `Set.prototype.map` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { map: function map(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aCallable(newSet.add); - iterate(iterator, function (value) { - functionCall(adder, newSet, boundFunction(value, value, set)); - }, { IS_ITERATOR: true }); + var newSet = new Set$2(); + setIterate(set, function (value) { + add$3(newSet, boundFunction(value, value, set)); + }); return newSet; } }); @@ -12900,26 +14174,25 @@ var doric = (function (exports) { of: collectionOf }); - var $TypeError$1 = TypeError; + var $TypeError$3 = TypeError; // `Set.prototype.reduce` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { reduce: function reduce(callbackfn /* , initialValue */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var noInitial = arguments.length < 2; var accumulator = noInitial ? undefined : arguments[1]; aCallable(callbackfn); - iterate(iterator, function (value) { + setIterate(set, function (value) { if (noInitial) { noInitial = false; accumulator = value; } else { 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; } }); @@ -12928,44 +14201,81 @@ var doric = (function (exports) { // https://github.com/tc39/proposal-collection-methods _export({ target: 'Set', proto: true, real: true, forced: true }, { some: function some(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); + var set = aSet(this); var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return iterate(iterator, function (value, stop) { - if (boundFunction(value, value, set)) { return stop(); } - }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped; + return setIterate(set, function (value) { + if (boundFunction(value, value, set)) { return true; } + }, true) === true; } }); + var add$2 = setHelpers.add; + var has$3 = setHelpers.has; + var remove$2 = setHelpers.remove; + + // `Set.prototype.symmetricDifference` method + // https://github.com/tc39/proposal-set-methods + var setSymmetricDifference = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = setClone(O); + iterateSimple(keysIter, function (e) { + if (has$3(O, e)) { remove$2(result, e); } + else { add$2(result, e); } + }); + return result; + }; + + // `Set.prototype.symmetricDifference` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: setSymmetricDifference + }); + // `Set.prototype.symmetricDifference` method // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` _export({ target: 'Set', proto: true, real: true, forced: true }, { - symmetricDifference: function symmetricDifference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aCallable(newSet['delete']); - var adder = aCallable(newSet.add); - iterate(iterable, function (value) { - functionCall(remover, newSet, value) || functionCall(adder, newSet, value); - }); - return newSet; + symmetricDifference: function symmetricDifference(other) { + return functionCall(setSymmetricDifference, this, toSetLike(other)); } }); + var add$1 = setHelpers.add; + + + + + // `Set.prototype.union` method + // https://github.com/tc39/proposal-set-methods + var setUnion = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = setClone(O); + iterateSimple(keysIter, function (it) { + add$1(result, it); + }); + return result; + }; + + // `Set.prototype.union` method + // https://github.com/tc39/proposal-set-methods + _export({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: setUnion + }); + // `Set.prototype.union` method // https://github.com/tc39/proposal-set-methods + // TODO: Obsolete version, remove from `core-js@4` _export({ target: 'Set', proto: true, real: true, forced: true }, { - union: function union(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - iterate(iterable, aCallable(newSet.add), { that: newSet }); - return newSet; + union: function union(other) { + return functionCall(setUnion, this, toSetLike(other)); } }); // TODO: Remove from `core-js@4` - var charAt$5 = stringMultibyte.charAt; + var charAt$8 = stringMultibyte.charAt; @@ -12978,44 +14288,48 @@ var doric = (function (exports) { 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); + return (k < 0 || k >= len) ? undefined : charAt$8(S, k); } }); - var $TypeError = TypeError; - var ArrayPrototype = Array.prototype; - var push$4 = functionUncurryThis(ArrayPrototype.push); - var join$3 = functionUncurryThis(ArrayPrototype.join); + var $TypeError$2 = TypeError; + var push$4 = functionUncurryThis([].push); + var join$4 = functionUncurryThis([].join); + + // `String.cooked` method + // https://tc39.es/proposal-string-cooked/ + var stringCooked = function cooked(template /* , ...substitutions */) { + var arguments$1 = arguments; + + var cookedTemplate = toIndexedObject(template); + var literalSegments = lengthOfArrayLike(cookedTemplate); + if (!literalSegments) { return ''; } + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + var nextVal = cookedTemplate[i++]; + if (nextVal === undefined) { throw $TypeError$2('Incorrect template'); } + push$4(elements, toString_1(nextVal)); + if (i === literalSegments) { return join$4(elements, ''); } + if (i < argumentsLength) { push$4(elements, toString_1(arguments$1[i])); } + } + }; // `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])); } - } - } + cooked: stringCooked }); var codeAt$1 = stringMultibyte.codeAt; - var charAt$4 = stringMultibyte.charAt; + var charAt$7 = stringMultibyte.charAt; var STRING_ITERATOR = 'String Iterator'; var setInternalState$3 = internalState.set; var getInternalState$1 = internalState.getterFor(STRING_ITERATOR); // TODO: unify with String#@@iterator - var $StringIterator = createIteratorConstructor(function StringIterator(string) { + var $StringIterator = iteratorCreateConstructor(function StringIterator(string) { setInternalState$3(this, { type: STRING_ITERATOR, string: string, @@ -13026,10 +14340,10 @@ var doric = (function (exports) { var string = state.string; var index = state.index; var point; - if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$4(string, index); + if (index >= string.length) { return createIterResultObject(undefined, true); } + point = charAt$7(string, index); state.index += point.length; - return { value: { codePoint: codeAt$1(point, 0), position: index }, done: false }; + return createIterResultObject({ codePoint: codeAt$1(point, 0), position: index }, false); }); // `String.prototype.codePoints` method @@ -13040,44 +14354,403 @@ var doric = (function (exports) { } }); + // adapted from https://github.com/jridgewell/string-dedent + + + + var fromCharCode$2 = String.fromCharCode; + var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); + var charAt$6 = functionUncurryThis(''.charAt); + var charCodeAt$4 = functionUncurryThis(''.charCodeAt); + var stringIndexOf = functionUncurryThis(''.indexOf); + var stringSlice$3 = functionUncurryThis(''.slice); + + var ZERO_CODE = 48; + var NINE_CODE = 57; + var LOWER_A_CODE = 97; + var LOWER_F_CODE = 102; + var UPPER_A_CODE = 65; + var UPPER_F_CODE = 70; + + var isDigit = function (str, index) { + var c = charCodeAt$4(str, index); + return c >= ZERO_CODE && c <= NINE_CODE; + }; + + var parseHex = function (str, index, end) { + if (end >= str.length) { return -1; } + var n = 0; + for (; index < end; index++) { + var c = hexToInt(charCodeAt$4(str, index)); + if (c === -1) { return -1; } + n = n * 16 + c; + } + return n; + }; + + var hexToInt = function (c) { + if (c >= ZERO_CODE && c <= NINE_CODE) { return c - ZERO_CODE; } + if (c >= LOWER_A_CODE && c <= LOWER_F_CODE) { return c - LOWER_A_CODE + 10; } + if (c >= UPPER_A_CODE && c <= UPPER_F_CODE) { return c - UPPER_A_CODE + 10; } + return -1; + }; + + var stringParse = function (raw) { + var out = ''; + var start = 0; + // We need to find every backslash escape sequence, and cook the escape into a real char. + var i = 0; + var n; + while ((i = stringIndexOf(raw, '\\', i)) > -1) { + out += stringSlice$3(raw, start, i); + // If the backslash is the last char of the string, then it was an invalid sequence. + // This can't actually happen in a tagged template literal, but could happen if you manually + // invoked the tag with an array. + if (++i === raw.length) { return; } + var next = charAt$6(raw, i++); + switch (next) { + // Escaped control codes need to be individually processed. + case 'b': + out += '\b'; + break; + case 't': + out += '\t'; + break; + case 'n': + out += '\n'; + break; + case 'v': + out += '\v'; + break; + case 'f': + out += '\f'; + break; + case 'r': + out += '\r'; + break; + // Escaped line terminators just skip the char. + case '\r': + // Treat `\r\n` as a single terminator. + if (i < raw.length && charAt$6(raw, i) === '\n') { ++i; } + // break omitted + case '\n': + case '\u2028': + case '\u2029': + break; + // `\0` is a null control char, but `\0` followed by another digit is an illegal octal escape. + case '0': + if (isDigit(raw, i)) { return; } + out += '\0'; + break; + // Hex escapes must contain 2 hex chars. + case 'x': + n = parseHex(raw, i, i + 2); + if (n === -1) { return; } + i += 2; + out += fromCharCode$2(n); + break; + // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`. + // The hex value must not overflow 0x10FFFF. + case 'u': + if (i < raw.length && charAt$6(raw, i) === '{') { + var end = stringIndexOf(raw, '}', ++i); + if (end === -1) { return; } + n = parseHex(raw, i, end); + i = end + 1; + } else { + n = parseHex(raw, i, i + 4); + i += 4; + } + if (n === -1 || n > 0x10FFFF) { return; } + out += fromCodePoint(n); + break; + default: + if (isDigit(next, 0)) { return; } + out += next; + } + start = i; + } + return out + stringSlice$3(raw, start); + }; + + var defineProperty$3 = objectDefineProperty.f; + + + + + + var WeakMap$1 = getBuiltIn('WeakMap'); + var globalDedentRegistry = shared('GlobalDedentRegistry', new WeakMap$1()); + + /* eslint-disable no-self-assign -- prototype methods protection */ + globalDedentRegistry.has = globalDedentRegistry.has; + globalDedentRegistry.get = globalDedentRegistry.get; + globalDedentRegistry.set = globalDedentRegistry.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + + var $Array$1 = Array; + var $TypeError$1 = TypeError; + // eslint-disable-next-line es/no-object-freeze -- safe + var freeze = Object.freeze || Object; + // eslint-disable-next-line es/no-object-isfrozen -- safe + var isFrozen = Object.isFrozen; + var min$1 = Math.min; + var charAt$5 = functionUncurryThis(''.charAt); + var stringSlice$2 = functionUncurryThis(''.slice); + var split$3 = functionUncurryThis(''.split); + var exec$3 = functionUncurryThis(/./.exec); + + var NEW_LINE = /([\n\u2028\u2029]|\r\n?)/g; + var LEADING_WHITESPACE = RegExp('^[' + whitespaces$1 + ']*'); + var NON_WHITESPACE = RegExp('[^' + whitespaces$1 + ']'); + var INVALID_TAG = 'Invalid tag'; + var INVALID_OPENING_LINE = 'Invalid opening line'; + var INVALID_CLOSING_LINE = 'Invalid closing line'; + + var dedentTemplateStringsArray = function (template) { + var rawInput = template.raw; + // https://github.com/tc39/proposal-string-dedent/issues/75 + if (freezing && !isFrozen(rawInput)) { throw $TypeError$1('Raw template should be frozen'); } + if (globalDedentRegistry.has(rawInput)) { return globalDedentRegistry.get(rawInput); } + var raw = dedentStringsArray(rawInput); + var cookedArr = cookStrings(raw); + defineProperty$3(cookedArr, 'raw', { + value: freeze(raw) + }); + freeze(cookedArr); + globalDedentRegistry.set(rawInput, cookedArr); + return cookedArr; + }; + + var dedentStringsArray = function (template) { + var t = toObject(template); + var length = lengthOfArrayLike(t); + var blocks = $Array$1(length); + var dedented = $Array$1(length); + var i = 0; + var lines, common; + + if (!length) { throw $TypeError$1(INVALID_TAG); } + + for (; i < length; i++) { + var element = t[i]; + if (typeof element == 'string') { blocks[i] = split$3(element, NEW_LINE); } + else { throw $TypeError$1(INVALID_TAG); } + } + + for (i = 0; i < length; i++) { + var lastSplit = i + 1 === length; + lines = blocks[i]; + if (i === 0) { + if (lines.length === 1 || lines[0].length > 0) { + throw $TypeError$1(INVALID_OPENING_LINE); + } + lines[1] = ''; + } + if (lastSplit) { + if (lines.length === 1 || exec$3(NON_WHITESPACE, lines[lines.length - 1])) { + throw $TypeError$1(INVALID_CLOSING_LINE); + } + lines[lines.length - 2] = ''; + lines[lines.length - 1] = ''; + } + for (var j = 2; j < lines.length; j += 2) { + var text = lines[j]; + var lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit; + var leading = exec$3(LEADING_WHITESPACE, text)[0]; + if (!lineContainsTemplateExpression && leading.length === text.length) { + lines[j] = ''; + continue; + } + common = commonLeadingIndentation(leading, common); + } + } + + var count = common ? common.length : 0; + + for (i = 0; i < length; i++) { + lines = blocks[i]; + for (var quasi = lines[0], k = 1; k < lines.length; k += 2) { + quasi += lines[k] + stringSlice$2(lines[k + 1], count); + } + dedented[i] = quasi; + } + + return dedented; + }; + + var commonLeadingIndentation = function (a, b) { + if (b === undefined || a === b) { return a; } + var i = 0; + for (var len = min$1(a.length, b.length); i < len; i++) { + if (charAt$5(a, i) !== charAt$5(b, i)) { break; } + } + return stringSlice$2(a, 0, i); + }; + + var cookStrings = function (raw) { + for (var i = 0, length = raw.length, result = $Array$1(length); i < length; i++) { + result[i] = stringParse(raw[i]); + } return result; + }; + + var makeDedentTag = function (tag) { + return makeBuiltIn_1(function (template /* , ...substitutions */) { + var args = arraySliceSimple(arguments); + args[0] = dedentTemplateStringsArray(anObject(template)); + return functionApply(tag, this, args); + }, ''); + }; + + var cookedDedentTag = makeDedentTag(stringCooked); + + // `String.dedent` method + // https://github.com/tc39/proposal-string-dedent + _export({ target: 'String', stat: true, forced: true }, { + dedent: function dedent(templateOrFn /* , ...substitutions */) { + anObject(templateOrFn); + if (isCallable(templateOrFn)) { return makeDedentTag(templateOrFn); } + return functionApply(cookedDedentTag, this, arguments); + } + }); + + var charCodeAt$3 = functionUncurryThis(''.charCodeAt); + + // `String.prototype.isWellFormed` method + // https://github.com/tc39/proposal-is-usv-string + _export({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString_1(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt$3(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) != 0xD800) { continue; } + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt$3(S, i) & 0xFC00) != 0xDC00) { return false; } + } return true; + } + }); + + var $Array = Array; + var charAt$4 = functionUncurryThis(''.charAt); + var charCodeAt$2 = functionUncurryThis(''.charCodeAt); + var join$3 = functionUncurryThis([].join); + var $toWellFormed = ''.toWellFormed; + var REPLACEMENT_CHARACTER = '\uFFFD'; + + // Safari bug + var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return functionCall($toWellFormed, 1) !== '1'; + }); + + // `String.prototype.toWellFormed` method + // https://github.com/tc39/proposal-is-usv-string + _export({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString_1(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) { return functionCall($toWellFormed, S); } + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt$2(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) != 0xD800) { result[i] = charAt$4(S, i); } + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt$2(S, i + 1) & 0xFC00) != 0xDC00) { result[i] = REPLACEMENT_CHARACTER; } + // surrogate pair + else { + result[i] = charAt$4(S, i); + result[++i] = charAt$4(S, i); + } + } return join$3(result, ''); + } + }); + // `Symbol.asyncDispose` well-known symbol - // https://github.com/tc39/proposal-using-statement - defineWellKnownSymbol('asyncDispose'); + // https://github.com/tc39/proposal-async-explicit-resource-management + wellKnownSymbolDefine('asyncDispose'); // `Symbol.dispose` well-known symbol - // https://github.com/tc39/proposal-using-statement - defineWellKnownSymbol('dispose'); + // https://github.com/tc39/proposal-explicit-resource-management + wellKnownSymbolDefine('dispose'); + + var Symbol$2 = getBuiltIn('Symbol'); + var keyFor = Symbol$2.keyFor; + var thisSymbolValue$1 = functionUncurryThis(Symbol$2.prototype.valueOf); + + // `Symbol.isRegistered` method + // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregistered + _export({ target: 'Symbol', stat: true }, { + isRegistered: function isRegistered(value) { + try { + return keyFor(thisSymbolValue$1(value)) !== undefined; + } catch (error) { + return false; + } + } + }); + + var Symbol$1 = getBuiltIn('Symbol'); + var $isWellKnown = Symbol$1.isWellKnown; + var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames'); + var thisSymbolValue = functionUncurryThis(Symbol$1.prototype.valueOf); + var WellKnownSymbolsStore = shared('wks'); + + for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol$1), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) { + // some old engines throws on access to some keys like `arguments` or `caller` + try { + var symbolKey = symbolKeys[i]; + if (isSymbol(Symbol$1[symbolKey])) { wellKnownSymbol(symbolKey); } + } catch (error) { /* empty */ } + } + + // `Symbol.isWellKnown` method + // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknown + // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected + _export({ target: 'Symbol', stat: true, forced: true }, { + isWellKnown: function isWellKnown(value) { + if ($isWellKnown && $isWellKnown(value)) { return true; } + try { + var symbol = thisSymbolValue(value); + for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) { + if (WellKnownSymbolsStore[keys[j]] == symbol) { return true; } + } + } catch (error) { /* empty */ } + return false; + } + }); // `Symbol.matcher` well-known symbol // https://github.com/tc39/proposal-pattern-matching - defineWellKnownSymbol('matcher'); + wellKnownSymbolDefine('matcher'); // TODO: Remove from `core-js@4` // `Symbol.metadata` well-known symbol // https://github.com/tc39/proposal-decorators - defineWellKnownSymbol('metadata'); + wellKnownSymbolDefine('metadata'); // `Symbol.metadataKey` well-known symbol // https://github.com/tc39/proposal-decorator-metadata - defineWellKnownSymbol('metadataKey'); + wellKnownSymbolDefine('metadataKey'); // `Symbol.observable` well-known symbol // https://github.com/tc39/proposal-observable - defineWellKnownSymbol('observable'); + wellKnownSymbolDefine('observable'); // TODO: remove from `core-js@4` // `Symbol.patternMatch` well-known symbol // https://github.com/tc39/proposal-pattern-matching - defineWellKnownSymbol('patternMatch'); + wellKnownSymbolDefine('patternMatch'); // TODO: remove from `core-js@4` - defineWellKnownSymbol('replaceAll'); + wellKnownSymbolDefine('replaceAll'); // TODO: Remove from `core-js@4` @@ -13109,26 +14782,26 @@ var doric = (function (exports) { var $filterReject$1 = arrayIteration.filterReject; - var aTypedArray$7 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$4 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$4 = 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$4('filterOut', function filterOut(callbackfn /* , thisArg */) { + var list = $filterReject$1(aTypedArray$4(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$3 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$3 = 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$3('filterReject', function filterReject(callbackfn /* , thisArg */) { + var list = $filterReject(aTypedArray$3(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); return typedArrayFromSpeciesAndList(this, list); }, true); @@ -13137,40 +14810,16 @@ var doric = (function (exports) { - var aTypedArray$5 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; + var aTypedArray$2 = arrayBufferViewCore.aTypedArray; + var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.groupBy` method // https://github.com/tc39/proposal-array-grouping - exportTypedArrayMethod$5('groupBy', function groupBy(callbackfn /* , thisArg */) { + exportTypedArrayMethod$2('groupBy', function groupBy(callbackfn /* , thisArg */) { var thisArg = arguments.length > 1 ? arguments[1] : undefined; - return arrayGroup(aTypedArray$5(this), callbackfn, thisArg, typedArraySpeciesConstructor); + return arrayGroup(aTypedArray$2(this), callbackfn, thisArg, typedArraySpeciesConstructor); }, true); - var aTypedArray$4 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod; - var getTypedArrayConstructor$3 = arrayBufferViewCore.getTypedArrayConstructor; - - // `%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), getTypedArrayConstructor$3(this)); - }); - - var aTypedArray$3 = arrayBufferViewCore.aTypedArray; - var getTypedArrayConstructor$2 = arrayBufferViewCore.getTypedArrayConstructor; - var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod; - 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(getTypedArrayConstructor$2(O), O); - return sort(A, compareFn); - }); - // TODO: Remove from `core-js@4` @@ -13178,15 +14827,17 @@ var doric = (function (exports) { - var aTypedArray$2 = arrayBufferViewCore.aTypedArray; + + + var aTypedArray$1 = arrayBufferViewCore.aTypedArray; var getTypedArrayConstructor$1 = arrayBufferViewCore.getTypedArrayConstructor; - var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod; + var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod; var max = Math.max; var min = Math.min; // some early implementations, like WebKit, does not follow the final semantic - var PROPER_ORDER$1 = !fails(function () { - // eslint-disable-next-line es-x/no-typed-arrays -- required for testing + var PROPER_ORDER = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing var array = new Int8Array([1]); var spliced = array.toSpliced(1, 0, { @@ -13201,16 +14852,16 @@ var doric = (function (exports) { // `%TypedArray%.prototype.toSpliced` method // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced - exportTypedArrayMethod$2('toSpliced', function toSpliced(start, deleteCount /* , ...items */) { + exportTypedArrayMethod$1('toSpliced', function toSpliced(start, deleteCount /* , ...items */) { var arguments$1 = arguments; - var O = aTypedArray$2(this); + var O = aTypedArray$1(this); var C = getTypedArrayConstructor$1(O); var len = lengthOfArrayLike(O); var actualStart = toAbsoluteIndex(start, len); var argumentsLength = arguments.length; var k = 0; - var insertCount, actualDeleteCount, convertedItems, newLen, A; + var insertCount, actualDeleteCount, thisIsBigIntArray, convertedItems, value, newLen, A; if (argumentsLength === 0) { insertCount = actualDeleteCount = 0; } else if (argumentsLength === 1) { @@ -13221,8 +14872,11 @@ var doric = (function (exports) { insertCount = argumentsLength - 2; if (insertCount) { convertedItems = new C(insertCount); + thisIsBigIntArray = isBigIntArray(convertedItems); for (var i = 2; i < argumentsLength; i++) { - convertedItems[i - 2] = arguments$1[i]; + value = arguments$1[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + convertedItems[i - 2] = thisIsBigIntArray ? toBigInt(value) : +value; } } } @@ -13234,52 +14888,56 @@ var doric = (function (exports) { for (; k < newLen; k++) { A[k] = O[k + actualDeleteCount - insertCount]; } return A; - }, !PROPER_ORDER$1); - - var aTypedArray$1 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$1 = 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 slice = functionUncurryThis(''.slice); - - var isBigIntArray = function (it) { - return slice(classof(it), 0, 3) === 'Big'; - }; + }, !PROPER_ORDER); var aTypedArray = arrayBufferViewCore.aTypedArray; var getTypedArrayConstructor = arrayBufferViewCore.getTypedArrayConstructor; var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod; + var arrayUniqueBy = functionUncurryThis(arrayUniqueBy$2); - 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.uniqueBy` method + // https://github.com/tc39/proposal-array-unique + exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) { + aTypedArray(this); + return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver)); + }, true); - // `%TypedArray%.prototype.with` method - // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with - exportTypedArrayMethod('with', { 'with': function (index, value) { - var O = aTypedArray(this); - var relativeIndex = toIntegerOrInfinity(index); - var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; - return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); - } }['with'], !PROPER_ORDER); + // eslint-disable-next-line es/no-weak-map -- safe + var WeakMapPrototype = WeakMap.prototype; + + var weakMapHelpers = { + // eslint-disable-next-line es/no-weak-map -- safe + WeakMap: WeakMap, + set: functionUncurryThis(WeakMapPrototype.set), + get: functionUncurryThis(WeakMapPrototype.get), + has: functionUncurryThis(WeakMapPrototype.has), + remove: functionUncurryThis(WeakMapPrototype['delete']) + }; + + var has$2 = weakMapHelpers.has; + + // Perform ? RequireInternalSlot(M, [[WeakMapData]]) + var aWeakMap = function (it) { + has$2(it); + return it; + }; + + var remove$1 = weakMapHelpers.remove; // `WeakMap.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'WeakMap', proto: true, real: true, forced: true }, { - deleteAll: collectionDeleteAll + deleteAll: function deleteAll(/* ...elements */) { + var arguments$1 = arguments; + + var collection = aWeakMap(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove$1(collection, arguments$1[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } }); // `WeakMap.from` method @@ -13294,10 +14952,27 @@ var doric = (function (exports) { of: collectionOf }); + var get = weakMapHelpers.get; + var has$1 = weakMapHelpers.has; + var set = weakMapHelpers.set; + // `WeakMap.prototype.emplace` method // https://github.com/tc39/proposal-upsert _export({ target: 'WeakMap', proto: true, real: true, forced: true }, { - emplace: mapEmplace + emplace: function emplace(key, handler) { + var map = aWeakMap(this); + var value, inserted; + if (has$1(map, key)) { + value = get(map, key); + if ('update' in handler) { + value = handler.update(value, key, map); + set(map, key, value); + } return value; + } + inserted = handler.insert(key, map); + set(map, key, inserted); + return inserted; + } }); // TODO: remove from `core-js@4` @@ -13310,16 +14985,56 @@ var doric = (function (exports) { upsert: mapUpsert }); + // eslint-disable-next-line es/no-weak-set -- safe + var WeakSetPrototype = WeakSet.prototype; + + var weakSetHelpers = { + // eslint-disable-next-line es/no-weak-set -- safe + WeakSet: WeakSet, + add: functionUncurryThis(WeakSetPrototype.add), + has: functionUncurryThis(WeakSetPrototype.has), + remove: functionUncurryThis(WeakSetPrototype['delete']) + }; + + var has = weakSetHelpers.has; + + // Perform ? RequireInternalSlot(M, [[WeakSetData]]) + var aWeakSet = function (it) { + has(it); + return it; + }; + + var add = weakSetHelpers.add; + // `WeakSet.prototype.addAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'WeakSet', proto: true, real: true, forced: true }, { - addAll: collectionAddAll + addAll: function addAll(/* ...elements */) { + var arguments$1 = arguments; + + var set = aWeakSet(this); + for (var k = 0, len = arguments.length; k < len; k++) { + add(set, arguments$1[k]); + } return set; + } }); + var remove = weakSetHelpers.remove; + // `WeakSet.prototype.deleteAll` method // https://github.com/tc39/proposal-collection-methods _export({ target: 'WeakSet', proto: true, real: true, forced: true }, { - deleteAll: collectionDeleteAll + deleteAll: function deleteAll(/* ...elements */) { + var arguments$1 = arguments; + + var collection = aWeakSet(this); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remove(collection, arguments$1[k]); + allDeleted = allDeleted && wasDeleted; + } return !!allDeleted; + } }); // `WeakSet.from` method @@ -13348,7 +15063,7 @@ var doric = (function (exports) { var disallowed = /[^\d+/a-z]/i; var whitespaces = /[\t\n\f\r ]+/g; - var finalEq = /[=]+$/; + var finalEq = /[=]{1,2}$/; var $atob = getBuiltIn('atob'); var fromCharCode$1 = String.fromCharCode; @@ -13372,10 +15087,11 @@ var doric = (function (exports) { // `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 }, { + _export({ global: true, bind: 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); } + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (NO_ARG_RECEIVING_CHECK$1 || WRONG_ARITY$1) { return functionCall($atob, global_1, data); } var string = replace$3(toString_1(data), whitespaces, ''); var output = ''; var position = 0; @@ -13414,10 +15130,11 @@ var doric = (function (exports) { // `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 }, { + _export({ global: true, bind: 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)); } + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY) { return functionCall($btoa, global_1, toString_1(data)); } var string = toString_1(data); var output = ''; var position = 0; @@ -13562,7 +15279,7 @@ var doric = (function (exports) { DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } }; - var defineProperty$1 = objectDefineProperty.f; + var defineProperty$2 = objectDefineProperty.f; @@ -13584,7 +15301,7 @@ var doric = (function (exports) { 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 + // eslint-disable-next-line es/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; } @@ -13620,7 +15337,7 @@ var doric = (function (exports) { if (HAS_STACK) { var error = Error$3(message); error.name = DOM_EXCEPTION$2; - defineProperty$1(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + defineProperty$2(this, 'stack', createPropertyDescriptor(1, errorStackClear(error.stack, 1))); } }; @@ -13637,12 +15354,15 @@ var doric = (function (exports) { }; if (descriptors) { + // `DOMException.prototype.code` getter defineBuiltInAccessor(DOMExceptionPrototype$1, 'code', getterFor('code')); + // `DOMException.prototype.message` getter defineBuiltInAccessor(DOMExceptionPrototype$1, 'message', getterFor('message')); + // `DOMException.prototype.name` getter defineBuiltInAccessor(DOMExceptionPrototype$1, 'name', getterFor('name')); } - defineProperty$1(DOMExceptionPrototype$1, 'constructor', createPropertyDescriptor(1, $DOMException$1)); + defineProperty$2(DOMExceptionPrototype$1, 'constructor', createPropertyDescriptor(1, $DOMException$1)); // FF36- DOMException is a function, but can't be constructed var INCORRECT_CONSTRUCTOR = fails(function () { @@ -13685,19 +15405,20 @@ var doric = (function (exports) { })); } + // `DOMException` constants 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$1 = createPropertyDescriptor(6, constant$1.c); + var descriptor$2 = createPropertyDescriptor(6, constant$1.c); if (!hasOwnProperty_1(PolyfilledDOMException$1, constantName$1)) { - defineProperty$1(PolyfilledDOMException$1, constantName$1, descriptor$1); + defineProperty$2(PolyfilledDOMException$1, constantName$1, descriptor$2); } if (!hasOwnProperty_1(PolyfilledDOMExceptionPrototype$1, constantName$1)) { - defineProperty$1(PolyfilledDOMExceptionPrototype$1, constantName$1, descriptor$1); + defineProperty$2(PolyfilledDOMExceptionPrototype$1, constantName$1, descriptor$2); } } } - var defineProperty = objectDefineProperty.f; + var defineProperty$1 = objectDefineProperty.f; @@ -13719,7 +15440,7 @@ var doric = (function (exports) { 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))); + defineProperty$1(that, 'stack', createPropertyDescriptor(1, errorStackClear(error.stack, 1))); inheritIfRequired(that, this, $DOMException); return that; }; @@ -13729,12 +15450,12 @@ var doric = (function (exports) { var ERROR_HAS_STACK = 'stack' in Error$2(DOM_EXCEPTION$1); var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); - // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe - var descriptor = NativeDOMException && descriptors && Object.getOwnPropertyDescriptor(global_1, DOM_EXCEPTION$1); + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor$1 = NativeDOMException && descriptors && Object.getOwnPropertyDescriptor(global_1, DOM_EXCEPTION$1); // Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it // https://github.com/Jarred-Sumner/bun/issues/399 - var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + var BUGGY_DESCRIPTOR = !!descriptor$1 && !(descriptor$1.writable && descriptor$1.configurable); var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; @@ -13749,20 +15470,21 @@ var doric = (function (exports) { if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { { - defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + defineProperty$1(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)); + defineProperty$1(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); } } } } var DOM_EXCEPTION = 'DOMException'; + // `DOMException.prototype[@@toStringTag]` property setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); var clearImmediate = task$1.clear; @@ -13773,7 +15495,37 @@ var doric = (function (exports) { clearImmediate: clearImmediate }); - var setImmediate = task$1.set; + /* global Bun -- Deno case */ + var engineIsBun = typeof Bun == 'function' && Bun && typeof Bun.version == 'string'; + + var Function$1 = global_1.Function; + // dirty IE9- and Bun 0.3.0- checks + var WRAP = /MSIE .\./.test(engineUserAgent) || engineIsBun && (function () { + var version = global_1.Bun.version.split('.'); + return version.length < 3 || version[0] == 0 && (version[1] < 3 || version[1] == 3 && version[2] == 0); + })(); + + // IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers + // https://github.com/oven-sh/bun/issues/1633 + var schedulersFix = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function$1(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + functionApply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; + }; + + var setTask = task$1.set; + + + // https://github.com/oven-sh/bun/issues/1633 + var setImmediate = global_1.setImmediate ? schedulersFix(setTask, false) : setTask; // `setImmediate` method // http://w3c.github.io/setImmediate/#si-setImmediate @@ -13790,16 +15542,53 @@ var doric = (function (exports) { validateArgumentsLength(arguments.length, 1); aCallable(fn); var domain = engineIsNode && process$1.domain; - microtask(domain ? domain.bind(fn) : fn); + microtask_1(domain ? domain.bind(fn) : fn); } }); + var $TypeError = TypeError; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var defineProperty = Object.defineProperty; + var INCORRECT_VALUE = global_1.self !== global_1; + + // `self` getter + // https://html.spec.whatwg.org/multipage/window-object.html#dom-self + try { + if (descriptors) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(global_1, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(global_1, 'self', { + get: function self() { + return global_1; + }, + set: function self(value) { + if (this !== global_1) { throw $TypeError('Illegal invocation'); } + defineProperty(global_1, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else { _export({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: global_1 + }); } + } catch (error) { /* empty */ } + var Object$1 = global_1.Object; + var Array$1 = global_1.Array; 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 ReferenceError$1 = global_1.ReferenceError; var SyntaxError$1 = global_1.SyntaxError; var TypeError$3 = global_1.TypeError; var URIError = global_1.URIError; @@ -13809,19 +15598,18 @@ var doric = (function (exports) { 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 Map$1 = mapHelpers.Map; + var mapHas = mapHelpers.has; + var mapGet = mapHelpers.get; + var mapSet = mapHelpers.set; + var Set$1 = setHelpers.Set; + var setAdd = setHelpers.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 thisBooleanValue = functionUncurryThis(true.valueOf); + var thisNumberValue = functionUncurryThis(1.0.valueOf); + var thisStringValue = functionUncurryThis(''.valueOf); + var thisTimeValue = functionUncurryThis(Date$1.prototype.getTime); var PERFORMANCE_MARK = uid('structuredClone'); var DATA_CLONE_ERROR = 'DataCloneError'; var TRANSFERRING = 'Transferring'; @@ -13890,8 +15678,20 @@ var doric = (function (exports) { 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 throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); + }; + + var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new global_1.DataTransfer(); + } catch (error) { + try { + dataTransfer = new global_1.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; }; var structuredCloneInternal = function (value, map) { @@ -13904,11 +15704,11 @@ var doric = (function (exports) { var type = classof(value); var deep = false; - var C, name, cloned, dataTransfer, i, length, keys, key, source, target; + var C, name, cloned, dataTransfer, i, length, keys, key, source, target, options; switch (type) { case 'Array': - cloned = []; + cloned = Array$1(lengthOfArrayLike(value)); deep = true; break; case 'Object': @@ -13941,7 +15741,7 @@ var doric = (function (exports) { cloned = RangeError$1(); break; case 'ReferenceError': - cloned = ReferenceError(); + cloned = ReferenceError$1(); break; case 'SyntaxError': cloned = SyntaxError$1(); @@ -14008,9 +15808,8 @@ var doric = (function (exports) { } break; case 'FileList': - C = global_1.DataTransfer; - if (isConstructor(C)) { - dataTransfer = new C(); + dataTransfer = createDataTransfer(); + if (dataTransfer) { for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { dataTransfer.items.add(structuredCloneInternal(value[i], map)); } @@ -14042,16 +15841,16 @@ var doric = (function (exports) { cloned = Object$1(value.valueOf()); break; case 'Boolean': - cloned = Object$1(booleanValueOf(value)); + cloned = Object$1(thisBooleanValue(value)); break; case 'Number': - cloned = Object$1(numberValueOf(value)); + cloned = Object$1(thisNumberValue(value)); break; case 'String': - cloned = Object$1(stringValueOf(value)); + cloned = Object$1(thisStringValue(value)); break; case 'Date': - cloned = new Date$1(getTime(value)); + cloned = new Date$1(thisTimeValue(value)); break; case 'ArrayBuffer': C = global_1.DataView; @@ -14060,11 +15859,12 @@ var doric = (function (exports) { if (!C && typeof value.slice != 'function') { throwUnpolyfillable(type); } // detached buffers throws in `DataView` and `.slice` try { - if (typeof value.slice == 'function') { + if (typeof value.slice == 'function' && !value.resizable) { cloned = value.slice(0); } else { length = value.byteLength; - cloned = new ArrayBuffer(length); + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + cloned = new ArrayBuffer(length, options); source = new C(value); target = new C(cloned); for (i = 0; i < length; i++) { @@ -14128,9 +15928,13 @@ var doric = (function (exports) { } catch (error$8) { throwUnpolyfillable(type); } break; + case 'CropTarget': case 'CryptoKey': - case 'GPUCompilationMessage': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': case 'GPUCompilationInfo': + case 'GPUCompilationMessage': case 'ImageBitmap': case 'RTCCertificate': case 'WebAssembly.Module': @@ -14178,15 +15982,6 @@ var doric = (function (exports) { 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'); } @@ -14200,7 +15995,7 @@ var doric = (function (exports) { var length = lengthOfArrayLike(transfer); var value, type, C, transferredArray, transferred, canvas, context; - if (PROPER_TRANSFER) { + if (structuredCloneProperTransfer) { transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); while (i < length) { mapSet(map, transfer[i], transferredArray[i++]); } } else { while (i < length) { @@ -14229,6 +16024,10 @@ var doric = (function (exports) { } catch (error$1) { /* empty */ } break; case 'ArrayBuffer': + if (!isCallable(value.transfer)) { throwUnpolyfillable(type, TRANSFERRING); } + transferred = value.transfer(); + break; + case 'MediaSourceHandle': case 'MessagePort': case 'OffscreenCanvas': case 'ReadableStream': @@ -14242,9 +16041,11 @@ var doric = (function (exports) { } } }; - _export({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, { + // `structuredClone` method + // https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone + _export({ global: true, enumerable: true, sham: !structuredCloneProperTransfer, forced: FORCED_REPLACEMENT }, { structuredClone: function structuredClone(value /* , { transfer } */) { - var options = validateArgumentsLength(arguments.length, 1) > 1 && arguments[1] != null ? anObject(arguments[1]) : undefined; + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; var transfer = options ? options.transfer : undefined; var map; @@ -14257,42 +16058,17 @@ var doric = (function (exports) { } }); - var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check - var Function$1 = global_1.Function; + var setInterval = schedulersFix(global_1.setInterval, true); - 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); - var args = boundArgs ? arraySlice$1(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - functionApply(fn, this, args); - } : fn, timeout); - } : scheduler; - }; - - // ie9- setTimeout & setInterval additional parameters fix - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers - var schedulersFix = { - // `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 + // Bun / 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; + var setTimeout$1 = schedulersFix(global_1.setTimeout, true); - // ie9- setTimeout additional parameters fix + // Bun / 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 @@ -14300,7 +16076,7 @@ var doric = (function (exports) { var ITERATOR$1 = wellKnownSymbol('iterator'); - var nativeUrl = !fails(function () { + var urlConstructorDetection = !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; @@ -14311,6 +16087,7 @@ var doric = (function (exports) { result += key + value; }); return (isPure && !url.toJSON) + || (!searchParams.size && (isPure || !descriptors)) || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' @@ -14537,6 +16314,7 @@ var doric = (function (exports) { + var ITERATOR = wellKnownSymbol('iterator'); @@ -14545,7 +16323,7 @@ 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 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Avoid NodeJS experimental warning @@ -14620,7 +16398,7 @@ var doric = (function (exports) { return replace$1(encodeURIComponent$1(it), find, replacer); }; - var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + var URLSearchParamsIterator = iteratorCreateConstructor(function Iterator(params, kind) { setInternalState$1(this, { type: URL_SEARCH_PARAMS_ITERATOR, iterator: getIterator(getInternalParamsState(params).entries), @@ -14712,20 +16490,22 @@ var doric = (function (exports) { // `URLSearchParams` constructor // https://url.spec.whatwg.org/#interface-urlsearchparams var URLSearchParamsConstructor = function URLSearchParams(/* init */) { - anInstance(this, URLSearchParamsPrototype); + anInstance(this, URLSearchParamsPrototype$1); var init = arguments.length > 0 ? arguments[0] : undefined; - setInternalState$1(this, new URLSearchParamsState(init)); + var state = setInternalState$1(this, new URLSearchParamsState(init)); + if (!descriptors) { this.length = state.entries.length; } }; - var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + var URLSearchParamsPrototype$1 = URLSearchParamsConstructor.prototype; - defineBuiltIns(URLSearchParamsPrototype, { + defineBuiltIns(URLSearchParamsPrototype$1, { // `URLSearchParams.prototype.append` method // https://url.spec.whatwg.org/#dom-urlsearchparams-append append: function append(name, value) { validateArgumentsLength(arguments.length, 2); var state = getInternalParamsState(this); push$1(state.entries, { key: toString_1(name), value: toString_1(value) }); + if (!descriptors) { this.length++; } state.updateURL(); }, // `URLSearchParams.prototype.delete` method @@ -14740,6 +16520,7 @@ var doric = (function (exports) { if (entries[index].key === key) { splice(entries, index, 1); } else { index++; } } + if (!descriptors) { this.length = entries.length; } state.updateURL(); }, // `URLSearchParams.prototype.get` method @@ -14801,6 +16582,7 @@ var doric = (function (exports) { } } if (!found) { push$1(entries, { key: key, value: val }); } + if (!descriptors) { this.length = entries.length; } state.updateURL(); }, // `URLSearchParams.prototype.sort` method @@ -14838,22 +16620,32 @@ var doric = (function (exports) { }, { enumerable: true }); // `URLSearchParams.prototype[@@iterator]` method - defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + defineBuiltIn(URLSearchParamsPrototype$1, ITERATOR, URLSearchParamsPrototype$1.entries, { name: 'entries' }); // `URLSearchParams.prototype.toString` method // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior - defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + defineBuiltIn(URLSearchParamsPrototype$1, 'toString', function toString() { return getInternalParamsState(this).serialize(); }, { enumerable: true }); + // `URLSearchParams.prototype.size` getter + // https://github.com/whatwg/url/pull/734 + if (descriptors) { defineBuiltInAccessor(URLSearchParamsPrototype$1, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true + }); } + setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - _export({ global: true, constructor: true, forced: !nativeUrl }, { + _export({ global: true, constructor: true, forced: !urlConstructorDetection }, { URLSearchParams: URLSearchParamsConstructor }); // Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` - if (!nativeUrl && isCallable(Headers)) { + if (!urlConstructorDetection && isCallable(Headers)) { var headersHas = functionUncurryThis(HeadersPrototype.has); var headersSet = functionUncurryThis(HeadersPrototype.set); @@ -14964,7 +16756,8 @@ var doric = (function (exports) { /* eslint-disable regexp/no-control-character -- safe */ var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; - var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; + var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; + var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; var TAB_AND_NEW_LINE = /[\t\n\r]/g; /* eslint-enable regexp/no-control-character -- safe */ var EOF; @@ -15260,7 +17053,8 @@ var doric = (function (exports) { url.query = null; url.fragment = null; url.cannotBeABaseURL = false; - input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); } input = replace(input, TAB_AND_NEW_LINE, ''); @@ -15940,7 +17734,7 @@ var doric = (function (exports) { setToStringTag(URLConstructor, 'URL'); - _export({ global: true, constructor: true, forced: !nativeUrl, sham: !descriptors }, { + _export({ global: true, constructor: true, forced: !urlConstructorDetection, sham: !descriptors }, { URL: URLConstructor }); @@ -15952,6 +17746,23 @@ var doric = (function (exports) { } }); + var URLSearchParamsPrototype = URLSearchParams.prototype; + var forEach = functionUncurryThis(URLSearchParamsPrototype.forEach); + + // `URLSearchParams.prototype.size` getter + // https://github.com/whatwg/url/pull/734 + if (descriptors && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); + } + /* * Copyright [2019] [Doric.Pub] * diff --git a/doric-js/bundle/doric-sandbox.js b/doric-js/bundle/doric-sandbox.js index 031f229f..c91931f6 100644 --- a/doric-js/bundle/doric-sandbox.js +++ b/doric-js/bundle/doric-sandbox.js @@ -1273,6 +1273,16 @@ var doric = (function (exports) { } } class Context { + hookBeforeNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); + } + } + hookAfterNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); + } + } constructor(id) { this.callbacks = new Map; this.classes = new Map; @@ -1307,16 +1317,6 @@ var doric = (function (exports) { } }); } - hookBeforeNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); - } - } - hookAfterNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); - } - } callNative(namespace, method, args) { const callbackId = uniqueId('callback'); return new Promise((resolve, reject) => { diff --git a/doric-js/bundle/doric-vm.js b/doric-js/bundle/doric-vm.js index 05dfdf38..acdf60c9 100644 --- a/doric-js/bundle/doric-vm.js +++ b/doric-js/bundle/doric-vm.js @@ -1284,6 +1284,16 @@ function jsCallReject(contextId, callbackId, args) { } } class Context { + hookBeforeNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); + } + } + hookAfterNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); + } + } constructor(id) { this.callbacks = new Map; this.classes = new Map; @@ -1318,16 +1328,6 @@ class Context { } }); } - hookBeforeNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); - } - } - hookAfterNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); - } - } callNative(namespace, method, args) { const callbackId = uniqueId('callback'); return new Promise((resolve, reject) => { @@ -1701,6 +1701,24 @@ function createRef() { return new Ref; } class View { + callback2Id(f) { + const id = uniqueId('Function'); + this.callbacks.set(id, f); + return id; + } + id2Callback(id) { + let f = this.callbacks.get(id); + if (f === undefined) { + f = Reflect.get(this, id); + } + return f; + } + findViewByTag(tag) { + if (tag === this.tag) { + return this; + } + return undefined; + } constructor() { this.width = 0; this.height = 0; @@ -1732,24 +1750,6 @@ class View { } }); } - callback2Id(f) { - const id = uniqueId('Function'); - this.callbacks.set(id, f); - return id; - } - id2Callback(id) { - let f = this.callbacks.get(id); - if (f === undefined) { - f = Reflect.get(this, id); - } - return f; - } - findViewByTag(tag) { - if (tag === this.tag) { - return this; - } - return undefined; - } /** Anchor start*/ get left() { return this.x; @@ -3550,6 +3550,10 @@ __decorate$b([ Property, __metadata$b("design:type", Function) ], List.prototype, "onDragged", void 0); +__decorate$b([ + Property, + __metadata$b("design:type", Number) +], List.prototype, "preloadItemCount", void 0); function list(config) { const ret = new List; ret.apply(config); diff --git a/doric-js/index.d.ts b/doric-js/index.d.ts index 3b939642..1cd92e84 100644 --- a/doric-js/index.d.ts +++ b/doric-js/index.d.ts @@ -1,5 +1,5 @@ declare module "doric" { - // Generated by dts-bundle-generator v6.12.0 + // Generated by dts-bundle-generator v6.13.0 export interface Modeling { toModel(): Model; @@ -1043,6 +1043,7 @@ declare module "doric" { beforeDragging?: (from: number) => (Array | void); onDragging?: (from: number, to: number) => void; onDragged?: (from: number, to: number) => void; + preloadItemCount?: number; scrollToItem(context: BridgeContext, index: number, config?: { animated?: boolean; }): Promise; diff --git a/doric-js/lib/index.web.d.ts b/doric-js/lib/index.web.d.ts index eb11d5b1..7e8d60d6 100644 --- a/doric-js/lib/index.web.d.ts +++ b/doric-js/lib/index.web.d.ts @@ -4,8 +4,8 @@ declare module NativeClient { function callNative(name: string, args: string): string; function fetchArrayBuffer(id: string): string; } -declare type RawValue = number | string | boolean | object | undefined | ArrayBuffer; -declare type WrappedValue = { +type RawValue = number | string | boolean | object | undefined | ArrayBuffer; +type WrappedValue = { type: "number" | "string" | "boolean" | "object" | "array" | "null" | "arrayBuffer"; value: RawValue; }; diff --git a/doric-js/lib/src/pattern/mvvm.d.ts b/doric-js/lib/src/pattern/mvvm.d.ts index bc0be37f..4255fb33 100644 --- a/doric-js/lib/src/pattern/mvvm.d.ts +++ b/doric-js/lib/src/pattern/mvvm.d.ts @@ -5,7 +5,7 @@ import { ClassType } from "../util/types"; export declare abstract class ViewHolder { abstract build(root: Group): void; } -export declare type Setter = (state: M) => void; +export type Setter = (state: M) => void; export declare abstract class ViewModel { context: BridgeContext; private state; diff --git a/doric-js/lib/src/pattern/provider.d.ts b/doric-js/lib/src/pattern/provider.d.ts index 008573d9..10cf0299 100644 --- a/doric-js/lib/src/pattern/provider.d.ts +++ b/doric-js/lib/src/pattern/provider.d.ts @@ -1,5 +1,5 @@ -export declare type Observer = (v: T) => void; -export declare type Updater = (v: T) => T; +export type Observer = (v: T) => void; +export type Updater = (v: T) => T; export interface IObservable { addObserver(observer: Observer): void; removeObserver(observer: Observer): void; diff --git a/doric-js/lib/src/runtime/global.d.ts b/doric-js/lib/src/runtime/global.d.ts index d401ded8..e0e1ef9f 100644 --- a/doric-js/lib/src/runtime/global.d.ts +++ b/doric-js/lib/src/runtime/global.d.ts @@ -1,6 +1,6 @@ import { Panel } from "../ui/panel"; import { ClassType } from "../util/types"; -export declare type BridgeContext = { +export type BridgeContext = { /** * The identify of current context */ diff --git a/doric-js/lib/src/runtime/sandbox.d.ts b/doric-js/lib/src/runtime/sandbox.d.ts index 24ef9440..1b182286 100644 --- a/doric-js/lib/src/runtime/sandbox.d.ts +++ b/doric-js/lib/src/runtime/sandbox.d.ts @@ -23,9 +23,9 @@ export declare function jsObtainContext(id: string): Context | undefined; export declare function jsReleaseContext(id: string): void; export declare function __require__(name: string): any; export declare function jsRegisterModule(name: string, moduleObject: any): void; -export declare function jsCallEntityMethod(contextId: string, methodName: string, args?: any): any; -export declare function pureCallEntityMethod(contextId: string, methodName: string, args?: any): any; -declare type ClassType = new (...args: any) => T; +export declare function jsCallEntityMethod(contextId: string, methodName: string, args?: any): unknown; +export declare function pureCallEntityMethod(contextId: string, methodName: string, args?: any): unknown; +type ClassType = new (...args: any) => T; export declare function jsObtainEntry(contextId: string): () => ClassType | ((constructor: ClassType) => ClassType); export declare function jsCallbackTimer(timerId: number): void; export declare function jsHookAfterNativeCall(): void; diff --git a/doric-js/lib/src/runtime/sandbox.js b/doric-js/lib/src/runtime/sandbox.js index f6210344..a08e6e57 100644 --- a/doric-js/lib/src/runtime/sandbox.js +++ b/doric-js/lib/src/runtime/sandbox.js @@ -71,6 +71,16 @@ export function jsCallReject(contextId, callbackId, args) { } } export class Context { + hookBeforeNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); + } + } + hookAfterNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); + } + } constructor(id) { this.callbacks = new Map; this.classes = new Map; @@ -105,16 +115,6 @@ export class Context { } }); } - hookBeforeNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); - } - } - hookAfterNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); - } - } callNative(namespace, method, args) { const callbackId = uniqueId('callback'); return new Promise((resolve, reject) => { diff --git a/doric-js/lib/src/ui/animation.d.ts b/doric-js/lib/src/ui/animation.d.ts index 3645978c..61400a48 100644 --- a/doric-js/lib/src/ui/animation.d.ts +++ b/doric-js/lib/src/ui/animation.d.ts @@ -1,6 +1,6 @@ import { Color } from "../util/color"; import { Modeling, Model } from "../util/types"; -export declare type AnimatedKey = "translationX" | "translationY" | "scaleX" | "scaleY" | "rotation" | "pivotX" | "pivotY" | "rotationX" | "rotationY" | "backgroundColor" | "alpha"; +export type AnimatedKey = "translationX" | "translationY" | "scaleX" | "scaleY" | "rotation" | "pivotX" | "pivotY" | "rotationX" | "rotationY" | "backgroundColor" | "alpha"; export declare enum RepeatMode { RESTART = 1, REVERSE = 2 diff --git a/doric-js/lib/src/ui/view.d.ts b/doric-js/lib/src/ui/view.d.ts index 4ca31021..0d1f7735 100644 --- a/doric-js/lib/src/ui/view.d.ts +++ b/doric-js/lib/src/ui/view.d.ts @@ -7,14 +7,14 @@ import { FlexConfig } from "../util/flexbox"; export declare function Property(target: Object, propKey: string): void; export declare function InconsistProperty(target: Object, propKey: string): void; export declare function ViewComponent(constructor: ClassType): void; -export declare type NativeViewModel = { +export type NativeViewModel = { id: string; type: string; props: { [index: string]: Model; }; }; -declare type RefType = T extends Ref ? R : never; +type RefType = T extends Ref ? R : never; export declare class Ref { private view?; set current(v: T); @@ -151,8 +151,8 @@ export declare abstract class Superview extends View { clean(): void; toModel(): NativeViewModel; } -export declare type ViewArray = View[]; -export declare type ViewFragment = View | ViewArray | undefined | null; +export type ViewArray = View[]; +export type ViewFragment = View | ViewArray | undefined | null; export declare abstract class Group extends Superview implements JSX.ElementChildrenAttribute { padding?: { left?: number; diff --git a/doric-js/lib/src/ui/view.js b/doric-js/lib/src/ui/view.js index a4218db8..e60c0007 100644 --- a/doric-js/lib/src/ui/view.js +++ b/doric-js/lib/src/ui/view.js @@ -43,6 +43,24 @@ export function createRef() { return new Ref; } export class View { + callback2Id(f) { + const id = uniqueId('Function'); + this.callbacks.set(id, f); + return id; + } + id2Callback(id) { + let f = this.callbacks.get(id); + if (f === undefined) { + f = Reflect.get(this, id); + } + return f; + } + findViewByTag(tag) { + if (tag === this.tag) { + return this; + } + return undefined; + } constructor() { this.width = 0; this.height = 0; @@ -74,24 +92,6 @@ export class View { } }); } - callback2Id(f) { - const id = uniqueId('Function'); - this.callbacks.set(id, f); - return id; - } - id2Callback(id) { - let f = this.callbacks.get(id); - if (f === undefined) { - f = Reflect.get(this, id); - } - return f; - } - findViewByTag(tag) { - if (tag === this.tag) { - return this; - } - return undefined; - } /** Anchor start*/ get left() { return this.x; diff --git a/doric-js/lib/src/util/flexbox.d.ts b/doric-js/lib/src/util/flexbox.d.ts index e59e2de0..b781d2d0 100644 --- a/doric-js/lib/src/util/flexbox.d.ts +++ b/doric-js/lib/src/util/flexbox.d.ts @@ -64,7 +64,7 @@ export declare enum Display { FLEX = 0, NONE = 1 } -export declare type FlexValue = FlexTypedValue | number; +export type FlexValue = FlexTypedValue | number; export interface FlexConfig { direction?: Direction; flexDirection?: FlexDirection; diff --git a/doric-js/lib/src/util/types.d.ts b/doric-js/lib/src/util/types.d.ts index 7c7fbc7e..d6a7551b 100644 --- a/doric-js/lib/src/util/types.d.ts +++ b/doric-js/lib/src/util/types.d.ts @@ -2,11 +2,11 @@ export interface Modeling { toModel(): Model; } export declare function obj2Model(obj: Model, convertor: (v: Function) => string): Model; -declare type _M = string | number | boolean | Modeling | { +type _M = string | number | boolean | Modeling | { [index: string]: Model; } | undefined; -export declare type Model = _M | Array<_M>; -export declare type Binder = (v: T) => void; +export type Model = _M | Array<_M>; +export type Binder = (v: T) => void; export declare class Mutable { private val; private binders; @@ -16,5 +16,5 @@ export declare class Mutable { bind(binder: Binder): void; static of(v: E): Mutable; } -export declare type ClassType = new (...args: any) => T; +export type ClassType = new (...args: any) => T; export {}; diff --git a/doric-js/lib/src/widget/list.d.ts b/doric-js/lib/src/widget/list.d.ts index e3034a21..d14bc6bc 100644 --- a/doric-js/lib/src/widget/list.d.ts +++ b/doric-js/lib/src/widget/list.d.ts @@ -49,6 +49,7 @@ export declare class List extends Superview { beforeDragging?: (from: number) => (Array | void); onDragging?: (from: number, to: number) => void; onDragged?: (from: number, to: number) => void; + preloadItemCount?: number; scrollToItem(context: BridgeContext, index: number, config?: { animated?: boolean; }): Promise; diff --git a/doric-js/lib/src/widget/list.js b/doric-js/lib/src/widget/list.js index 86062f54..d0249e3d 100644 --- a/doric-js/lib/src/widget/list.js +++ b/doric-js/lib/src/widget/list.js @@ -162,6 +162,10 @@ __decorate([ Property, __metadata("design:type", Function) ], List.prototype, "onDragged", void 0); +__decorate([ + Property, + __metadata("design:type", Number) +], List.prototype, "preloadItemCount", void 0); export function list(config) { const ret = new List; ret.apply(config); diff --git a/doric-js/src/widget/list.ts b/doric-js/src/widget/list.ts index 8d31a8c0..64374145 100644 --- a/doric-js/src/widget/list.ts +++ b/doric-js/src/widget/list.ts @@ -88,8 +88,8 @@ export class List extends Superview { * @param from * @returns Returns the item of index which can dragged or not. */ - @Property - itemCanDrag?: (from: number) => boolean + @Property + itemCanDrag?: (from: number) => boolean /** * @param from @@ -104,6 +104,9 @@ export class List extends Superview { @Property onDragged?: (from: number, to: number) => void + @Property + preloadItemCount?: number + scrollToItem(context: BridgeContext, index: number, config?: { animated?: boolean, }) { const animated = config?.animated return this.nativeChannel(context, 'scrollToItem')({ index, animated, }) as Promise diff --git a/doric-web/dist/index.js b/doric-web/dist/index.js index fb73095f..a26851e4 100644 --- a/doric-web/dist/index.js +++ b/doric-web/dist/index.js @@ -1278,6 +1278,16 @@ var doric = (function (exports) { } } class Context { + hookBeforeNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); + } + } + hookAfterNativeCall() { + if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { + Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); + } + } constructor(id) { this.callbacks = new Map; this.classes = new Map; @@ -1312,16 +1322,6 @@ var doric = (function (exports) { } }); } - hookBeforeNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); - } - } - hookAfterNativeCall() { - if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); - } - } callNative(namespace, method, args) { const callbackId = uniqueId('callback'); return new Promise((resolve, reject) => { @@ -1776,6 +1776,24 @@ function createRef() { return new Ref; } class View { + callback2Id(f) { + const id = uniqueId('Function'); + this.callbacks.set(id, f); + return id; + } + id2Callback(id) { + let f = this.callbacks.get(id); + if (f === undefined) { + f = Reflect.get(this, id); + } + return f; + } + findViewByTag(tag) { + if (tag === this.tag) { + return this; + } + return undefined; + } constructor() { this.width = 0; this.height = 0; @@ -1807,24 +1825,6 @@ class View { } }); } - callback2Id(f) { - const id = uniqueId('Function'); - this.callbacks.set(id, f); - return id; - } - id2Callback(id) { - let f = this.callbacks.get(id); - if (f === undefined) { - f = Reflect.get(this, id); - } - return f; - } - findViewByTag(tag) { - if (tag === this.tag) { - return this; - } - return undefined; - } /** Anchor start*/ get left() { return this.x; @@ -3625,6 +3625,10 @@ __decorate$b([ Property, __metadata$b("design:type", Function) ], List.prototype, "onDragged", void 0); +__decorate$b([ + Property, + __metadata$b("design:type", Number) +], List.prototype, "preloadItemCount", void 0); function list(config) { const ret = new List; ret.apply(config); diff --git a/doric-web/dist/index.js.map b/doric-web/dist/index.js.map index 11b40f08..65140b73 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/plugins/NetworkPlugin.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","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 { DoricPlugin } from \"../DoricPlugin\";\nexport class NetworkPlugin extends DoricPlugin {\n request(args) {\n return __awaiter(this, void 0, void 0, function* () {\n let result;\n let error;\n if (args.method.toLowerCase() === \"get\") {\n try {\n result = yield axios.get(args.url, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"post\") {\n try {\n result = yield axios.post(args.url, args.data, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"put\") {\n try {\n result = yield axios.put(args.url, args.data, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"delete\") {\n try {\n result = yield axios.delete(args.url, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n result.data = JSON.stringify(result.data);\n if (result) {\n return Promise.resolve(result);\n }\n if (error) {\n return Promise.reject(error);\n }\n });\n }\n}\n//# sourceMappingURL=NetworkPlugin.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\";\nimport { NetworkPlugin } from \"./plugins/NetworkPlugin\";\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);\nregisterPlugin('network', NetworkPlugin);\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/plugins/NetworkPlugin.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","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 { DoricPlugin } from \"../DoricPlugin\";\nexport class NetworkPlugin extends DoricPlugin {\n request(args) {\n return __awaiter(this, void 0, void 0, function* () {\n let result;\n let error;\n if (args.method.toLowerCase() === \"get\") {\n try {\n result = yield axios.get(args.url, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"post\") {\n try {\n result = yield axios.post(args.url, args.data, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"put\") {\n try {\n result = yield axios.put(args.url, args.data, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n else if (args.method.toLowerCase() === \"delete\") {\n try {\n result = yield axios.delete(args.url, {\n headers: args.headers ? args.headers : {},\n timeout: args.timeout\n });\n }\n catch (exception) {\n error = exception;\n }\n }\n result.data = JSON.stringify(result.data);\n if (result) {\n return Promise.resolve(result);\n }\n if (error) {\n return Promise.reject(error);\n }\n });\n }\n}\n//# sourceMappingURL=NetworkPlugin.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\";\nimport { NetworkPlugin } from \"./plugins/NetworkPlugin\";\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);\nregisterPlugin('network', NetworkPlugin);\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