diff --git a/doric-js/bundle/doric-lib.es5.js b/doric-js/bundle/doric-lib.es5.js deleted file mode 100644 index 95b91397..00000000 --- a/doric-js/bundle/doric-lib.es5.js +++ /dev/null @@ -1,3028 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -function obj2Model(obj) { - if (obj instanceof Array) { - return obj.map(function (e) { return obj2Model(e); }); - } - else if (obj instanceof Object) { - if (Reflect.has(obj, 'toModel') && Reflect.get(obj, 'toModel') instanceof Function) { - obj = Reflect.apply(Reflect.get(obj, 'toModel'), obj, []); - return obj; - } - else { - for (var key in obj) { - var val = Reflect.get(obj, key); - Reflect.set(obj, key, obj2Model(val)); - } - return obj; - } - } - else { - return obj; - } -} -var Mutable = /** @class */ (function () { - function Mutable(v) { - var _this = this; - this.binders = new Set; - this.get = function () { - return _this.val; - }; - this.set = function (v) { - _this.val = v; - _this.binders.forEach(function (e) { - Reflect.apply(e, undefined, [_this.val]); - }); - }; - this.val = v; - } - Mutable.prototype.bind = function (binder) { - this.binders.add(binder); - Reflect.apply(binder, undefined, [this.val]); - }; - Mutable.of = function (v) { - return new Mutable(v); - }; - return Mutable; -}()); - -/* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -var __uniqueId__ = 0; -function uniqueId(prefix) { - return "__" + prefix + "_" + __uniqueId__++ + "__"; -} - -function toString(message) { - if (message instanceof Function) { - return message.toString(); - } - else if (message instanceof Object) { - try { - return JSON.stringify(message); - } - catch (e) { - return message.toString(); - } - } - else if (message === undefined) { - return "undefined"; - } - else { - return message.toString(); - } -} -function log() { - var arguments$1 = arguments; - - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments$1[_i]; - } - var out = ""; - for (var i = 0; i < arguments.length; i++) { - if (i > 0) { - out += ','; - } - out += toString(arguments$1[i]); - } - nativeLog('d', out); -} -function loge() { - var arguments$1 = arguments; - - var message = []; - for (var _i = 0; _i < arguments.length; _i++) { - message[_i] = arguments$1[_i]; - } - var out = ""; - for (var i = 0; i < arguments.length; i++) { - if (i > 0) { - out += ','; - } - out += toString(arguments$1[i]); - } - nativeLog('e', out); -} -function logw() { - var arguments$1 = arguments; - - var message = []; - for (var _i = 0; _i < arguments.length; _i++) { - message[_i] = arguments$1[_i]; - } - var out = ""; - for (var i = 0; i < arguments.length; i++) { - if (i > 0) { - out += ','; - } - out += toString(arguments$1[i]); - } - nativeLog('w', out); -} - -var __extends = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var __values = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -function Property(target, propKey) { - Reflect.defineMetadata(propKey, true, target); -} -var View = /** @class */ (function () { - function View() { - this.width = 0; - this.height = 0; - this.x = 0; - this.y = 0; - this.viewId = uniqueId('ViewId'); - this.callbacks = new Map; - /** Anchor end*/ - this.__dirty_props__ = {}; - this.nativeViewModel = { - id: this.viewId, - type: this.constructor.name, - props: this.__dirty_props__, - }; - return new Proxy(this, { - get: function (target, p, receiver) { - return Reflect.get(target, p, receiver); - }, - set: function (target, p, v, receiver) { - var oldV = Reflect.get(target, p, receiver); - var ret = Reflect.set(target, p, v, receiver); - if (Reflect.getMetadata(p, target) && oldV !== v) { - receiver.onPropertyChanged(p.toString(), oldV, v); - } - return ret; - } - }); - } - View.prototype.callback2Id = function (f) { - var id = uniqueId('Function'); - this.callbacks.set(id, f); - return id; - }; - View.prototype.id2Callback = function (id) { - var f = this.callbacks.get(id); - if (f === undefined) { - f = Reflect.get(this, id); - } - return f; - }; - Object.defineProperty(View.prototype, "left", { - /** Anchor start*/ - get: function () { - return this.x; - }, - set: function (v) { - this.x = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "right", { - get: function () { - return this.x + this.width; - }, - set: function (v) { - this.x = v - this.width; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "top", { - get: function () { - return this.y; - }, - set: function (v) { - this.y = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "bottom", { - get: function () { - return this.y + this.height; - }, - set: function (v) { - this.y = v - this.height; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "centerX", { - get: function () { - return this.x + this.width / 2; - }, - set: function (v) { - this.x = v - this.width / 2; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "centerY", { - get: function () { - return this.y + this.height / 2; - }, - set: function (v) { - this.y = v - this.height / 2; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(View.prototype, "dirtyProps", { - get: function () { - return this.__dirty_props__; - }, - enumerable: true, - configurable: true - }); - View.prototype.onPropertyChanged = function (propKey, oldV, newV) { - if (newV instanceof Function) { - newV = this.callback2Id(newV); - } - else { - newV = obj2Model(newV); - } - this.__dirty_props__[propKey] = newV; - }; - View.prototype.clean = function () { - for (var key in this.__dirty_props__) { - if (Reflect.has(this.__dirty_props__, key)) { - Reflect.deleteProperty(this.__dirty_props__, key); - } - } - }; - View.prototype.isDirty = function () { - return Reflect.ownKeys(this.__dirty_props__).length !== 0; - }; - View.prototype.responseCallback = function (id) { - var arguments$1 = arguments; - - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments$1[_i]; - } - var f = this.id2Callback(id); - if (f instanceof Function) { - var argumentsList = []; - for (var i = 1; i < arguments.length; i++) { - argumentsList.push(arguments$1[i]); - } - return Reflect.apply(f, this, argumentsList); - } - else { - loge("Cannot find callback:" + id + " for " + JSON.stringify(this.toModel())); - } - }; - View.prototype.toModel = function () { - return this.nativeViewModel; - }; - View.prototype.let = function (block) { - block(this); - }; - View.prototype.also = function (block) { - block(this); - return this; - }; - View.prototype.apply = function (config) { - for (var key in config) { - Reflect.set(this, key, Reflect.get(config, key, config), this); - } - return this; - }; - View.prototype.in = function (group) { - group.addChild(this); - return this; - }; - View.prototype.nativeChannel = function (context, name) { - var thisView = this; - return function (args) { - if (args === void 0) { args = undefined; } - var func = context.shader.command; - var viewIds = []; - while (thisView != undefined) { - viewIds.push(thisView.viewId); - thisView = thisView.superview; - } - var params = { - viewIds: viewIds.reverse(), - name: name, - args: args, - }; - return Reflect.apply(func, undefined, [params]); - }; - }; - View.prototype.getWidth = function (context) { - return this.nativeChannel(context, 'getWidth')(); - }; - View.prototype.getHeight = function (context) { - return this.nativeChannel(context, 'getHeight')(); - }; - View.prototype.getLocationOnScreen = function (context) { - return this.nativeChannel(context, "getLocationOnScreen")(); - }; - /**----------transform----------*/ - View.prototype.doAnimation = function (context, animation) { - var _this = this; - return this.nativeChannel(context, "doAnimation")(animation.toModel()).then(function (args) { - for (var key in args) { - Reflect.set(_this, key, Reflect.get(args, key, args), _this); - Reflect.deleteProperty(_this.__dirty_props__, key); - } - }); - }; - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "width", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "height", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "x", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "y", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "backgroundColor", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "corners", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "border", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "shadow", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "alpha", void 0); - __decorate([ - Property, - __metadata("design:type", Boolean) - ], View.prototype, "hidden", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "viewId", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "padding", void 0); - __decorate([ - Property, - __metadata("design:type", Object) - ], View.prototype, "layoutConfig", void 0); - __decorate([ - Property, - __metadata("design:type", Function) - ], View.prototype, "onClick", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "translationX", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "translationY", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "scaleX", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "scaleY", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "pivotX", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "pivotY", void 0); - __decorate([ - Property, - __metadata("design:type", Number) - ], View.prototype, "rotation", void 0); - return View; -}()); -var Superview = /** @class */ (function (_super) { - __extends(Superview, _super); - function Superview() { - return _super !== null && _super.apply(this, arguments) || this; - } - Superview.prototype.subviewById = function (id) { - var e_1, _a; - try { - for (var _b = __values(this.allSubviews()), _c = _b.next(); !_c.done; _c = _b.next()) { - var v = _c.value; - if (v.viewId === id) { - return v; - } - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_1) { throw e_1.error; } } - } - }; - Superview.prototype.isDirty = function () { - var e_2, _a; - if (_super.prototype.isDirty.call(this)) { - return true; - } - else { - try { - for (var _b = __values(this.allSubviews()), _c = _b.next(); !_c.done; _c = _b.next()) { - var v = _c.value; - if (v.isDirty()) { - return true; - } - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_2) { throw e_2.error; } } - } - } - return false; - }; - Superview.prototype.clean = function () { - var e_3, _a; - try { - for (var _b = __values(this.allSubviews()), _c = _b.next(); !_c.done; _c = _b.next()) { - var v = _c.value; - v.clean(); - } - } - catch (e_3_1) { e_3 = { error: e_3_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_3) { throw e_3.error; } } - } - _super.prototype.clean.call(this); - }; - Superview.prototype.toModel = function () { - var e_4, _a; - var subviews = []; - try { - for (var _b = __values(this.allSubviews()), _c = _b.next(); !_c.done; _c = _b.next()) { - var v = _c.value; - if (v != undefined) { - v.superview = this; - if (v.isDirty()) { - subviews.push(v.toModel()); - } - } - } - } - catch (e_4_1) { e_4 = { error: e_4_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_4) { throw e_4.error; } } - } - this.dirtyProps.subviews = subviews; - return _super.prototype.toModel.call(this); - }; - return Superview; -}(View)); -var Group = /** @class */ (function (_super) { - __extends(Group, _super); - function Group() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.children = new Proxy([], { - set: function (target, index, value) { - var ret = Reflect.set(target, index, value); - // Let getDirty return true - _this.dirtyProps.children = _this.children.map(function (e) { return e.viewId; }); - return ret; - } - }); - return _this; - } - Group.prototype.allSubviews = function () { - return this.children; - }; - Group.prototype.addChild = function (view) { - this.children.push(view); - }; - return Group; -}(Superview)); - -var SPECIFIED = 1; -var START = 1 << 1; -var END = 1 << 2; -var SHIFT_X = 0; -var SHIFT_Y = 4; -var LEFT = (START | SPECIFIED) << SHIFT_X; -var RIGHT = (END | SPECIFIED) << SHIFT_X; -var TOP = (START | SPECIFIED) << SHIFT_Y; -var BOTTOM = (END | SPECIFIED) << SHIFT_Y; -var CENTER_X = SPECIFIED << SHIFT_X; -var CENTER_Y = SPECIFIED << SHIFT_Y; -var CENTER = CENTER_X | CENTER_Y; -var Gravity = /** @class */ (function () { - function Gravity() { - this.val = 0; - } - Gravity.prototype.left = function () { - var val = this.val | LEFT; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.right = function () { - var val = this.val | RIGHT; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.top = function () { - var val = this.val | TOP; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.bottom = function () { - var val = this.val | BOTTOM; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.center = function () { - var val = this.val | CENTER; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.centerX = function () { - var val = this.val | CENTER_X; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.centerY = function () { - var val = this.val | CENTER_Y; - var ret = new Gravity; - ret.val = val; - return ret; - }; - Gravity.prototype.toModel = function () { - return this.val; - }; - Gravity.origin = new Gravity; - Gravity.Center = Gravity.origin.center(); - Gravity.CenterX = Gravity.origin.centerX(); - Gravity.CenterY = Gravity.origin.centerY(); - Gravity.Left = Gravity.origin.left(); - Gravity.Right = Gravity.origin.right(); - Gravity.Top = Gravity.origin.top(); - Gravity.Bottom = Gravity.origin.bottom(); - return Gravity; -}()); -function gravity() { - return new Gravity; -} - -(function (LayoutSpec) { - /** - * Depends on what's been set on width or height. - */ - LayoutSpec[LayoutSpec["JUST"] = 0] = "JUST"; - /** - * Depends on it's content. - */ - LayoutSpec[LayoutSpec["FIT"] = 1] = "FIT"; - /** - * Extend as much as parent let it take. - */ - LayoutSpec[LayoutSpec["MOST"] = 2] = "MOST"; -})(exports.LayoutSpec || (exports.LayoutSpec = {})); -var LayoutConfigImpl = /** @class */ (function () { - function LayoutConfigImpl() { - } - LayoutConfigImpl.prototype.fit = function () { - this.widthSpec = exports.LayoutSpec.FIT; - this.heightSpec = exports.LayoutSpec.FIT; - return this; - }; - LayoutConfigImpl.prototype.most = function () { - this.widthSpec = exports.LayoutSpec.MOST; - this.heightSpec = exports.LayoutSpec.MOST; - return this; - }; - LayoutConfigImpl.prototype.just = function () { - this.widthSpec = exports.LayoutSpec.JUST; - this.heightSpec = exports.LayoutSpec.JUST; - return this; - }; - LayoutConfigImpl.prototype.configWidth = function (w) { - this.widthSpec = w; - return this; - }; - LayoutConfigImpl.prototype.configHeight = function (h) { - this.heightSpec = h; - return this; - }; - LayoutConfigImpl.prototype.configMargin = function (m) { - this.margin = m; - return this; - }; - LayoutConfigImpl.prototype.configAlignment = function (a) { - this.alignment = a; - return this; - }; - LayoutConfigImpl.prototype.configWeight = function (w) { - this.weight = w; - return this; - }; - LayoutConfigImpl.prototype.toModel = function () { - return { - widthSpec: this.widthSpec, - heightSpec: this.heightSpec, - margin: this.margin, - alignment: this.alignment ? this.alignment.toModel() : undefined, - weight: this.weight, - }; - }; - return LayoutConfigImpl; -}()); -function layoutConfig() { - return new LayoutConfigImpl; -} - -var __extends$1 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$1 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var __values$1 = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -var Stack = /** @class */ (function (_super) { - __extends$1(Stack, _super); - function Stack() { - return _super !== null && _super.apply(this, arguments) || this; - } - return Stack; -}(Group)); -var Root = /** @class */ (function (_super) { - __extends$1(Root, _super); - function Root() { - return _super !== null && _super.apply(this, arguments) || this; - } - return Root; -}(Stack)); -var LinearLayout = /** @class */ (function (_super) { - __extends$1(LinearLayout, _super); - function LinearLayout() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$1([ - Property, - __metadata$1("design:type", Number) - ], LinearLayout.prototype, "space", void 0); - __decorate$1([ - Property, - __metadata$1("design:type", Gravity) - ], LinearLayout.prototype, "gravity", void 0); - return LinearLayout; -}(Group)); -var VLayout = /** @class */ (function (_super) { - __extends$1(VLayout, _super); - function VLayout() { - return _super !== null && _super.apply(this, arguments) || this; - } - return VLayout; -}(LinearLayout)); -var HLayout = /** @class */ (function (_super) { - __extends$1(HLayout, _super); - function HLayout() { - return _super !== null && _super.apply(this, arguments) || this; - } - return HLayout; -}(LinearLayout)); -function stack(views, config) { - var e_1, _a; - var ret = new Stack; - ret.layoutConfig = layoutConfig().fit(); - try { - for (var views_1 = __values$1(views), views_1_1 = views_1.next(); !views_1_1.done; views_1_1 = views_1.next()) { - var v = views_1_1.value; - ret.addChild(v); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (views_1_1 && !views_1_1.done && (_a = views_1.return)) { _a.call(views_1); } - } - finally { if (e_1) { throw e_1.error; } } - } - if (config) { - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - } - return ret; -} -function hlayout(views, config) { - var e_2, _a; - var ret = new HLayout; - ret.layoutConfig = layoutConfig().fit(); - try { - for (var views_2 = __values$1(views), views_2_1 = views_2.next(); !views_2_1.done; views_2_1 = views_2.next()) { - var v = views_2_1.value; - ret.addChild(v); - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (views_2_1 && !views_2_1.done && (_a = views_2.return)) { _a.call(views_2); } - } - finally { if (e_2) { throw e_2.error; } } - } - if (config) { - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - } - return ret; -} -function vlayout(views, config) { - var e_3, _a; - var ret = new VLayout; - ret.layoutConfig = layoutConfig().fit(); - try { - for (var views_3 = __values$1(views), views_3_1 = views_3.next(); !views_3_1.done; views_3_1 = views_3.next()) { - var v = views_3_1.value; - ret.addChild(v); - } - } - catch (e_3_1) { e_3 = { error: e_3_1 }; } - finally { - try { - if (views_3_1 && !views_3_1.done && (_a = views_3.return)) { _a.call(views_3); } - } - finally { if (e_3) { throw e_3.error; } } - } - if (config) { - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - } - return ret; -} - -var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$2 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var __values$2 = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -function NativeCall(target, propertyKey, descriptor) { - var originVal = descriptor.value; - descriptor.value = function () { - var ret = Reflect.apply(originVal, this, arguments); - return ret; - }; - return descriptor; -} -var Panel = /** @class */ (function () { - function Panel() { - this.__root__ = new Root; - this.headviews = new Map; - } - Panel.prototype.onCreate = function () { }; - Panel.prototype.onDestroy = function () { }; - Panel.prototype.onShow = function () { }; - Panel.prototype.onHidden = function () { }; - Panel.prototype.addHeadView = function (type, v) { - var map = this.headviews.get(type); - if (map) { - map.set(v.viewId, v); - } - else { - map = new Map; - map.set(v.viewId, v); - this.headviews.set(type, map); - } - }; - Panel.prototype.allHeadViews = function () { - return this.headviews.values(); - }; - Panel.prototype.removeHeadView = function (type, v) { - if (this.headviews.has(type)) { - var map = this.headviews.get(type); - if (map) { - if (v instanceof View) { - map.delete(v.viewId); - } - else { - map.delete(v); - } - } - } - }; - Panel.prototype.clearHeadViews = function (type) { - if (this.headviews.has(type)) { - this.headviews.delete(type); - } - }; - Panel.prototype.getRootView = function () { - return this.__root__; - }; - Panel.prototype.getInitData = function () { - return this.__data__; - }; - Panel.prototype.__init__ = function (frame, data) { - if (data) { - this.__data__ = JSON.parse(data); - } - this.__root__.width = frame.width; - this.__root__.height = frame.height; - this.__root__.children.length = 0; - this.build(this.__root__); - }; - Panel.prototype.__onCreate__ = function () { - this.onCreate(); - }; - Panel.prototype.__onDestroy__ = function () { - this.onDestroy(); - }; - Panel.prototype.__onShow__ = function () { - this.onShow(); - }; - Panel.prototype.__onHidden__ = function () { - this.onHidden(); - }; - Panel.prototype.__build__ = function () { - this.build(this.__root__); - }; - Panel.prototype.__response__ = function (viewIds, callbackId) { - var arguments$1 = arguments; - - var v = this.retrospectView(viewIds); - if (v === undefined) { - loge("Cannot find view for " + viewIds); - } - else { - var argumentsList = [callbackId]; - for (var i = 2; i < arguments.length; i++) { - argumentsList.push(arguments$1[i]); - } - return Reflect.apply(v.responseCallback, v, argumentsList); - } - }; - Panel.prototype.retrospectView = function (ids) { - var _this = this; - return ids.reduce(function (acc, cur) { - var e_1, _a; - if (acc === undefined) { - if (cur === _this.__root__.viewId) { - return _this.__root__; - } - try { - for (var _b = __values$2(_this.headviews.values()), _c = _b.next(); !_c.done; _c = _b.next()) { - var map = _c.value; - if (map.has(cur)) { - return map.get(cur); - } - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_1) { throw e_1.error; } } - } - return undefined; - } - else { - if (Reflect.has(acc, "subviewById")) { - return Reflect.apply(Reflect.get(acc, "subviewById"), acc, [cur]); - } - return acc; - } - }, undefined); - }; - Panel.prototype.nativeRender = function (model) { - this.context.shader.render(model); - }; - Panel.prototype.hookBeforeNativeCall = function () { - var e_2, _a, e_3, _b; - if (Environment.platform !== 'web') { - this.__root__.clean(); - try { - for (var _c = __values$2(this.headviews.values()), _d = _c.next(); !_d.done; _d = _c.next()) { - var map = _d.value; - try { - for (var _e = (e_3 = void 0, __values$2(map.values())), _f = _e.next(); !_f.done; _f = _e.next()) { - var v = _f.value; - v.clean(); - } - } - catch (e_3_1) { e_3 = { error: e_3_1 }; } - finally { - try { - if (_f && !_f.done && (_b = _e.return)) { _b.call(_e); } - } - finally { if (e_3) { throw e_3.error; } } - } - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (_d && !_d.done && (_a = _c.return)) { _a.call(_c); } - } - finally { if (e_2) { throw e_2.error; } } - } - } - }; - Panel.prototype.hookAfterNativeCall = function () { - var e_4, _a, e_5, _b; - var _this = this; - if (Environment.platform !== 'web') { - //Here insert a native call to ensure the promise is resolved done. - nativeEmpty(); - if (this.__root__.isDirty()) { - var model = this.__root__.toModel(); - this.nativeRender(model); - } - try { - for (var _c = __values$2(this.headviews.values()), _d = _c.next(); !_d.done; _d = _c.next()) { - var map = _d.value; - try { - for (var _e = (e_5 = void 0, __values$2(map.values())), _f = _e.next(); !_f.done; _f = _e.next()) { - var v = _f.value; - if (v.isDirty()) { - var model = v.toModel(); - this.nativeRender(model); - } - } - } - catch (e_5_1) { e_5 = { error: e_5_1 }; } - finally { - try { - if (_f && !_f.done && (_b = _e.return)) { _b.call(_e); } - } - finally { if (e_5) { throw e_5.error; } } - } - } - } - catch (e_4_1) { e_4 = { error: e_4_1 }; } - finally { - try { - if (_d && !_d.done && (_a = _c.return)) { _a.call(_c); } - } - finally { if (e_4) { throw e_4.error; } } - } - } - else { - Promise.resolve().then(function () { - var e_6, _a, e_7, _b; - if (_this.__root__.isDirty()) { - var model = _this.__root__.toModel(); - _this.nativeRender(model); - _this.__root__.clean(); - } - try { - for (var _c = __values$2(_this.headviews.values()), _d = _c.next(); !_d.done; _d = _c.next()) { - var map = _d.value; - try { - for (var _e = (e_7 = void 0, __values$2(map.values())), _f = _e.next(); !_f.done; _f = _e.next()) { - var v = _f.value; - if (v.isDirty()) { - var model = v.toModel(); - _this.nativeRender(model); - v.clean(); - } - } - } - catch (e_7_1) { e_7 = { error: e_7_1 }; } - finally { - try { - if (_f && !_f.done && (_b = _e.return)) { _b.call(_e); } - } - finally { if (e_7) { throw e_7.error; } } - } - } - } - catch (e_6_1) { e_6 = { error: e_6_1 }; } - finally { - try { - if (_d && !_d.done && (_a = _c.return)) { _a.call(_c); } - } - finally { if (e_6) { throw e_6.error; } } - } - }); - } - }; - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", [Object, String]), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__init__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", []), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__onCreate__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", []), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__onDestroy__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", []), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__onShow__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", []), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__onHidden__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", []), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__build__", null); - __decorate$2([ - NativeCall, - __metadata$2("design:type", Function), - __metadata$2("design:paramtypes", [Array, String]), - __metadata$2("design:returntype", void 0) - ], Panel.prototype, "__response__", null); - return Panel; -}()); - -/* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -var __extends$2 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __values$3 = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -(function (RepeatMode) { - RepeatMode[RepeatMode["RESTART"] = 1] = "RESTART"; - RepeatMode[RepeatMode["REVERSE"] = 2] = "REVERSE"; -})(exports.RepeatMode || (exports.RepeatMode = {})); -(function (FillMode) { - /** - * The receiver is removed from the presentation when the animation is completed. - */ - FillMode[FillMode["Removed"] = 0] = "Removed"; - /** - * The receiver remains visible in its final state when the animation is completed. - */ - FillMode[FillMode["Forward"] = 1] = "Forward"; - /** - * The receiver clamps values before zero to zero when the animation is completed. - */ - FillMode[FillMode["Backward"] = 2] = "Backward"; - /** - * The receiver clamps values at both ends of the object’s time space - */ - FillMode[FillMode["Both"] = 3] = "Both"; -})(exports.FillMode || (exports.FillMode = {})); -(function (TimingFunction) { - /** - * The system default timing function. Use this function to ensure that the timing of your animations matches that of most system animations. - */ - TimingFunction[TimingFunction["Default"] = 0] = "Default"; - /** - * Linear pacing, which causes an animation to occur evenly over its duration. - */ - TimingFunction[TimingFunction["Linear"] = 1] = "Linear"; - /** - * Ease-in pacing, which causes an animation to begin slowly and then speed up as it progresses. - */ - TimingFunction[TimingFunction["EaseIn"] = 2] = "EaseIn"; - /** - * Ease-out pacing, which causes an animation to begin quickly and then slow as it progresses. - */ - TimingFunction[TimingFunction["EaseOut"] = 3] = "EaseOut"; - /** - * Ease-in-ease-out pacing, which causes an animation to begin slowly, accelerate through the middle of its duration, and then slow again before completing. - */ - TimingFunction[TimingFunction["EaseInEaseOut"] = 4] = "EaseInEaseOut"; -})(exports.TimingFunction || (exports.TimingFunction = {})); -var Animation = /** @class */ (function () { - function Animation() { - this.changeables = new Map; - this.duration = 0; - this.fillMode = exports.FillMode.Forward; - } - Animation.prototype.toModel = function () { - var e_1, _a; - var changeables = []; - try { - for (var _b = __values$3(this.changeables.values()), _c = _b.next(); !_c.done; _c = _b.next()) { - var e = _c.value; - changeables.push({ - key: e.key, - fromValue: e.fromValue, - toValue: e.toValue, - }); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_1) { throw e_1.error; } } - } - return { - type: this.constructor.name, - delay: this.delay, - duration: this.duration, - changeables: changeables, - repeatCount: this.repeatCount, - repeatMode: this.repeatMode, - fillMode: this.fillMode, - timingFunction: this.timingFunction - }; - }; - return Animation; -}()); -var ScaleAnimation = /** @class */ (function (_super) { - __extends$2(ScaleAnimation, _super); - function ScaleAnimation() { - var _this = _super.call(this) || this; - _this.scaleXChangeable = { - key: "scaleX", - fromValue: 1, - toValue: 1, - }; - _this.scaleYChangeable = { - key: "scaleY", - fromValue: 1, - toValue: 1, - }; - _this.changeables.set("scaleX", _this.scaleXChangeable); - _this.changeables.set("scaleY", _this.scaleYChangeable); - return _this; - } - Object.defineProperty(ScaleAnimation.prototype, "fromScaleX", { - get: function () { - return this.scaleXChangeable.fromValue; - }, - set: function (v) { - this.scaleXChangeable.fromValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ScaleAnimation.prototype, "toScaleX", { - get: function () { - return this.scaleXChangeable.toValue; - }, - set: function (v) { - this.scaleXChangeable.toValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ScaleAnimation.prototype, "fromScaleY", { - get: function () { - return this.scaleYChangeable.fromValue; - }, - set: function (v) { - this.scaleYChangeable.fromValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ScaleAnimation.prototype, "toScaleY", { - get: function () { - return this.scaleYChangeable.toValue; - }, - set: function (v) { - this.scaleYChangeable.toValue = v; - }, - enumerable: true, - configurable: true - }); - return ScaleAnimation; -}(Animation)); -var TranslationAnimation = /** @class */ (function (_super) { - __extends$2(TranslationAnimation, _super); - function TranslationAnimation() { - var _this = _super.call(this) || this; - _this.translationXChangeable = { - key: "translationX", - fromValue: 1, - toValue: 1, - }; - _this.translationYChangeable = { - key: "translationY", - fromValue: 1, - toValue: 1, - }; - _this.changeables.set("translationX", _this.translationXChangeable); - _this.changeables.set("translationY", _this.translationYChangeable); - return _this; - } - Object.defineProperty(TranslationAnimation.prototype, "fromTranslationX", { - get: function () { - return this.translationXChangeable.fromValue; - }, - set: function (v) { - this.translationXChangeable.fromValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TranslationAnimation.prototype, "toTranslationX", { - get: function () { - return this.translationXChangeable.toValue; - }, - set: function (v) { - this.translationXChangeable.toValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TranslationAnimation.prototype, "fromTranslationY", { - get: function () { - return this.translationYChangeable.fromValue; - }, - set: function (v) { - this.translationYChangeable.fromValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TranslationAnimation.prototype, "toTranslationY", { - get: function () { - return this.translationYChangeable.toValue; - }, - set: function (v) { - this.translationYChangeable.toValue = v; - }, - enumerable: true, - configurable: true - }); - return TranslationAnimation; -}(Animation)); -var RotationAnimation = /** @class */ (function (_super) { - __extends$2(RotationAnimation, _super); - function RotationAnimation() { - var _this = _super.call(this) || this; - _this.rotationChaneable = { - key: "rotation", - fromValue: 1, - toValue: 1, - }; - _this.changeables.set("rotation", _this.rotationChaneable); - return _this; - } - Object.defineProperty(RotationAnimation.prototype, "fromRotation", { - get: function () { - return this.rotationChaneable.fromValue; - }, - set: function (v) { - this.rotationChaneable.fromValue = v; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(RotationAnimation.prototype, "toRotation", { - get: function () { - return this.rotationChaneable.toValue; - }, - set: function (v) { - this.rotationChaneable.toValue = v; - }, - enumerable: true, - configurable: true - }); - return RotationAnimation; -}(Animation)); -var AnimationSet = /** @class */ (function () { - function AnimationSet() { - this.animations = []; - this._duration = 0; - } - AnimationSet.prototype.addAnimation = function (anim) { - this.animations.push(anim); - }; - Object.defineProperty(AnimationSet.prototype, "duration", { - get: function () { - return this._duration; - }, - set: function (v) { - this._duration = v; - this.animations.forEach(function (e) { return e.duration = v; }); - }, - enumerable: true, - configurable: true - }); - AnimationSet.prototype.toModel = function () { - return { - animations: this.animations.map(function (e) { - return e.toModel(); - }), - delay: this.delay, - }; - }; - return AnimationSet; -}()); - -/** - * Store color as format AARRGGBB or RRGGBB - */ -var Color = /** @class */ (function () { - function Color(v) { - this._value = 0; - this._value = v | 0x0; - } - Color.parse = function (str) { - if (!str.startsWith("#")) { - throw new Error("Parse color error with " + str); - } - var val = parseInt(str.substr(1), 16); - if (str.length === 7) { - return new Color(val | 0xff000000); - } - else if (str.length === 9) { - return new Color(val); - } - else { - throw new Error("Parse color error with " + str); - } - }; - Color.safeParse = function (str, defVal) { - if (defVal === void 0) { defVal = Color.TRANSPARENT; } - var color = defVal; - try { - color = Color.parse(str); - } - catch (e) { - } - finally { - return color; - } - }; - Color.prototype.alpha = function (v) { - v = v * 255; - return new Color((this._value & 0xffffff) | ((v & 0xff) << 24)); - }; - Color.prototype.toModel = function () { - return this._value; - }; - Color.BLACK = new Color(0xFF000000); - Color.DKGRAY = new Color(0xFF444444); - Color.GRAY = new Color(0xFF888888); - Color.LTGRAY = new Color(0xFFCCCCCC); - Color.WHITE = new Color(0xFFFFFFFF); - Color.RED = new Color(0xFFFF0000); - Color.GREEN = new Color(0xFF00FF00); - Color.BLUE = new Color(0xFF0000FF); - Color.YELLOW = new Color(0xFFFFFF00); - Color.CYAN = new Color(0xFF00FFFF); - Color.MAGENTA = new Color(0xFFFF00FF); - Color.TRANSPARENT = new Color(0); - return Color; -}()); -(function (GradientOrientation) { - /** draw the gradient from the top to the bottom */ - GradientOrientation[GradientOrientation["TOP_BOTTOM"] = 0] = "TOP_BOTTOM"; - /** draw the gradient from the top-right to the bottom-left */ - GradientOrientation[GradientOrientation["TR_BL"] = 1] = "TR_BL"; - /** draw the gradient from the right to the left */ - GradientOrientation[GradientOrientation["RIGHT_LEFT"] = 2] = "RIGHT_LEFT"; - /** draw the gradient from the bottom-right to the top-left */ - GradientOrientation[GradientOrientation["BR_TL"] = 3] = "BR_TL"; - /** draw the gradient from the bottom to the top */ - GradientOrientation[GradientOrientation["BOTTOM_TOP"] = 4] = "BOTTOM_TOP"; - /** draw the gradient from the bottom-left to the top-right */ - GradientOrientation[GradientOrientation["BL_TR"] = 5] = "BL_TR"; - /** draw the gradient from the left to the right */ - GradientOrientation[GradientOrientation["LEFT_RIGHT"] = 6] = "LEFT_RIGHT"; - /** draw the gradient from the top-left to the bottom-right */ - GradientOrientation[GradientOrientation["TL_BR"] = 7] = "TL_BR"; -})(exports.GradientOrientation || (exports.GradientOrientation = {})); - -var __extends$3 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$3 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var Text = /** @class */ (function (_super) { - __extends$3(Text, _super); - function Text() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$3([ - Property, - __metadata$3("design:type", String) - ], Text.prototype, "text", void 0); - __decorate$3([ - Property, - __metadata$3("design:type", Color) - ], Text.prototype, "textColor", void 0); - __decorate$3([ - Property, - __metadata$3("design:type", Number) - ], Text.prototype, "textSize", void 0); - __decorate$3([ - Property, - __metadata$3("design:type", Number) - ], Text.prototype, "maxLines", void 0); - __decorate$3([ - Property, - __metadata$3("design:type", Gravity) - ], Text.prototype, "textAlignment", void 0); - __decorate$3([ - Property, - __metadata$3("design:type", String) - ], Text.prototype, "fontStyle", void 0); - return Text; -}(View)); -function text(config) { - var ret = new Text; - ret.layoutConfig = layoutConfig().fit(); - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} - -var __extends$4 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$4 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -(function (ScaleType) { - ScaleType[ScaleType["ScaleToFill"] = 0] = "ScaleToFill"; - ScaleType[ScaleType["ScaleAspectFit"] = 1] = "ScaleAspectFit"; - ScaleType[ScaleType["ScaleAspectFill"] = 2] = "ScaleAspectFill"; -})(exports.ScaleType || (exports.ScaleType = {})); -var Image = /** @class */ (function (_super) { - __extends$4(Image, _super); - function Image() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$4([ - Property, - __metadata$4("design:type", String) - ], Image.prototype, "imageUrl", void 0); - __decorate$4([ - Property, - __metadata$4("design:type", String) - ], Image.prototype, "imageBase64", void 0); - __decorate$4([ - Property, - __metadata$4("design:type", Number) - ], Image.prototype, "scaleType", void 0); - __decorate$4([ - Property, - __metadata$4("design:type", Boolean) - ], Image.prototype, "isBlur", void 0); - __decorate$4([ - Property, - __metadata$4("design:type", Function) - ], Image.prototype, "loadCallback", void 0); - return Image; -}(View)); -function image(config) { - var ret = new Image; - ret.layoutConfig = layoutConfig().fit(); - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} - -/* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -var __extends$5 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$5 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var __read = (undefined && undefined.__read) || function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) { return o; } - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) { ar.push(r.value); } - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) { m.call(i); } - } - finally { if (e) { throw e.error; } } - } - return ar; -}; -var __spread = (undefined && undefined.__spread) || function () { - var arguments$1 = arguments; - - for (var ar = [], i = 0; i < arguments.length; i++) { ar = ar.concat(__read(arguments$1[i])); } - return ar; -}; -var ListItem = /** @class */ (function (_super) { - __extends$5(ListItem, _super); - function ListItem() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$5([ - Property, - __metadata$5("design:type", String) - ], ListItem.prototype, "identifier", void 0); - return ListItem; -}(Stack)); -var List = /** @class */ (function (_super) { - __extends$5(List, _super); - function List() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.cachedViews = new Map; - _this.ignoreDirtyCallOnce = false; - _this.itemCount = 0; - _this.batchCount = 15; - return _this; - } - List.prototype.allSubviews = function () { - if (this.loadMoreView) { - return __spread(this.cachedViews.values(), [this.loadMoreView]); - } - else { - return this.cachedViews.values(); - } - }; - List.prototype.reset = function () { - this.cachedViews.clear(); - this.itemCount = 0; - }; - List.prototype.getItem = function (itemIdx) { - var view = this.cachedViews.get("" + itemIdx); - if (view === undefined) { - view = this.renderItem(itemIdx); - view.superview = this; - this.cachedViews.set("" + itemIdx, view); - } - return view; - }; - List.prototype.isDirty = function () { - if (this.ignoreDirtyCallOnce) { - this.ignoreDirtyCallOnce = false; - //Ignore the dirty call once. - return false; - } - return _super.prototype.isDirty.call(this); - }; - List.prototype.renderBunchedItems = function (start, length) { - var _this = this; - this.ignoreDirtyCallOnce = true; - return new Array(Math.min(length, this.itemCount - start)).fill(0).map(function (_, idx) { - var listItem = _this.getItem(start + idx); - return listItem.toModel(); - }); - }; - List.prototype.toModel = function () { - if (this.loadMoreView) { - this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId; - } - return _super.prototype.toModel.call(this); - }; - __decorate$5([ - Property, - __metadata$5("design:type", Object) - ], List.prototype, "itemCount", void 0); - __decorate$5([ - Property, - __metadata$5("design:type", Function) - ], List.prototype, "renderItem", void 0); - __decorate$5([ - Property, - __metadata$5("design:type", Object) - ], List.prototype, "batchCount", void 0); - __decorate$5([ - Property, - __metadata$5("design:type", Function) - ], List.prototype, "onLoadMore", void 0); - __decorate$5([ - Property, - __metadata$5("design:type", Boolean) - ], List.prototype, "loadMore", void 0); - __decorate$5([ - Property, - __metadata$5("design:type", ListItem) - ], List.prototype, "loadMoreView", void 0); - return List; -}(Superview)); -function list(config) { - var ret = new List; - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} -function listItem(item, config) { - return (new ListItem).also(function (it) { - it.layoutConfig = layoutConfig().fit(); - if (item instanceof View) { - it.addChild(item); - } - else { - item.forEach(function (e) { - it.addChild(e); - }); - } - if (config) { - for (var key in config) { - Reflect.set(it, key, Reflect.get(config, key, config), it); - } - } - }); -} - -var __extends$6 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$6 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var SlideItem = /** @class */ (function (_super) { - __extends$6(SlideItem, _super); - function SlideItem() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$6([ - Property, - __metadata$6("design:type", String) - ], SlideItem.prototype, "identifier", void 0); - return SlideItem; -}(Stack)); -var Slider = /** @class */ (function (_super) { - __extends$6(Slider, _super); - function Slider() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.cachedViews = new Map; - _this.ignoreDirtyCallOnce = false; - _this.itemCount = 0; - _this.batchCount = 3; - return _this; - } - Slider.prototype.allSubviews = function () { - return this.cachedViews.values(); - }; - Slider.prototype.getItem = function (itemIdx) { - var view = this.cachedViews.get("" + itemIdx); - if (view === undefined) { - view = this.renderPage(itemIdx); - view.superview = this; - this.cachedViews.set("" + itemIdx, view); - } - return view; - }; - Slider.prototype.isDirty = function () { - if (this.ignoreDirtyCallOnce) { - this.ignoreDirtyCallOnce = false; - //Ignore the dirty call once. - return false; - } - return _super.prototype.isDirty.call(this); - }; - Slider.prototype.renderBunchedItems = function (start, length) { - var _this = this; - this.ignoreDirtyCallOnce = true; - return new Array(Math.min(length, this.itemCount - start)).fill(0).map(function (_, idx) { - var slideItem = _this.getItem(start + idx); - return slideItem.toModel(); - }); - }; - Slider.prototype.slidePage = function (context, page, smooth) { - if (smooth === void 0) { smooth = false; } - return this.nativeChannel(context, "slidePage")({ page: page, smooth: smooth }); - }; - Slider.prototype.getSlidedPage = function (context) { - return this.nativeChannel(context, "getSlidedPage")(); - }; - __decorate$6([ - Property, - __metadata$6("design:type", Object) - ], Slider.prototype, "itemCount", void 0); - __decorate$6([ - Property, - __metadata$6("design:type", Function) - ], Slider.prototype, "renderPage", void 0); - __decorate$6([ - Property, - __metadata$6("design:type", Object) - ], Slider.prototype, "batchCount", void 0); - __decorate$6([ - Property, - __metadata$6("design:type", Function) - ], Slider.prototype, "onPageSlided", void 0); - return Slider; -}(Superview)); -function slider(config) { - var ret = new Slider; - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} -function slideItem(item, config) { - return (new SlideItem).also(function (it) { - it.layoutConfig = layoutConfig().fit(); - if (item instanceof View) { - it.addChild(item); - } - else { - item.forEach(function (e) { - it.addChild(e); - }); - } - if (config) { - for (var key in config) { - Reflect.set(it, key, Reflect.get(config, key, config), it); - } - } - }); -} - -var __extends$7 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -function scroller(content, config) { - return (new Scroller).also(function (v) { - v.layoutConfig = layoutConfig().fit(); - if (config) { - for (var key in config) { - Reflect.set(v, key, Reflect.get(config, key, config), v); - } - } - v.content = content; - }); -} -var Scroller = /** @class */ (function (_super) { - __extends$7(Scroller, _super); - function Scroller() { - return _super !== null && _super.apply(this, arguments) || this; - } - Scroller.prototype.allSubviews = function () { - return [this.content]; - }; - Scroller.prototype.toModel = function () { - this.dirtyProps.content = this.content.viewId; - return _super.prototype.toModel.call(this); - }; - return Scroller; -}(Superview)); - -var __extends$8 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$7 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var Refreshable = /** @class */ (function (_super) { - __extends$8(Refreshable, _super); - function Refreshable() { - return _super !== null && _super.apply(this, arguments) || this; - } - Refreshable.prototype.allSubviews = function () { - var ret = [this.content]; - if (this.header) { - ret.push(this.header); - } - return ret; - }; - Refreshable.prototype.setRefreshable = function (context, refreshable) { - return this.nativeChannel(context, 'setRefreshable')(refreshable); - }; - Refreshable.prototype.setRefreshing = function (context, refreshing) { - return this.nativeChannel(context, 'setRefreshing')(refreshing); - }; - Refreshable.prototype.isRefreshable = function (context) { - return this.nativeChannel(context, 'isRefreshable')(); - }; - Refreshable.prototype.isRefreshing = function (context) { - return this.nativeChannel(context, 'isRefreshing')(); - }; - Refreshable.prototype.toModel = function () { - this.dirtyProps.content = this.content.viewId; - this.dirtyProps.header = (this.header || {}).viewId; - return _super.prototype.toModel.call(this); - }; - __decorate$7([ - Property, - __metadata$7("design:type", Function) - ], Refreshable.prototype, "onRefresh", void 0); - return Refreshable; -}(Superview)); -function refreshable(config) { - var ret = new Refreshable; - ret.layoutConfig = layoutConfig().fit(); - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} -function pullable(v, config) { - Reflect.set(v, 'startAnimation', config.startAnimation); - Reflect.set(v, 'stopAnimation', config.stopAnimation); - Reflect.set(v, 'setPullingDistance', config.setPullingDistance); - return v; -} - -var __extends$9 = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$8 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var __read$1 = (undefined && undefined.__read) || function (o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) { return o; } - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) { ar.push(r.value); } - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) { m.call(i); } - } - finally { if (e) { throw e.error; } } - } - return ar; -}; -var __spread$1 = (undefined && undefined.__spread) || function () { - var arguments$1 = arguments; - - for (var ar = [], i = 0; i < arguments.length; i++) { ar = ar.concat(__read$1(arguments$1[i])); } - return ar; -}; -var FlowLayoutItem = /** @class */ (function (_super) { - __extends$9(FlowLayoutItem, _super); - function FlowLayoutItem() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$8([ - Property, - __metadata$8("design:type", String) - ], FlowLayoutItem.prototype, "identifier", void 0); - return FlowLayoutItem; -}(Stack)); -var FlowLayout = /** @class */ (function (_super) { - __extends$9(FlowLayout, _super); - function FlowLayout() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.cachedViews = new Map; - _this.ignoreDirtyCallOnce = false; - _this.columnCount = 2; - _this.itemCount = 0; - _this.batchCount = 15; - return _this; - } - FlowLayout.prototype.allSubviews = function () { - if (this.loadMoreView) { - return __spread$1(this.cachedViews.values(), [this.loadMoreView]); - } - else { - return this.cachedViews.values(); - } - }; - FlowLayout.prototype.reset = function () { - this.cachedViews.clear(); - this.itemCount = 0; - }; - FlowLayout.prototype.getItem = function (itemIdx) { - var view = this.renderItem(itemIdx); - view.superview = this; - this.cachedViews.set("" + itemIdx, view); - return view; - }; - FlowLayout.prototype.isDirty = function () { - if (this.ignoreDirtyCallOnce) { - this.ignoreDirtyCallOnce = false; - //Ignore the dirty call once. - return false; - } - return _super.prototype.isDirty.call(this); - }; - FlowLayout.prototype.renderBunchedItems = function (start, length) { - var _this = this; - this.ignoreDirtyCallOnce = true; - return new Array(Math.min(length, this.itemCount - start)).fill(0).map(function (_, idx) { - var listItem = _this.getItem(start + idx); - return listItem.toModel(); - }); - }; - FlowLayout.prototype.toModel = function () { - if (this.loadMoreView) { - this.dirtyProps['loadMoreView'] = this.loadMoreView.viewId; - } - return _super.prototype.toModel.call(this); - }; - __decorate$8([ - Property, - __metadata$8("design:type", Object) - ], FlowLayout.prototype, "columnCount", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Number) - ], FlowLayout.prototype, "columnSpace", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Number) - ], FlowLayout.prototype, "rowSpace", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Object) - ], FlowLayout.prototype, "itemCount", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Function) - ], FlowLayout.prototype, "renderItem", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Object) - ], FlowLayout.prototype, "batchCount", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Function) - ], FlowLayout.prototype, "onLoadMore", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", Boolean) - ], FlowLayout.prototype, "loadMore", void 0); - __decorate$8([ - Property, - __metadata$8("design:type", FlowLayoutItem) - ], FlowLayout.prototype, "loadMoreView", void 0); - return FlowLayout; -}(Superview)); -function flowlayout(config) { - var ret = new FlowLayout; - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} -function flowItem(item, config) { - return (new FlowLayoutItem).also(function (it) { - it.layoutConfig = layoutConfig().fit(); - if (item instanceof View) { - it.addChild(item); - } - else { - item.forEach(function (e) { - it.addChild(e); - }); - } - if (config) { - for (var key in config) { - Reflect.set(it, key, Reflect.get(config, key, config), it); - } - } - }); -} - -var __extends$a = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$9 = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var Input = /** @class */ (function (_super) { - __extends$a(Input, _super); - function Input() { - return _super !== null && _super.apply(this, arguments) || this; - } - Input.prototype.getText = function (context) { - return this.nativeChannel(context, 'getText')(); - }; - Input.prototype.setSelection = function (context, start, end) { - if (end === void 0) { end = start; } - return this.nativeChannel(context, 'setSelection')({ - start: start, - end: end, - }); - }; - Input.prototype.requestFocus = function (context) { - return this.nativeChannel(context, 'requestFocus')(); - }; - Input.prototype.releaseFocus = function (context) { - return this.nativeChannel(context, 'releaseFocus')(); - }; - __decorate$9([ - Property, - __metadata$9("design:type", String) - ], Input.prototype, "text", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Color) - ], Input.prototype, "textColor", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Number) - ], Input.prototype, "textSize", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", String) - ], Input.prototype, "hintText", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Color) - ], Input.prototype, "hintTextColor", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Boolean) - ], Input.prototype, "multiline", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Gravity) - ], Input.prototype, "textAlignment", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Function) - ], Input.prototype, "onTextChange", void 0); - __decorate$9([ - Property, - __metadata$9("design:type", Function) - ], Input.prototype, "onFocusChange", void 0); - return Input; -}(View)); -function input(config) { - var ret = new Input; - ret.layoutConfig = layoutConfig().just(); - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - return ret; -} - -var __extends$b = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$a = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var NestedSlider = /** @class */ (function (_super) { - __extends$b(NestedSlider, _super); - function NestedSlider() { - return _super !== null && _super.apply(this, arguments) || this; - } - NestedSlider.prototype.addSlideItem = function (view) { - this.addChild(view); - }; - NestedSlider.prototype.slidePage = function (context, page, smooth) { - if (smooth === void 0) { smooth = false; } - return this.nativeChannel(context, "slidePage")({ page: page, smooth: smooth }); - }; - NestedSlider.prototype.getSlidedPage = function (context) { - return this.nativeChannel(context, "getSlidedPage")(); - }; - __decorate$a([ - Property, - __metadata$a("design:type", Function) - ], NestedSlider.prototype, "onPageSlided", void 0); - return NestedSlider; -}(Group)); - -var __extends$c = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); } - else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } } - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata$b = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(k, v); } -}; -var Draggable = /** @class */ (function (_super) { - __extends$c(Draggable, _super); - function Draggable() { - return _super !== null && _super.apply(this, arguments) || this; - } - __decorate$b([ - Property, - __metadata$b("design:type", Function) - ], Draggable.prototype, "onDrag", void 0); - return Draggable; -}(Stack)); -function draggable(views, config) { - var ret = new Draggable; - ret.layoutConfig = layoutConfig().fit(); - if (views instanceof View) { - ret.addChild(views); - } - else { - views.forEach(function (e) { - ret.addChild(e); - }); - } - if (config) { - for (var key in config) { - Reflect.set(ret, key, Reflect.get(config, key, config), ret); - } - } - return ret; -} - -function modal(context) { - return { - toast: function (msg, gravity) { - if (gravity === void 0) { gravity = Gravity.Bottom; } - context.modal.toast({ - msg: msg, - gravity: gravity.toModel(), - }); - }, - alert: function (arg) { - if (typeof arg === 'string') { - return context.modal.alert({ msg: arg }); - } - else { - return context.modal.alert(arg); - } - }, - confirm: function (arg) { - if (typeof arg === 'string') { - return context.modal.confirm({ msg: arg }); - } - else { - return context.modal.confirm(arg); - } - }, - prompt: function (arg) { - return context.modal.prompt(arg); - }, - }; -} - -function navbar(context) { - var entity = context.entity; - var panel = undefined; - if (entity instanceof Panel) { - panel = entity; - } - return { - isHidden: function () { - return context.navbar.isHidden(); - }, - setHidden: function (hidden) { - return context.navbar.setHidden({ - hidden: hidden, - }); - }, - setTitle: function (title) { - return context.navbar.setTitle({ - title: title, - }); - }, - setBgColor: function (color) { - return context.navbar.setBgColor({ - color: color.toModel(), - }); - }, - setLeft: function (view) { - if (panel) { - panel.clearHeadViews("navbar_left"); - panel.addHeadView("navbar_left", view); - } - return context.navbar.setLeft(view.toModel()); - }, - setRight: function (view) { - if (panel) { - panel.clearHeadViews("navbar_right"); - panel.addHeadView("navbar_right", view); - } - return context.navbar.setRight(view.toModel()); - } - }; -} - -function navigator(context) { - return { - push: function (scheme, config) { - if (config && config.extra) { - config.extra = JSON.stringify(config.extra); - } - return context.navigator.push({ - scheme: scheme, config: config - }); - }, - pop: function (animated) { - if (animated === void 0) { animated = true; } - return context.navigator.pop({ animated: animated }); - }, - }; -} - -function transformRequest(request) { - var url = request.url || ""; - if (request.params !== undefined) { - var queryStrings = []; - for (var key in request.params) { - queryStrings.push(key + "=" + encodeURIComponent(request.params[key])); - } - request.url = "" + request.url + (url.indexOf('?') >= 0 ? '&' : '?') + queryStrings.join('&'); - } - if (typeof request.data === 'object') { - request.data = JSON.stringify(request.data); - } - return request; -} -function network(context) { - return { - request: function (config) { - return context.network.request(transformRequest(config)); - }, - get: function (url, config) { - var finalConfig = config; - if (finalConfig === undefined) { - finalConfig = {}; - } - finalConfig.url = url; - finalConfig.method = "get"; - return context.network.request(transformRequest(finalConfig)); - }, - post: function (url, data, config) { - var finalConfig = config; - if (finalConfig === undefined) { - finalConfig = {}; - } - finalConfig.url = url; - finalConfig.method = "post"; - if (data !== undefined) { - finalConfig.data = data; - } - return context.network.request(transformRequest(finalConfig)); - }, - put: function (url, data, config) { - var finalConfig = config; - if (finalConfig === undefined) { - finalConfig = {}; - } - finalConfig.url = url; - finalConfig.method = "put"; - if (data !== undefined) { - finalConfig.data = data; - } - return context.network.request(transformRequest(finalConfig)); - }, - delete: function (url, data, config) { - var finalConfig = config; - if (finalConfig === undefined) { - finalConfig = {}; - } - finalConfig.url = url; - finalConfig.method = "delete"; - return context.network.request(transformRequest(finalConfig)); - }, - }; -} - -function storage(context) { - return { - setItem: function (key, value, zone) { - return context.storage.setItem({ key: key, value: value, zone: zone }); - }, - getItem: function (key, zone) { - return context.storage.getItem({ key: key, zone: zone }); - }, - remove: function (key, zone) { - return context.storage.remove({ key: key, zone: zone }); - }, - clear: function (zone) { - return context.storage.clear({ zone: zone }); - }, - }; -} - -function popover(context) { - var entity = context.entity; - var panel = undefined; - if (entity instanceof Panel) { - panel = entity; - } - return { - show: function (view) { - if (panel) { - panel.addHeadView("popover", view); - } - return context.popover.show(view.toModel()); - }, - dismiss: function (view) { - if (view === void 0) { view = undefined; } - if (panel) { - if (view) { - panel.removeHeadView("popover", view); - } - else { - panel.clearHeadViews("popover"); - } - } - return context.popover.dismiss(view ? { id: view.viewId } : undefined); - }, - }; -} - -/* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -function take(target) { - return function (block) { - block(target); - }; -} -function takeNonNull(target) { - return function (block) { - if (target !== undefined) { - return block(target); - } - }; -} -function takeNull(target) { - return function (block) { - if (target === undefined) { - return block(); - } - }; -} -function takeLet(target) { - return function (block) { - return block(target); - }; -} -function takeAlso(target) { - return function (block) { - block(target); - return target; - }; -} -function takeIf(target) { - return function (predicate) { - return predicate(target) ? target : undefined; - }; -} -function takeUnless(target) { - return function (predicate) { - return predicate(target) ? undefined : target; - }; -} -function repeat(action) { - return function (times) { - for (var i = 0; i < times; i++) { - action(i); - } - }; -} - -var __values$4 = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -/** - * Only supports x,y,width,height,corner(just for four corners),rotation,bgColor, - * @param panel @see Panel - */ -function animate(context) { - var entity = context.entity; - if (entity instanceof Panel) { - var panel_1 = entity; - return function (args) { - return takeLet(panel_1.context.animate)(function (it) { - return it.submit().then(function () { - args.animations(); - return takeLet(panel_1.getRootView())(function (root) { - var e_1, _a, e_2, _b; - if (root.isDirty()) { - var model = root.toModel(); - model.duration = args.duration; - var ret = it.animateRender(model); - root.clean(); - return ret; - } - try { - for (var _c = __values$4(panel_1.allHeadViews()), _d = _c.next(); !_d.done; _d = _c.next()) { - var map = _d.value; - try { - for (var _e = (e_2 = void 0, __values$4(map.values())), _f = _e.next(); !_f.done; _f = _e.next()) { - var v = _f.value; - if (v.isDirty()) { - var model = v.toModel(); - var ret = it.animateRender(model); - it.clean(); - return ret; - } - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (_f && !_f.done && (_b = _e.return)) { _b.call(_e); } - } - finally { if (e_2) { throw e_2.error; } } - } - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_d && !_d.done && (_a = _c.return)) { _a.call(_c); } - } - finally { if (e_1) { throw e_1.error; } } - } - throw new Error('Cannot find any animated elements'); - }); - }); - }); - }; - } - else { - return function (args) { - return Promise.reject("Cannot find panel in Context:" + context.id); - }; - } -} - -function notification(context) { - return { - publish: function (args) { - if (args.data !== undefined) { - args.data = JSON.stringify(args.data); - } - return context.notification.publish(args); - }, - subscribe: function (args) { - args.callback = context.function2Id(args.callback); - return context.notification.subscribe(args); - }, - unsubscribe: function (subscribeId) { - context.removeFuncById(subscribeId); - return context.notification.unsubscribe(subscribeId); - } - }; -} - -(function (StatusBarMode) { - StatusBarMode[StatusBarMode["LIGHT"] = 0] = "LIGHT"; - StatusBarMode[StatusBarMode["DARK"] = 1] = "DARK"; -})(exports.StatusBarMode || (exports.StatusBarMode = {})); -function statusbar(context) { - return { - setHidden: function (hidden) { - return context.statusbar.setHidden({ hidden: hidden }); - }, - setMode: function (mode) { - return context.statusbar.setMode({ mode: mode }); - }, - setColor: function (color) { - return context.statusbar.setColor({ color: color.toModel() }); - }, - }; -} - -var __values$5 = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -}; -var Observable = /** @class */ (function () { - function Observable(provider, clz) { - this.observers = new Set; - this.provider = provider; - this.clz = clz; - } - Observable.prototype.addObserver = function (observer) { - this.observers.add(observer); - }; - Observable.prototype.removeObserver = function (observer) { - this.observers.delete(observer); - }; - Observable.prototype.update = function (updater) { - var e_1, _a; - var oldV = this.provider.acquire(this.clz); - var newV = updater(oldV); - if (newV !== undefined) { - this.provider.provide(newV); - } - try { - for (var _b = __values$5(this.observers), _c = _b.next(); !_c.done; _c = _b.next()) { - var observer = _c.value; - observer(newV); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) { _a.call(_b); } - } - finally { if (e_1) { throw e_1.error; } } - } - }; - return Observable; -}()); -var Provider = /** @class */ (function () { - function Provider() { - this.provision = new Map; - this.observableMap = new Map; - } - Provider.prototype.provide = function (obj) { - this.provision.set(obj.constructor, obj); - }; - Provider.prototype.acquire = function (clz) { - var ret = this.provision.get(clz); - return ret; - }; - Provider.prototype.remove = function (clz) { - this.provision.delete(clz); - }; - Provider.prototype.clear = function () { - this.provision.clear(); - }; - Provider.prototype.observe = function (clz) { - var observable = this.observableMap.get(clz); - if (observable === undefined) { - observable = new Observable(this, clz); - this.observableMap.set(clz, observable); - } - return observable; - }; - return Provider; -}()); - -var __extends$d = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var ViewHolder = /** @class */ (function () { - function ViewHolder() { - } - return ViewHolder; -}()); -var ViewModel = /** @class */ (function () { - function ViewModel(obj, v) { - this.state = obj; - this.viewHolder = v; - } - ViewModel.prototype.getState = function () { - return this.state; - }; - ViewModel.prototype.updateState = function (setter) { - setter(this.state); - this.onBind(this.state, this.viewHolder); - }; - ViewModel.prototype.attach = function (view) { - this.viewHolder.build(view); - this.onAttached(this.state, this.viewHolder); - this.onBind(this.state, this.viewHolder); - }; - return ViewModel; -}()); -var VMPanel = /** @class */ (function (_super) { - __extends$d(VMPanel, _super); - function VMPanel() { - return _super !== null && _super.apply(this, arguments) || this; - } - VMPanel.prototype.getViewModel = function () { - return this.vm; - }; - VMPanel.prototype.build = function (root) { - this.vh = new (this.getViewHolderClass()); - this.vm = new (this.getViewModelClass())(this.getState(), this.vh); - this.vm.attach(root); - }; - return VMPanel; -}(Panel)); - -exports.AnimationSet = AnimationSet; -exports.BOTTOM = BOTTOM; -exports.CENTER = CENTER; -exports.CENTER_X = CENTER_X; -exports.CENTER_Y = CENTER_Y; -exports.Color = Color; -exports.Draggable = Draggable; -exports.FlowLayout = FlowLayout; -exports.FlowLayoutItem = FlowLayoutItem; -exports.Gravity = Gravity; -exports.Group = Group; -exports.HLayout = HLayout; -exports.Image = Image; -exports.Input = Input; -exports.LEFT = LEFT; -exports.LayoutConfigImpl = LayoutConfigImpl; -exports.List = List; -exports.ListItem = ListItem; -exports.Mutable = Mutable; -exports.NativeCall = NativeCall; -exports.NestedSlider = NestedSlider; -exports.Observable = Observable; -exports.Panel = Panel; -exports.Property = Property; -exports.Provider = Provider; -exports.RIGHT = RIGHT; -exports.Refreshable = Refreshable; -exports.Root = Root; -exports.RotationAnimation = RotationAnimation; -exports.ScaleAnimation = ScaleAnimation; -exports.Scroller = Scroller; -exports.SlideItem = SlideItem; -exports.Slider = Slider; -exports.Stack = Stack; -exports.Superview = Superview; -exports.TOP = TOP; -exports.Text = Text; -exports.TranslationAnimation = TranslationAnimation; -exports.VLayout = VLayout; -exports.VMPanel = VMPanel; -exports.View = View; -exports.ViewHolder = ViewHolder; -exports.ViewModel = ViewModel; -exports.animate = animate; -exports.draggable = draggable; -exports.flowItem = flowItem; -exports.flowlayout = flowlayout; -exports.gravity = gravity; -exports.hlayout = hlayout; -exports.image = image; -exports.input = input; -exports.layoutConfig = layoutConfig; -exports.list = list; -exports.listItem = listItem; -exports.log = log; -exports.loge = loge; -exports.logw = logw; -exports.modal = modal; -exports.navbar = navbar; -exports.navigator = navigator; -exports.network = network; -exports.notification = notification; -exports.obj2Model = obj2Model; -exports.popover = popover; -exports.pullable = pullable; -exports.refreshable = refreshable; -exports.repeat = repeat; -exports.scroller = scroller; -exports.slideItem = slideItem; -exports.slider = slider; -exports.stack = stack; -exports.statusbar = statusbar; -exports.storage = storage; -exports.take = take; -exports.takeAlso = takeAlso; -exports.takeIf = takeIf; -exports.takeLet = takeLet; -exports.takeNonNull = takeNonNull; -exports.takeNull = takeNull; -exports.takeUnless = takeUnless; -exports.text = text; -exports.uniqueId = uniqueId; -exports.vlayout = vlayout; diff --git a/doric-js/bundle/doric-sandbox.es5.js b/doric-js/bundle/doric-sandbox.es5.js deleted file mode 100644 index f60a9a9f..00000000 --- a/doric-js/bundle/doric-sandbox.es5.js +++ /dev/null @@ -1,13358 +0,0 @@ -var doric = (function (exports) { - 'use strict'; - - /* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - var __uniqueId__ = 0; - function uniqueId(prefix) { - return "__" + prefix + "_" + __uniqueId__++ + "__"; - } - - function toString(message) { - if (message instanceof Function) { - return message.toString(); - } - else if (message instanceof Object) { - try { - return JSON.stringify(message); - } - catch (e) { - return message.toString(); - } - } - else if (message === undefined) { - return "undefined"; - } - else { - return message.toString(); - } - } - function loge() { - var arguments$1 = arguments; - - var message = []; - for (var _i = 0; _i < arguments.length; _i++) { - message[_i] = arguments$1[_i]; - } - var out = ""; - for (var i = 0; i < arguments.length; i++) { - if (i > 0) { - out += ','; - } - out += toString(arguments$1[i]); - } - nativeLog('e', out); - } - - var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - - function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; - } - - /*! ***************************************************************************** - Copyright (C) Microsoft. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 - - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. - - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. - ***************************************************************************** */ - var Reflect$1; - (function (Reflect) { - // Metadata Proposal - // https://rbuckton.github.io/reflect-metadata/ - (function (factory) { - var root = typeof commonjsGlobal === "object" ? commonjsGlobal : - typeof self === "object" ? self : - typeof this === "object" ? this : - Function("return this;")(); - var exporter = makeExporter(Reflect); - if (typeof root.Reflect === "undefined") { - root.Reflect = Reflect; - } - else { - exporter = makeExporter(root.Reflect, exporter); - } - factory(exporter); - function makeExporter(target, previous) { - return function (key, value) { - if (typeof target[key] !== "function") { - Object.defineProperty(target, key, { configurable: true, writable: true, value: value }); - } - if (previous) - { previous(key, value); } - }; - } - })(function (exporter) { - var hasOwn = Object.prototype.hasOwnProperty; - // feature test for Symbol support - var supportsSymbol = typeof Symbol === "function"; - var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive"; - var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator"; - var supportsCreate = typeof Object.create === "function"; // feature test for Object.create support - var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support - var downLevel = !supportsCreate && !supportsProto; - var HashMap = { - // create an object in dictionary mode (a.k.a. "slow" mode in v8) - create: supportsCreate - ? function () { return MakeDictionary(Object.create(null)); } - : supportsProto - ? function () { return MakeDictionary({ __proto__: null }); } - : function () { return MakeDictionary({}); }, - has: downLevel - ? function (map, key) { return hasOwn.call(map, key); } - : function (map, key) { return key in map; }, - get: downLevel - ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; } - : function (map, key) { return map[key]; }, - }; - // Load global or shim versions of Map, Set, and WeakMap - var functionPrototype = Object.getPrototypeOf(Function); - var usePolyfill = typeof process === "object" && process.env && process.env["REFLECT_METADATA_USE_MAP_POLYFILL"] === "true"; - var _Map = !usePolyfill && typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill(); - var _Set = !usePolyfill && typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); - var _WeakMap = !usePolyfill && typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); - // [[Metadata]] internal slot - // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots - var Metadata = new _WeakMap(); - /** - * Applies a set of decorators to a property of a target object. - * @param decorators An array of decorators. - * @param target The target object. - * @param propertyKey (Optional) The property key to decorate. - * @param attributes (Optional) The property descriptor for the target key. - * @remarks Decorators are applied in reverse order. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * Example = Reflect.decorate(decoratorsArray, Example); - * - * // property (on constructor) - * Reflect.decorate(decoratorsArray, Example, "staticProperty"); - * - * // property (on prototype) - * Reflect.decorate(decoratorsArray, Example.prototype, "property"); - * - * // method (on constructor) - * Object.defineProperty(Example, "staticMethod", - * Reflect.decorate(decoratorsArray, Example, "staticMethod", - * Object.getOwnPropertyDescriptor(Example, "staticMethod"))); - * - * // method (on prototype) - * Object.defineProperty(Example.prototype, "method", - * Reflect.decorate(decoratorsArray, Example.prototype, "method", - * Object.getOwnPropertyDescriptor(Example.prototype, "method"))); - * - */ - function decorate(decorators, target, propertyKey, attributes) { - if (!IsUndefined(propertyKey)) { - if (!IsArray(decorators)) - { throw new TypeError(); } - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) - { throw new TypeError(); } - if (IsNull(attributes)) - { attributes = undefined; } - propertyKey = ToPropertyKey(propertyKey); - return DecorateProperty(decorators, target, propertyKey, attributes); - } - else { - if (!IsArray(decorators)) - { throw new TypeError(); } - if (!IsConstructor(target)) - { throw new TypeError(); } - return DecorateConstructor(decorators, target); - } - } - exporter("decorate", decorate); - // 4.1.2 Reflect.metadata(metadataKey, metadataValue) - // https://rbuckton.github.io/reflect-metadata/#reflect.metadata - /** - * A default metadata decorator factory that can be used on a class, class member, or parameter. - * @param metadataKey The key for the metadata entry. - * @param metadataValue The value for the metadata entry. - * @returns A decorator function. - * @remarks - * If `metadataKey` is already defined for the target and target key, the - * metadataValue for that key will be overwritten. - * @example - * - * // constructor - * @Reflect.metadata(key, value) - * class Example { - * } - * - * // property (on constructor, TypeScript only) - * class Example { - * @Reflect.metadata(key, value) - * static staticProperty; - * } - * - * // property (on prototype, TypeScript only) - * class Example { - * @Reflect.metadata(key, value) - * property; - * } - * - * // method (on constructor) - * class Example { - * @Reflect.metadata(key, value) - * static staticMethod() { } - * } - * - * // method (on prototype) - * class Example { - * @Reflect.metadata(key, value) - * method() { } - * } - * - */ - function metadata(metadataKey, metadataValue) { - function decorator(target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) - { throw new TypeError(); } - OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - return decorator; - } - exporter("metadata", metadata); - /** - * Define a unique metadata entry on the target. - * @param metadataKey A key used to store and retrieve metadata. - * @param metadataValue A value that contains attached metadata. - * @param target The target object on which to define metadata. - * @param propertyKey (Optional) The property key for the target. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * Reflect.defineMetadata("custom:annotation", options, Example); - * - * // property (on constructor) - * Reflect.defineMetadata("custom:annotation", options, Example, "staticProperty"); - * - * // property (on prototype) - * Reflect.defineMetadata("custom:annotation", options, Example.prototype, "property"); - * - * // method (on constructor) - * Reflect.defineMetadata("custom:annotation", options, Example, "staticMethod"); - * - * // method (on prototype) - * Reflect.defineMetadata("custom:annotation", options, Example.prototype, "method"); - * - * // decorator factory as metadata-producing annotation. - * function MyAnnotation(options): Decorator { - * return (target, key?) => Reflect.defineMetadata("custom:annotation", options, target, key); - * } - * - */ - function defineMetadata(metadataKey, metadataValue, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - exporter("defineMetadata", defineMetadata); - /** - * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. - * @param metadataKey A key used to store and retrieve metadata. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.hasMetadata("custom:annotation", Example); - * - * // property (on constructor) - * result = Reflect.hasMetadata("custom:annotation", Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.hasMetadata("custom:annotation", Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "method"); - * - */ - function hasMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryHasMetadata(metadataKey, target, propertyKey); - } - exporter("hasMetadata", hasMetadata); - /** - * Gets a value indicating whether the target object has the provided metadata key defined. - * @param metadataKey A key used to store and retrieve metadata. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns `true` if the metadata key was defined on the target object; otherwise, `false`. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.hasOwnMetadata("custom:annotation", Example); - * - * // property (on constructor) - * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "method"); - * - */ - function hasOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); - } - exporter("hasOwnMetadata", hasOwnMetadata); - /** - * Gets the metadata value for the provided metadata key on the target object or its prototype chain. - * @param metadataKey A key used to store and retrieve metadata. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns The metadata value for the metadata key if found; otherwise, `undefined`. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.getMetadata("custom:annotation", Example); - * - * // property (on constructor) - * result = Reflect.getMetadata("custom:annotation", Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.getMetadata("custom:annotation", Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.getMetadata("custom:annotation", Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.getMetadata("custom:annotation", Example.prototype, "method"); - * - */ - function getMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryGetMetadata(metadataKey, target, propertyKey); - } - exporter("getMetadata", getMetadata); - /** - * Gets the metadata value for the provided metadata key on the target object. - * @param metadataKey A key used to store and retrieve metadata. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns The metadata value for the metadata key if found; otherwise, `undefined`. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.getOwnMetadata("custom:annotation", Example); - * - * // property (on constructor) - * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "method"); - * - */ - function getOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); - } - exporter("getOwnMetadata", getOwnMetadata); - /** - * Gets the metadata keys defined on the target object or its prototype chain. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns An array of unique metadata keys. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.getMetadataKeys(Example); - * - * // property (on constructor) - * result = Reflect.getMetadataKeys(Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.getMetadataKeys(Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.getMetadataKeys(Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.getMetadataKeys(Example.prototype, "method"); - * - */ - function getMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryMetadataKeys(target, propertyKey); - } - exporter("getMetadataKeys", getMetadataKeys); - /** - * Gets the unique metadata keys defined on the target object. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns An array of unique metadata keys. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.getOwnMetadataKeys(Example); - * - * // property (on constructor) - * result = Reflect.getOwnMetadataKeys(Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.getOwnMetadataKeys(Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.getOwnMetadataKeys(Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.getOwnMetadataKeys(Example.prototype, "method"); - * - */ - function getOwnMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - return OrdinaryOwnMetadataKeys(target, propertyKey); - } - exporter("getOwnMetadataKeys", getOwnMetadataKeys); - /** - * Deletes the metadata entry from the target object with the provided key. - * @param metadataKey A key used to store and retrieve metadata. - * @param target The target object on which the metadata is defined. - * @param propertyKey (Optional) The property key for the target. - * @returns `true` if the metadata entry was found and deleted; otherwise, false. - * @example - * - * class Example { - * // property declarations are not part of ES6, though they are valid in TypeScript: - * // static staticProperty; - * // property; - * - * constructor(p) { } - * static staticMethod(p) { } - * method(p) { } - * } - * - * // constructor - * result = Reflect.deleteMetadata("custom:annotation", Example); - * - * // property (on constructor) - * result = Reflect.deleteMetadata("custom:annotation", Example, "staticProperty"); - * - * // property (on prototype) - * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "property"); - * - * // method (on constructor) - * result = Reflect.deleteMetadata("custom:annotation", Example, "staticMethod"); - * - * // method (on prototype) - * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "method"); - * - */ - function deleteMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - { throw new TypeError(); } - if (!IsUndefined(propertyKey)) - { propertyKey = ToPropertyKey(propertyKey); } - var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false); - if (IsUndefined(metadataMap)) - { return false; } - if (!metadataMap.delete(metadataKey)) - { return false; } - if (metadataMap.size > 0) - { return true; } - var targetMetadata = Metadata.get(target); - targetMetadata.delete(propertyKey); - if (targetMetadata.size > 0) - { return true; } - Metadata.delete(target); - return true; - } - exporter("deleteMetadata", deleteMetadata); - function DecorateConstructor(decorators, target) { - for (var i = decorators.length - 1; i >= 0; --i) { - var decorator = decorators[i]; - var decorated = decorator(target); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsConstructor(decorated)) - { throw new TypeError(); } - target = decorated; - } - } - return target; - } - function DecorateProperty(decorators, target, propertyKey, descriptor) { - for (var i = decorators.length - 1; i >= 0; --i) { - var decorator = decorators[i]; - var decorated = decorator(target, propertyKey, descriptor); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsObject(decorated)) - { throw new TypeError(); } - descriptor = decorated; - } - } - return descriptor; - } - function GetOrCreateMetadataMap(O, P, Create) { - var targetMetadata = Metadata.get(O); - if (IsUndefined(targetMetadata)) { - if (!Create) - { return undefined; } - targetMetadata = new _Map(); - Metadata.set(O, targetMetadata); - } - var metadataMap = targetMetadata.get(P); - if (IsUndefined(metadataMap)) { - if (!Create) - { return undefined; } - metadataMap = new _Map(); - targetMetadata.set(P, metadataMap); - } - return metadataMap; - } - // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata - function OrdinaryHasMetadata(MetadataKey, O, P) { - var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) - { return true; } - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - { return OrdinaryHasMetadata(MetadataKey, parent, P); } - return false; - } - // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata - function OrdinaryHasOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); - if (IsUndefined(metadataMap)) - { return false; } - return ToBoolean(metadataMap.has(MetadataKey)); - } - // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata - function OrdinaryGetMetadata(MetadataKey, O, P) { - var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) - { return OrdinaryGetOwnMetadata(MetadataKey, O, P); } - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - { return OrdinaryGetMetadata(MetadataKey, parent, P); } - return undefined; - } - // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata - function OrdinaryGetOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); - if (IsUndefined(metadataMap)) - { return undefined; } - return metadataMap.get(MetadataKey); - } - // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata - function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true); - metadataMap.set(MetadataKey, MetadataValue); - } - // 3.1.6.1 OrdinaryMetadataKeys(O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys - function OrdinaryMetadataKeys(O, P) { - var ownKeys = OrdinaryOwnMetadataKeys(O, P); - var parent = OrdinaryGetPrototypeOf(O); - if (parent === null) - { return ownKeys; } - var parentKeys = OrdinaryMetadataKeys(parent, P); - if (parentKeys.length <= 0) - { return ownKeys; } - if (ownKeys.length <= 0) - { return parentKeys; } - var set = new _Set(); - var keys = []; - for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) { - var key = ownKeys_1[_i]; - var hasKey = set.has(key); - if (!hasKey) { - set.add(key); - keys.push(key); - } - } - for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) { - var key = parentKeys_1[_a]; - var hasKey = set.has(key); - if (!hasKey) { - set.add(key); - keys.push(key); - } - } - return keys; - } - // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P) - // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys - function OrdinaryOwnMetadataKeys(O, P) { - var keys = []; - var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); - if (IsUndefined(metadataMap)) - { return keys; } - var keysObj = metadataMap.keys(); - var iterator = GetIterator(keysObj); - var k = 0; - while (true) { - var next = IteratorStep(iterator); - if (!next) { - keys.length = k; - return keys; - } - var nextValue = IteratorValue(next); - try { - keys[k] = nextValue; - } - catch (e) { - try { - IteratorClose(iterator); - } - finally { - throw e; - } - } - k++; - } - } - // 6 ECMAScript Data Typ0es and Values - // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values - function Type(x) { - if (x === null) - { return 1 /* Null */; } - switch (typeof x) { - case "undefined": return 0 /* Undefined */; - case "boolean": return 2 /* Boolean */; - case "string": return 3 /* String */; - case "symbol": return 4 /* Symbol */; - case "number": return 5 /* Number */; - case "object": return x === null ? 1 /* Null */ : 6 /* Object */; - default: return 6 /* Object */; - } - } - // 6.1.1 The Undefined Type - // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type - function IsUndefined(x) { - return x === undefined; - } - // 6.1.2 The Null Type - // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type - function IsNull(x) { - return x === null; - } - // 6.1.5 The Symbol Type - // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type - function IsSymbol(x) { - return typeof x === "symbol"; - } - // 6.1.7 The Object Type - // https://tc39.github.io/ecma262/#sec-object-type - function IsObject(x) { - return typeof x === "object" ? x !== null : typeof x === "function"; - } - // 7.1 Type Conversion - // https://tc39.github.io/ecma262/#sec-type-conversion - // 7.1.1 ToPrimitive(input [, PreferredType]) - // https://tc39.github.io/ecma262/#sec-toprimitive - function ToPrimitive(input, PreferredType) { - switch (Type(input)) { - case 0 /* Undefined */: return input; - case 1 /* Null */: return input; - case 2 /* Boolean */: return input; - case 3 /* String */: return input; - case 4 /* Symbol */: return input; - case 5 /* Number */: return input; - } - var hint = PreferredType === 3 /* String */ ? "string" : PreferredType === 5 /* Number */ ? "number" : "default"; - var exoticToPrim = GetMethod(input, toPrimitiveSymbol); - if (exoticToPrim !== undefined) { - var result = exoticToPrim.call(input, hint); - if (IsObject(result)) - { throw new TypeError(); } - return result; - } - return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint); - } - // 7.1.1.1 OrdinaryToPrimitive(O, hint) - // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive - function OrdinaryToPrimitive(O, hint) { - if (hint === "string") { - var toString_1 = O.toString; - if (IsCallable(toString_1)) { - var result = toString_1.call(O); - if (!IsObject(result)) - { return result; } - } - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - { return result; } - } - } - else { - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - { return result; } - } - var toString_2 = O.toString; - if (IsCallable(toString_2)) { - var result = toString_2.call(O); - if (!IsObject(result)) - { return result; } - } - } - throw new TypeError(); - } - // 7.1.2 ToBoolean(argument) - // https://tc39.github.io/ecma262/2016/#sec-toboolean - function ToBoolean(argument) { - return !!argument; - } - // 7.1.12 ToString(argument) - // https://tc39.github.io/ecma262/#sec-tostring - function ToString(argument) { - return "" + argument; - } - // 7.1.14 ToPropertyKey(argument) - // https://tc39.github.io/ecma262/#sec-topropertykey - function ToPropertyKey(argument) { - var key = ToPrimitive(argument, 3 /* String */); - if (IsSymbol(key)) - { return key; } - return ToString(key); - } - // 7.2 Testing and Comparison Operations - // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations - // 7.2.2 IsArray(argument) - // https://tc39.github.io/ecma262/#sec-isarray - function IsArray(argument) { - return Array.isArray - ? Array.isArray(argument) - : argument instanceof Object - ? argument instanceof Array - : Object.prototype.toString.call(argument) === "[object Array]"; - } - // 7.2.3 IsCallable(argument) - // https://tc39.github.io/ecma262/#sec-iscallable - function IsCallable(argument) { - // NOTE: This is an approximation as we cannot check for [[Call]] internal method. - return typeof argument === "function"; - } - // 7.2.4 IsConstructor(argument) - // https://tc39.github.io/ecma262/#sec-isconstructor - function IsConstructor(argument) { - // NOTE: This is an approximation as we cannot check for [[Construct]] internal method. - return typeof argument === "function"; - } - // 7.2.7 IsPropertyKey(argument) - // https://tc39.github.io/ecma262/#sec-ispropertykey - function IsPropertyKey(argument) { - switch (Type(argument)) { - case 3 /* String */: return true; - case 4 /* Symbol */: return true; - default: return false; - } - } - // 7.3 Operations on Objects - // https://tc39.github.io/ecma262/#sec-operations-on-objects - // 7.3.9 GetMethod(V, P) - // https://tc39.github.io/ecma262/#sec-getmethod - function GetMethod(V, P) { - var func = V[P]; - if (func === undefined || func === null) - { return undefined; } - if (!IsCallable(func)) - { throw new TypeError(); } - return func; - } - // 7.4 Operations on Iterator Objects - // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects - function GetIterator(obj) { - var method = GetMethod(obj, iteratorSymbol); - if (!IsCallable(method)) - { throw new TypeError(); } // from Call - var iterator = method.call(obj); - if (!IsObject(iterator)) - { throw new TypeError(); } - return iterator; - } - // 7.4.4 IteratorValue(iterResult) - // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue - function IteratorValue(iterResult) { - return iterResult.value; - } - // 7.4.5 IteratorStep(iterator) - // https://tc39.github.io/ecma262/#sec-iteratorstep - function IteratorStep(iterator) { - var result = iterator.next(); - return result.done ? false : result; - } - // 7.4.6 IteratorClose(iterator, completion) - // https://tc39.github.io/ecma262/#sec-iteratorclose - function IteratorClose(iterator) { - var f = iterator["return"]; - if (f) - { f.call(iterator); } - } - // 9.1 Ordinary Object Internal Methods and Internal Slots - // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots - // 9.1.1.1 OrdinaryGetPrototypeOf(O) - // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof - function OrdinaryGetPrototypeOf(O) { - var proto = Object.getPrototypeOf(O); - if (typeof O !== "function" || O === functionPrototype) - { return proto; } - // TypeScript doesn't set __proto__ in ES5, as it's non-standard. - // Try to determine the superclass constructor. Compatible implementations - // must either set __proto__ on a subclass constructor to the superclass constructor, - // or ensure each class has a valid `constructor` property on its prototype that - // points back to the constructor. - // If this is not the same as Function.[[Prototype]], then this is definately inherited. - // This is the case when in ES6 or when using __proto__ in a compatible browser. - if (proto !== functionPrototype) - { return proto; } - // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage. - var prototype = O.prototype; - var prototypeProto = prototype && Object.getPrototypeOf(prototype); - if (prototypeProto == null || prototypeProto === Object.prototype) - { return proto; } - // If the constructor was not a function, then we cannot determine the heritage. - var constructor = prototypeProto.constructor; - if (typeof constructor !== "function") - { return proto; } - // If we have some kind of self-reference, then we cannot determine the heritage. - if (constructor === O) - { return proto; } - // we have a pretty good guess at the heritage. - return constructor; - } - // naive Map shim - function CreateMapPolyfill() { - var cacheSentinel = {}; - var arraySentinel = []; - var MapIterator = /** @class */ (function () { - function MapIterator(keys, values, selector) { - this._index = 0; - this._keys = keys; - this._values = values; - this._selector = selector; - } - MapIterator.prototype["@@iterator"] = function () { return this; }; - MapIterator.prototype[iteratorSymbol] = function () { return this; }; - MapIterator.prototype.next = function () { - var index = this._index; - if (index >= 0 && index < this._keys.length) { - var result = this._selector(this._keys[index], this._values[index]); - if (index + 1 >= this._keys.length) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - else { - this._index++; - } - return { value: result, done: false }; - } - return { value: undefined, done: true }; - }; - MapIterator.prototype.throw = function (error) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - throw error; - }; - MapIterator.prototype.return = function (value) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - return { value: value, done: true }; - }; - return MapIterator; - }()); - return /** @class */ (function () { - function Map() { - this._keys = []; - this._values = []; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - Object.defineProperty(Map.prototype, "size", { - get: function () { return this._keys.length; }, - enumerable: true, - configurable: true - }); - Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; }; - Map.prototype.get = function (key) { - var index = this._find(key, /*insert*/ false); - return index >= 0 ? this._values[index] : undefined; - }; - Map.prototype.set = function (key, value) { - var index = this._find(key, /*insert*/ true); - this._values[index] = value; - return this; - }; - Map.prototype.delete = function (key) { - var index = this._find(key, /*insert*/ false); - if (index >= 0) { - var size = this._keys.length; - for (var i = index + 1; i < size; i++) { - this._keys[i - 1] = this._keys[i]; - this._values[i - 1] = this._values[i]; - } - this._keys.length--; - this._values.length--; - if (key === this._cacheKey) { - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - return true; - } - return false; - }; - Map.prototype.clear = function () { - this._keys.length = 0; - this._values.length = 0; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - }; - Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); }; - Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); }; - Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); }; - Map.prototype["@@iterator"] = function () { return this.entries(); }; - Map.prototype[iteratorSymbol] = function () { return this.entries(); }; - Map.prototype._find = function (key, insert) { - if (this._cacheKey !== key) { - this._cacheIndex = this._keys.indexOf(this._cacheKey = key); - } - if (this._cacheIndex < 0 && insert) { - this._cacheIndex = this._keys.length; - this._keys.push(key); - this._values.push(undefined); - } - return this._cacheIndex; - }; - return Map; - }()); - function getKey(key, _) { - return key; - } - function getValue(_, value) { - return value; - } - function getEntry(key, value) { - return [key, value]; - } - } - // naive Set shim - function CreateSetPolyfill() { - return /** @class */ (function () { - function Set() { - this._map = new _Map(); - } - Object.defineProperty(Set.prototype, "size", { - get: function () { return this._map.size; }, - enumerable: true, - configurable: true - }); - Set.prototype.has = function (value) { return this._map.has(value); }; - Set.prototype.add = function (value) { return this._map.set(value, value), this; }; - Set.prototype.delete = function (value) { return this._map.delete(value); }; - Set.prototype.clear = function () { this._map.clear(); }; - Set.prototype.keys = function () { return this._map.keys(); }; - Set.prototype.values = function () { return this._map.values(); }; - Set.prototype.entries = function () { return this._map.entries(); }; - Set.prototype["@@iterator"] = function () { return this.keys(); }; - Set.prototype[iteratorSymbol] = function () { return this.keys(); }; - return Set; - }()); - } - // naive WeakMap shim - function CreateWeakMapPolyfill() { - var UUID_SIZE = 16; - var keys = HashMap.create(); - var rootKey = CreateUniqueKey(); - return /** @class */ (function () { - function WeakMap() { - this._key = CreateUniqueKey(); - } - WeakMap.prototype.has = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); - return table !== undefined ? HashMap.has(table, this._key) : false; - }; - WeakMap.prototype.get = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); - return table !== undefined ? HashMap.get(table, this._key) : undefined; - }; - WeakMap.prototype.set = function (target, value) { - var table = GetOrCreateWeakMapTable(target, /*create*/ true); - table[this._key] = value; - return this; - }; - WeakMap.prototype.delete = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); - return table !== undefined ? delete table[this._key] : false; - }; - WeakMap.prototype.clear = function () { - // NOTE: not a real clear, just makes the previous data unreachable - this._key = CreateUniqueKey(); - }; - return WeakMap; - }()); - function CreateUniqueKey() { - var key; - do - { key = "@@WeakMap@@" + CreateUUID(); } - while (HashMap.has(keys, key)); - keys[key] = true; - return key; - } - function GetOrCreateWeakMapTable(target, create) { - if (!hasOwn.call(target, rootKey)) { - if (!create) - { return undefined; } - Object.defineProperty(target, rootKey, { value: HashMap.create() }); - } - return target[rootKey]; - } - function FillRandomBytes(buffer, size) { - for (var i = 0; i < size; ++i) - { buffer[i] = Math.random() * 0xff | 0; } - return buffer; - } - function GenRandomBytes(size) { - if (typeof Uint8Array === "function") { - if (typeof crypto !== "undefined") - { return crypto.getRandomValues(new Uint8Array(size)); } - if (typeof msCrypto !== "undefined") - { return msCrypto.getRandomValues(new Uint8Array(size)); } - return FillRandomBytes(new Uint8Array(size), size); - } - return FillRandomBytes(new Array(size), size); - } - function CreateUUID() { - var data = GenRandomBytes(UUID_SIZE); - // mark as random - RFC 4122 § 4.4 - data[6] = data[6] & 0x4f | 0x40; - data[8] = data[8] & 0xbf | 0x80; - var result = ""; - for (var offset = 0; offset < UUID_SIZE; ++offset) { - var byte = data[offset]; - if (offset === 4 || offset === 6 || offset === 8) - { result += "-"; } - if (byte < 16) - { result += "0"; } - result += byte.toString(16).toLowerCase(); - } - return result; - } - } - // uses a heuristic used by v8 and chakra to force an object into dictionary mode. - function MakeDictionary(obj) { - obj.__ = undefined; - delete obj.__; - return obj; - } - }); - })(Reflect$1 || (Reflect$1 = {})); - - var __extends = (undefined && undefined.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - })(); - var __values = (undefined && undefined.__values) || function(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) { return m.call(o); } - if (o && typeof o.length === "number") { return { - next: function () { - if (o && i >= o.length) { o = void 0; } - return { value: o && o[i++], done: !o }; - } - }; } - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - }; - function hookBeforeNativeCall(context) { - if (context) { - Reflect.defineMetadata('__doric_context__', context, global$1); - context.hookBeforeNativeCall(); - } - } - function hookAfterNativeCall(context) { - if (context) { - context.hookAfterNativeCall(); - } - } - function getContext() { - return Reflect.getMetadata('__doric_context__', global$1); - } - function setContext(context) { - Reflect.defineMetadata('__doric_context__', context, global$1); - } - function jsCallResolve(contextId, callbackId, args) { - var arguments$1 = arguments; - - var context = gContexts.get(contextId); - if (context === undefined) { - loge("Cannot find context for context id:" + contextId); - return; - } - var callback = context.callbacks.get(callbackId); - if (callback === undefined) { - loge("Cannot find call for context id:" + contextId + ",callback id:" + callbackId); - return; - } - var argumentsList = []; - for (var i = 2; i < arguments.length; i++) { - argumentsList.push(arguments$1[i]); - } - hookBeforeNativeCall(context); - Reflect.apply(callback.resolve, context, argumentsList); - hookAfterNativeCall(context); - } - function jsCallReject(contextId, callbackId, args) { - var arguments$1 = arguments; - - var context = gContexts.get(contextId); - if (context === undefined) { - loge("Cannot find context for context id:" + contextId); - return; - } - var callback = context.callbacks.get(callbackId); - if (callback === undefined) { - loge("Cannot find call for context id:" + contextId + ",callback id:" + callbackId); - return; - } - var argumentsList = []; - for (var i = 2; i < arguments.length; i++) { - argumentsList.push(arguments$1[i]); - } - hookBeforeNativeCall(context); - Reflect.apply(callback.reject, context.entity, argumentsList); - hookAfterNativeCall(context); - } - var Context = /** @class */ (function () { - function Context(id) { - var _this = this; - this.callbacks = new Map; - this.id = id; - return new Proxy(this, { - get: function (target, p) { - if (Reflect.has(target, p)) { - return Reflect.get(target, p); - } - else { - var namespace_1 = p; - return new Proxy({}, { - get: function (target, p) { - if (Reflect.has(target, p)) { - return Reflect.get(target, p); - } - else { - var context_1 = _this; - return function () { - var e_1, _a; - var args = []; - args.push(namespace_1); - args.push(p); - try { - for (var arguments_1 = __values(arguments), arguments_1_1 = arguments_1.next(); !arguments_1_1.done; arguments_1_1 = arguments_1.next()) { - var arg = arguments_1_1.value; - args.push(arg); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (arguments_1_1 && !arguments_1_1.done && (_a = arguments_1.return)) { _a.call(arguments_1); } - } - finally { if (e_1) { throw e_1.error; } } - } - return Reflect.apply(context_1.callNative, context_1, args); - }; - } - } - }); - } - } - }); - } - Context.prototype.hookBeforeNativeCall = function () { - if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []); - } - }; - Context.prototype.hookAfterNativeCall = function () { - if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) { - Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []); - } - }; - Context.prototype.callNative = function (namespace, method, args) { - var _this = this; - var callbackId = uniqueId('callback'); - nativeBridge(this.id, namespace, method, callbackId, args); - return new Promise(function (resolve, reject) { - _this.callbacks.set(callbackId, { - resolve: resolve, - reject: reject, - }); - }); - }; - Context.prototype.register = function (instance) { - this.entity = instance; - }; - Context.prototype.function2Id = function (func) { - var functionId = uniqueId('function'); - this.callbacks.set(functionId, { - resolve: func, - reject: function () { loge("This should not be called"); } - }); - return functionId; - }; - Context.prototype.removeFuncById = function (funcId) { - this.callbacks.delete(funcId); - }; - return Context; - }()); - var gContexts = new Map; - var gModules = new Map; - function jsObtainContext(id) { - if (gContexts.has(id)) { - var context_2 = gContexts.get(id); - setContext(context_2); - return context_2; - } - else { - var context_3 = new Context(id); - gContexts.set(id, context_3); - setContext(context_3); - return context_3; - } - } - function jsReleaseContext(id) { - var context = gContexts.get(id); - var args = arguments; - if (context) { - timerInfos.forEach(function (v, k) { - if (v.context === context) { - if (global$1.nativeClearTimer === undefined) { - return Reflect.apply(_clearTimeout, undefined, args); - } - timerInfos.delete(k); - nativeClearTimer(k); - } - }); - } - gContexts.delete(id); - } - function __require__(name) { - if (gModules.has(name)) { - return gModules.get(name); - } - else { - if (nativeRequire(name)) { - return gModules.get(name); - } - else { - return undefined; - } - } - } - function jsRegisterModule(name, moduleObject) { - gModules.set(name, moduleObject); - } - function jsCallEntityMethod(contextId, methodName, args) { - var arguments$1 = arguments; - - var context = gContexts.get(contextId); - if (context === undefined) { - loge("Cannot find context for context id:" + contextId); - return; - } - if (context.entity === undefined) { - loge("Cannot find holder for context id:" + contextId); - return; - } - if (Reflect.has(context.entity, methodName)) { - var argumentsList = []; - for (var i = 2; i < arguments.length; i++) { - argumentsList.push(arguments$1[i]); - } - hookBeforeNativeCall(context); - var ret = Reflect.apply(Reflect.get(context.entity, methodName), context.entity, argumentsList); - hookAfterNativeCall(context); - return ret; - } - else { - loge("Cannot find method for context id:" + contextId + ",method name is:" + methodName); - } - } - function jsObtainEntry(contextId) { - var context = jsObtainContext(contextId); - return function (constructor) { - var ret = /** @class */ (function (_super) { - __extends(class_1, _super); - function class_1() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.context = context; - return _this; - } - return class_1; - }(constructor)); - if (context) { - context.register(new ret); - } - return ret; - }; - } - var global$1 = Function('return this')(); - var __timerId__ = 0; - var timerInfos = new Map; - var _setTimeout = global$1.setTimeout; - var _setInterval = global$1.setInterval; - var _clearTimeout = global$1.clearTimeout; - var _clearInterval = global$1.clearInterval; - var doricSetTimeout = function (handler, timeout) { - var arguments$1 = arguments; - - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments$1[_i]; - } - if (global$1.nativeSetTimer === undefined) { - return Reflect.apply(_setTimeout, undefined, arguments); - } - var id = __timerId__++; - timerInfos.set(id, { - callback: function () { - Reflect.apply(handler, undefined, args); - timerInfos.delete(id); - }, - context: getContext(), - }); - nativeSetTimer(id, timeout || 0, false); - return id; - }; - var doricSetInterval = function (handler, timeout) { - var arguments$1 = arguments; - - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments$1[_i]; - } - if (global$1.nativeSetTimer === undefined) { - return Reflect.apply(_setInterval, undefined, arguments); - } - var id = __timerId__++; - timerInfos.set(id, { - callback: function () { - Reflect.apply(handler, undefined, args); - }, - context: getContext(), - }); - nativeSetTimer(id, timeout || 0, true); - return id; - }; - var doricClearTimeout = function (timerId) { - if (global$1.nativeClearTimer === undefined) { - return Reflect.apply(_clearTimeout, undefined, arguments); - } - timerInfos.delete(timerId); - nativeClearTimer(timerId); - }; - var doricClearInterval = function (timerId) { - if (global$1.nativeClearTimer === undefined) { - return Reflect.apply(_clearInterval, undefined, arguments); - } - timerInfos.delete(timerId); - nativeClearTimer(timerId); - }; - if (!global$1.setTimeout) { - global$1.setTimeout = doricSetTimeout; - } - else { - global$1.doricSetTimeout = doricSetTimeout; - } - if (!global$1.setInterval) { - global$1.setInterval = doricSetInterval; - } - else { - global$1.doricSetInterval = doricSetInterval; - } - if (!global$1.clearTimeout) { - global$1.clearTimeout = doricClearTimeout; - } - else { - global$1.doricClearTimeout = doricClearTimeout; - } - if (!global$1.clearInterval) { - global$1.clearInterval = doricClearInterval; - } - else { - global$1.doricClearInterval = doricClearInterval; - } - function jsCallbackTimer(timerId) { - var timerInfo = timerInfos.get(timerId); - if (timerInfo === undefined) { - return; - } - if (timerInfo.callback instanceof Function) { - hookBeforeNativeCall(timerInfo.context); - Reflect.apply(timerInfo.callback, timerInfo.context, []); - hookAfterNativeCall(timerInfo.context); - } - } - - var check = function (it) { - return it && it.Math == Math && it; - }; - - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global_1 = - // eslint-disable-next-line no-undef - check(typeof globalThis == 'object' && globalThis) || - check(typeof window == 'object' && window) || - check(typeof self == 'object' && self) || - check(typeof commonjsGlobal == 'object' && commonjsGlobal) || - // eslint-disable-next-line no-new-func - Function('return this')(); - - var fails = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } - }; - - // Thank's IE8 for his funny defineProperty - var descriptors = !fails(function () { - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; - }); - - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - - // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - - // `Object.prototype.propertyIsEnumerable` method implementation - // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable - var f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; - - var objectPropertyIsEnumerable = { - f: f - }; - - var createPropertyDescriptor = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; - }; - - var toString$1 = {}.toString; - - var classofRaw = function (it) { - return toString$1.call(it).slice(8, -1); - }; - - var split = ''.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 - return !Object('z').propertyIsEnumerable(0); - }) ? function (it) { - return classofRaw(it) == 'String' ? split.call(it, '') : Object(it); - } : Object; - - // `RequireObjectCoercible` abstract operation - // https://tc39.github.io/ecma262/#sec-requireobjectcoercible - var requireObjectCoercible = function (it) { - if (it == undefined) { throw TypeError("Can't call method on " + it); } - return it; - }; - - // toObject with fallback for non-array-like ES3 strings - - - - var toIndexedObject = function (it) { - return indexedObject(requireObjectCoercible(it)); - }; - - var isObject = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; - }; - - // `ToPrimitive` abstract operation - // https://tc39.github.io/ecma262/#sec-toprimitive - // instead of the ES6 spec version, we didn't implement @@toPrimitive case - // and the second argument - flag - preferred type is a string - var toPrimitive = function (input, PREFERRED_STRING) { - if (!isObject(input)) { return input; } - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) { return val; } - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) { return val; } - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) { return val; } - throw TypeError("Can't convert object to primitive value"); - }; - - var hasOwnProperty = {}.hasOwnProperty; - - var has = function (it, key) { - return hasOwnProperty.call(it, key); - }; - - var document$1 = global_1.document; - // typeof document.createElement is 'object' in old IE - var EXISTS = isObject(document$1) && isObject(document$1.createElement); - - var documentCreateElement = function (it) { - return EXISTS ? document$1.createElement(it) : {}; - }; - - // Thank's IE8 for his funny defineProperty - var ie8DomDefine = !descriptors && !fails(function () { - return Object.defineProperty(documentCreateElement('div'), 'a', { - get: function () { return 7; } - }).a != 7; - }); - - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - - // `Object.getOwnPropertyDescriptor` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor - var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (ie8DomDefine) { try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { /* empty */ } } - if (has(O, P)) { return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); } - }; - - var objectGetOwnPropertyDescriptor = { - f: f$1 - }; - - var anObject = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } return it; - }; - - var nativeDefineProperty = Object.defineProperty; - - // `Object.defineProperty` method - // https://tc39.github.io/ecma262/#sec-object.defineproperty - var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (ie8DomDefine) { try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { /* empty */ } } - if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported'); } - if ('value' in Attributes) { O[P] = Attributes.value; } - return O; - }; - - var objectDefineProperty = { - f: f$2 - }; - - var createNonEnumerableProperty = descriptors ? function (object, key, value) { - return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value)); - } : function (object, key, value) { - object[key] = value; - return object; - }; - - var setGlobal = function (key, value) { - try { - createNonEnumerableProperty(global_1, key, value); - } catch (error) { - global_1[key] = value; - } return value; - }; - - var SHARED = '__core-js_shared__'; - var store = global_1[SHARED] || setGlobal(SHARED, {}); - - var sharedStore = store; - - var functionToString = Function.toString; - - // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper - if (typeof sharedStore.inspectSource != 'function') { - sharedStore.inspectSource = function (it) { - return functionToString.call(it); - }; - } - - var inspectSource = sharedStore.inspectSource; - - var WeakMap$1 = global_1.WeakMap; - - var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1)); - - var isPure = false; - - var shared = createCommonjsModule(function (module) { - (module.exports = function (key, value) { - return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); - })('versions', []).push({ - version: '3.6.4', - mode: 'global', - copyright: '© 2020 Denis Pushkarev (zloirock.ru)' - }); - }); - - var id = 0; - var postfix = Math.random(); - - var uid = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); - }; - - var keys = shared('keys'); - - var sharedKey = function (key) { - return keys[key] || (keys[key] = uid(key)); - }; - - var hiddenKeys = {}; - - var WeakMap$2 = global_1.WeakMap; - var set, get, has$1; - - var enforce = function (it) { - return has$1(it) ? get(it) : set(it, {}); - }; - - var getterFor = function (TYPE) { - return function (it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } return state; - }; - }; - - if (nativeWeakMap) { - var store$1 = new WeakMap$2(); - var wmget = store$1.get; - var wmhas = store$1.has; - var wmset = store$1.set; - set = function (it, metadata) { - wmset.call(store$1, it, metadata); - return metadata; - }; - get = function (it) { - return wmget.call(store$1, it) || {}; - }; - has$1 = function (it) { - return wmhas.call(store$1, it); - }; - } else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - set = function (it, metadata) { - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - get = function (it) { - return has(it, STATE) ? it[STATE] : {}; - }; - has$1 = function (it) { - return has(it, STATE); - }; - } - - var internalState = { - set: set, - get: get, - has: has$1, - enforce: enforce, - getterFor: getterFor - }; - - var redefine = createCommonjsModule(function (module) { - var getInternalState = internalState.get; - var enforceInternalState = internalState.enforce; - var TEMPLATE = String(String).split('String'); - - (module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - if (typeof value == 'function') { - if (typeof key == 'string' && !has(value, 'name')) { createNonEnumerableProperty(value, 'name', key); } - enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); - } - if (O === global_1) { - if (simple) { O[key] = value; } - else { setGlobal(key, value); } - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - if (simple) { O[key] = value; } - else { createNonEnumerableProperty(O, key, value); } - // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative - })(Function.prototype, 'toString', function toString() { - return typeof this == 'function' && getInternalState(this).source || inspectSource(this); - }); - }); - - var path = global_1; - - var aFunction = function (variable) { - return typeof variable == 'function' ? variable : undefined; - }; - - var getBuiltIn = function (namespace, method) { - return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace]) - : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method]; - }; - - var ceil = Math.ceil; - var floor = Math.floor; - - // `ToInteger` abstract operation - // https://tc39.github.io/ecma262/#sec-tointeger - var toInteger = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); - }; - - var min = Math.min; - - // `ToLength` abstract operation - // https://tc39.github.io/ecma262/#sec-tolength - var toLength = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 - }; - - var max = Math.max; - var min$1 = 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 = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min$1(integer, length); - }; - - // `Array.prototype.{ indexOf, includes }` methods implementation - var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) { while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) { return true; } - // Array#indexOf ignores holes, Array#includes - not - } } else { for (;length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) { return IS_INCLUDES || index || 0; } - } } return !IS_INCLUDES && -1; - }; - }; - - var arrayIncludes = { - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) - }; - - var indexOf = arrayIncludes.indexOf; - - - var objectKeysInternal = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) { !has(hiddenKeys, key) && has(O, key) && result.push(key); } - // Don't enum bug & hidden keys - while (names.length > i) { if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); - } } - return result; - }; - - // IE8- don't enum bug keys - var enumBugKeys = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' - ]; - - var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype'); - - // `Object.getOwnPropertyNames` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertynames - var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return objectKeysInternal(O, hiddenKeys$1); - }; - - var objectGetOwnPropertyNames = { - f: f$3 - }; - - var f$4 = Object.getOwnPropertySymbols; - - var objectGetOwnPropertySymbols = { - f: f$4 - }; - - // all object keys, includes non-enumerable and symbols - var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = objectGetOwnPropertyNames.f(anObject(it)); - var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; - }; - - var copyConstructorProperties = function (target, source) { - var keys = ownKeys(source); - var defineProperty = objectDefineProperty.f; - var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!has(target, key)) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } - } - }; - - var replacement = /#|\.prototype\./; - - var isForced = function (feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : typeof detection == 'function' ? fails(detection) - : !!detection; - }; - - var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); - }; - - var data = isForced.data = {}; - var NATIVE = isForced.NATIVE = 'N'; - var POLYFILL = isForced.POLYFILL = 'P'; - - var isForced_1 = isForced; - - var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; - - - - - - - /* - options.target - name of the target object - options.global - target is the global object - options.stat - export as static methods of target - options.proto - export as prototype methods of target - options.real - real prototype method for the `pure` version - options.forced - export even if the native feature is available - options.bind - bind methods to the target, required for the `pure` version - options.wrap - wrap constructors to preventing global pollution, required for the `pure` version - options.unsafe - use the simple assignment of property instead of delete + defineProperty - options.sham - add a flag to not completely full polyfills - options.enumerable - export as enumerable property - options.noTargetGet - prevent calling a getter on target - */ - var _export = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global_1; - } else if (STATIC) { - target = global_1[TARGET] || setGlobal(TARGET, {}); - } else { - target = (global_1[TARGET] || {}).prototype; - } - if (target) { for (key in source) { - sourceProperty = source[key]; - if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor$1(target, key); - targetProperty = descriptor && descriptor.value; - } else { targetProperty = target[key]; } - FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); - // contained in target - if (!FORCED && targetProperty !== undefined) { - if (typeof sourceProperty === typeof targetProperty) { continue; } - copyConstructorProperties(sourceProperty, targetProperty); - } - // add a flag to not completely full polyfills - if (options.sham || (targetProperty && targetProperty.sham)) { - createNonEnumerableProperty(sourceProperty, 'sham', true); - } - // extend global - redefine(target, key, sourceProperty, options); - } } - }; - - var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { - // Chrome 38 Symbol has incorrect toString conversion - // eslint-disable-next-line no-undef - return !String(Symbol()); - }); - - var useSymbolAsUid = nativeSymbol - // eslint-disable-next-line no-undef - && !Symbol.sham - // eslint-disable-next-line no-undef - && typeof Symbol.iterator == 'symbol'; - - // `IsArray` abstract operation - // https://tc39.github.io/ecma262/#sec-isarray - var isArray = Array.isArray || function isArray(arg) { - return classofRaw(arg) == 'Array'; - }; - - // `ToObject` abstract operation - // https://tc39.github.io/ecma262/#sec-toobject - var toObject = function (argument) { - return Object(requireObjectCoercible(argument)); - }; - - // `Object.keys` method - // https://tc39.github.io/ecma262/#sec-object.keys - var objectKeys = Object.keys || function keys(O) { - return objectKeysInternal(O, enumBugKeys); - }; - - // `Object.defineProperties` method - // https://tc39.github.io/ecma262/#sec-object.defineproperties - var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - while (length > index) { objectDefineProperty.f(O, key = keys[index++], Properties[key]); } - return O; - }; - - var html = getBuiltIn('document', 'documentElement'); - - var GT = '>'; - var LT = '<'; - var PROTOTYPE = 'prototype'; - var SCRIPT = 'script'; - var IE_PROTO = sharedKey('IE_PROTO'); - - var EmptyConstructor = function () { /* empty */ }; - - var scriptTag = function (content) { - return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; - }; - - // Create object with fake `null` prototype: use ActiveX Object with cleared prototype - var NullProtoObjectViaActiveX = function (activeXDocument) { - activeXDocument.write(scriptTag('')); - activeXDocument.close(); - var temp = activeXDocument.parentWindow.Object; - activeXDocument = null; // avoid memory leak - return temp; - }; - - // Create object with fake `null` prototype: use iframe Object with cleared prototype - var NullProtoObjectViaIFrame = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var JS = 'java' + SCRIPT + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - // https://github.com/zloirock/core-js/issues/475 - iframe.src = String(JS); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(scriptTag('document.F=Object')); - iframeDocument.close(); - return iframeDocument.F; - }; - - // Check for document.domain and active x support - // No need to use active x approach when document.domain is not set - // see https://github.com/es-shims/es5-shim/issues/150 - // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 - // avoid IE GC bug - var activeXDocument; - var NullProtoObject = function () { - try { - /* global ActiveXObject */ - activeXDocument = document.domain && new ActiveXObject('htmlfile'); - } catch (error) { /* ignore */ } - NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); - var length = enumBugKeys.length; - while (length--) { delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; } - return NullProtoObject(); - }; - - hiddenKeys[IE_PROTO] = true; - - // `Object.create` method - // https://tc39.github.io/ecma262/#sec-object.create - var objectCreate = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - EmptyConstructor[PROTOTYPE] = anObject(O); - result = new EmptyConstructor(); - EmptyConstructor[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else { result = NullProtoObject(); } - return Properties === undefined ? result : objectDefineProperties(result, Properties); - }; - - var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f; - - var toString$2 = {}.toString; - - var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - - var getWindowNames = function (it) { - try { - return nativeGetOwnPropertyNames(it); - } catch (error) { - return windowNames.slice(); - } - }; - - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window - var f$5 = function getOwnPropertyNames(it) { - return windowNames && toString$2.call(it) == '[object Window]' - ? getWindowNames(it) - : nativeGetOwnPropertyNames(toIndexedObject(it)); - }; - - var objectGetOwnPropertyNamesExternal = { - f: f$5 - }; - - var WellKnownSymbolsStore = shared('wks'); - var Symbol$1 = global_1.Symbol; - var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid; - - var wellKnownSymbol = function (name) { - if (!has(WellKnownSymbolsStore, name)) { - if (nativeSymbol && has(Symbol$1, name)) { WellKnownSymbolsStore[name] = Symbol$1[name]; } - else { WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); } - } return WellKnownSymbolsStore[name]; - }; - - var f$6 = wellKnownSymbol; - - var wellKnownSymbolWrapped = { - f: f$6 - }; - - var defineProperty = objectDefineProperty.f; - - var defineWellKnownSymbol = function (NAME) { - var Symbol = path.Symbol || (path.Symbol = {}); - if (!has(Symbol, NAME)) { defineProperty(Symbol, NAME, { - value: wellKnownSymbolWrapped.f(NAME) - }); } - }; - - var defineProperty$1 = objectDefineProperty.f; - - - - var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - - var setToStringTag = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG }); - } - }; - - var aFunction$1 = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } return it; - }; - - // optional / simple context binding - var functionBindContext = function (fn, that, length) { - aFunction$1(fn); - if (that === undefined) { return fn; } - switch (length) { - case 0: return function () { - return fn.call(that); - }; - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; - }; - - var SPECIES = wellKnownSymbol('species'); - - // `ArraySpeciesCreate` abstract operation - // https://tc39.github.io/ecma262/#sec-arrayspeciescreate - var arraySpeciesCreate = function (originalArray, length) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) { C = undefined; } - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) { C = undefined; } - } - } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); - }; - - var push = [].push; - - // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation - var createMethod$1 = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - return function ($this, callbackfn, that, specificCreate) { - var O = toObject($this); - var self = indexedObject(O); - var boundFunction = functionBindContext(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var create = specificCreate || arraySpeciesCreate; - var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var value, result; - for (;length > index; index++) { if (NO_HOLES || index in self) { - value = self[index]; - result = boundFunction(value, index, O); - if (TYPE) { - if (IS_MAP) { target[index] = result; } // map - else if (result) { switch (TYPE) { - case 3: return true; // some - case 5: return value; // find - case 6: return index; // findIndex - case 2: push.call(target, value); // filter - } } else if (IS_EVERY) { return false; } // every - } - } } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; - }; - }; - - var arrayIteration = { - // `Array.prototype.forEach` method - // https://tc39.github.io/ecma262/#sec-array.prototype.foreach - forEach: createMethod$1(0), - // `Array.prototype.map` method - // https://tc39.github.io/ecma262/#sec-array.prototype.map - map: createMethod$1(1), - // `Array.prototype.filter` method - // https://tc39.github.io/ecma262/#sec-array.prototype.filter - filter: createMethod$1(2), - // `Array.prototype.some` method - // https://tc39.github.io/ecma262/#sec-array.prototype.some - some: createMethod$1(3), - // `Array.prototype.every` method - // https://tc39.github.io/ecma262/#sec-array.prototype.every - every: createMethod$1(4), - // `Array.prototype.find` method - // https://tc39.github.io/ecma262/#sec-array.prototype.find - find: createMethod$1(5), - // `Array.prototype.findIndex` method - // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex - findIndex: createMethod$1(6) - }; - - var $forEach = arrayIteration.forEach; - - var HIDDEN = sharedKey('hidden'); - var SYMBOL = 'Symbol'; - var PROTOTYPE$1 = 'prototype'; - var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); - var setInternalState = internalState.set; - var getInternalState = internalState.getterFor(SYMBOL); - var ObjectPrototype = Object[PROTOTYPE$1]; - var $Symbol = global_1.Symbol; - var $stringify = getBuiltIn('JSON', 'stringify'); - var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; - var nativeDefineProperty$1 = objectDefineProperty.f; - var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f; - var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f; - var AllSymbols = shared('symbols'); - var ObjectPrototypeSymbols = shared('op-symbols'); - var StringToSymbolRegistry = shared('string-to-symbol-registry'); - var SymbolToStringRegistry = shared('symbol-to-string-registry'); - var WellKnownSymbolsStore$1 = shared('wks'); - var QObject = global_1.QObject; - // 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; - - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 - var setSymbolDescriptor = descriptors && fails(function () { - return objectCreate(nativeDefineProperty$1({}, 'a', { - get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; } - })).a != 7; - }) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) { delete ObjectPrototype[P]; } - nativeDefineProperty$1(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor); - } - } : nativeDefineProperty$1; - - var wrap = function (tag, description) { - var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!descriptors) { symbol.description = description; } - return symbol; - }; - - var isSymbol = useSymbolAsUid ? function (it) { - return typeof it == 'symbol'; - } : function (it) { - return Object(it) instanceof $Symbol; - }; - - var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) { $defineProperty(ObjectPrototypeSymbols, P, Attributes); } - anObject(O); - var key = toPrimitive(P, true); - anObject(Attributes); - if (has(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!has(O, HIDDEN)) { nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {})); } - O[HIDDEN][key] = true; - } else { - if (has(O, HIDDEN) && O[HIDDEN][key]) { O[HIDDEN][key] = false; } - Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); - } return setSymbolDescriptor(O, key, Attributes); - } return nativeDefineProperty$1(O, key, Attributes); - }; - - var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!descriptors || $propertyIsEnumerable.call(properties, key)) { $defineProperty(O, key, properties[key]); } - }); - return O; - }; - - var $create = function create(O, Properties) { - return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties); - }; - - var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPrimitive(V, true); - var enumerable = nativePropertyIsEnumerable$1.call(this, P); - if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) { return false; } - return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; - }; - - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPrimitive(P, true); - if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) { return; } - var descriptor = nativeGetOwnPropertyDescriptor$1(it, key); - if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - return descriptor; - }; - - var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames$1(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!has(AllSymbols, key) && !has(hiddenKeys, key)) { result.push(key); } - }); - return result; - }; - - var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { - result.push(AllSymbols[key]); - } - }); - return result; - }; - - // `Symbol` constructor - // https://tc39.github.io/ecma262/#sec-symbol-constructor - if (!nativeSymbol) { - $Symbol = function Symbol() { - if (this instanceof $Symbol) { throw TypeError('Symbol is not a constructor'); } - var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); - var tag = uid(description); - var setter = function (value) { - if (this === ObjectPrototype) { setter.call(ObjectPrototypeSymbols, value); } - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) { this[HIDDEN][tag] = false; } - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - if (descriptors && USE_SETTER) { setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); } - return wrap(tag, description); - }; - - redefine($Symbol[PROTOTYPE$1], 'toString', function toString() { - return getInternalState(this).tag; - }); - - redefine($Symbol, 'withoutSetter', function (description) { - return wrap(uid(description), description); - }); - - objectPropertyIsEnumerable.f = $propertyIsEnumerable; - objectDefineProperty.f = $defineProperty; - objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor; - objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames; - objectGetOwnPropertySymbols.f = $getOwnPropertySymbols; - - wellKnownSymbolWrapped.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; - - if (descriptors) { - // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; - } - }); - { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); - } - } - } - - _export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, { - Symbol: $Symbol - }); - - $forEach(objectKeys(WellKnownSymbolsStore$1), function (name) { - defineWellKnownSymbol(name); - }); - - _export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, { - // `Symbol.for` method - // https://tc39.github.io/ecma262/#sec-symbol.for - 'for': function (key) { - var string = String(key); - if (has(StringToSymbolRegistry, string)) { return StringToSymbolRegistry[string]; } - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - // `Symbol.keyFor` method - // https://tc39.github.io/ecma262/#sec-symbol.keyfor - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) { throw TypeError(sym + ' is not a symbol'); } - if (has(SymbolToStringRegistry, sym)) { return SymbolToStringRegistry[sym]; } - }, - useSetter: function () { USE_SETTER = true; }, - useSimple: function () { USE_SETTER = false; } - }); - - _export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, { - // `Object.create` method - // https://tc39.github.io/ecma262/#sec-object.create - create: $create, - // `Object.defineProperty` method - // https://tc39.github.io/ecma262/#sec-object.defineproperty - defineProperty: $defineProperty, - // `Object.defineProperties` method - // https://tc39.github.io/ecma262/#sec-object.defineproperties - defineProperties: $defineProperties, - // `Object.getOwnPropertyDescriptor` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors - getOwnPropertyDescriptor: $getOwnPropertyDescriptor - }); - - _export({ target: 'Object', stat: true, forced: !nativeSymbol }, { - // `Object.getOwnPropertyNames` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames, - // `Object.getOwnPropertySymbols` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols - getOwnPropertySymbols: $getOwnPropertySymbols - }); - - // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives - // https://bugs.chromium.org/p/v8/issues/detail?id=3443 - _export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return objectGetOwnPropertySymbols.f(toObject(it)); - } - }); - - // `JSON.stringify` method behavior with symbols - // https://tc39.github.io/ecma262/#sec-json.stringify - if ($stringify) { - var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () { - var symbol = $Symbol(); - // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' - // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' - // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - - _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { - // eslint-disable-next-line no-unused-vars - stringify: function stringify(it, replacer, space) { - var arguments$1 = arguments; - - var args = [it]; - var index = 1; - var $replacer; - while (arguments.length > index) { args.push(arguments$1[index++]); } - $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) { return; } // IE8 returns string on undefined - if (!isArray(replacer)) { replacer = function (key, value) { - if (typeof $replacer == 'function') { value = $replacer.call(this, key, value); } - if (!isSymbol(value)) { return value; } - }; } - args[1] = replacer; - return $stringify.apply(null, args); - } - }); - } - - // `Symbol.prototype[@@toPrimitive]` method - // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive - if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) { - createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf); - } - // `Symbol.prototype[@@toStringTag]` property - // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag - setToStringTag($Symbol, SYMBOL); - - hiddenKeys[HIDDEN] = true; - - // `Symbol.asyncIterator` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.asynciterator - defineWellKnownSymbol('asyncIterator'); - - var defineProperty$2 = objectDefineProperty.f; - - - var NativeSymbol = global_1.Symbol; - - if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || - // Safari 12 bug - NativeSymbol().description !== undefined - )) { - var EmptyStringDescriptionStore = {}; - // wrap Symbol constructor for correct work with undefined description - var SymbolWrapper = function Symbol() { - var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); - var result = this instanceof SymbolWrapper - ? new NativeSymbol(description) - // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' - : description === undefined ? NativeSymbol() : NativeSymbol(description); - if (description === '') { EmptyStringDescriptionStore[result] = true; } - return result; - }; - copyConstructorProperties(SymbolWrapper, NativeSymbol); - var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; - symbolPrototype.constructor = SymbolWrapper; - - var symbolToString = symbolPrototype.toString; - var native = String(NativeSymbol('test')) == 'Symbol(test)'; - var regexp = /^Symbol\((.*)\)[^)]+$/; - defineProperty$2(symbolPrototype, 'description', { - configurable: true, - get: function description() { - var symbol = isObject(this) ? this.valueOf() : this; - var string = symbolToString.call(symbol); - if (has(EmptyStringDescriptionStore, symbol)) { return ''; } - var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); - return desc === '' ? undefined : desc; - } - }); - - _export({ global: true, forced: true }, { - Symbol: SymbolWrapper - }); - } - - // `Symbol.hasInstance` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.hasinstance - defineWellKnownSymbol('hasInstance'); - - // `Symbol.isConcatSpreadable` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable - defineWellKnownSymbol('isConcatSpreadable'); - - // `Symbol.iterator` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.iterator - defineWellKnownSymbol('iterator'); - - // `Symbol.match` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.match - defineWellKnownSymbol('match'); - - // `Symbol.matchAll` well-known symbol - defineWellKnownSymbol('matchAll'); - - // `Symbol.replace` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.replace - defineWellKnownSymbol('replace'); - - // `Symbol.search` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.search - defineWellKnownSymbol('search'); - - // `Symbol.species` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.species - defineWellKnownSymbol('species'); - - // `Symbol.split` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.split - defineWellKnownSymbol('split'); - - // `Symbol.toPrimitive` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.toprimitive - defineWellKnownSymbol('toPrimitive'); - - // `Symbol.toStringTag` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.tostringtag - defineWellKnownSymbol('toStringTag'); - - // `Symbol.unscopables` well-known symbol - // https://tc39.github.io/ecma262/#sec-symbol.unscopables - defineWellKnownSymbol('unscopables'); - - var nativeAssign = Object.assign; - var defineProperty$3 = Object.defineProperty; - - // `Object.assign` method - // https://tc39.github.io/ecma262/#sec-object.assign - var objectAssign = !nativeAssign || fails(function () { - // should have correct order of operations (Edge bug) - if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$3({}, 'a', { - enumerable: true, - get: function () { - defineProperty$3(this, 'b', { - value: 3, - enumerable: false - }); - } - }), { b: 2 })).b !== 1) { return true; } - // should work with symbols and should have deterministic property order (V8 bug) - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var symbol = Symbol(); - var alphabet = 'abcdefghijklmnopqrst'; - A[symbol] = 7; - alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; - }) ? function assign(target, source) { - var arguments$1 = arguments; - // eslint-disable-line no-unused-vars - var T = toObject(target); - var argumentsLength = arguments.length; - var index = 1; - var getOwnPropertySymbols = objectGetOwnPropertySymbols.f; - var propertyIsEnumerable = objectPropertyIsEnumerable.f; - while (argumentsLength > index) { - var S = indexedObject(arguments$1[index++]); - var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!descriptors || propertyIsEnumerable.call(S, key)) { T[key] = S[key]; } - } - } return T; - } : nativeAssign; - - // `Object.assign` method - // https://tc39.github.io/ecma262/#sec-object.assign - _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, { - assign: objectAssign - }); - - // `Object.create` method - // https://tc39.github.io/ecma262/#sec-object.create - _export({ target: 'Object', stat: true, sham: !descriptors }, { - create: objectCreate - }); - - // `Object.defineProperty` method - // https://tc39.github.io/ecma262/#sec-object.defineproperty - _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, { - defineProperty: objectDefineProperty.f - }); - - // `Object.defineProperties` method - // https://tc39.github.io/ecma262/#sec-object.defineproperties - _export({ target: 'Object', stat: true, forced: !descriptors, sham: !descriptors }, { - defineProperties: objectDefineProperties - }); - - var propertyIsEnumerable = objectPropertyIsEnumerable.f; - - // `Object.{ entries, values }` methods implementation - var createMethod$2 = function (TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) { - key = keys[i++]; - if (!descriptors || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [key, O[key]] : O[key]); - } - } - return result; - }; - }; - - var objectToArray = { - // `Object.entries` method - // https://tc39.github.io/ecma262/#sec-object.entries - entries: createMethod$2(true), - // `Object.values` method - // https://tc39.github.io/ecma262/#sec-object.values - values: createMethod$2(false) - }; - - var $entries = objectToArray.entries; - - // `Object.entries` method - // https://tc39.github.io/ecma262/#sec-object.entries - _export({ target: 'Object', stat: true }, { - entries: function entries(O) { - return $entries(O); - } - }); - - var freezing = !fails(function () { - return Object.isExtensible(Object.preventExtensions({})); - }); - - var internalMetadata = createCommonjsModule(function (module) { - var defineProperty = objectDefineProperty.f; - - - - var METADATA = uid('meta'); - var id = 0; - - var isExtensible = Object.isExtensible || function () { - return true; - }; - - var setMetadata = function (it) { - defineProperty(it, METADATA, { value: { - objectID: 'O' + ++id, // object ID - weakData: {} // weak collections IDs - } }); - }; - - var fastKey = function (it, create) { - // return a primitive with prefix - if (!isObject(it)) { return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; } - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) { return 'F'; } - // not necessary to add metadata - if (!create) { return 'E'; } - // add missing metadata - setMetadata(it); - // return object ID - } return it[METADATA].objectID; - }; - - var getWeakData = function (it, create) { - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) { return true; } - // not necessary to add metadata - if (!create) { return false; } - // add missing metadata - setMetadata(it); - // return the store of weak collections IDs - } return it[METADATA].weakData; - }; - - // add metadata on freeze-family methods calling - var onFreeze = function (it) { - if (freezing && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) { setMetadata(it); } - return it; - }; - - var meta = module.exports = { - REQUIRED: false, - fastKey: fastKey, - getWeakData: getWeakData, - onFreeze: onFreeze - }; - - hiddenKeys[METADATA] = true; - }); - var internalMetadata_1 = internalMetadata.REQUIRED; - var internalMetadata_2 = internalMetadata.fastKey; - var internalMetadata_3 = internalMetadata.getWeakData; - var internalMetadata_4 = internalMetadata.onFreeze; - - var onFreeze = internalMetadata.onFreeze; - - var nativeFreeze = Object.freeze; - var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); - - // `Object.freeze` method - // https://tc39.github.io/ecma262/#sec-object.freeze - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !freezing }, { - freeze: function freeze(it) { - return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; - } - }); - - var iterators = {}; - - var ITERATOR = wellKnownSymbol('iterator'); - var ArrayPrototype = Array.prototype; - - // check on default Array iterator - var isArrayIteratorMethod = function (it) { - return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR] === it); - }; - - var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag'); - var test = {}; - - test[TO_STRING_TAG$1] = 'z'; - - var toStringTagSupport = String(test) === '[object z]'; - - var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag'); - // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; - - // fallback for IE11 Script Access Denied error - var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { /* empty */ } - }; - - // getting tag from ES6+ `Object.prototype.toString` - var classof = toStringTagSupport ? classofRaw : function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag - // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) - // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; - }; - - var ITERATOR$1 = wellKnownSymbol('iterator'); - - var getIteratorMethod = function (it) { - if (it != undefined) { return it[ITERATOR$1] - || it['@@iterator'] - || iterators[classof(it)]; } - }; - - // call something on iterator step with safe closing on error - var callWithSafeIterationClosing = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (error) { - var returnMethod = iterator['return']; - if (returnMethod !== undefined) { anObject(returnMethod.call(iterator)); } - throw error; - } - }; - - var iterate_1 = createCommonjsModule(function (module) { - var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; - }; - - var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { - var boundFunction = functionBindContext(fn, that, AS_ENTRIES ? 2 : 1); - var iterator, iterFn, index, length, result, next, step; - - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') { throw TypeError('Target is not iterable'); } - // optimisation for array iterators - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = AS_ENTRIES - ? boundFunction(anObject(step = iterable[index])[0], step[1]) - : boundFunction(iterable[index]); - if (result && result instanceof Result) { return result; } - } return new Result(false); - } - iterator = iterFn.call(iterable); - } - - next = iterator.next; - while (!(step = next.call(iterator)).done) { - result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); - if (typeof result == 'object' && result && result instanceof Result) { return result; } - } return new Result(false); - }; - - iterate.stop = function (result) { - return new Result(true, result); - }; - }); - - var createProperty = function (object, key, value) { - var propertyKey = toPrimitive(key); - if (propertyKey in object) { objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value)); } - else { object[propertyKey] = value; } - }; - - // `Object.fromEntries` method - // https://github.com/tc39/proposal-object-from-entries - _export({ target: 'Object', stat: true }, { - fromEntries: function fromEntries(iterable) { - var obj = {}; - iterate_1(iterable, function (k, v) { - createProperty(obj, k, v); - }, undefined, true); - return obj; - } - }); - - var nativeGetOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; - - - var FAILS_ON_PRIMITIVES$1 = fails(function () { nativeGetOwnPropertyDescriptor$2(1); }); - var FORCED = !descriptors || FAILS_ON_PRIMITIVES$1; - - // `Object.getOwnPropertyDescriptor` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor - _export({ target: 'Object', stat: true, forced: FORCED, sham: !descriptors }, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { - return nativeGetOwnPropertyDescriptor$2(toIndexedObject(it), key); - } - }); - - // `Object.getOwnPropertyDescriptors` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors - _export({ target: 'Object', stat: true, sham: !descriptors }, { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { - var O = toIndexedObject(object); - var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; - var keys = ownKeys(O); - var result = {}; - var index = 0; - var key, descriptor; - while (keys.length > index) { - descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); - if (descriptor !== undefined) { createProperty(result, key, descriptor); } - } - return result; - } - }); - - var nativeGetOwnPropertyNames$2 = objectGetOwnPropertyNamesExternal.f; - - var FAILS_ON_PRIMITIVES$2 = fails(function () { return !Object.getOwnPropertyNames(1); }); - - // `Object.getOwnPropertyNames` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertynames - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$2 }, { - getOwnPropertyNames: nativeGetOwnPropertyNames$2 - }); - - var correctPrototypeGetter = !fails(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; - }); - - var IE_PROTO$1 = sharedKey('IE_PROTO'); - var ObjectPrototype$1 = Object.prototype; - - // `Object.getPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-object.getprototypeof - var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO$1)) { return O[IE_PROTO$1]; } - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectPrototype$1 : null; - }; - - var FAILS_ON_PRIMITIVES$3 = fails(function () { objectGetPrototypeOf(1); }); - - // `Object.getPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-object.getprototypeof - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3, sham: !correctPrototypeGetter }, { - getPrototypeOf: function getPrototypeOf(it) { - return objectGetPrototypeOf(toObject(it)); - } - }); - - // `SameValue` abstract operation - // https://tc39.github.io/ecma262/#sec-samevalue - var sameValue = Object.is || function is(x, y) { - // eslint-disable-next-line no-self-compare - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; - }; - - // `Object.is` method - // https://tc39.github.io/ecma262/#sec-object.is - _export({ target: 'Object', stat: true }, { - is: sameValue - }); - - var nativeIsExtensible = Object.isExtensible; - var FAILS_ON_PRIMITIVES$4 = fails(function () { nativeIsExtensible(1); }); - - // `Object.isExtensible` method - // https://tc39.github.io/ecma262/#sec-object.isextensible - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, { - isExtensible: function isExtensible(it) { - return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; - } - }); - - var nativeIsFrozen = Object.isFrozen; - var FAILS_ON_PRIMITIVES$5 = fails(function () { nativeIsFrozen(1); }); - - // `Object.isFrozen` method - // https://tc39.github.io/ecma262/#sec-object.isfrozen - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$5 }, { - isFrozen: function isFrozen(it) { - return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; - } - }); - - var nativeIsSealed = Object.isSealed; - var FAILS_ON_PRIMITIVES$6 = fails(function () { nativeIsSealed(1); }); - - // `Object.isSealed` method - // https://tc39.github.io/ecma262/#sec-object.issealed - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$6 }, { - isSealed: function isSealed(it) { - return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; - } - }); - - var FAILS_ON_PRIMITIVES$7 = fails(function () { objectKeys(1); }); - - // `Object.keys` method - // https://tc39.github.io/ecma262/#sec-object.keys - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$7 }, { - keys: function keys(it) { - return objectKeys(toObject(it)); - } - }); - - var onFreeze$1 = internalMetadata.onFreeze; - - - - var nativePreventExtensions = Object.preventExtensions; - var FAILS_ON_PRIMITIVES$8 = fails(function () { nativePreventExtensions(1); }); - - // `Object.preventExtensions` method - // https://tc39.github.io/ecma262/#sec-object.preventextensions - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$8, sham: !freezing }, { - preventExtensions: function preventExtensions(it) { - return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze$1(it)) : it; - } - }); - - var onFreeze$2 = internalMetadata.onFreeze; - - - - var nativeSeal = Object.seal; - var FAILS_ON_PRIMITIVES$9 = fails(function () { nativeSeal(1); }); - - // `Object.seal` method - // https://tc39.github.io/ecma262/#sec-object.seal - _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$9, sham: !freezing }, { - seal: function seal(it) { - return nativeSeal && isObject(it) ? nativeSeal(onFreeze$2(it)) : it; - } - }); - - var aPossiblePrototype = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } return it; - }; - - // `Object.setPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-object.setprototypeof - // Works with __proto__ only. Old v8 can't work with null proto objects. - /* eslint-disable no-proto */ - var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { /* empty */ } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) { setter.call(O, proto); } - else { O.__proto__ = proto; } - return O; - }; - }() : undefined); - - // `Object.setPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-object.setprototypeof - _export({ target: 'Object', stat: true }, { - setPrototypeOf: objectSetPrototypeOf - }); - - var $values = objectToArray.values; - - // `Object.values` method - // https://tc39.github.io/ecma262/#sec-object.values - _export({ target: 'Object', stat: true }, { - values: function values(O) { - return $values(O); - } - }); - - // `Object.prototype.toString` method implementation - // https://tc39.github.io/ecma262/#sec-object.prototype.tostring - var objectToString = toStringTagSupport ? {}.toString : function toString() { - return '[object ' + classof(this) + ']'; - }; - - // `Object.prototype.toString` method - // https://tc39.github.io/ecma262/#sec-object.prototype.tostring - if (!toStringTagSupport) { - redefine(Object.prototype, 'toString', objectToString, { unsafe: true }); - } - - // Forced replacement object prototype accessors methods - var objectPrototypeAccessorsForced = !fails(function () { - var key = Math.random(); - // In FF throws only define methods - // eslint-disable-next-line no-undef, no-useless-call - __defineSetter__.call(null, key, function () { /* empty */ }); - delete global_1[key]; - }); - - // `Object.prototype.__defineGetter__` method - // https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ - if (descriptors) { - _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, { - __defineGetter__: function __defineGetter__(P, getter) { - objectDefineProperty.f(toObject(this), P, { get: aFunction$1(getter), enumerable: true, configurable: true }); - } - }); - } - - // `Object.prototype.__defineSetter__` method - // https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ - if (descriptors) { - _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, { - __defineSetter__: function __defineSetter__(P, setter) { - objectDefineProperty.f(toObject(this), P, { set: aFunction$1(setter), enumerable: true, configurable: true }); - } - }); - } - - var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; - - // `Object.prototype.__lookupGetter__` method - // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ - if (descriptors) { - _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, { - __lookupGetter__: function __lookupGetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - do { - if (desc = getOwnPropertyDescriptor$2(O, key)) { return desc.get; } - } while (O = objectGetPrototypeOf(O)); - } - }); - } - - var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; - - // `Object.prototype.__lookupSetter__` method - // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ - if (descriptors) { - _export({ target: 'Object', proto: true, forced: objectPrototypeAccessorsForced }, { - __lookupSetter__: function __lookupSetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - do { - if (desc = getOwnPropertyDescriptor$3(O, key)) { return desc.set; } - } while (O = objectGetPrototypeOf(O)); - } - }); - } - - var slice = [].slice; - var factories = {}; - - var construct = function (C, argsLength, args) { - if (!(argsLength in factories)) { - for (var list = [], i = 0; i < argsLength; i++) { list[i] = 'a[' + i + ']'; } - // eslint-disable-next-line no-new-func - factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); - } return factories[argsLength](C, args); - }; - - // `Function.prototype.bind` method implementation - // https://tc39.github.io/ecma262/#sec-function.prototype.bind - var functionBind = Function.bind || function bind(that /* , ...args */) { - var fn = aFunction$1(this); - var partArgs = slice.call(arguments, 1); - var boundFunction = function bound(/* args... */) { - var args = partArgs.concat(slice.call(arguments)); - return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); - }; - if (isObject(fn.prototype)) { boundFunction.prototype = fn.prototype; } - return boundFunction; - }; - - // `Function.prototype.bind` method - // https://tc39.github.io/ecma262/#sec-function.prototype.bind - _export({ target: 'Function', proto: true }, { - bind: functionBind - }); - - var defineProperty$4 = objectDefineProperty.f; - - var FunctionPrototype = Function.prototype; - var FunctionPrototypeToString = FunctionPrototype.toString; - var nameRE = /^\s*function ([^ (]*)/; - var NAME = 'name'; - - // Function instances `.name` property - // https://tc39.github.io/ecma262/#sec-function-instances-name - if (descriptors && !(NAME in FunctionPrototype)) { - defineProperty$4(FunctionPrototype, NAME, { - configurable: true, - get: function () { - try { - return FunctionPrototypeToString.call(this).match(nameRE)[1]; - } catch (error) { - return ''; - } - } - }); - } - - var HAS_INSTANCE = wellKnownSymbol('hasInstance'); - var FunctionPrototype$1 = Function.prototype; - - // `Function.prototype[@@hasInstance]` method - // https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance - if (!(HAS_INSTANCE in FunctionPrototype$1)) { - objectDefineProperty.f(FunctionPrototype$1, HAS_INSTANCE, { value: function (O) { - if (typeof this != 'function' || !isObject(O)) { return false; } - if (!isObject(this.prototype)) { return O instanceof this; } - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while (O = objectGetPrototypeOf(O)) { if (this.prototype === O) { return true; } } - return false; - } }); - } - - // `globalThis` object - // https://github.com/tc39/proposal-global - _export({ global: true }, { - globalThis: global_1 - }); - - // `Array.from` method implementation - // https://tc39.github.io/ecma262/#sec-array.from - var arrayFrom = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var index = 0; - var length, result, step, iterator, next, value; - if (mapping) { mapfn = functionBindContext(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); } - // if the target is not iterable or it's an array with the default iterator - use a simple case - if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { - iterator = iteratorMethod.call(O); - next = iterator.next; - result = new C(); - for (;!(step = next.call(iterator)).done; index++) { - value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; - createProperty(result, index, value); - } - } else { - length = toLength(O.length); - result = new C(length); - for (;length > index; index++) { - value = mapping ? mapfn(O[index], index) : O[index]; - createProperty(result, index, value); - } - } - result.length = index; - return result; - }; - - var ITERATOR$2 = wellKnownSymbol('iterator'); - var SAFE_CLOSING = false; - - try { - var called = 0; - var iteratorWithReturn = { - next: function () { - return { done: !!called++ }; - }, - 'return': function () { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR$2] = function () { - return this; - }; - // eslint-disable-next-line no-throw-literal - Array.from(iteratorWithReturn, function () { throw 2; }); - } catch (error) { /* empty */ } - - var checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) { return false; } - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR$2] = function () { - return { - next: function () { - return { done: ITERATION_SUPPORT = true }; - } - }; - }; - exec(object); - } catch (error) { /* empty */ } - return ITERATION_SUPPORT; - }; - - var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - Array.from(iterable); - }); - - // `Array.from` method - // https://tc39.github.io/ecma262/#sec-array.from - _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { - from: arrayFrom - }); - - // `Array.isArray` method - // https://tc39.github.io/ecma262/#sec-array.isarray - _export({ target: 'Array', stat: true }, { - isArray: isArray - }); - - var ISNT_GENERIC = fails(function () { - function F() { /* empty */ } - return !(Array.of.call(F) instanceof F); - }); - - // `Array.of` method - // https://tc39.github.io/ecma262/#sec-array.of - // WebKit Array.of isn't generic - _export({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { - of: function of(/* ...args */) { - var arguments$1 = arguments; - - var index = 0; - var argumentsLength = arguments.length; - var result = new (typeof this == 'function' ? this : Array)(argumentsLength); - while (argumentsLength > index) { createProperty(result, index, arguments$1[index++]); } - result.length = argumentsLength; - return result; - } - }); - - var engineUserAgent = getBuiltIn('navigator', 'userAgent') || ''; - - var process$1 = global_1.process; - var versions = process$1 && process$1.versions; - var v8 = versions && versions.v8; - var match, version; - - if (v8) { - match = v8.split('.'); - version = match[0] + match[1]; - } else if (engineUserAgent) { - match = engineUserAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = engineUserAgent.match(/Chrome\/(\d+)/); - if (match) { version = match[1]; } - } - } - - var engineV8Version = version && +version; - - var SPECIES$1 = wellKnownSymbol('species'); - - var arrayMethodHasSpeciesSupport = function (METHOD_NAME) { - // We can't use this feature detection in V8 since it causes - // deoptimization and serious performance degradation - // https://github.com/zloirock/core-js/issues/677 - return engineV8Version >= 51 || !fails(function () { - var array = []; - var constructor = array.constructor = {}; - constructor[SPECIES$1] = function () { - return { foo: 1 }; - }; - return array[METHOD_NAME](Boolean).foo !== 1; - }); - }; - - var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); - var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; - var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; - - // We can't use this feature detection in V8 since it causes - // deoptimization and serious performance degradation - // https://github.com/zloirock/core-js/issues/679 - var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () { - var array = []; - array[IS_CONCAT_SPREADABLE] = false; - 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); - }; - - var FORCED$1 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; - - // `Array.prototype.concat` method - // https://tc39.github.io/ecma262/#sec-array.prototype.concat - // with adding support of @@isConcatSpreadable and @@species - _export({ target: 'Array', proto: true, forced: FORCED$1 }, { - concat: function concat(arg) { - var arguments$1 = arguments; - // eslint-disable-line no-unused-vars - var O = toObject(this); - var A = arraySpeciesCreate(O, 0); - var n = 0; - var i, k, length, len, E; - for (i = -1, length = arguments.length; i < length; i++) { - E = i === -1 ? O : arguments$1[i]; - if (isConcatSpreadable(E)) { - len = toLength(E.length); - if (n + len > MAX_SAFE_INTEGER) { throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); } - for (k = 0; k < len; k++, n++) { if (k in E) { createProperty(A, n, E[k]); } } - } else { - if (n >= MAX_SAFE_INTEGER) { throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); } - createProperty(A, n++, E); - } - } - A.length = n; - return A; - } - }); - - var min$2 = Math.min; - - // `Array.prototype.copyWithin` method implementation - // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin - var arrayCopyWithin = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { - var O = toObject(this); - var len = toLength(O.length); - var to = toAbsoluteIndex(target, len); - var from = toAbsoluteIndex(start, len); - var end = arguments.length > 2 ? arguments[2] : undefined; - var count = min$2((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); - var inc = 1; - if (from < to && to < from + count) { - inc = -1; - from += count - 1; - to += count - 1; - } - while (count-- > 0) { - if (from in O) { O[to] = O[from]; } - else { delete O[to]; } - to += inc; - from += inc; - } return O; - }; - - var UNSCOPABLES = wellKnownSymbol('unscopables'); - var ArrayPrototype$1 = Array.prototype; - - // Array.prototype[@@unscopables] - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype$1[UNSCOPABLES] == undefined) { - objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, { - configurable: true, - value: objectCreate(null) - }); - } - - // add a key to Array.prototype[@@unscopables] - var addToUnscopables = function (key) { - ArrayPrototype$1[UNSCOPABLES][key] = true; - }; - - // `Array.prototype.copyWithin` method - // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin - _export({ target: 'Array', proto: true }, { - copyWithin: arrayCopyWithin - }); - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables('copyWithin'); - - var arrayMethodIsStrict = function (METHOD_NAME, argument) { - var method = [][METHOD_NAME]; - return !!method && fails(function () { - // eslint-disable-next-line no-useless-call,no-throw-literal - method.call(null, argument || function () { throw 1; }, 1); - }); - }; - - var defineProperty$5 = Object.defineProperty; - var cache = {}; - - var thrower = function (it) { throw it; }; - - var arrayMethodUsesToLength = function (METHOD_NAME, options) { - if (has(cache, METHOD_NAME)) { return cache[METHOD_NAME]; } - if (!options) { options = {}; } - var method = [][METHOD_NAME]; - var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; - var argument0 = has(options, 0) ? options[0] : thrower; - var argument1 = has(options, 1) ? options[1] : undefined; - - return cache[METHOD_NAME] = !!method && !fails(function () { - if (ACCESSORS && !descriptors) { return true; } - var O = { length: -1 }; - - if (ACCESSORS) { defineProperty$5(O, 1, { enumerable: true, get: thrower }); } - else { O[1] = 1; } - - method.call(O, argument0, argument1); - }); - }; - - var $every = arrayIteration.every; - - - - var STRICT_METHOD = arrayMethodIsStrict('every'); - var USES_TO_LENGTH = arrayMethodUsesToLength('every'); - - // `Array.prototype.every` method - // https://tc39.github.io/ecma262/#sec-array.prototype.every - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { - every: function every(callbackfn /* , thisArg */) { - return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // `Array.prototype.fill` method implementation - // https://tc39.github.io/ecma262/#sec-array.prototype.fill - var arrayFill = function fill(value /* , start = 0, end = @length */) { - var O = toObject(this); - var length = toLength(O.length); - var argumentsLength = arguments.length; - var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); - var end = argumentsLength > 2 ? arguments[2] : undefined; - var endPos = end === undefined ? length : toAbsoluteIndex(end, length); - while (endPos > index) { O[index++] = value; } - return O; - }; - - // `Array.prototype.fill` method - // https://tc39.github.io/ecma262/#sec-array.prototype.fill - _export({ target: 'Array', proto: true }, { - fill: arrayFill - }); - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables('fill'); - - var $filter = arrayIteration.filter; - - - - var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); - // Edge 14- issue - var USES_TO_LENGTH$1 = arrayMethodUsesToLength('filter'); - - // `Array.prototype.filter` method - // https://tc39.github.io/ecma262/#sec-array.prototype.filter - // with adding support of @@species - _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH$1 }, { - filter: function filter(callbackfn /* , thisArg */) { - return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var $find = arrayIteration.find; - - - - var FIND = 'find'; - var SKIPS_HOLES = true; - - var USES_TO_LENGTH$2 = arrayMethodUsesToLength(FIND); - - // Shouldn't skip holes - if (FIND in []) { Array(1)[FIND](function () { SKIPS_HOLES = false; }); } - - // `Array.prototype.find` method - // https://tc39.github.io/ecma262/#sec-array.prototype.find - _export({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH$2 }, { - find: function find(callbackfn /* , that = undefined */) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables(FIND); - - var $findIndex = arrayIteration.findIndex; - - - - var FIND_INDEX = 'findIndex'; - var SKIPS_HOLES$1 = true; - - var USES_TO_LENGTH$3 = arrayMethodUsesToLength(FIND_INDEX); - - // Shouldn't skip holes - if (FIND_INDEX in []) { Array(1)[FIND_INDEX](function () { SKIPS_HOLES$1 = false; }); } - - // `Array.prototype.findIndex` method - // https://tc39.github.io/ecma262/#sec-array.prototype.findindex - _export({ target: 'Array', proto: true, forced: SKIPS_HOLES$1 || !USES_TO_LENGTH$3 }, { - findIndex: function findIndex(callbackfn /* , that = undefined */) { - return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables(FIND_INDEX); - - // `FlattenIntoArray` abstract operation - // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray - var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false; - var element; - - while (sourceIndex < sourceLen) { - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - - if (depth > 0 && isArray(element)) { - targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; - } else { - if (targetIndex >= 0x1FFFFFFFFFFFFF) { throw TypeError('Exceed the acceptable array length'); } - target[targetIndex] = element; - } - - targetIndex++; - } - sourceIndex++; - } - return targetIndex; - }; - - var flattenIntoArray_1 = flattenIntoArray; - - // `Array.prototype.flat` method - // https://github.com/tc39/proposal-flatMap - _export({ target: 'Array', proto: true }, { - flat: function flat(/* depthArg = 1 */) { - var depthArg = arguments.length ? arguments[0] : undefined; - var O = toObject(this); - var sourceLen = toLength(O.length); - var A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); - return A; - } - }); - - // `Array.prototype.flatMap` method - // https://github.com/tc39/proposal-flatMap - _export({ target: 'Array', proto: true }, { - flatMap: function flatMap(callbackfn /* , thisArg */) { - var O = toObject(this); - var sourceLen = toLength(O.length); - var A; - aFunction$1(callbackfn); - A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return A; - } - }); - - var $forEach$1 = arrayIteration.forEach; - - - - var STRICT_METHOD$1 = arrayMethodIsStrict('forEach'); - var USES_TO_LENGTH$4 = arrayMethodUsesToLength('forEach'); - - // `Array.prototype.forEach` method implementation - // https://tc39.github.io/ecma262/#sec-array.prototype.foreach - var arrayForEach = (!STRICT_METHOD$1 || !USES_TO_LENGTH$4) ? function forEach(callbackfn /* , thisArg */) { - return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } : [].forEach; - - // `Array.prototype.forEach` method - // https://tc39.github.io/ecma262/#sec-array.prototype.foreach - _export({ target: 'Array', proto: true, forced: [].forEach != arrayForEach }, { - forEach: arrayForEach - }); - - var $includes = arrayIncludes.includes; - - - - var USES_TO_LENGTH$5 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); - - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - _export({ target: 'Array', proto: true, forced: !USES_TO_LENGTH$5 }, { - includes: function includes(el /* , fromIndex = 0 */) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables('includes'); - - var $indexOf = arrayIncludes.indexOf; - - - - var nativeIndexOf = [].indexOf; - - var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; - var STRICT_METHOD$2 = arrayMethodIsStrict('indexOf'); - var USES_TO_LENGTH$6 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); - - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD$2 || !USES_TO_LENGTH$6 }, { - indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { - return NEGATIVE_ZERO - // convert -0 to +0 - ? nativeIndexOf.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var nativeJoin = [].join; - - var ES3_STRINGS = indexedObject != Object; - var STRICT_METHOD$3 = arrayMethodIsStrict('join', ','); - - // `Array.prototype.join` method - // https://tc39.github.io/ecma262/#sec-array.prototype.join - _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$3 }, { - join: function join(separator) { - return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); - } - }); - - var min$3 = Math.min; - var nativeLastIndexOf = [].lastIndexOf; - var NEGATIVE_ZERO$1 = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; - var STRICT_METHOD$4 = arrayMethodIsStrict('lastIndexOf'); - // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method - var USES_TO_LENGTH$7 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); - var FORCED$2 = NEGATIVE_ZERO$1 || !STRICT_METHOD$4 || !USES_TO_LENGTH$7; - - // `Array.prototype.lastIndexOf` method implementation - // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof - var arrayLastIndexOf = FORCED$2 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { - // convert -0 to +0 - if (NEGATIVE_ZERO$1) { return nativeLastIndexOf.apply(this, arguments) || 0; } - var O = toIndexedObject(this); - var length = toLength(O.length); - var index = length - 1; - if (arguments.length > 1) { index = min$3(index, toInteger(arguments[1])); } - if (index < 0) { index = length + index; } - for (;index >= 0; index--) { if (index in O && O[index] === searchElement) { return index || 0; } } - return -1; - } : nativeLastIndexOf; - - // `Array.prototype.lastIndexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof - _export({ target: 'Array', proto: true, forced: arrayLastIndexOf !== [].lastIndexOf }, { - lastIndexOf: arrayLastIndexOf - }); - - var $map = arrayIteration.map; - - - - var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map'); - // FF49- issue - var USES_TO_LENGTH$8 = arrayMethodUsesToLength('map'); - - // `Array.prototype.map` method - // https://tc39.github.io/ecma262/#sec-array.prototype.map - // with adding support of @@species - _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$8 }, { - map: function map(callbackfn /* , thisArg */) { - return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // `Array.prototype.{ reduce, reduceRight }` methods implementation - var createMethod$3 = function (IS_RIGHT) { - return function (that, callbackfn, argumentsLength, memo) { - aFunction$1(callbackfn); - var O = toObject(that); - var self = indexedObject(O); - var length = toLength(O.length); - var index = IS_RIGHT ? length - 1 : 0; - var i = IS_RIGHT ? -1 : 1; - if (argumentsLength < 2) { while (true) { - if (index in self) { - memo = self[index]; - index += i; - break; - } - index += i; - if (IS_RIGHT ? index < 0 : length <= index) { - throw TypeError('Reduce of empty array with no initial value'); - } - } } - for (;IS_RIGHT ? index >= 0 : length > index; index += i) { if (index in self) { - memo = callbackfn(memo, self[index], index, O); - } } - return memo; - }; - }; - - var arrayReduce = { - // `Array.prototype.reduce` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduce - left: createMethod$3(false), - // `Array.prototype.reduceRight` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright - right: createMethod$3(true) - }; - - var $reduce = arrayReduce.left; - - - - var STRICT_METHOD$5 = arrayMethodIsStrict('reduce'); - var USES_TO_LENGTH$9 = arrayMethodUsesToLength('reduce', { 1: 0 }); - - // `Array.prototype.reduce` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduce - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$5 || !USES_TO_LENGTH$9 }, { - reduce: function reduce(callbackfn /* , initialValue */) { - return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var $reduceRight = arrayReduce.right; - - - - var STRICT_METHOD$6 = arrayMethodIsStrict('reduceRight'); - // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method - var USES_TO_LENGTH$a = arrayMethodUsesToLength('reduce', { 1: 0 }); - - // `Array.prototype.reduceRight` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$6 || !USES_TO_LENGTH$a }, { - reduceRight: function reduceRight(callbackfn /* , initialValue */) { - return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var nativeReverse = [].reverse; - var test$1 = [1, 2]; - - // `Array.prototype.reverse` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reverse - // fix for Safari 12.0 bug - // https://bugs.webkit.org/show_bug.cgi?id=188794 - _export({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.reverse()) }, { - reverse: function reverse() { - // eslint-disable-next-line no-self-assign - if (isArray(this)) { this.length = this.length; } - return nativeReverse.call(this); - } - }); - - var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('slice'); - var USES_TO_LENGTH$b = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 }); - - var SPECIES$2 = wellKnownSymbol('species'); - var nativeSlice = [].slice; - var max$1 = Math.max; - - // `Array.prototype.slice` method - // https://tc39.github.io/ecma262/#sec-array.prototype.slice - // fallback for not array-like ES3 strings and DOM objects - _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 || !USES_TO_LENGTH$b }, { - slice: function slice(start, end) { - var O = toIndexedObject(this); - var length = toLength(O.length); - var k = toAbsoluteIndex(start, length); - 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)) { - Constructor = O.constructor; - // cross-realm fallback - if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { - Constructor = undefined; - } else if (isObject(Constructor)) { - Constructor = Constructor[SPECIES$2]; - if (Constructor === null) { Constructor = undefined; } - } - if (Constructor === Array || Constructor === undefined) { - return nativeSlice.call(O, k, fin); - } - } - result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0)); - for (n = 0; k < fin; k++, n++) { if (k in O) { createProperty(result, n, O[k]); } } - result.length = n; - return result; - } - }); - - var $some = arrayIteration.some; - - - - var STRICT_METHOD$7 = arrayMethodIsStrict('some'); - var USES_TO_LENGTH$c = arrayMethodUsesToLength('some'); - - // `Array.prototype.some` method - // https://tc39.github.io/ecma262/#sec-array.prototype.some - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$7 || !USES_TO_LENGTH$c }, { - some: function some(callbackfn /* , thisArg */) { - return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var test$2 = []; - var nativeSort = test$2.sort; - - // IE8- - var FAILS_ON_UNDEFINED = fails(function () { - test$2.sort(undefined); - }); - // V8 bug - var FAILS_ON_NULL = fails(function () { - test$2.sort(null); - }); - // Old WebKit - var STRICT_METHOD$8 = arrayMethodIsStrict('sort'); - - var FORCED$3 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$8; - - // `Array.prototype.sort` method - // https://tc39.github.io/ecma262/#sec-array.prototype.sort - _export({ target: 'Array', proto: true, forced: FORCED$3 }, { - sort: function sort(comparefn) { - return comparefn === undefined - ? nativeSort.call(toObject(this)) - : nativeSort.call(toObject(this), aFunction$1(comparefn)); - } - }); - - var HAS_SPECIES_SUPPORT$3 = arrayMethodHasSpeciesSupport('splice'); - var USES_TO_LENGTH$d = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); - - var max$2 = Math.max; - var min$4 = Math.min; - var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF; - var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; - - // `Array.prototype.splice` method - // https://tc39.github.io/ecma262/#sec-array.prototype.splice - // with adding support of @@species - _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$3 || !USES_TO_LENGTH$d }, { - splice: function splice(start, deleteCount /* , ...items */) { - var arguments$1 = arguments; - - var O = toObject(this); - var len = toLength(O.length); - var actualStart = toAbsoluteIndex(start, len); - var argumentsLength = arguments.length; - var insertCount, actualDeleteCount, A, k, from, to; - if (argumentsLength === 0) { - insertCount = actualDeleteCount = 0; - } else if (argumentsLength === 1) { - insertCount = 0; - actualDeleteCount = len - actualStart; - } else { - insertCount = argumentsLength - 2; - actualDeleteCount = min$4(max$2(toInteger(deleteCount), 0), len - actualStart); - } - if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) { - throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); - } - A = arraySpeciesCreate(O, actualDeleteCount); - for (k = 0; k < actualDeleteCount; k++) { - from = actualStart + k; - if (from in O) { createProperty(A, k, O[from]); } - } - A.length = actualDeleteCount; - if (insertCount < actualDeleteCount) { - for (k = actualStart; k < len - actualDeleteCount; k++) { - from = k + actualDeleteCount; - to = k + insertCount; - if (from in O) { O[to] = O[from]; } - else { delete O[to]; } - } - for (k = len; k > len - actualDeleteCount + insertCount; k--) { delete O[k - 1]; } - } else if (insertCount > actualDeleteCount) { - for (k = len - actualDeleteCount; k > actualStart; k--) { - from = k + actualDeleteCount - 1; - to = k + insertCount - 1; - if (from in O) { O[to] = O[from]; } - else { delete O[to]; } - } - } - for (k = 0; k < insertCount; k++) { - O[k + actualStart] = arguments$1[k + 2]; - } - O.length = len - actualDeleteCount + insertCount; - return A; - } - }); - - var SPECIES$3 = wellKnownSymbol('species'); - - var setSpecies = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = objectDefineProperty.f; - - if (descriptors && Constructor && !Constructor[SPECIES$3]) { - defineProperty(Constructor, SPECIES$3, { - configurable: true, - get: function () { return this; } - }); - } - }; - - // `Array[@@species]` getter - // https://tc39.github.io/ecma262/#sec-get-array-@@species - setSpecies('Array'); - - // this method was added to unscopables after implementation - // in popular engines, so it's moved to a separate module - - - addToUnscopables('flat'); - - // this method was added to unscopables after implementation - // in popular engines, so it's moved to a separate module - - - addToUnscopables('flatMap'); - - var ITERATOR$3 = wellKnownSymbol('iterator'); - var BUGGY_SAFARI_ITERATORS = false; - - var returnThis = function () { return this; }; - - // `%IteratorPrototype%` object - // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object - var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - - if ([].keys) { - arrayIterator = [].keys(); - // Safari 8 has buggy iterators w/o `next` - if (!('next' in arrayIterator)) { BUGGY_SAFARI_ITERATORS = true; } - else { - PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) { IteratorPrototype = PrototypeOfArrayIteratorPrototype; } - } - } - - if (IteratorPrototype == undefined) { IteratorPrototype = {}; } - - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() - if ( !has(IteratorPrototype, ITERATOR$3)) { - createNonEnumerableProperty(IteratorPrototype, ITERATOR$3, returnThis); - } - - var iteratorsCore = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS - }; - - var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; - - - - - - var returnThis$1 = function () { return this; }; - - var createIteratorConstructor = function (IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false); - iterators[TO_STRING_TAG] = returnThis$1; - return IteratorConstructor; - }; - - var IteratorPrototype$2 = iteratorsCore.IteratorPrototype; - var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS; - var ITERATOR$4 = wellKnownSymbol('iterator'); - var KEYS = 'keys'; - var VALUES = 'values'; - var ENTRIES = 'entries'; - - var returnThis$2 = function () { return this; }; - - var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - - var getIterationMethod = function (KIND) { - if (KIND === DEFAULT && defaultIterator) { return defaultIterator; } - if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) { return IterablePrototype[KIND]; } - switch (KIND) { - case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; - case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; - case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; - } return function () { return new IteratorConstructor(this); }; - }; - - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR$4] - || IterablePrototype['@@iterator'] - || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - - // fix native - if (anyNativeIterator) { - CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) { - if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) { - if (objectSetPrototypeOf) { - objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2); - } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') { - createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis$2); - } - } - // Set @@toStringTag to native iterators - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true); - } - } - - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { return nativeIterator.call(this); }; - } - - // define iterator - if ( IterablePrototype[ITERATOR$4] !== defaultIterator) { - createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator); - } - iterators[NAME] = defaultIterator; - - // export additional methods - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) { for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } - } } else { _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods); } - } - - return methods; - }; - - var ARRAY_ITERATOR = 'Array Iterator'; - var setInternalState$1 = internalState.set; - var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR); - - // `Array.prototype.entries` method - // https://tc39.github.io/ecma262/#sec-array.prototype.entries - // `Array.prototype.keys` method - // https://tc39.github.io/ecma262/#sec-array.prototype.keys - // `Array.prototype.values` method - // https://tc39.github.io/ecma262/#sec-array.prototype.values - // `Array.prototype[@@iterator]` method - // https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator - // `CreateArrayIterator` internal method - // https://tc39.github.io/ecma262/#sec-createarrayiterator - var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState$1(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), // target - index: 0, // next index - kind: kind // kind - }); - // `%ArrayIteratorPrototype%.next` method - // https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next - }, function () { - var state = getInternalState$1(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { value: undefined, done: 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 }; - }, 'values'); - - // argumentsList[@@iterator] is %ArrayProto_values% - // https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject - // https://tc39.github.io/ecma262/#sec-createmappedargumentsobject - iterators.Arguments = iterators.Array; - - // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables - addToUnscopables('keys'); - addToUnscopables('values'); - addToUnscopables('entries'); - - var fromCharCode = String.fromCharCode; - var nativeFromCodePoint = String.fromCodePoint; - - // length should be 1, old FF problem - var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; - - // `String.fromCodePoint` method - // https://tc39.github.io/ecma262/#sec-string.fromcodepoint - _export({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { - fromCodePoint: function fromCodePoint(x) { - var arguments$1 = arguments; - // eslint-disable-line no-unused-vars - var elements = []; - var length = arguments.length; - var i = 0; - var code; - while (length > i) { - code = +arguments$1[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) { throw RangeError(code + ' is not a valid code point'); } - elements.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) - ); - } return elements.join(''); - } - }); - - // `String.raw` method - // https://tc39.github.io/ecma262/#sec-string.raw - _export({ target: 'String', stat: true }, { - raw: function raw(template) { - var arguments$1 = arguments; - - var rawTemplate = toIndexedObject(template.raw); - var literalSegments = toLength(rawTemplate.length); - var argumentsLength = arguments.length; - var elements = []; - var i = 0; - while (literalSegments > i) { - elements.push(String(rawTemplate[i++])); - if (i < argumentsLength) { elements.push(String(arguments$1[i])); } - } return elements.join(''); - } - }); - - // `String.prototype.{ codePointAt, at }` methods implementation - var createMethod$4 = function (CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) { return CONVERT_TO_STRING ? '' : undefined; } - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF - ? CONVERT_TO_STRING ? S.charAt(position) : first - : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; - }; - - var stringMultibyte = { - // `String.prototype.codePointAt` method - // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod$4(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod$4(true) - }; - - var codeAt = stringMultibyte.codeAt; - - // `String.prototype.codePointAt` method - // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat - _export({ target: 'String', proto: true }, { - codePointAt: function codePointAt(pos) { - return codeAt(this, pos); - } - }); - - var MATCH = wellKnownSymbol('match'); - - // `IsRegExp` abstract operation - // https://tc39.github.io/ecma262/#sec-isregexp - var isRegexp = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp'); - }; - - var notARegexp = function (it) { - if (isRegexp(it)) { - throw TypeError("The method doesn't accept regular expressions"); - } return it; - }; - - var MATCH$1 = wellKnownSymbol('match'); - - var correctIsRegexpLogic = function (METHOD_NAME) { - var regexp = /./; - try { - '/./'[METHOD_NAME](regexp); - } catch (e) { - try { - regexp[MATCH$1] = false; - return '/./'[METHOD_NAME](regexp); - } catch (f) { /* empty */ } - } return false; - }; - - var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; - - - - - - - var nativeEndsWith = ''.endsWith; - var min$5 = Math.min; - - var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('endsWith'); - // https://github.com/zloirock/core-js/pull/702 - var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor$4(String.prototype, 'endsWith'); - return descriptor && !descriptor.writable; - }(); - - // `String.prototype.endsWith` method - // https://tc39.github.io/ecma262/#sec-string.prototype.endswith - _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { - endsWith: function endsWith(searchString /* , endPosition = @length */) { - var that = String(requireObjectCoercible(this)); - notARegexp(searchString); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : min$5(toLength(endPosition), len); - var search = String(searchString); - return nativeEndsWith - ? nativeEndsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } - }); - - // `String.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-string.prototype.includes - _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, { - includes: function includes(searchString /* , position = 0 */) { - return !!~String(requireObjectCoercible(this)) - .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // `RegExp.prototype.flags` getter implementation - // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags - var regexpFlags = function () { - var that = anObject(this); - var result = ''; - if (that.global) { result += 'g'; } - if (that.ignoreCase) { result += 'i'; } - if (that.multiline) { result += 'm'; } - if (that.dotAll) { result += 's'; } - if (that.unicode) { result += 'u'; } - if (that.sticky) { result += 'y'; } - return result; - }; - - // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, - // so we use an intermediate function. - function RE(s, f) { - return RegExp(s, f); - } - - var UNSUPPORTED_Y = fails(function () { - // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError - var re = RE('a', 'y'); - re.lastIndex = 2; - return re.exec('abcd') != null; - }); - - var BROKEN_CARET = fails(function () { - // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 - var re = RE('^r', 'gy'); - re.lastIndex = 2; - return re.exec('str') != null; - }); - - var regexpStickyHelpers = { - UNSUPPORTED_Y: UNSUPPORTED_Y, - BROKEN_CARET: BROKEN_CARET - }; - - var nativeExec = RegExp.prototype.exec; - // This always refers to the native implementation, because the - // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, - // which loads this file before patching the method. - var nativeReplace = String.prototype.replace; - - var patchedExec = nativeExec; - - var UPDATES_LAST_INDEX_WRONG = (function () { - var re1 = /a/; - var re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1.lastIndex !== 0 || re2.lastIndex !== 0; - })(); - - var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; - - // nonparticipating capturing group, copied from es5-shim's String#split patch. - var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - - var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1; - - if (PATCH) { - patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - var sticky = UNSUPPORTED_Y$1 && re.sticky; - var flags = regexpFlags.call(re); - var source = re.source; - var charsAdded = 0; - var strCopy = str; - - if (sticky) { - flags = flags.replace('y', ''); - if (flags.indexOf('g') === -1) { - flags += 'g'; - } - - strCopy = String(str).slice(re.lastIndex); - // Support anchored sticky behavior. - if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { - source = '(?: ' + source + ')'; - strCopy = ' ' + strCopy; - charsAdded++; - } - // ^(? + rx + ) is needed, in combination with some str slicing, to - // simulate the 'y' flag. - reCopy = new RegExp('^(?:' + source + ')', flags); - } - - if (NPCG_INCLUDED) { - reCopy = new RegExp('^' + source + '$(?!\\s)', flags); - } - if (UPDATES_LAST_INDEX_WRONG) { lastIndex = re.lastIndex; } - - match = nativeExec.call(sticky ? reCopy : re, strCopy); - - if (sticky) { - if (match) { - match.input = match.input.slice(charsAdded); - match[0] = match[0].slice(charsAdded); - match.index = re.lastIndex; - re.lastIndex += match[0].length; - } else { re.lastIndex = 0; } - } else if (UPDATES_LAST_INDEX_WRONG && match) { - re.lastIndex = re.global ? match.index + match[0].length : lastIndex; - } - if (NPCG_INCLUDED && match && match.length > 1) { - // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - nativeReplace.call(match[0], reCopy, function () { - var arguments$1 = arguments; - - for (i = 1; i < arguments.length - 2; i++) { - if (arguments$1[i] === undefined) { match[i] = undefined; } - } - }); - } - - return match; - }; - } - - var regexpExec = patchedExec; - - _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, { - exec: regexpExec - }); - - // TODO: Remove from `core-js@4` since it's moved to entry points - - - - - - - - var SPECIES$4 = wellKnownSymbol('species'); - - var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - re.exec = function () { - var result = []; - result.groups = { a: '7' }; - return result; - }; - return ''.replace(re, '$') !== '7'; - }); - - // IE <= 11 replaces $0 with the whole match, as if it was $& - // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 - var REPLACE_KEEPS_$0 = (function () { - return 'a'.replace(/./, '$0') === '$0'; - })(); - - var REPLACE = wellKnownSymbol('replace'); - // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string - var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { - if (/./[REPLACE]) { - return /./[REPLACE]('a', '$0') === ''; - } - return false; - })(); - - // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec - // Weex JS has frozen built-in prototypes, so use try / catch wrapper - var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { - var re = /(?:)/; - var originalExec = re.exec; - re.exec = function () { return originalExec.apply(this, arguments); }; - var result = 'ab'.split(re); - return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; - }); - - var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) { - var SYMBOL = wellKnownSymbol(KEY); - - var DELEGATES_TO_SYMBOL = !fails(function () { - // String methods call symbol-named RegEp methods - var O = {}; - O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; - }); - - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - - if (KEY === 'split') { - // We can't use real regex here since it causes deoptimization - // and serious performance degradation in V8 - // https://github.com/zloirock/core-js/issues/306 - re = {}; - // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - re.constructor = {}; - re.constructor[SPECIES$4] = function () { return re; }; - re.flags = ''; - re[SYMBOL] = /./[SYMBOL]; - } - - re.exec = function () { execCalled = true; return null; }; - - re[SYMBOL](''); - return !execCalled; - }); - - if ( - !DELEGATES_TO_SYMBOL || - !DELEGATES_TO_EXEC || - (KEY === 'replace' && !( - REPLACE_SUPPORTS_NAMED_GROUPS && - REPLACE_KEEPS_$0 && - !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE - )) || - (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) - ) { - var nativeRegExpMethod = /./[SYMBOL]; - var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; - } - return { done: true, value: nativeMethod.call(str, regexp, arg2) }; - } - return { done: false }; - }, { - REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, - REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE - }); - var stringMethod = methods[0]; - var regexMethod = methods[1]; - - redefine(String.prototype, KEY, stringMethod); - redefine(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function (string, arg) { return regexMethod.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function (string) { return regexMethod.call(string, this); } - ); - } - - if (sham) { createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); } - }; - - var charAt = stringMultibyte.charAt; - - // `AdvanceStringIndex` abstract operation - // https://tc39.github.io/ecma262/#sec-advancestringindex - var advanceStringIndex = function (S, index, unicode) { - return index + (unicode ? charAt(S, index).length : 1); - }; - - // `RegExpExec` abstract operation - // https://tc39.github.io/ecma262/#sec-regexpexec - var regexpExecAbstract = function (R, S) { - var exec = R.exec; - if (typeof exec === 'function') { - var result = exec.call(R, S); - if (typeof result !== 'object') { - throw TypeError('RegExp exec method returned something other than an Object or null'); - } - return result; - } - - if (classofRaw(R) !== 'RegExp') { - throw TypeError('RegExp#exec called on incompatible receiver'); - } - - return regexpExec.call(R, S); - }; - - // @@match logic - fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = requireObjectCoercible(this); - var matcher = regexp == undefined ? undefined : regexp[MATCH]; - return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative(nativeMatch, regexp, this); - if (res.done) { return res.value; } - - var rx = anObject(regexp); - var S = String(this); - - if (!rx.global) { return regexpExecAbstract(rx, S); } - - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regexpExecAbstract(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); } - n++; - } - return n === 0 ? null : A; - } - ]; - }); - - var SPECIES$5 = wellKnownSymbol('species'); - - // `SpeciesConstructor` abstract operation - // https://tc39.github.io/ecma262/#sec-speciesconstructor - var speciesConstructor = function (O, defaultConstructor) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES$5]) == undefined ? defaultConstructor : aFunction$1(S); - }; - - var MATCH_ALL = wellKnownSymbol('matchAll'); - var REGEXP_STRING = 'RegExp String'; - var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; - var setInternalState$2 = internalState.set; - var getInternalState$2 = internalState.getterFor(REGEXP_STRING_ITERATOR); - var RegExpPrototype = RegExp.prototype; - var regExpBuiltinExec = RegExpPrototype.exec; - var nativeMatchAll = ''.matchAll; - - var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { - 'a'.matchAll(/./); - }); - - var regExpExec = function (R, S) { - var exec = R.exec; - var result; - if (typeof exec == 'function') { - result = exec.call(R, S); - if (typeof result != 'object') { throw TypeError('Incorrect exec result'); } - return result; - } return regExpBuiltinExec.call(R, S); - }; - - // eslint-disable-next-line max-len - var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { - setInternalState$2(this, { - type: REGEXP_STRING_ITERATOR, - regexp: regexp, - string: string, - global: global, - unicode: fullUnicode, - done: false - }); - }, REGEXP_STRING, function next() { - var state = getInternalState$2(this); - if (state.done) { return { value: undefined, done: true }; } - var R = state.regexp; - var S = state.string; - var match = regExpExec(R, S); - if (match === null) { return { value: undefined, done: state.done = true }; } - if (state.global) { - if (String(match[0]) == '') { R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); } - return { value: match, done: false }; - } - state.done = true; - return { value: match, done: false }; - }); - - var $matchAll = function (string) { - var R = anObject(this); - var S = String(string); - var C, flagsValue, flags, matcher, global, fullUnicode; - C = speciesConstructor(R, RegExp); - flagsValue = R.flags; - if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { - flagsValue = regexpFlags.call(R); - } - flags = flagsValue === undefined ? '' : String(flagsValue); - matcher = new C(C === RegExp ? R.source : R, flags); - global = !!~flags.indexOf('g'); - fullUnicode = !!~flags.indexOf('u'); - matcher.lastIndex = toLength(R.lastIndex); - return new $RegExpStringIterator(matcher, S, global, fullUnicode); - }; - - // `String.prototype.matchAll` method - // https://github.com/tc39/proposal-string-matchall - _export({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { - matchAll: function matchAll(regexp) { - var O = requireObjectCoercible(this); - var flags, S, matcher, rx; - if (regexp != null) { - if (isRegexp(regexp)) { - flags = String(requireObjectCoercible('flags' in RegExpPrototype - ? regexp.flags - : regexpFlags.call(regexp) - )); - if (!~flags.indexOf('g')) { throw TypeError('`.matchAll` does not allow non-global regexes'); } - } - if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); } - matcher = regexp[MATCH_ALL]; - if (matcher === undefined && isPure && classofRaw(regexp) == 'RegExp') { matcher = $matchAll; } - if (matcher != null) { return aFunction$1(matcher).call(regexp, O); } - } else if (WORKS_WITH_NON_GLOBAL_REGEX) { return nativeMatchAll.apply(O, arguments); } - S = String(O); - rx = new RegExp(regexp, 'g'); - return rx[MATCH_ALL](S); - } - }); - - MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); - - // `String.prototype.repeat` method implementation - // https://tc39.github.io/ecma262/#sec-string.prototype.repeat - var stringRepeat = ''.repeat || function repeat(count) { - var str = String(requireObjectCoercible(this)); - var result = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) { throw RangeError('Wrong number of repetitions'); } - for (;n > 0; (n >>>= 1) && (str += str)) { if (n & 1) { result += str; } } - return result; - }; - - // https://github.com/tc39/proposal-string-pad-start-end - - - - - var ceil$1 = Math.ceil; - - // `String.prototype.{ padStart, padEnd }` methods implementation - var createMethod$5 = function (IS_END) { - return function ($this, maxLength, fillString) { - var S = String(requireObjectCoercible($this)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - var fillLen, stringFiller; - if (intMaxLength <= stringLength || fillStr == '') { return S; } - fillLen = intMaxLength - stringLength; - stringFiller = stringRepeat.call(fillStr, ceil$1(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) { stringFiller = stringFiller.slice(0, fillLen); } - return IS_END ? S + stringFiller : stringFiller + S; - }; - }; - - var stringPad = { - // `String.prototype.padStart` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padstart - start: createMethod$5(false), - // `String.prototype.padEnd` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padend - end: createMethod$5(true) - }; - - // https://github.com/zloirock/core-js/issues/280 - - - // eslint-disable-next-line unicorn/no-unsafe-regex - var stringPadWebkitBug = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(engineUserAgent); - - var $padEnd = stringPad.end; - - - // `String.prototype.padEnd` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padend - _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, { - padEnd: function padEnd(maxLength /* , fillString = ' ' */) { - return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - var $padStart = stringPad.start; - - - // `String.prototype.padStart` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padstart - _export({ target: 'String', proto: true, forced: stringPadWebkitBug }, { - padStart: function padStart(maxLength /* , fillString = ' ' */) { - return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - // `String.prototype.repeat` method - // https://tc39.github.io/ecma262/#sec-string.prototype.repeat - _export({ target: 'String', proto: true }, { - repeat: stringRepeat - }); - - var max$3 = Math.max; - var min$6 = Math.min; - var floor$1 = Math.floor; - var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; - var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; - - var maybeToString = function (it) { - return it === undefined ? it : String(it); - }; - - // @@replace logic - fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { - var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; - var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; - var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; - - return [ - // `String.prototype.replace` method - // https://tc39.github.io/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; - return replacer !== undefined - ? replacer.call(searchValue, O, replaceValue) - : nativeReplace.call(String(O), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace - function (regexp, replaceValue) { - if ( - (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || - (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) - ) { - var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); - if (res.done) { return res.value; } - } - - var rx = anObject(regexp); - var S = String(this); - - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) { replaceValue = String(replaceValue); } - - var global = rx.global; - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - while (true) { - var result = regexpExecAbstract(rx, S); - if (result === null) { break; } - - results.push(result); - if (!global) { break; } - - var matchStr = String(result[0]); - if (matchStr === '') { rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); } - } - - var accumulatedResult = ''; - var nextSourcePosition = 0; - for (var i = 0; i < results.length; i++) { - result = results[i]; - - var matched = String(result[0]); - var position = max$3(min$6(toInteger(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++) { captures.push(maybeToString(result[j])); } - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = [matched].concat(captures, position, S); - if (namedCaptures !== undefined) { replacerArgs.push(namedCaptures); } - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else { - replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - } - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + S.slice(nextSourcePosition); - } - ]; - - // https://tc39.github.io/ecma262/#sec-getsubstitution - function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return nativeReplace.call(replacement, symbols, function (match, ch) { - var capture; - switch (ch.charAt(0)) { - case '$': return '$'; - case '&': return matched; - case '`': return str.slice(0, position); - case "'": return str.slice(tailPos); - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - default: // \d\d? - var n = +ch; - if (n === 0) { return match; } - if (n > m) { - var f = floor$1(n / 10); - if (f === 0) { return match; } - if (f <= m) { return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); } - return match; - } - capture = captures[n - 1]; - } - return capture === undefined ? '' : capture; - }); - } - }); - - // @@search logic - fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { - return [ - // `String.prototype.search` method - // https://tc39.github.io/ecma262/#sec-string.prototype.search - function search(regexp) { - var O = requireObjectCoercible(this); - var searcher = regexp == undefined ? undefined : regexp[SEARCH]; - return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, - // `RegExp.prototype[@@search]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search - function (regexp) { - var res = maybeCallNative(nativeSearch, regexp, this); - if (res.done) { return res.value; } - - var rx = anObject(regexp); - var S = String(this); - - var previousLastIndex = rx.lastIndex; - if (!sameValue(previousLastIndex, 0)) { rx.lastIndex = 0; } - var result = regexpExecAbstract(rx, S); - if (!sameValue(rx.lastIndex, previousLastIndex)) { rx.lastIndex = previousLastIndex; } - return result === null ? -1 : result.index; - } - ]; - }); - - var arrayPush = [].push; - var min$7 = Math.min; - var MAX_UINT32 = 0xFFFFFFFF; - - // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError - var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); - - // @@split logic - fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { - var internalSplit; - if ( - 'abbc'.split(/(b)*/)[1] == 'c' || - 'test'.split(/(?:)/, -1).length != 4 || - 'ab'.split(/(?:ab)*/).length != 2 || - '.'.split(/(.?)(.?)/).length != 4 || - '.'.split(/()()/).length > 1 || - ''.split(/.?/).length - ) { - // based on es5-shim implementation, need to rework it - internalSplit = function (separator, limit) { - var string = String(requireObjectCoercible(this)); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) { return []; } - if (separator === undefined) { return [string]; } - // If `separator` is not a regex, use native split - if (!isRegexp(separator)) { - return nativeSplit.call(string, separator, lim); - } - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - while (match = regexpExec.call(separatorCopy, string)) { - lastIndex = separatorCopy.lastIndex; - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < string.length) { arrayPush.apply(output, match.slice(1)); } - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= lim) { break; } - } - if (separatorCopy.lastIndex === match.index) { separatorCopy.lastIndex++; } // Avoid an infinite loop - } - if (lastLastIndex === string.length) { - if (lastLength || !separatorCopy.test('')) { output.push(''); } - } else { output.push(string.slice(lastLastIndex)); } - return output.length > lim ? output.slice(0, lim) : output; - }; - // Chakra, V8 - } else if ('0'.split(undefined, 0).length) { - internalSplit = function (separator, limit) { - return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); - }; - } else { internalSplit = nativeSplit; } - - return [ - // `String.prototype.split` method - // https://tc39.github.io/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = requireObjectCoercible(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined - ? splitter.call(separator, O, limit) - : internalSplit.call(String(O), separator, limit); - }, - // `RegExp.prototype[@@split]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function (regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); - if (res.done) { return res.value; } - - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + - (rx.multiline ? 'm' : '') + - (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); - - // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) { return []; } - if (S.length === 0) { return regexpExecAbstract(splitter, S) === null ? [S] : []; } - var p = 0; - var q = 0; - var A = []; - while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - if ( - z === null || - (e = min$7(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p - ) { - q = advanceStringIndex(S, q, unicodeMatching); - } else { - A.push(S.slice(p, q)); - if (A.length === lim) { return A; } - for (var i = 1; i <= z.length - 1; i++) { - A.push(z[i]); - if (A.length === lim) { return A; } - } - q = p = e; - } - } - A.push(S.slice(p)); - return A; - } - ]; - }, !SUPPORTS_Y); - - var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f; - - - - - - - var nativeStartsWith = ''.startsWith; - var min$8 = Math.min; - - var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('startsWith'); - // https://github.com/zloirock/core-js/pull/702 - var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () { - var descriptor = getOwnPropertyDescriptor$5(String.prototype, 'startsWith'); - return descriptor && !descriptor.writable; - }(); - - // `String.prototype.startsWith` method - // https://tc39.github.io/ecma262/#sec-string.prototype.startswith - _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, { - startsWith: function startsWith(searchString /* , position = 0 */) { - var that = String(requireObjectCoercible(this)); - notARegexp(searchString); - var index = toLength(min$8(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return nativeStartsWith - ? nativeStartsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } - }); - - // a string of all valid unicode whitespaces - // eslint-disable-next-line max-len - var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - - var whitespace = '[' + whitespaces + ']'; - var ltrim = RegExp('^' + whitespace + whitespace + '*'); - var rtrim = RegExp(whitespace + whitespace + '*$'); - - // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation - var createMethod$6 = function (TYPE) { - return function ($this) { - var string = String(requireObjectCoercible($this)); - if (TYPE & 1) { string = string.replace(ltrim, ''); } - if (TYPE & 2) { string = string.replace(rtrim, ''); } - return string; - }; - }; - - var stringTrim = { - // `String.prototype.{ trimLeft, trimStart }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart - start: createMethod$6(1), - // `String.prototype.{ trimRight, trimEnd }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimend - end: createMethod$6(2), - // `String.prototype.trim` method - // https://tc39.github.io/ecma262/#sec-string.prototype.trim - trim: createMethod$6(3) - }; - - var non = '\u200B\u0085\u180E'; - - // check that a method works with the correct list - // of whitespaces and has a correct name - var stringTrimForced = function (METHOD_NAME) { - return fails(function () { - return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; - }); - }; - - var $trim = stringTrim.trim; - - - // `String.prototype.trim` method - // https://tc39.github.io/ecma262/#sec-string.prototype.trim - _export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, { - trim: function trim() { - return $trim(this); - } - }); - - var $trimStart = stringTrim.start; - - - var FORCED$4 = stringTrimForced('trimStart'); - - var trimStart = FORCED$4 ? function trimStart() { - return $trimStart(this); - } : ''.trimStart; - - // `String.prototype.{ trimStart, trimLeft }` methods - // https://github.com/tc39/ecmascript-string-left-right-trim - _export({ target: 'String', proto: true, forced: FORCED$4 }, { - trimStart: trimStart, - trimLeft: trimStart - }); - - var $trimEnd = stringTrim.end; - - - var FORCED$5 = stringTrimForced('trimEnd'); - - var trimEnd = FORCED$5 ? function trimEnd() { - return $trimEnd(this); - } : ''.trimEnd; - - // `String.prototype.{ trimEnd, trimRight }` methods - // https://github.com/tc39/ecmascript-string-left-right-trim - _export({ target: 'String', proto: true, forced: FORCED$5 }, { - trimEnd: trimEnd, - trimRight: trimEnd - }); - - var charAt$1 = stringMultibyte.charAt; - - - - var STRING_ITERATOR = 'String Iterator'; - var setInternalState$3 = internalState.set; - var getInternalState$3 = internalState.getterFor(STRING_ITERATOR); - - // `String.prototype[@@iterator]` method - // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator - defineIterator(String, 'String', function (iterated) { - setInternalState$3(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 - }); - // `%StringIteratorPrototype%.next` method - // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next - }, function next() { - var state = getInternalState$3(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$1(string, index); - state.index += point.length; - return { value: point, done: false }; - }); - - var quot = /"/g; - - // B.2.3.2.1 CreateHTML(string, tag, attribute, value) - // https://tc39.github.io/ecma262/#sec-createhtml - var createHtml = function (string, tag, attribute, value) { - var S = String(requireObjectCoercible(string)); - var p1 = '<' + tag; - if (attribute !== '') { p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; } - return p1 + '>' + S + ''; - }; - - // check the existence of a method, lowercase - // of a tag and escaping quotes in arguments - var stringHtmlForced = function (METHOD_NAME) { - return fails(function () { - var test = ''[METHOD_NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }); - }; - - // `String.prototype.anchor` method - // https://tc39.github.io/ecma262/#sec-string.prototype.anchor - _export({ target: 'String', proto: true, forced: stringHtmlForced('anchor') }, { - anchor: function anchor(name) { - return createHtml(this, 'a', 'name', name); - } - }); - - // `String.prototype.big` method - // https://tc39.github.io/ecma262/#sec-string.prototype.big - _export({ target: 'String', proto: true, forced: stringHtmlForced('big') }, { - big: function big() { - return createHtml(this, 'big', '', ''); - } - }); - - // `String.prototype.blink` method - // https://tc39.github.io/ecma262/#sec-string.prototype.blink - _export({ target: 'String', proto: true, forced: stringHtmlForced('blink') }, { - blink: function blink() { - return createHtml(this, 'blink', '', ''); - } - }); - - // `String.prototype.bold` method - // https://tc39.github.io/ecma262/#sec-string.prototype.bold - _export({ target: 'String', proto: true, forced: stringHtmlForced('bold') }, { - bold: function bold() { - return createHtml(this, 'b', '', ''); - } - }); - - // `String.prototype.fixed` method - // https://tc39.github.io/ecma262/#sec-string.prototype.fixed - _export({ target: 'String', proto: true, forced: stringHtmlForced('fixed') }, { - fixed: function fixed() { - return createHtml(this, 'tt', '', ''); - } - }); - - // `String.prototype.fontcolor` method - // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor - _export({ target: 'String', proto: true, forced: stringHtmlForced('fontcolor') }, { - fontcolor: function fontcolor(color) { - return createHtml(this, 'font', 'color', color); - } - }); - - // `String.prototype.fontsize` method - // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize - _export({ target: 'String', proto: true, forced: stringHtmlForced('fontsize') }, { - fontsize: function fontsize(size) { - return createHtml(this, 'font', 'size', size); - } - }); - - // `String.prototype.italics` method - // https://tc39.github.io/ecma262/#sec-string.prototype.italics - _export({ target: 'String', proto: true, forced: stringHtmlForced('italics') }, { - italics: function italics() { - return createHtml(this, 'i', '', ''); - } - }); - - // `String.prototype.link` method - // https://tc39.github.io/ecma262/#sec-string.prototype.link - _export({ target: 'String', proto: true, forced: stringHtmlForced('link') }, { - link: function link(url) { - return createHtml(this, 'a', 'href', url); - } - }); - - // `String.prototype.small` method - // https://tc39.github.io/ecma262/#sec-string.prototype.small - _export({ target: 'String', proto: true, forced: stringHtmlForced('small') }, { - small: function small() { - return createHtml(this, 'small', '', ''); - } - }); - - // `String.prototype.strike` method - // https://tc39.github.io/ecma262/#sec-string.prototype.strike - _export({ target: 'String', proto: true, forced: stringHtmlForced('strike') }, { - strike: function strike() { - return createHtml(this, 'strike', '', ''); - } - }); - - // `String.prototype.sub` method - // https://tc39.github.io/ecma262/#sec-string.prototype.sub - _export({ target: 'String', proto: true, forced: stringHtmlForced('sub') }, { - sub: function sub() { - return createHtml(this, 'sub', '', ''); - } - }); - - // `String.prototype.sup` method - // https://tc39.github.io/ecma262/#sec-string.prototype.sup - _export({ target: 'String', proto: true, forced: stringHtmlForced('sup') }, { - sup: function sup() { - return createHtml(this, 'sup', '', ''); - } - }); - - // makes subclassing work correct for wrapped built-ins - var inheritIfRequired = function ($this, dummy, Wrapper) { - var NewTarget, NewTargetPrototype; - if ( - // it can work only with native `setPrototypeOf` - objectSetPrototypeOf && - // we haven't completely correct pre-ES6 way for getting `new.target`, so use this - typeof (NewTarget = dummy.constructor) == 'function' && - NewTarget !== Wrapper && - isObject(NewTargetPrototype = NewTarget.prototype) && - NewTargetPrototype !== Wrapper.prototype - ) { objectSetPrototypeOf($this, NewTargetPrototype); } - return $this; - }; - - var defineProperty$6 = objectDefineProperty.f; - var getOwnPropertyNames = objectGetOwnPropertyNames.f; - - - - - - var setInternalState$4 = internalState.set; - - - - var MATCH$2 = wellKnownSymbol('match'); - var NativeRegExp = global_1.RegExp; - var RegExpPrototype$1 = NativeRegExp.prototype; - var re1 = /a/g; - var re2 = /a/g; - - // "new" should create a new object, old webkit bug - var CORRECT_NEW = new NativeRegExp(re1) !== re1; - - var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y; - - var FORCED$6 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () { - re2[MATCH$2] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; - }))); - - // `RegExp` constructor - // https://tc39.github.io/ecma262/#sec-regexp-constructor - if (FORCED$6) { - var RegExpWrapper = function RegExp(pattern, flags) { - var thisIsRegExp = this instanceof RegExpWrapper; - var patternIsRegExp = isRegexp(pattern); - var flagsAreUndefined = flags === undefined; - var sticky; - - if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) { - return pattern; - } - - if (CORRECT_NEW) { - if (patternIsRegExp && !flagsAreUndefined) { pattern = pattern.source; } - } else if (pattern instanceof RegExpWrapper) { - if (flagsAreUndefined) { flags = regexpFlags.call(pattern); } - pattern = pattern.source; - } - - if (UNSUPPORTED_Y$2) { - sticky = !!flags && flags.indexOf('y') > -1; - if (sticky) { flags = flags.replace(/y/g, ''); } - } - - var result = inheritIfRequired( - CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), - thisIsRegExp ? this : RegExpPrototype$1, - RegExpWrapper - ); - - if (UNSUPPORTED_Y$2 && sticky) { setInternalState$4(result, { sticky: sticky }); } - - return result; - }; - var proxy = function (key) { - key in RegExpWrapper || defineProperty$6(RegExpWrapper, key, { - configurable: true, - get: function () { return NativeRegExp[key]; }, - set: function (it) { NativeRegExp[key] = it; } - }); - }; - var keys$1 = getOwnPropertyNames(NativeRegExp); - var index = 0; - while (keys$1.length > index) { proxy(keys$1[index++]); } - RegExpPrototype$1.constructor = RegExpWrapper; - RegExpWrapper.prototype = RegExpPrototype$1; - redefine(global_1, 'RegExp', RegExpWrapper); - } - - // https://tc39.github.io/ecma262/#sec-get-regexp-@@species - setSpecies('RegExp'); - - var UNSUPPORTED_Y$3 = regexpStickyHelpers.UNSUPPORTED_Y; - - // `RegExp.prototype.flags` getter - // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags - if (descriptors && (/./g.flags != 'g' || UNSUPPORTED_Y$3)) { - objectDefineProperty.f(RegExp.prototype, 'flags', { - configurable: true, - get: regexpFlags - }); - } - - var UNSUPPORTED_Y$4 = regexpStickyHelpers.UNSUPPORTED_Y; - var defineProperty$7 = objectDefineProperty.f; - var getInternalState$4 = internalState.get; - var RegExpPrototype$2 = RegExp.prototype; - - // `RegExp.prototype.sticky` getter - if (descriptors && UNSUPPORTED_Y$4) { - defineProperty$7(RegExp.prototype, 'sticky', { - configurable: true, - get: function () { - if (this === RegExpPrototype$2) { return undefined; } - // We can't use InternalStateModule.getterFor because - // we don't add metadata for regexps created by a literal. - if (this instanceof RegExp) { - return !!getInternalState$4(this).sticky; - } - throw TypeError('Incompatible receiver, RegExp required'); - } - }); - } - - // TODO: Remove from `core-js@4` since it's moved to entry points - - - - - var DELEGATES_TO_EXEC = function () { - var execCalled = false; - var re = /[ac]/; - re.exec = function () { - execCalled = true; - return /./.exec.apply(this, arguments); - }; - return re.test('abc') === true && execCalled; - }(); - - var nativeTest = /./.test; - - _export({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { - test: function (str) { - if (typeof this.exec !== 'function') { - return nativeTest.call(this, str); - } - var result = this.exec(str); - if (result !== null && !isObject(result)) { - throw new Error('RegExp exec method returned something other than an Object or null'); - } - return !!result; - } - }); - - var TO_STRING = 'toString'; - var RegExpPrototype$3 = RegExp.prototype; - var nativeToString = RegExpPrototype$3[TO_STRING]; - - var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); - // FF44- RegExp#toString has a wrong name - var INCORRECT_NAME = nativeToString.name != TO_STRING; - - // `RegExp.prototype.toString` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring - if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { - var R = anObject(this); - var p = String(R.source); - var rf = R.flags; - var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$3) ? regexpFlags.call(R) : rf); - return '/' + p + '/' + f; - }, { unsafe: true }); - } - - var trim = stringTrim.trim; - - - var $parseInt = global_1.parseInt; - var hex = /^[+-]?0[Xx]/; - var FORCED$7 = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; - - // `parseInt` method - // https://tc39.github.io/ecma262/#sec-parseint-string-radix - var numberParseInt = FORCED$7 ? function parseInt(string, radix) { - var S = trim(String(string)); - return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); - } : $parseInt; - - // `parseInt` method - // https://tc39.github.io/ecma262/#sec-parseint-string-radix - _export({ global: true, forced: parseInt != numberParseInt }, { - parseInt: numberParseInt - }); - - var trim$1 = stringTrim.trim; - - - var $parseFloat = global_1.parseFloat; - var FORCED$8 = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; - - // `parseFloat` method - // https://tc39.github.io/ecma262/#sec-parsefloat-string - var numberParseFloat = FORCED$8 ? function parseFloat(string) { - var trimmedString = trim$1(String(string)); - var result = $parseFloat(trimmedString); - return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; - } : $parseFloat; - - // `parseFloat` method - // https://tc39.github.io/ecma262/#sec-parsefloat-string - _export({ global: true, forced: parseFloat != numberParseFloat }, { - parseFloat: numberParseFloat - }); - - var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f; - var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; - var defineProperty$8 = objectDefineProperty.f; - var trim$2 = stringTrim.trim; - - var NUMBER = 'Number'; - var NativeNumber = global_1[NUMBER]; - var NumberPrototype = NativeNumber.prototype; - - // Opera ~12 has broken Object#toString - var BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER; - - // `ToNumber` abstract operation - // https://tc39.github.io/ecma262/#sec-tonumber - var toNumber = function (argument) { - var it = toPrimitive(argument, false); - var first, third, radix, maxCode, digits, length, index, code; - if (typeof it == 'string' && it.length > 2) { - it = trim$2(it); - first = it.charCodeAt(0); - if (first === 43 || first === 45) { - third = it.charCodeAt(2); - if (third === 88 || third === 120) { return NaN; } // Number('+0x1') should be NaN, old V8 fix - } else if (first === 48) { - switch (it.charCodeAt(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 = it.slice(2); - length = digits.length; - for (index = 0; index < length; index++) { - code = digits.charCodeAt(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; } - } return parseInt(digits, radix); - } - } return +it; - }; - - // `Number` constructor - // https://tc39.github.io/ecma262/#sec-number-constructor - if (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { - var NumberWrapper = function Number(value) { - var it = arguments.length < 1 ? 0 : value; - var dummy = this; - return dummy instanceof NumberWrapper - // check on 1..constructor(foo) case - && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER) - ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); - }; - for (var keys$2 = descriptors ? getOwnPropertyNames$1(NativeNumber) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES2015 (in case, if modules with ES2015 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys$2.length > j; j++) { - if (has(NativeNumber, key = keys$2[j]) && !has(NumberWrapper, key)) { - defineProperty$8(NumberWrapper, key, getOwnPropertyDescriptor$6(NativeNumber, key)); - } - } - NumberWrapper.prototype = NumberPrototype; - NumberPrototype.constructor = NumberWrapper; - redefine(global_1, NUMBER, NumberWrapper); - } - - // `Number.EPSILON` constant - // https://tc39.github.io/ecma262/#sec-number.epsilon - _export({ target: 'Number', stat: true }, { - EPSILON: Math.pow(2, -52) - }); - - var globalIsFinite = global_1.isFinite; - - // `Number.isFinite` method - // https://tc39.github.io/ecma262/#sec-number.isfinite - var numberIsFinite = Number.isFinite || function isFinite(it) { - return typeof it == 'number' && globalIsFinite(it); - }; - - // `Number.isFinite` method - // https://tc39.github.io/ecma262/#sec-number.isfinite - _export({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); - - var floor$2 = Math.floor; - - // `Number.isInteger` method implementation - // https://tc39.github.io/ecma262/#sec-number.isinteger - var isInteger = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor$2(it) === it; - }; - - // `Number.isInteger` method - // https://tc39.github.io/ecma262/#sec-number.isinteger - _export({ target: 'Number', stat: true }, { - isInteger: isInteger - }); - - // `Number.isNaN` method - // https://tc39.github.io/ecma262/#sec-number.isnan - _export({ target: 'Number', stat: true }, { - isNaN: function isNaN(number) { - // eslint-disable-next-line no-self-compare - return number != number; - } - }); - - var abs = Math.abs; - - // `Number.isSafeInteger` method - // https://tc39.github.io/ecma262/#sec-number.issafeinteger - _export({ target: 'Number', stat: true }, { - isSafeInteger: function isSafeInteger(number) { - return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; - } - }); - - // `Number.MAX_SAFE_INTEGER` constant - // https://tc39.github.io/ecma262/#sec-number.max_safe_integer - _export({ target: 'Number', stat: true }, { - MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF - }); - - // `Number.MIN_SAFE_INTEGER` constant - // https://tc39.github.io/ecma262/#sec-number.min_safe_integer - _export({ target: 'Number', stat: true }, { - MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF - }); - - // `Number.parseFloat` method - // https://tc39.github.io/ecma262/#sec-number.parseFloat - _export({ target: 'Number', stat: true, forced: Number.parseFloat != numberParseFloat }, { - parseFloat: numberParseFloat - }); - - // `Number.parseInt` method - // https://tc39.github.io/ecma262/#sec-number.parseint - _export({ target: 'Number', stat: true, forced: Number.parseInt != numberParseInt }, { - parseInt: numberParseInt - }); - - // `thisNumberValue` abstract operation - // https://tc39.github.io/ecma262/#sec-thisnumbervalue - var thisNumberValue = function (value) { - if (typeof value != 'number' && classofRaw(value) != 'Number') { - throw TypeError('Incorrect invocation'); - } - return +value; - }; - - var nativeToFixed = 1.0.toFixed; - var floor$3 = Math.floor; - - var pow = function (x, n, acc) { - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); - }; - - var log = function (x) { - var n = 0; - var x2 = x; - while (x2 >= 4096) { - n += 12; - x2 /= 4096; - } - while (x2 >= 2) { - n += 1; - x2 /= 2; - } return n; - }; - - var FORCED$9 = nativeToFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128.0.toFixed(0) !== '1000000000000000128' - ) || !fails(function () { - // V8 ~ Android 4.3- - nativeToFixed.call({}); - }); - - // `Number.prototype.toFixed` method - // https://tc39.github.io/ecma262/#sec-number.prototype.tofixed - _export({ target: 'Number', proto: true, forced: FORCED$9 }, { - // eslint-disable-next-line max-statements - toFixed: function toFixed(fractionDigits) { - var number = thisNumberValue(this); - var fractDigits = toInteger(fractionDigits); - var data = [0, 0, 0, 0, 0, 0]; - var sign = ''; - var result = '0'; - var e, z, j, k; - - var multiply = function (n, c) { - var index = -1; - var c2 = c; - while (++index < 6) { - c2 += n * data[index]; - data[index] = c2 % 1e7; - c2 = floor$3(c2 / 1e7); - } - }; - - var divide = function (n) { - var index = 6; - var c = 0; - while (--index >= 0) { - c += data[index]; - data[index] = floor$3(c / n); - c = (c % n) * 1e7; - } - }; - - var dataToString = function () { - var index = 6; - var s = ''; - while (--index >= 0) { - if (s !== '' || index === 0 || data[index] !== 0) { - var t = String(data[index]); - s = s === '' ? t : s + stringRepeat.call('0', 7 - t.length) + t; - } - } return s; - }; - - if (fractDigits < 0 || fractDigits > 20) { throw RangeError('Incorrect fraction digits'); } - // eslint-disable-next-line no-self-compare - if (number != number) { return 'NaN'; } - if (number <= -1e21 || number >= 1e21) { return String(number); } - if (number < 0) { - sign = '-'; - number = -number; - } - if (number > 1e-21) { - e = log(number * pow(2, 69, 1)) - 69; - z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if (e > 0) { - multiply(0, z); - j = fractDigits; - while (j >= 7) { - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while (j >= 23) { - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - result = dataToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - result = dataToString() + stringRepeat.call('0', fractDigits); - } - } - if (fractDigits > 0) { - k = result.length; - result = sign + (k <= fractDigits - ? '0.' + stringRepeat.call('0', fractDigits - k) + result - : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); - } else { - result = sign + result; - } return result; - } - }); - - var nativeToPrecision = 1.0.toPrecision; - - var FORCED$a = fails(function () { - // IE7- - return nativeToPrecision.call(1, undefined) !== '1'; - }) || !fails(function () { - // V8 ~ Android 4.3- - nativeToPrecision.call({}); - }); - - // `Number.prototype.toPrecision` method - // https://tc39.github.io/ecma262/#sec-number.prototype.toprecision - _export({ target: 'Number', proto: true, forced: FORCED$a }, { - toPrecision: function toPrecision(precision) { - return precision === undefined - ? nativeToPrecision.call(thisNumberValue(this)) - : nativeToPrecision.call(thisNumberValue(this), precision); - } - }); - - var log$1 = Math.log; - - // `Math.log1p` method implementation - // https://tc39.github.io/ecma262/#sec-math.log1p - var mathLog1p = Math.log1p || function log1p(x) { - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log$1(1 + x); - }; - - var nativeAcosh = Math.acosh; - var log$2 = Math.log; - var sqrt = Math.sqrt; - var LN2 = Math.LN2; - - var FORCED$b = !nativeAcosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - || nativeAcosh(Infinity) != Infinity; - - // `Math.acosh` method - // https://tc39.github.io/ecma262/#sec-math.acosh - _export({ target: 'Math', stat: true, forced: FORCED$b }, { - acosh: function acosh(x) { - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? log$2(x) + LN2 - : mathLog1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } - }); - - var nativeAsinh = Math.asinh; - var log$3 = Math.log; - var sqrt$1 = Math.sqrt; - - function asinh(x) { - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log$3(x + sqrt$1(x * x + 1)); - } - - // `Math.asinh` method - // https://tc39.github.io/ecma262/#sec-math.asinh - // Tor Browser bug: Math.asinh(0) -> -0 - _export({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { - asinh: asinh - }); - - var nativeAtanh = Math.atanh; - var log$4 = Math.log; - - // `Math.atanh` method - // https://tc39.github.io/ecma262/#sec-math.atanh - // Tor Browser bug: Math.atanh(-0) -> 0 - _export({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { - atanh: function atanh(x) { - return (x = +x) == 0 ? x : log$4((1 + x) / (1 - x)) / 2; - } - }); - - // `Math.sign` method implementation - // https://tc39.github.io/ecma262/#sec-math.sign - var mathSign = Math.sign || function sign(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; - }; - - var abs$1 = Math.abs; - var pow$1 = Math.pow; - - // `Math.cbrt` method - // https://tc39.github.io/ecma262/#sec-math.cbrt - _export({ target: 'Math', stat: true }, { - cbrt: function cbrt(x) { - return mathSign(x = +x) * pow$1(abs$1(x), 1 / 3); - } - }); - - var floor$4 = Math.floor; - var log$5 = Math.log; - var LOG2E = Math.LOG2E; - - // `Math.clz32` method - // https://tc39.github.io/ecma262/#sec-math.clz32 - _export({ target: 'Math', stat: true }, { - clz32: function clz32(x) { - return (x >>>= 0) ? 31 - floor$4(log$5(x + 0.5) * LOG2E) : 32; - } - }); - - var nativeExpm1 = Math.expm1; - var exp = Math.exp; - - // `Math.expm1` method implementation - // https://tc39.github.io/ecma262/#sec-math.expm1 - var mathExpm1 = (!nativeExpm1 - // Old FF bug - || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 - // Tor Browser bug - || nativeExpm1(-2e-17) != -2e-17 - ) ? function expm1(x) { - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; - } : nativeExpm1; - - var nativeCosh = Math.cosh; - var abs$2 = Math.abs; - var E = Math.E; - - // `Math.cosh` method - // https://tc39.github.io/ecma262/#sec-math.cosh - _export({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { - cosh: function cosh(x) { - var t = mathExpm1(abs$2(x) - 1) + 1; - return (t + 1 / (t * E * E)) * (E / 2); - } - }); - - // `Math.expm1` method - // https://tc39.github.io/ecma262/#sec-math.expm1 - _export({ target: 'Math', stat: true, forced: mathExpm1 != Math.expm1 }, { expm1: mathExpm1 }); - - var abs$3 = Math.abs; - var pow$2 = Math.pow; - var EPSILON = pow$2(2, -52); - var EPSILON32 = pow$2(2, -23); - var MAX32 = pow$2(2, 127) * (2 - EPSILON32); - var MIN32 = pow$2(2, -126); - - var roundTiesToEven = function (n) { - return n + 1 / EPSILON - 1 / EPSILON; - }; - - // `Math.fround` method implementation - // https://tc39.github.io/ecma262/#sec-math.fround - var mathFround = Math.fround || function fround(x) { - var $abs = abs$3(x); - var $sign = mathSign(x); - var a, result; - if ($abs < MIN32) { return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; } - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - // eslint-disable-next-line no-self-compare - if (result > MAX32 || result != result) { return $sign * Infinity; } - return $sign * result; - }; - - // `Math.fround` method - // https://tc39.github.io/ecma262/#sec-math.fround - _export({ target: 'Math', stat: true }, { fround: mathFround }); - - var $hypot = Math.hypot; - var abs$4 = Math.abs; - var sqrt$2 = Math.sqrt; - - // Chrome 77 bug - // https://bugs.chromium.org/p/v8/issues/detail?id=9546 - var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; - - // `Math.hypot` method - // https://tc39.github.io/ecma262/#sec-math.hypot - _export({ target: 'Math', stat: true, forced: BUGGY }, { - hypot: function hypot(value1, value2) { - var arguments$1 = arguments; - // eslint-disable-line no-unused-vars - var sum = 0; - var i = 0; - var aLen = arguments.length; - var larg = 0; - var arg, div; - while (i < aLen) { - arg = abs$4(arguments$1[i++]); - if (larg < arg) { - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if (arg > 0) { - div = arg / larg; - sum += div * div; - } else { sum += arg; } - } - return larg === Infinity ? Infinity : larg * sqrt$2(sum); - } - }); - - var nativeImul = Math.imul; - - var FORCED$c = fails(function () { - return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; - }); - - // `Math.imul` method - // https://tc39.github.io/ecma262/#sec-math.imul - // some WebKit versions fails with big numbers, some has wrong arity - _export({ target: 'Math', stat: true, forced: FORCED$c }, { - imul: function imul(x, y) { - var UINT16 = 0xFFFF; - var xn = +x; - var yn = +y; - var xl = UINT16 & xn; - var yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } - }); - - var log$6 = Math.log; - var LOG10E = Math.LOG10E; - - // `Math.log10` method - // https://tc39.github.io/ecma262/#sec-math.log10 - _export({ target: 'Math', stat: true }, { - log10: function log10(x) { - return log$6(x) * LOG10E; - } - }); - - // `Math.log1p` method - // https://tc39.github.io/ecma262/#sec-math.log1p - _export({ target: 'Math', stat: true }, { log1p: mathLog1p }); - - var log$7 = Math.log; - var LN2$1 = Math.LN2; - - // `Math.log2` method - // https://tc39.github.io/ecma262/#sec-math.log2 - _export({ target: 'Math', stat: true }, { - log2: function log2(x) { - return log$7(x) / LN2$1; - } - }); - - // `Math.sign` method - // https://tc39.github.io/ecma262/#sec-math.sign - _export({ target: 'Math', stat: true }, { - sign: mathSign - }); - - var abs$5 = Math.abs; - var exp$1 = Math.exp; - var E$1 = Math.E; - - var FORCED$d = fails(function () { - return Math.sinh(-2e-17) != -2e-17; - }); - - // `Math.sinh` method - // https://tc39.github.io/ecma262/#sec-math.sinh - // V8 near Chromium 38 has a problem with very small numbers - _export({ target: 'Math', stat: true, forced: FORCED$d }, { - sinh: function sinh(x) { - return abs$5(x = +x) < 1 ? (mathExpm1(x) - mathExpm1(-x)) / 2 : (exp$1(x - 1) - exp$1(-x - 1)) * (E$1 / 2); - } - }); - - var exp$2 = Math.exp; - - // `Math.tanh` method - // https://tc39.github.io/ecma262/#sec-math.tanh - _export({ target: 'Math', stat: true }, { - tanh: function tanh(x) { - var a = mathExpm1(x = +x); - var b = mathExpm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp$2(x) + exp$2(-x)); - } - }); - - // Math[@@toStringTag] property - // https://tc39.github.io/ecma262/#sec-math-@@tostringtag - setToStringTag(Math, 'Math', true); - - var ceil$2 = Math.ceil; - var floor$5 = Math.floor; - - // `Math.trunc` method - // https://tc39.github.io/ecma262/#sec-math.trunc - _export({ target: 'Math', stat: true }, { - trunc: function trunc(it) { - return (it > 0 ? floor$5 : ceil$2)(it); - } - }); - - // `Date.now` method - // https://tc39.github.io/ecma262/#sec-date.now - _export({ target: 'Date', stat: true }, { - now: function now() { - return new Date().getTime(); - } - }); - - var FORCED$e = fails(function () { - return new Date(NaN).toJSON() !== null - || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; - }); - - // `Date.prototype.toJSON` method - // https://tc39.github.io/ecma262/#sec-date.prototype.tojson - _export({ target: 'Date', proto: true, forced: FORCED$e }, { - // eslint-disable-next-line no-unused-vars - toJSON: function toJSON(key) { - var O = toObject(this); - var pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } - }); - - var padStart = stringPad.start; - - var abs$6 = Math.abs; - var DatePrototype = Date.prototype; - var getTime = DatePrototype.getTime; - var nativeDateToISOString = DatePrototype.toISOString; - - // `Date.prototype.toISOString` method implementation - // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring - // PhantomJS / old WebKit fails here: - var dateToIsoString = (fails(function () { - return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; - }) || !fails(function () { - nativeDateToISOString.call(new Date(NaN)); - })) ? function toISOString() { - if (!isFinite(getTime.call(this))) { throw RangeError('Invalid time value'); } - var date = this; - var year = date.getUTCFullYear(); - var milliseconds = date.getUTCMilliseconds(); - var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; - return sign + padStart(abs$6(year), sign ? 6 : 4, 0) + - '-' + padStart(date.getUTCMonth() + 1, 2, 0) + - '-' + padStart(date.getUTCDate(), 2, 0) + - 'T' + padStart(date.getUTCHours(), 2, 0) + - ':' + padStart(date.getUTCMinutes(), 2, 0) + - ':' + padStart(date.getUTCSeconds(), 2, 0) + - '.' + padStart(milliseconds, 3, 0) + - 'Z'; - } : nativeDateToISOString; - - // `Date.prototype.toISOString` method - // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring - // PhantomJS / old WebKit has a broken implementations - _export({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== dateToIsoString }, { - toISOString: dateToIsoString - }); - - var DatePrototype$1 = Date.prototype; - var INVALID_DATE = 'Invalid Date'; - var TO_STRING$1 = 'toString'; - var nativeDateToString = DatePrototype$1[TO_STRING$1]; - var getTime$1 = DatePrototype$1.getTime; - - // `Date.prototype.toString` method - // https://tc39.github.io/ecma262/#sec-date.prototype.tostring - if (new Date(NaN) + '' != INVALID_DATE) { - redefine(DatePrototype$1, TO_STRING$1, function toString() { - var value = getTime$1.call(this); - // eslint-disable-next-line no-self-compare - return value === value ? nativeDateToString.call(this) : INVALID_DATE; - }); - } - - var dateToPrimitive = function (hint) { - if (hint !== 'string' && hint !== 'number' && hint !== 'default') { - throw TypeError('Incorrect hint'); - } return toPrimitive(anObject(this), hint !== 'number'); - }; - - var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive'); - var DatePrototype$2 = Date.prototype; - - // `Date.prototype[@@toPrimitive]` method - // https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive - if (!(TO_PRIMITIVE$1 in DatePrototype$2)) { - createNonEnumerableProperty(DatePrototype$2, TO_PRIMITIVE$1, dateToPrimitive); - } - - var $stringify$1 = getBuiltIn('JSON', 'stringify'); - var re = /[\uD800-\uDFFF]/g; - var low = /^[\uD800-\uDBFF]$/; - var hi = /^[\uDC00-\uDFFF]$/; - - var fix = function (match, offset, string) { - var prev = string.charAt(offset - 1); - var next = string.charAt(offset + 1); - if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) { - return '\\u' + match.charCodeAt(0).toString(16); - } return match; - }; - - var FORCED$f = fails(function () { - return $stringify$1('\uDF06\uD834') !== '"\\udf06\\ud834"' - || $stringify$1('\uDEAD') !== '"\\udead"'; - }); - - if ($stringify$1) { - // https://github.com/tc39/proposal-well-formed-stringify - _export({ target: 'JSON', stat: true, forced: FORCED$f }, { - // eslint-disable-next-line no-unused-vars - stringify: function stringify(it, replacer, space) { - var result = $stringify$1.apply(null, arguments); - return typeof result == 'string' ? result.replace(re, fix) : result; - } - }); - } - - // JSON[@@toStringTag] property - // https://tc39.github.io/ecma262/#sec-json-@@tostringtag - setToStringTag(global_1.JSON, 'JSON', true); - - var nativePromiseConstructor = global_1.Promise; - - var redefineAll = function (target, src, options) { - for (var key in src) { redefine(target, key, src[key], options); } - return target; - }; - - var anInstance = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } return it; - }; - - var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent); - - var location = global_1.location; - var set$1 = global_1.setImmediate; - var clear = global_1.clearImmediate; - var process$2 = global_1.process; - var MessageChannel = global_1.MessageChannel; - var Dispatch = global_1.Dispatch; - var counter = 0; - var queue = {}; - var ONREADYSTATECHANGE = 'onreadystatechange'; - var defer, channel, port; - - var run = function (id) { - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } - }; - - var runner = function (id) { - return function () { - run(id); - }; - }; - - var listener = function (event) { - run(event.data); - }; - - var post = function (id) { - // old engines have not location.origin - global_1.postMessage(id + '', location.protocol + '//' + location.host); - }; - - // Node.js 0.9+ & IE10+ has setImmediate, otherwise: - if (!set$1 || !clear) { - set$1 = function setImmediate(fn) { - var arguments$1 = arguments; - - var args = []; - var i = 1; - while (arguments.length > i) { args.push(arguments$1[i++]); } - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); - }; - defer(counter); - return counter; - }; - clear = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (classofRaw(process$2) == 'process') { - defer = function (id) { - process$2.nextTick(runner(id)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(runner(id)); - }; - // Browsers with MessageChannel, includes WebWorkers - // except iOS - https://github.com/zloirock/core-js/issues/624 - } else if (MessageChannel && !engineIsIos) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = functionBindContext(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global_1.addEventListener && typeof postMessage == 'function' && !global_1.importScripts && !fails(post)) { - defer = post; - global_1.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in documentCreateElement('script')) { - defer = function (id) { - html.appendChild(documentCreateElement('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(runner(id), 0); - }; - } - } - - var task = { - set: set$1, - clear: clear - }; - - var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f; - - var macrotask = task.set; - - - var MutationObserver = global_1.MutationObserver || global_1.WebKitMutationObserver; - var process$3 = global_1.process; - var Promise$1 = global_1.Promise; - var IS_NODE = classofRaw(process$3) == 'process'; - // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` - var queueMicrotaskDescriptor = getOwnPropertyDescriptor$7(global_1, 'queueMicrotask'); - var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; - - var flush, head, last, notify, toggle, node, promise, then; - - // modern engines have queueMicrotask method - if (!queueMicrotask) { - flush = function () { - var parent, fn; - if (IS_NODE && (parent = process$3.domain)) { parent.exit(); } - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (error) { - if (head) { notify(); } - else { last = undefined; } - throw error; - } - } last = undefined; - if (parent) { parent.enter(); } - }; - - // Node.js - if (IS_NODE) { - notify = function () { - process$3.nextTick(flush); - }; - // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 - } else if (MutationObserver && !engineIsIos) { - toggle = true; - node = document.createTextNode(''); - new MutationObserver(flush).observe(node, { characterData: true }); - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise$1 && Promise$1.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise$1.resolve(undefined); - then = promise.then; - notify = function () { - then.call(promise, flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global_1, flush); - }; - } - } - - var microtask = queueMicrotask || function (fn) { - var task = { fn: fn, next: undefined }; - if (last) { last.next = task; } - if (!head) { - head = task; - notify(); - } last = task; - }; - - var PromiseCapability = function (C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) { throw TypeError('Bad Promise constructor'); } - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction$1(resolve); - this.reject = aFunction$1(reject); - }; - - // 25.4.1.5 NewPromiseCapability(C) - var f$7 = function (C) { - return new PromiseCapability(C); - }; - - var newPromiseCapability = { - f: f$7 - }; - - var promiseResolve = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) { return x; } - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; - }; - - var hostReportErrors = function (a, b) { - var console = global_1.console; - if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); - } - }; - - var perform = function (exec) { - try { - return { error: false, value: exec() }; - } catch (error) { - return { error: true, value: error }; - } - }; - - var task$1 = task.set; - - - - - - - - - - - var SPECIES$6 = wellKnownSymbol('species'); - var PROMISE = 'Promise'; - var getInternalState$5 = internalState.get; - var setInternalState$5 = internalState.set; - var getInternalPromiseState = internalState.getterFor(PROMISE); - var PromiseConstructor = nativePromiseConstructor; - var TypeError$1 = global_1.TypeError; - var document$2 = global_1.document; - var process$4 = global_1.process; - var $fetch = getBuiltIn('fetch'); - var newPromiseCapability$1 = newPromiseCapability.f; - var newGenericPromiseCapability = newPromiseCapability$1; - var IS_NODE$1 = classofRaw(process$4) == 'process'; - var DISPATCH_EVENT = !!(document$2 && document$2.createEvent && global_1.dispatchEvent); - var UNHANDLED_REJECTION = 'unhandledrejection'; - var REJECTION_HANDLED = 'rejectionhandled'; - var PENDING = 0; - var FULFILLED = 1; - var REJECTED = 2; - var HANDLED = 1; - var UNHANDLED = 2; - var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; - - var FORCED$g = isForced_1(PROMISE, function () { - var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); - if (!GLOBAL_CORE_JS_PROMISE) { - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (engineV8Version === 66) { return true; } - // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - if (!IS_NODE$1 && typeof PromiseRejectionEvent != 'function') { return true; } - } - // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if (engineV8Version >= 51 && /native code/.test(PromiseConstructor)) { return false; } - // Detect correctness of subclassing with @@species support - var promise = PromiseConstructor.resolve(1); - var FakePromise = function (exec) { - exec(function () { /* empty */ }, function () { /* empty */ }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES$6] = FakePromise; - return !(promise.then(function () { /* empty */ }) instanceof FakePromise); - }); - - var INCORRECT_ITERATION$1 = FORCED$g || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); - }); - - // helpers - var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; - }; - - var notify$1 = function (promise, state, isReject) { - if (state.notified) { return; } - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; - // variable length - can't use forEach - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) { onHandleUnhandled(promise, state); } - state.rejection = HANDLED; - } - if (handler === true) { result = value; } - else { - if (domain) { domain.enter(); } - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError$1('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else { resolve(result); } - } else { reject(value); } - } catch (error) { - if (domain && !exited) { domain.exit(); } - reject(error); - } - } - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) { onUnhandled(promise, state); } - }); - }; - - var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document$2.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global_1.dispatchEvent(event); - } else { event = { promise: promise, reason: reason }; } - if (handler = global_1['on' + name]) { handler(event); } - else if (name === UNHANDLED_REJECTION) { hostReportErrors('Unhandled promise rejection', reason); } - }; - - var onUnhandled = function (promise, state) { - task$1.call(global_1, function () { - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE$1) { - process$4.emit('unhandledRejection', value, promise); - } else { dispatchEvent(UNHANDLED_REJECTION, promise, value); } - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE$1 || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) { throw result.value; } - } - }); - }; - - var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; - }; - - var onHandleUnhandled = function (promise, state) { - task$1.call(global_1, function () { - if (IS_NODE$1) { - process$4.emit('rejectionHandled', promise); - } else { dispatchEvent(REJECTION_HANDLED, promise, state.value); } - }); - }; - - var bind = function (fn, promise, state, unwrap) { - return function (value) { - fn(promise, state, value, unwrap); - }; - }; - - var internalReject = function (promise, state, value, unwrap) { - if (state.done) { return; } - state.done = true; - if (unwrap) { state = unwrap; } - state.value = value; - state.state = REJECTED; - notify$1(promise, state, true); - }; - - var internalResolve = function (promise, state, value, unwrap) { - if (state.done) { return; } - state.done = true; - if (unwrap) { state = unwrap; } - try { - if (promise === value) { throw TypeError$1("Promise can't be resolved itself"); } - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - then.call(value, - bind(internalResolve, promise, wrapper, state), - bind(internalReject, promise, wrapper, state) - ); - } catch (error) { - internalReject(promise, wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify$1(promise, state, false); - } - } catch (error) { - internalReject(promise, { done: false }, error, state); - } - }; - - // constructor polyfill - if (FORCED$g) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction$1(executor); - Internal.call(this); - var state = getInternalState$5(this); - try { - executor(bind(internalResolve, this, state), bind(internalReject, this, state)); - } catch (error) { - internalReject(this, state, error); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - setInternalState$5(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - // `Promise.prototype.then` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.then - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability$1(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE$1 ? process$4.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) { notify$1(this, state, false); } - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState$5(promise); - this.promise = promise; - this.resolve = bind(internalResolve, promise, state); - this.reject = bind(internalReject, promise, state); - }; - newPromiseCapability.f = newPromiseCapability$1 = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - if ( typeof nativePromiseConstructor == 'function') { - nativeThen = nativePromiseConstructor.prototype.then; - - // wrap native Promise#then for native async functions - redefine(nativePromiseConstructor.prototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - nativeThen.call(that, resolve, reject); - }).then(onFulfilled, onRejected); - // https://github.com/zloirock/core-js/issues/640 - }, { unsafe: true }); - - // wrap fetch result - if (typeof $fetch == 'function') { _export({ global: true, enumerable: true, forced: true }, { - // eslint-disable-next-line no-unused-vars - fetch: function fetch(input /* , init */) { - return promiseResolve(PromiseConstructor, $fetch.apply(global_1, arguments)); - } - }); } - } - } - - _export({ global: true, wrap: true, forced: FORCED$g }, { - Promise: PromiseConstructor - }); - - setToStringTag(PromiseConstructor, PROMISE, false); - setSpecies(PROMISE); - - PromiseWrapper = getBuiltIn(PROMISE); - - // statics - _export({ target: PROMISE, stat: true, forced: FORCED$g }, { - // `Promise.reject` method - // https://tc39.github.io/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability$1(this); - capability.reject.call(undefined, r); - return capability.promise; - } - }); - - _export({ target: PROMISE, stat: true, forced: FORCED$g }, { - // `Promise.resolve` method - // https://tc39.github.io/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve( this, x); - } - }); - - _export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION$1 }, { - // `Promise.all` method - // https://tc39.github.io/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability$1(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction$1(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate_1(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) { return; } - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) { reject(result.value); } - return capability.promise; - }, - // `Promise.race` method - // https://tc39.github.io/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability$1(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction$1(C.resolve); - iterate_1(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) { reject(result.value); } - return capability.promise; - } - }); - - // `Promise.allSettled` method - // https://github.com/tc39/proposal-promise-allSettled - _export({ target: 'Promise', stat: true }, { - allSettled: function allSettled(iterable) { - var C = this; - var capability = newPromiseCapability.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction$1(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate_1(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) { return; } - alreadyCalled = true; - values[index] = { status: 'fulfilled', value: value }; - --remaining || resolve(values); - }, function (e) { - if (alreadyCalled) { return; } - alreadyCalled = true; - values[index] = { status: 'rejected', reason: e }; - --remaining || resolve(values); - }); - }); - --remaining || resolve(values); - }); - if (result.error) { reject(result.value); } - return capability.promise; - } - }); - - // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 - var NON_GENERIC = !!nativePromiseConstructor && fails(function () { - nativePromiseConstructor.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); - }); - - // `Promise.prototype.finally` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.finally - _export({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { - 'finally': function (onFinally) { - var C = speciesConstructor(this, getBuiltIn('Promise')); - var isFunction = typeof onFinally == 'function'; - return this.then( - isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { return x; }); - } : onFinally, - isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { throw e; }); - } : onFinally - ); - } - }); - - // patch native Promise.prototype for native async functions - if ( typeof nativePromiseConstructor == 'function' && !nativePromiseConstructor.prototype['finally']) { - redefine(nativePromiseConstructor.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); - } - - var collection = function (CONSTRUCTOR_NAME, wrapper, common) { - var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; - var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; - var ADDER = IS_MAP ? 'set' : 'add'; - var NativeConstructor = global_1[CONSTRUCTOR_NAME]; - var NativePrototype = NativeConstructor && NativeConstructor.prototype; - var Constructor = NativeConstructor; - var exported = {}; - - var fixMethod = function (KEY) { - var nativeMethod = NativePrototype[KEY]; - redefine(NativePrototype, KEY, - KEY == 'add' ? function add(value) { - nativeMethod.call(this, value === 0 ? 0 : value); - return this; - } : KEY == 'delete' ? function (key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'get' ? function get(key) { - return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'has' ? function has(key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : function set(key, value) { - nativeMethod.call(this, key === 0 ? 0 : key, value); - return this; - } - ); - }; - - // eslint-disable-next-line max-len - if (isForced_1(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { - new NativeConstructor().entries().next(); - })))) { - // create collection constructor - Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); - internalMetadata.REQUIRED = true; - } else if (isForced_1(CONSTRUCTOR_NAME, true)) { - var instance = new Constructor(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - // eslint-disable-next-line no-new - var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new NativeConstructor(); - var index = 5; - while (index--) { $instance[ADDER](index, index); } - return !$instance.has(-0); - }); - - if (!ACCEPT_ITERABLES) { - Constructor = wrapper(function (dummy, iterable) { - anInstance(dummy, Constructor, CONSTRUCTOR_NAME); - var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); - if (iterable != undefined) { iterate_1(iterable, that[ADDER], that, IS_MAP); } - return that; - }); - Constructor.prototype = NativePrototype; - NativePrototype.constructor = Constructor; - } - - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - - if (BUGGY_ZERO || HASNT_CHAINING) { fixMethod(ADDER); } - - // weak collections should not contains .clear method - if (IS_WEAK && NativePrototype.clear) { delete NativePrototype.clear; } - } - - exported[CONSTRUCTOR_NAME] = Constructor; - _export({ global: true, forced: Constructor != NativeConstructor }, exported); - - setToStringTag(Constructor, CONSTRUCTOR_NAME); - - if (!IS_WEAK) { common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); } - - return Constructor; - }; - - var defineProperty$9 = objectDefineProperty.f; - - - - - - - - - var fastKey = internalMetadata.fastKey; - - - var setInternalState$6 = internalState.set; - var internalStateGetterFor = internalState.getterFor; - - var collectionStrong = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState$6(that, { - type: CONSTRUCTOR_NAME, - index: objectCreate(null), - first: undefined, - last: undefined, - size: 0 - }); - if (!descriptors) { that.size = 0; } - if (iterable != undefined) { iterate_1(iterable, that[ADDER], that, IS_MAP); } - }); - - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - - var define = function (that, key, value) { - var state = getInternalState(that); - var entry = getEntry(that, key); - var previous, index; - // change existing entry - if (entry) { - entry.value = value; - // create new entry - } else { - state.last = entry = { - index: index = fastKey(key, true), - key: key, - value: value, - previous: previous = state.last, - next: undefined, - removed: false - }; - if (!state.first) { state.first = entry; } - if (previous) { previous.next = entry; } - if (descriptors) { state.size++; } - else { that.size++; } - // add to index - if (index !== 'F') { state.index[index] = entry; } - } return that; - }; - - var getEntry = function (that, key) { - var state = getInternalState(that); - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') { return state.index[index]; } - // frozen object case - for (entry = state.first; entry; entry = entry.next) { - if (entry.key == key) { return entry; } - } - }; - - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - var that = this; - var state = getInternalState(that); - var data = state.index; - var entry = state.first; - while (entry) { - entry.removed = true; - if (entry.previous) { entry.previous = entry.previous.next = undefined; } - delete data[entry.index]; - entry = entry.next; - } - state.first = state.last = undefined; - if (descriptors) { state.size = 0; } - else { that.size = 0; } - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function (key) { - var that = this; - var state = getInternalState(that); - var entry = getEntry(that, key); - if (entry) { - var next = entry.next; - var prev = entry.previous; - delete state.index[entry.index]; - entry.removed = true; - if (prev) { prev.next = next; } - if (next) { next.previous = prev; } - if (state.first == entry) { state.first = next; } - if (state.last == entry) { state.last = prev; } - if (descriptors) { state.size--; } - else { that.size--; } - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */) { - var state = getInternalState(this); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while (entry = entry ? entry.next : state.first) { - boundFunction(entry.value, entry.key, this); - // revert to the last existing entry - while (entry && entry.removed) { entry = entry.previous; } - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(this, key); - } - }); - - redefineAll(C.prototype, IS_MAP ? { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = getEntry(this, key); - return entry && entry.value; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return define(this, key === 0 ? 0 : key, value); - } - } : { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return define(this, value = value === 0 ? 0 : value, value); - } - }); - if (descriptors) { defineProperty$9(C.prototype, 'size', { - get: function () { - return getInternalState(this).size; - } - }); } - return C; - }, - setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { - var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; - var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); - var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { - setInternalState$6(this, { - type: ITERATOR_NAME, - target: iterated, - state: getInternalCollectionState(iterated), - kind: kind, - last: undefined - }); - }, function () { - var state = getInternalIteratorState(this); - var kind = state.kind; - var entry = state.last; - // revert to the last existing entry - while (entry && entry.removed) { entry = entry.previous; } - // get next entry - 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 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 }; - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(CONSTRUCTOR_NAME); - } - }; - - // `Map` constructor - // https://tc39.github.io/ecma262/#sec-map-objects - var es_map = collection('Map', function (init) { - return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; - }, collectionStrong); - - // `Set` constructor - // https://tc39.github.io/ecma262/#sec-set-objects - var es_set = collection('Set', function (init) { - return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; - }, collectionStrong); - - var getWeakData = internalMetadata.getWeakData; - - - - - - - - - var setInternalState$7 = internalState.set; - var internalStateGetterFor$1 = internalState.getterFor; - var find = arrayIteration.find; - var findIndex = arrayIteration.findIndex; - var id$1 = 0; - - // fallback for uncaught frozen keys - var uncaughtFrozenStore = function (store) { - return store.frozen || (store.frozen = new UncaughtFrozenStore()); - }; - - var UncaughtFrozenStore = function () { - this.entries = []; - }; - - var findUncaughtFrozen = function (store, key) { - return find(store.entries, function (it) { - return it[0] === key; - }); - }; - - UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) { return entry[1]; } - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) { entry[1] = value; } - else { this.entries.push([key, value]); } - }, - 'delete': function (key) { - var index = findIndex(this.entries, function (it) { - return it[0] === key; - }); - if (~index) { this.entries.splice(index, 1); } - return !!~index; - } - }; - - var collectionWeak = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState$7(that, { - type: CONSTRUCTOR_NAME, - id: id$1++, - frozen: undefined - }); - if (iterable != undefined) { iterate_1(iterable, that[ADDER], that, IS_MAP); } - }); - - var getInternalState = internalStateGetterFor$1(CONSTRUCTOR_NAME); - - var define = function (that, key, value) { - var state = getInternalState(that); - var data = getWeakData(anObject(key), true); - if (data === true) { uncaughtFrozenStore(state).set(key, value); } - else { data[state.id] = value; } - return that; - }; - - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function (key) { - var state = getInternalState(this); - if (!isObject(key)) { return false; } - var data = getWeakData(key); - if (data === true) { return uncaughtFrozenStore(state)['delete'](key); } - return data && has(data, state.id) && delete data[state.id]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has$1(key) { - var state = getInternalState(this); - if (!isObject(key)) { return false; } - var data = getWeakData(key); - if (data === true) { return uncaughtFrozenStore(state).has(key); } - return data && has(data, state.id); - } - }); - - redefineAll(C.prototype, IS_MAP ? { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - var state = getInternalState(this); - if (isObject(key)) { - var data = getWeakData(key); - if (data === true) { return uncaughtFrozenStore(state).get(key); } - return data ? data[state.id] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return define(this, key, value); - } - } : { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value) { - return define(this, value, true); - } - }); - - return C; - } - }; - - var es_weakMap = createCommonjsModule(function (module) { - - - - - - - var enforceIternalState = internalState.enforce; - - - var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1; - var isExtensible = Object.isExtensible; - var InternalWeakMap; - - var wrapper = function (init) { - return function WeakMap() { - return init(this, arguments.length ? arguments[0] : undefined); - }; - }; - - // `WeakMap` constructor - // https://tc39.github.io/ecma262/#sec-weakmap-constructor - var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); - - // 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) { - InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); - internalMetadata.REQUIRED = true; - var WeakMapPrototype = $WeakMap.prototype; - var nativeDelete = WeakMapPrototype['delete']; - var nativeHas = WeakMapPrototype.has; - var nativeGet = WeakMapPrototype.get; - var nativeSet = WeakMapPrototype.set; - redefineAll(WeakMapPrototype, { - 'delete': function (key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) { state.frozen = new InternalWeakMap(); } - return nativeDelete.call(this, key) || state.frozen['delete'](key); - } return nativeDelete.call(this, key); - }, - has: function has(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) { state.frozen = new InternalWeakMap(); } - return nativeHas.call(this, key) || state.frozen.has(key); - } return nativeHas.call(this, key); - }, - get: function get(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) { state.frozen = new InternalWeakMap(); } - return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); - } return nativeGet.call(this, key); - }, - set: function set(key, value) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) { state.frozen = new InternalWeakMap(); } - nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); - } else { nativeSet.call(this, key, value); } - return this; - } - }); - } - }); - - // `WeakSet` constructor - // https://tc39.github.io/ecma262/#sec-weakset-constructor - collection('WeakSet', function (init) { - return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; - }, collectionWeak); - - var arrayBufferNative = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; - - // `ToIndex` abstract operation - // https://tc39.github.io/ecma262/#sec-toindex - var toIndex = function (it) { - if (it === undefined) { return 0; } - var number = toInteger(it); - var length = toLength(number); - if (number !== length) { throw RangeError('Wrong length or index'); } - return length; - }; - - // IEEE754 conversions based on https://github.com/feross/ieee754 - // eslint-disable-next-line no-shadow-restricted-names - var Infinity$1 = 1 / 0; - var abs$7 = Math.abs; - var pow$3 = Math.pow; - var floor$6 = Math.floor; - var log$8 = Math.log; - var LN2$2 = Math.LN2; - - var pack = function (number, mantissaLength, bytes) { - var buffer = new Array(bytes); - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var rt = mantissaLength === 23 ? pow$3(2, -24) - pow$3(2, -77) : 0; - var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; - var index = 0; - var exponent, mantissa, c; - number = abs$7(number); - // eslint-disable-next-line no-self-compare - if (number != number || number === Infinity$1) { - // eslint-disable-next-line no-self-compare - mantissa = number != number ? 1 : 0; - exponent = eMax; - } else { - exponent = floor$6(log$8(number) / LN2$2); - if (number * (c = pow$3(2, -exponent)) < 1) { - exponent--; - c *= 2; - } - if (exponent + eBias >= 1) { - number += rt / c; - } else { - number += rt * pow$3(2, 1 - eBias); - } - if (number * c >= 2) { - exponent++; - c /= 2; - } - if (exponent + eBias >= eMax) { - mantissa = 0; - exponent = eMax; - } else if (exponent + eBias >= 1) { - mantissa = (number * c - 1) * pow$3(2, mantissaLength); - exponent = exponent + eBias; - } else { - mantissa = number * pow$3(2, eBias - 1) * pow$3(2, mantissaLength); - exponent = 0; - } - } - for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8){ } - exponent = exponent << mantissaLength | mantissa; - exponentLength += mantissaLength; - for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8){ } - buffer[--index] |= sign * 128; - return buffer; - }; - - var unpack = function (buffer, mantissaLength) { - var bytes = buffer.length; - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var nBits = exponentLength - 7; - var index = bytes - 1; - var sign = buffer[index--]; - var exponent = sign & 127; - var mantissa; - sign >>= 7; - for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8){ } - mantissa = exponent & (1 << -nBits) - 1; - exponent >>= -nBits; - nBits += mantissaLength; - for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8){ } - if (exponent === 0) { - exponent = 1 - eBias; - } else if (exponent === eMax) { - return mantissa ? NaN : sign ? -Infinity$1 : Infinity$1; - } else { - mantissa = mantissa + pow$3(2, mantissaLength); - exponent = exponent - eBias; - } return (sign ? -1 : 1) * mantissa * pow$3(2, exponent - mantissaLength); - }; - - var ieee754 = { - pack: pack, - unpack: unpack - }; - - var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f; - var defineProperty$a = objectDefineProperty.f; - - - - - var getInternalState$6 = internalState.get; - var setInternalState$8 = internalState.set; - var ARRAY_BUFFER = 'ArrayBuffer'; - var DATA_VIEW = 'DataView'; - var PROTOTYPE$2 = 'prototype'; - var WRONG_LENGTH = 'Wrong length'; - var WRONG_INDEX = 'Wrong index'; - var NativeArrayBuffer = global_1[ARRAY_BUFFER]; - var $ArrayBuffer = NativeArrayBuffer; - var $DataView = global_1[DATA_VIEW]; - var $DataViewPrototype = $DataView && $DataView[PROTOTYPE$2]; - var ObjectPrototype$2 = Object.prototype; - var RangeError$1 = global_1.RangeError; - - var packIEEE754 = ieee754.pack; - var unpackIEEE754 = ieee754.unpack; - - var packInt8 = function (number) { - return [number & 0xFF]; - }; - - var packInt16 = function (number) { - return [number & 0xFF, number >> 8 & 0xFF]; - }; - - var packInt32 = function (number) { - return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; - }; - - var unpackInt32 = function (buffer) { - return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; - }; - - var packFloat32 = function (number) { - return packIEEE754(number, 23, 4); - }; - - var packFloat64 = function (number) { - return packIEEE754(number, 52, 8); - }; - - var addGetter = function (Constructor, key) { - defineProperty$a(Constructor[PROTOTYPE$2], key, { get: function () { return getInternalState$6(this)[key]; } }); - }; - - var get$1 = function (view, count, index, isLittleEndian) { - var intIndex = toIndex(index); - var store = getInternalState$6(view); - if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); } - var bytes = getInternalState$6(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = bytes.slice(start, start + count); - return isLittleEndian ? pack : pack.reverse(); - }; - - var set$2 = function (view, count, index, conversion, value, isLittleEndian) { - var intIndex = toIndex(index); - var store = getInternalState$6(view); - if (intIndex + count > store.byteLength) { throw RangeError$1(WRONG_INDEX); } - var bytes = getInternalState$6(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = conversion(+value); - for (var i = 0; i < count; i++) { bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; } - }; - - if (!arrayBufferNative) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer, ARRAY_BUFFER); - var byteLength = toIndex(length); - setInternalState$8(this, { - bytes: arrayFill.call(new Array(byteLength), 0), - byteLength: byteLength - }); - if (!descriptors) { this.byteLength = byteLength; } - }; - - $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = getInternalState$6(buffer).byteLength; - var offset = toInteger(byteOffset); - if (offset < 0 || offset > bufferLength) { throw RangeError$1('Wrong offset'); } - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) { throw RangeError$1(WRONG_LENGTH); } - setInternalState$8(this, { - buffer: buffer, - byteLength: byteLength, - byteOffset: offset - }); - if (!descriptors) { - this.buffer = buffer; - this.byteLength = byteLength; - this.byteOffset = offset; - } - }; - - if (descriptors) { - addGetter($ArrayBuffer, 'byteLength'); - addGetter($DataView, 'buffer'); - addGetter($DataView, 'byteLength'); - addGetter($DataView, 'byteOffset'); - } - - redefineAll($DataView[PROTOTYPE$2], { - getInt8: function getInt8(byteOffset) { - return get$1(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset) { - return get$1(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /* , littleEndian */) { - var bytes = get$1(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); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /* , littleEndian */) { - return unpackInt32(get$1(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; - }, - getFloat32: function getFloat32(byteOffset /* , littleEndian */) { - return unpackIEEE754(get$1(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); - }, - setInt8: function setInt8(byteOffset, value) { - set$2(this, 1, byteOffset, packInt8, value); - }, - setUint8: function setUint8(byteOffset, value) { - set$2(this, 1, byteOffset, packInt8, value); - }, - setInt16: function setInt16(byteOffset, value /* , littleEndian */) { - set$2(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); - }, - setInt32: function setInt32(byteOffset, value /* , littleEndian */) { - set$2(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); - }, - setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { - set$2(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); - } - }); - } else { - if (!fails(function () { - NativeArrayBuffer(1); - }) || !fails(function () { - new NativeArrayBuffer(-1); // eslint-disable-line no-new - }) || fails(function () { - new NativeArrayBuffer(); // eslint-disable-line no-new - new NativeArrayBuffer(1.5); // eslint-disable-line no-new - new NativeArrayBuffer(NaN); // eslint-disable-line no-new - return NativeArrayBuffer.name != ARRAY_BUFFER; - })) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer); - return new NativeArrayBuffer(toIndex(length)); - }; - var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE$2] = NativeArrayBuffer[PROTOTYPE$2]; - for (var keys$3 = getOwnPropertyNames$2(NativeArrayBuffer), j$1 = 0, key$1; keys$3.length > j$1;) { - if (!((key$1 = keys$3[j$1++]) in $ArrayBuffer)) { - createNonEnumerableProperty($ArrayBuffer, key$1, NativeArrayBuffer[key$1]); - } - } - ArrayBufferPrototype.constructor = $ArrayBuffer; - } - - // WebKit bug - the same parent prototype for typed arrays and data view - if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$2) { - objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$2); - } - - // iOS Safari 7.x bug - var testView = new $DataView(new $ArrayBuffer(2)); - var nativeSetInt8 = $DataViewPrototype.setInt8; - testView.setInt8(0, 2147483648); - testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) { redefineAll($DataViewPrototype, { - setInt8: function setInt8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - } - }, { unsafe: true }); } - } - - setToStringTag($ArrayBuffer, ARRAY_BUFFER); - setToStringTag($DataView, DATA_VIEW); - - var arrayBuffer = { - ArrayBuffer: $ArrayBuffer, - DataView: $DataView - }; - - var ARRAY_BUFFER$1 = 'ArrayBuffer'; - var ArrayBuffer$1 = arrayBuffer[ARRAY_BUFFER$1]; - var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1]; - - // `ArrayBuffer` constructor - // https://tc39.github.io/ecma262/#sec-arraybuffer-constructor - _export({ global: true, forced: NativeArrayBuffer$1 !== ArrayBuffer$1 }, { - ArrayBuffer: ArrayBuffer$1 - }); - - setSpecies(ARRAY_BUFFER$1); - - var defineProperty$b = objectDefineProperty.f; - - - - - - var Int8Array$1 = global_1.Int8Array; - var Int8ArrayPrototype = Int8Array$1 && Int8Array$1.prototype; - var Uint8ClampedArray = global_1.Uint8ClampedArray; - var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; - var TypedArray = Int8Array$1 && objectGetPrototypeOf(Int8Array$1); - var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype); - var ObjectPrototype$3 = Object.prototype; - var isPrototypeOf = ObjectPrototype$3.isPrototypeOf; - - var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag'); - var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); - // Fixing native typed arrays in Opera Presto crashes the browser, see #595 - var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera'; - var TYPED_ARRAY_TAG_REQIRED = false; - var NAME$1; - - var TypedArrayConstructorsList = { - Int8Array: 1, - Uint8Array: 1, - Uint8ClampedArray: 1, - Int16Array: 2, - Uint16Array: 2, - Int32Array: 4, - Uint32Array: 4, - Float32Array: 4, - Float64Array: 8 - }; - - var isView = function isView(it) { - var klass = classof(it); - return klass === 'DataView' || has(TypedArrayConstructorsList, klass); - }; - - var isTypedArray = function (it) { - return isObject(it) && has(TypedArrayConstructorsList, classof(it)); - }; - - var aTypedArray = function (it) { - if (isTypedArray(it)) { return it; } - throw TypeError('Target is not a typed array'); - }; - - var aTypedArrayConstructor = function (C) { - if (objectSetPrototypeOf) { - if (isPrototypeOf.call(TypedArray, C)) { return C; } - } else { for (var ARRAY in TypedArrayConstructorsList) { if (has(TypedArrayConstructorsList, NAME$1)) { - var TypedArrayConstructor = global_1[ARRAY]; - if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { - return C; - } - } } } throw TypeError('Target is not a typed array constructor'); - }; - - var exportTypedArrayMethod = function (KEY, property, forced) { - if (!descriptors) { return; } - if (forced) { for (var ARRAY in TypedArrayConstructorsList) { - var TypedArrayConstructor = global_1[ARRAY]; - if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { - delete TypedArrayConstructor.prototype[KEY]; - } - } } - if (!TypedArrayPrototype[KEY] || forced) { - redefine(TypedArrayPrototype, KEY, forced ? property - : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); - } - }; - - var exportTypedArrayStaticMethod = function (KEY, property, forced) { - var ARRAY, TypedArrayConstructor; - if (!descriptors) { return; } - if (objectSetPrototypeOf) { - if (forced) { for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global_1[ARRAY]; - if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { - delete TypedArrayConstructor[KEY]; - } - } } - if (!TypedArray[KEY] || forced) { - // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable - try { - return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array$1[KEY] || property); - } catch (error) { /* empty */ } - } else { return; } - } - for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global_1[ARRAY]; - if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - redefine(TypedArrayConstructor, KEY, property); - } - } - }; - - for (NAME$1 in TypedArrayConstructorsList) { - if (!global_1[NAME$1]) { NATIVE_ARRAY_BUFFER_VIEWS = false; } - } - - // WebKit bug - typed arrays constructors prototype is Object.prototype - if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { - // eslint-disable-next-line no-shadow - TypedArray = function TypedArray() { - throw TypeError('Incorrect invocation'); - }; - if (NATIVE_ARRAY_BUFFER_VIEWS) { for (NAME$1 in TypedArrayConstructorsList) { - if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1], TypedArray); } - } } - } - - if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype$3) { - TypedArrayPrototype = TypedArray.prototype; - if (NATIVE_ARRAY_BUFFER_VIEWS) { for (NAME$1 in TypedArrayConstructorsList) { - if (global_1[NAME$1]) { objectSetPrototypeOf(global_1[NAME$1].prototype, TypedArrayPrototype); } - } } - } - - // WebKit bug - one more object in Uint8ClampedArray prototype chain - if (NATIVE_ARRAY_BUFFER_VIEWS && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { - objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); - } - - if (descriptors && !has(TypedArrayPrototype, TO_STRING_TAG$3)) { - TYPED_ARRAY_TAG_REQIRED = true; - defineProperty$b(TypedArrayPrototype, TO_STRING_TAG$3, { 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); - } } - } - - var arrayBufferViewCore = { - NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, - TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, - aTypedArray: aTypedArray, - aTypedArrayConstructor: aTypedArrayConstructor, - exportTypedArrayMethod: exportTypedArrayMethod, - exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, - isView: isView, - isTypedArray: isTypedArray, - TypedArray: TypedArray, - TypedArrayPrototype: TypedArrayPrototype - }; - - var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; - - // `ArrayBuffer.isView` method - // https://tc39.github.io/ecma262/#sec-arraybuffer.isview - _export({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS$1 }, { - isView: arrayBufferViewCore.isView - }); - - var ArrayBuffer$2 = arrayBuffer.ArrayBuffer; - var DataView$1 = arrayBuffer.DataView; - var nativeArrayBufferSlice = ArrayBuffer$2.prototype.slice; - - var INCORRECT_SLICE = fails(function () { - return !new ArrayBuffer$2(2).slice(1, undefined).byteLength; - }); - - // `ArrayBuffer.prototype.slice` method - // https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice - _export({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { - slice: function slice(start, end) { - if (nativeArrayBufferSlice !== undefined && end === undefined) { - return nativeArrayBufferSlice.call(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 index = 0; - while (first < fin) { - viewTarget.setUint8(index++, viewSource.getUint8(first++)); - } return result; - } - }); - - // `DataView` constructor - // https://tc39.github.io/ecma262/#sec-dataview-constructor - _export({ global: true, forced: !arrayBufferNative }, { - DataView: arrayBuffer.DataView - }); - - /* eslint-disable no-new */ - - - - var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; - - var ArrayBuffer$3 = global_1.ArrayBuffer; - var Int8Array$2 = global_1.Int8Array; - - var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS$2 || !fails(function () { - Int8Array$2(1); - }) || !fails(function () { - new Int8Array$2(-1); - }) || !checkCorrectnessOfIteration(function (iterable) { - new Int8Array$2(); - new Int8Array$2(null); - new Int8Array$2(1.5); - new Int8Array$2(iterable); - }, true) || fails(function () { - // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill - return new Int8Array$2(new ArrayBuffer$3(2), 1, undefined).length !== 1; - }); - - var toPositiveInteger = function (it) { - var result = toInteger(it); - if (result < 0) { throw RangeError("The argument can't be less than 0"); } - return result; - }; - - var toOffset = function (it, BYTES) { - var offset = toPositiveInteger(it); - if (offset % BYTES) { throw RangeError('Wrong offset'); } - return offset; - }; - - var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor; - - var typedArrayFrom = function from(source /* , mapfn, thisArg */) { - var O = toObject(source); - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var i, length, result, step, iterator, next; - if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { - iterator = iteratorMethod.call(O); - next = iterator.next; - O = []; - while (!(step = next.call(iterator)).done) { - O.push(step.value); - } - } - if (mapping && argumentsLength > 2) { - mapfn = functionBindContext(mapfn, arguments[2], 2); - } - length = toLength(O.length); - result = new (aTypedArrayConstructor$1(this))(length); - for (i = 0; length > i; i++) { - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; - }; - - var typedArrayConstructor = createCommonjsModule(function (module) { - - - - - - - - - - - - - - - - - - - var getOwnPropertyNames = objectGetOwnPropertyNames.f; - - var forEach = arrayIteration.forEach; - - - - - - - var getInternalState = internalState.get; - var setInternalState = internalState.set; - var nativeDefineProperty = objectDefineProperty.f; - var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; - var round = Math.round; - var RangeError = global_1.RangeError; - var ArrayBuffer = arrayBuffer.ArrayBuffer; - var DataView = arrayBuffer.DataView; - var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; - var TYPED_ARRAY_TAG = arrayBufferViewCore.TYPED_ARRAY_TAG; - var TypedArray = arrayBufferViewCore.TypedArray; - var TypedArrayPrototype = arrayBufferViewCore.TypedArrayPrototype; - var aTypedArrayConstructor = arrayBufferViewCore.aTypedArrayConstructor; - var isTypedArray = arrayBufferViewCore.isTypedArray; - var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; - var WRONG_LENGTH = 'Wrong length'; - - var fromList = function (C, list) { - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - while (length > index) { result[index] = list[index++]; } - return result; - }; - - var addGetter = function (it, key) { - nativeDefineProperty(it, key, { get: function () { - return getInternalState(this)[key]; - } }); - }; - - var isArrayBuffer = function (it) { - var klass; - return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; - }; - - var isTypedArrayIndex = function (target, key) { - return isTypedArray(target) - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); - }; - - var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { - return isTypedArrayIndex(target, key = toPrimitive(key, true)) - ? createPropertyDescriptor(2, target[key]) - : nativeGetOwnPropertyDescriptor(target, key); - }; - - var wrappedDefineProperty = function defineProperty(target, key, descriptor) { - if (isTypedArrayIndex(target, key = toPrimitive(key, true)) - && isObject(descriptor) - && has(descriptor, 'value') - && !has(descriptor, 'get') - && !has(descriptor, 'set') - // TODO: add validation descriptor w/o calling accessors - && !descriptor.configurable - && (!has(descriptor, 'writable') || descriptor.writable) - && (!has(descriptor, 'enumerable') || descriptor.enumerable) - ) { - target[key] = descriptor.value; - return target; - } return nativeDefineProperty(target, key, descriptor); - }; - - if (descriptors) { - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - objectGetOwnPropertyDescriptor.f = wrappedGetOwnPropertyDescriptor; - objectDefineProperty.f = wrappedDefineProperty; - addGetter(TypedArrayPrototype, 'buffer'); - addGetter(TypedArrayPrototype, 'byteOffset'); - addGetter(TypedArrayPrototype, 'byteLength'); - addGetter(TypedArrayPrototype, 'length'); - } - - _export({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { - getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, - defineProperty: wrappedDefineProperty - }); - - module.exports = function (TYPE, wrapper, CLAMPED) { - var BYTES = TYPE.match(/\d+$/)[0] / 8; - var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; - var GETTER = 'get' + TYPE; - var SETTER = 'set' + TYPE; - var NativeTypedArrayConstructor = global_1[CONSTRUCTOR_NAME]; - var TypedArrayConstructor = NativeTypedArrayConstructor; - var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; - var exported = {}; - - var getter = function (that, index) { - var data = getInternalState(that); - return data.view[GETTER](index * BYTES + data.byteOffset, true); - }; - - var setter = function (that, index, value) { - var data = getInternalState(that); - if (CLAMPED) { value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; } - data.view[SETTER](index * BYTES + data.byteOffset, value, true); - }; - - var addElement = function (that, index) { - nativeDefineProperty(that, index, { - get: function () { - return getter(this, index); - }, - set: function (value) { - return setter(this, index, value); - }, - enumerable: true - }); - }; - - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - TypedArrayConstructor = wrapper(function (that, data, offset, $length) { - anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); - var index = 0; - var byteOffset = 0; - var buffer, byteLength, length; - if (!isObject(data)) { - length = toIndex(data); - byteLength = length * BYTES; - buffer = new ArrayBuffer(byteLength); - } else if (isArrayBuffer(data)) { - buffer = data; - byteOffset = toOffset(offset, BYTES); - var $len = data.byteLength; - if ($length === undefined) { - if ($len % BYTES) { throw RangeError(WRONG_LENGTH); } - byteLength = $len - byteOffset; - if (byteLength < 0) { throw RangeError(WRONG_LENGTH); } - } else { - byteLength = toLength($length) * BYTES; - if (byteLength + byteOffset > $len) { throw RangeError(WRONG_LENGTH); } - } - length = byteLength / BYTES; - } else if (isTypedArray(data)) { - return fromList(TypedArrayConstructor, data); - } else { - return typedArrayFrom.call(TypedArrayConstructor, data); - } - setInternalState(that, { - buffer: buffer, - byteOffset: byteOffset, - byteLength: byteLength, - length: length, - view: new DataView(buffer) - }); - while (index < length) { addElement(that, index++); } - }); - - if (objectSetPrototypeOf) { objectSetPrototypeOf(TypedArrayConstructor, TypedArray); } - TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = objectCreate(TypedArrayPrototype); - } else if (typedArrayConstructorsRequireWrappers) { - TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { - anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); - return inheritIfRequired(function () { - if (!isObject(data)) { return new NativeTypedArrayConstructor(toIndex(data)); } - if (isArrayBuffer(data)) { return $length !== undefined - ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) - : typedArrayOffset !== undefined - ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) - : new NativeTypedArrayConstructor(data); } - if (isTypedArray(data)) { return fromList(TypedArrayConstructor, data); } - return typedArrayFrom.call(TypedArrayConstructor, data); - }(), dummy, TypedArrayConstructor); - }); - - if (objectSetPrototypeOf) { objectSetPrototypeOf(TypedArrayConstructor, TypedArray); } - forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { - if (!(key in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); - } - }); - TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; - } - - if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); - } - - if (TYPED_ARRAY_TAG) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); - } - - exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; - - _export({ - global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS - }, exported); - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); - } - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); - } - - setSpecies(CONSTRUCTOR_NAME); - }; - } else { module.exports = function () { /* empty */ }; } - }); - - // `Int8Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Int8', function (init) { - return function Int8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Uint8Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Uint8', function (init) { - return function Uint8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Uint8ClampedArray` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Uint8', function (init) { - return function Uint8ClampedArray(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }, true); - - // `Int16Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Int16', function (init) { - return function Int16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Uint16Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Uint16', function (init) { - return function Uint16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Int32Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Int32', function (init) { - return function Int32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Uint32Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Uint32', function (init) { - return function Uint32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Float32Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Float32', function (init) { - return function Float32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - // `Float64Array` constructor - // https://tc39.github.io/ecma262/#sec-typedarray-objects - typedArrayConstructor('Float64', function (init) { - return function Float64Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; - }); - - var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod; - - - // `%TypedArray%.from` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.from - exportTypedArrayStaticMethod$1('from', typedArrayFrom, typedArrayConstructorsRequireWrappers); - - var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor; - var exportTypedArrayStaticMethod$2 = arrayBufferViewCore.exportTypedArrayStaticMethod; - - // `%TypedArray%.of` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.of - exportTypedArrayStaticMethod$2('of', function of(/* ...items */) { - var arguments$1 = arguments; - - var index = 0; - var length = arguments.length; - var result = new (aTypedArrayConstructor$2(this))(length); - while (length > index) { result[index] = arguments$1[index++]; } - return result; - }, typedArrayConstructorsRequireWrappers); - - var aTypedArray$1 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.copyWithin` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin - exportTypedArrayMethod$1('copyWithin', function copyWithin(target, start /* , end */) { - return arrayCopyWithin.call(aTypedArray$1(this), target, start, arguments.length > 2 ? arguments[2] : undefined); - }); - - var $every$1 = arrayIteration.every; - - var aTypedArray$2 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.every` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every - exportTypedArrayMethod$2('every', function every(callbackfn /* , thisArg */) { - return $every$1(aTypedArray$2(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }); - - var aTypedArray$3 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.fill` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill - // eslint-disable-next-line no-unused-vars - exportTypedArrayMethod$3('fill', function fill(value /* , start, end */) { - return arrayFill.apply(aTypedArray$3(this), arguments); - }); - - var $filter$1 = arrayIteration.filter; - - - var aTypedArray$4 = arrayBufferViewCore.aTypedArray; - var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor; - var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.filter` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter - exportTypedArrayMethod$4('filter', function filter(callbackfn /* , thisArg */) { - var list = $filter$1(aTypedArray$4(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor$3(C))(length); - while (length > index) { result[index] = list[index++]; } - return result; - }); - - var $find$1 = arrayIteration.find; - - var aTypedArray$5 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.find` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find - exportTypedArrayMethod$5('find', function find(predicate /* , thisArg */) { - return $find$1(aTypedArray$5(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $findIndex$1 = arrayIteration.findIndex; - - var aTypedArray$6 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.findIndex` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex - exportTypedArrayMethod$6('findIndex', function findIndex(predicate /* , thisArg */) { - return $findIndex$1(aTypedArray$6(this), predicate, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $forEach$2 = arrayIteration.forEach; - - var aTypedArray$7 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.forEach` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach - exportTypedArrayMethod$7('forEach', function forEach(callbackfn /* , thisArg */) { - $forEach$2(aTypedArray$7(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $includes$1 = arrayIncludes.includes; - - var aTypedArray$8 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes - exportTypedArrayMethod$8('includes', function includes(searchElement /* , fromIndex */) { - return $includes$1(aTypedArray$8(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $indexOf$1 = arrayIncludes.indexOf; - - var aTypedArray$9 = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof - exportTypedArrayMethod$9('indexOf', function indexOf(searchElement /* , fromIndex */) { - return $indexOf$1(aTypedArray$9(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); - }); - - var ITERATOR$5 = wellKnownSymbol('iterator'); - var Uint8Array$1 = global_1.Uint8Array; - var arrayValues = es_array_iterator.values; - var arrayKeys = es_array_iterator.keys; - var arrayEntries = es_array_iterator.entries; - var aTypedArray$a = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod; - var nativeTypedArrayIterator = Uint8Array$1 && Uint8Array$1.prototype[ITERATOR$5]; - - var CORRECT_ITER_NAME = !!nativeTypedArrayIterator - && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); - - var typedArrayValues = function values() { - return arrayValues.call(aTypedArray$a(this)); - }; - - // `%TypedArray%.prototype.entries` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries - exportTypedArrayMethod$a('entries', function entries() { - return arrayEntries.call(aTypedArray$a(this)); - }); - // `%TypedArray%.prototype.keys` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys - exportTypedArrayMethod$a('keys', function keys() { - return arrayKeys.call(aTypedArray$a(this)); - }); - // `%TypedArray%.prototype.values` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values - exportTypedArrayMethod$a('values', typedArrayValues, !CORRECT_ITER_NAME); - // `%TypedArray%.prototype[@@iterator]` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator - exportTypedArrayMethod$a(ITERATOR$5, typedArrayValues, !CORRECT_ITER_NAME); - - var aTypedArray$b = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod; - var $join = [].join; - - // `%TypedArray%.prototype.join` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join - // eslint-disable-next-line no-unused-vars - exportTypedArrayMethod$b('join', function join(separator) { - return $join.apply(aTypedArray$b(this), arguments); - }); - - var aTypedArray$c = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.lastIndexOf` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof - // eslint-disable-next-line no-unused-vars - exportTypedArrayMethod$c('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { - return arrayLastIndexOf.apply(aTypedArray$c(this), arguments); - }); - - var $map$1 = arrayIteration.map; - - - var aTypedArray$d = arrayBufferViewCore.aTypedArray; - var aTypedArrayConstructor$4 = arrayBufferViewCore.aTypedArrayConstructor; - var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.map` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map - exportTypedArrayMethod$d('map', function map(mapfn /* , thisArg */) { - return $map$1(aTypedArray$d(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { - return new (aTypedArrayConstructor$4(speciesConstructor(O, O.constructor)))(length); - }); - }); - - var $reduce$1 = arrayReduce.left; - - var aTypedArray$e = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.reduce` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce - exportTypedArrayMethod$e('reduce', function reduce(callbackfn /* , initialValue */) { - return $reduce$1(aTypedArray$e(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - }); - - var $reduceRight$1 = arrayReduce.right; - - var aTypedArray$f = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.reduceRicht` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright - exportTypedArrayMethod$f('reduceRight', function reduceRight(callbackfn /* , initialValue */) { - return $reduceRight$1(aTypedArray$f(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - }); - - var aTypedArray$g = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod; - var floor$7 = Math.floor; - - // `%TypedArray%.prototype.reverse` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse - exportTypedArrayMethod$g('reverse', function reverse() { - var that = this; - var length = aTypedArray$g(that).length; - var middle = floor$7(length / 2); - var index = 0; - var value; - while (index < middle) { - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; - }); - - var aTypedArray$h = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod; - - var FORCED$h = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).set({}); - }); - - // `%TypedArray%.prototype.set` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set - exportTypedArrayMethod$h('set', function set(arrayLike /* , offset */) { - aTypedArray$h(this); - var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var length = this.length; - var src = toObject(arrayLike); - var len = toLength(src.length); - var index = 0; - if (len + offset > length) { throw RangeError('Wrong length'); } - while (index < len) { this[offset + index] = src[index++]; } - }, FORCED$h); - - var aTypedArray$i = arrayBufferViewCore.aTypedArray; - var aTypedArrayConstructor$5 = arrayBufferViewCore.aTypedArrayConstructor; - var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod; - var $slice = [].slice; - - var FORCED$i = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).slice(); - }); - - // `%TypedArray%.prototype.slice` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice - exportTypedArrayMethod$i('slice', function slice(start, end) { - var list = $slice.call(aTypedArray$i(this), start, end); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor$5(C))(length); - while (length > index) { result[index] = list[index++]; } - return result; - }, FORCED$i); - - var $some$1 = arrayIteration.some; - - var aTypedArray$j = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.some` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some - exportTypedArrayMethod$j('some', function some(callbackfn /* , thisArg */) { - return $some$1(aTypedArray$j(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - }); - - var aTypedArray$k = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod; - var $sort = [].sort; - - // `%TypedArray%.prototype.sort` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort - exportTypedArrayMethod$k('sort', function sort(comparefn) { - return $sort.call(aTypedArray$k(this), comparefn); - }); - - var aTypedArray$l = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod; - - // `%TypedArray%.prototype.subarray` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray - exportTypedArrayMethod$l('subarray', function subarray(begin, end) { - var O = aTypedArray$l(this); - var length = O.length; - var beginIndex = toAbsoluteIndex(begin, length); - return new (speciesConstructor(O, O.constructor))( - O.buffer, - O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) - ); - }); - - var Int8Array$3 = global_1.Int8Array; - var aTypedArray$m = arrayBufferViewCore.aTypedArray; - var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod; - var $toLocaleString = [].toLocaleString; - var $slice$1 = [].slice; - - // iOS Safari 6.x fails here - var TO_LOCALE_STRING_BUG = !!Int8Array$3 && fails(function () { - $toLocaleString.call(new Int8Array$3(1)); - }); - - var FORCED$j = fails(function () { - return [1, 2].toLocaleString() != new Int8Array$3([1, 2]).toLocaleString(); - }) || !fails(function () { - Int8Array$3.prototype.toLocaleString.call([1, 2]); - }); - - // `%TypedArray%.prototype.toLocaleString` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring - exportTypedArrayMethod$m('toLocaleString', function toLocaleString() { - return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice$1.call(aTypedArray$m(this)) : aTypedArray$m(this), arguments); - }, FORCED$j); - - var exportTypedArrayMethod$n = arrayBufferViewCore.exportTypedArrayMethod; - - - - var Uint8Array$2 = global_1.Uint8Array; - var Uint8ArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype || {}; - var arrayToString = [].toString; - var arrayJoin = [].join; - - if (fails(function () { arrayToString.call({}); })) { - arrayToString = function toString() { - return arrayJoin.call(this); - }; - } - - var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; - - // `%TypedArray%.prototype.toString` method - // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring - exportTypedArrayMethod$n('toString', arrayToString, IS_NOT_ARRAY_METHOD); - - var nativeApply = getBuiltIn('Reflect', 'apply'); - var functionApply = Function.apply; - - // MS Edge argumentsList argument is optional - var OPTIONAL_ARGUMENTS_LIST = !fails(function () { - nativeApply(function () { /* empty */ }); - }); - - // `Reflect.apply` method - // https://tc39.github.io/ecma262/#sec-reflect.apply - _export({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { - apply: function apply(target, thisArgument, argumentsList) { - aFunction$1(target); - anObject(argumentsList); - return nativeApply - ? nativeApply(target, thisArgument, argumentsList) - : functionApply.call(target, thisArgument, argumentsList); - } - }); - - var nativeConstruct = getBuiltIn('Reflect', 'construct'); - - // `Reflect.construct` method - // https://tc39.github.io/ecma262/#sec-reflect.construct - // MS Edge supports only 2 arguments and argumentsList argument is optional - // FF Nightly sets third argument as `new.target`, but does not create `this` from it - var NEW_TARGET_BUG = fails(function () { - function F() { /* empty */ } - return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); - }); - var ARGS_BUG = !fails(function () { - nativeConstruct(function () { /* empty */ }); - }); - var FORCED$k = NEW_TARGET_BUG || ARGS_BUG; - - _export({ target: 'Reflect', stat: true, forced: FORCED$k, sham: FORCED$k }, { - construct: function construct(Target, args /* , newTarget */) { - aFunction$1(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction$1(arguments[2]); - if (ARGS_BUG && !NEW_TARGET_BUG) { return nativeConstruct(Target, args, newTarget); } - if (Target == newTarget) { - // w/o altered newTarget, optimization for 0-4 arguments - switch (args.length) { - case 0: return new Target(); - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (functionBind.apply(Target, $args))(); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype; - var instance = objectCreate(isObject(proto) ? proto : Object.prototype); - var result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } - }); - - // MS Edge has broken Reflect.defineProperty - throwing instead of returning false - var ERROR_INSTEAD_OF_FALSE = fails(function () { - // eslint-disable-next-line no-undef - Reflect.defineProperty(objectDefineProperty.f({}, 1, { value: 1 }), 1, { value: 2 }); - }); - - // `Reflect.defineProperty` method - // https://tc39.github.io/ecma262/#sec-reflect.defineproperty - _export({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !descriptors }, { - defineProperty: function defineProperty(target, propertyKey, attributes) { - anObject(target); - var key = toPrimitive(propertyKey, true); - anObject(attributes); - try { - objectDefineProperty.f(target, key, attributes); - return true; - } catch (error) { - return false; - } - } - }); - - var getOwnPropertyDescriptor$8 = objectGetOwnPropertyDescriptor.f; - - // `Reflect.deleteProperty` method - // https://tc39.github.io/ecma262/#sec-reflect.deleteproperty - _export({ target: 'Reflect', stat: true }, { - deleteProperty: function deleteProperty(target, propertyKey) { - var descriptor = getOwnPropertyDescriptor$8(anObject(target), propertyKey); - return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; - } - }); - - // `Reflect.get` method - // https://tc39.github.io/ecma262/#sec-reflect.get - function get$2(target, propertyKey /* , receiver */) { - var receiver = arguments.length < 3 ? target : arguments[2]; - var descriptor, prototype; - if (anObject(target) === receiver) { return target[propertyKey]; } - if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) { return has(descriptor, 'value') - ? descriptor.value - : descriptor.get === undefined - ? undefined - : descriptor.get.call(receiver); } - if (isObject(prototype = objectGetPrototypeOf(target))) { return get$2(prototype, propertyKey, receiver); } - } - - _export({ target: 'Reflect', stat: true }, { - get: get$2 - }); - - // `Reflect.getOwnPropertyDescriptor` method - // https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor - _export({ target: 'Reflect', stat: true, sham: !descriptors }, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { - return objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey); - } - }); - - // `Reflect.getPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-reflect.getprototypeof - _export({ target: 'Reflect', stat: true, sham: !correctPrototypeGetter }, { - getPrototypeOf: function getPrototypeOf(target) { - return objectGetPrototypeOf(anObject(target)); - } - }); - - // `Reflect.has` method - // https://tc39.github.io/ecma262/#sec-reflect.has - _export({ target: 'Reflect', stat: true }, { - has: function has(target, propertyKey) { - return propertyKey in target; - } - }); - - var objectIsExtensible = Object.isExtensible; - - // `Reflect.isExtensible` method - // https://tc39.github.io/ecma262/#sec-reflect.isextensible - _export({ target: 'Reflect', stat: true }, { - isExtensible: function isExtensible(target) { - anObject(target); - return objectIsExtensible ? objectIsExtensible(target) : true; - } - }); - - // `Reflect.ownKeys` method - // https://tc39.github.io/ecma262/#sec-reflect.ownkeys - _export({ target: 'Reflect', stat: true }, { - ownKeys: ownKeys - }); - - // `Reflect.preventExtensions` method - // https://tc39.github.io/ecma262/#sec-reflect.preventextensions - _export({ target: 'Reflect', stat: true, sham: !freezing }, { - preventExtensions: function preventExtensions(target) { - anObject(target); - try { - var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); - if (objectPreventExtensions) { objectPreventExtensions(target); } - return true; - } catch (error) { - return false; - } - } - }); - - // `Reflect.set` method - // https://tc39.github.io/ecma262/#sec-reflect.set - function set$3(target, propertyKey, V /* , receiver */) { - var receiver = arguments.length < 4 ? target : arguments[3]; - var ownDescriptor = objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey); - var existingDescriptor, prototype; - if (!ownDescriptor) { - if (isObject(prototype = objectGetPrototypeOf(target))) { - return set$3(prototype, propertyKey, V, receiver); - } - ownDescriptor = createPropertyDescriptor(0); - } - if (has(ownDescriptor, 'value')) { - if (ownDescriptor.writable === false || !isObject(receiver)) { return false; } - if (existingDescriptor = objectGetOwnPropertyDescriptor.f(receiver, propertyKey)) { - if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) { return false; } - existingDescriptor.value = V; - objectDefineProperty.f(receiver, propertyKey, existingDescriptor); - } else { objectDefineProperty.f(receiver, propertyKey, createPropertyDescriptor(0, V)); } - return true; - } - return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); - } - - // MS Edge 17-18 Reflect.set allows setting the property to object - // with non-writable property on the prototype - var MS_EDGE_BUG = fails(function () { - var object = objectDefineProperty.f({}, 'a', { configurable: true }); - // eslint-disable-next-line no-undef - return Reflect.set(objectGetPrototypeOf(object), 'a', 1, object) !== false; - }); - - _export({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { - set: set$3 - }); - - // `Reflect.setPrototypeOf` method - // https://tc39.github.io/ecma262/#sec-reflect.setprototypeof - if (objectSetPrototypeOf) { _export({ target: 'Reflect', stat: true }, { - setPrototypeOf: function setPrototypeOf(target, proto) { - anObject(target); - aPossiblePrototype(proto); - try { - objectSetPrototypeOf(target, proto); - return true; - } catch (error) { - return false; - } - } - }); } - - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - - - - - var metadata = shared('metadata'); - var store$2 = metadata.store || (metadata.store = new es_weakMap()); - - var getOrCreateMetadataMap = function (target, targetKey, create) { - var targetMetadata = store$2.get(target); - if (!targetMetadata) { - if (!create) { return; } - store$2.set(target, targetMetadata = new es_map()); - } - var keyMetadata = targetMetadata.get(targetKey); - if (!keyMetadata) { - if (!create) { return; } - targetMetadata.set(targetKey, keyMetadata = new es_map()); - } return keyMetadata; - }; - - var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); - }; - - var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); - }; - - var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); - }; - - var ordinaryOwnMetadataKeys = function (target, targetKey) { - var metadataMap = getOrCreateMetadataMap(target, targetKey, false); - var keys = []; - if (metadataMap) { metadataMap.forEach(function (_, key) { keys.push(key); }); } - return keys; - }; - - var toMetadataKey = function (it) { - return it === undefined || typeof it == 'symbol' ? it : String(it); - }; - - var reflectMetadata = { - store: store$2, - getMap: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - toKey: toMetadataKey - }; - - var toMetadataKey$1 = reflectMetadata.toKey; - var ordinaryDefineOwnMetadata$1 = reflectMetadata.set; - - // `Reflect.defineMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) { - var targetKey = arguments.length < 4 ? undefined : toMetadataKey$1(arguments[3]); - ordinaryDefineOwnMetadata$1(metadataKey, metadataValue, anObject(target), targetKey); - } - }); - - var toMetadataKey$2 = reflectMetadata.toKey; - var getOrCreateMetadataMap$1 = reflectMetadata.getMap; - var store$3 = reflectMetadata.store; - - // `Reflect.deleteMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey$2(arguments[2]); - var metadataMap = getOrCreateMetadataMap$1(anObject(target), targetKey, false); - if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) { return false; } - if (metadataMap.size) { return true; } - var targetMetadata = store$3.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store$3['delete'](target); - } - }); - - var ordinaryHasOwnMetadata$1 = reflectMetadata.has; - var ordinaryGetOwnMetadata$1 = reflectMetadata.get; - var toMetadataKey$3 = reflectMetadata.toKey; - - var ordinaryGetMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata$1(MetadataKey, O, P); - if (hasOwn) { return ordinaryGetOwnMetadata$1(MetadataKey, O, P); } - var parent = objectGetPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; - }; - - // `Reflect.getMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey$3(arguments[2]); - return ordinaryGetMetadata(metadataKey, anObject(target), targetKey); - } - }); - - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - - - - - - - var ordinaryOwnMetadataKeys$1 = reflectMetadata.keys; - var toMetadataKey$4 = reflectMetadata.toKey; - - var from = function (iter) { - var result = []; - iterate_1(iter, result.push, result); - return result; - }; - - var ordinaryMetadataKeys = function (O, P) { - var oKeys = ordinaryOwnMetadataKeys$1(O, P); - var parent = objectGetPrototypeOf(O); - if (parent === null) { return oKeys; } - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new es_set(oKeys.concat(pKeys))) : pKeys : oKeys; - }; - - // `Reflect.getMetadataKeys` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { - var targetKey = arguments.length < 2 ? undefined : toMetadataKey$4(arguments[1]); - return ordinaryMetadataKeys(anObject(target), targetKey); - } - }); - - var ordinaryGetOwnMetadata$2 = reflectMetadata.get; - var toMetadataKey$5 = reflectMetadata.toKey; - - // `Reflect.getOwnMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey$5(arguments[2]); - return ordinaryGetOwnMetadata$2(metadataKey, anObject(target), targetKey); - } - }); - - var ordinaryOwnMetadataKeys$2 = reflectMetadata.keys; - var toMetadataKey$6 = reflectMetadata.toKey; - - // `Reflect.getOwnMetadataKeys` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { - var targetKey = arguments.length < 2 ? undefined : toMetadataKey$6(arguments[1]); - return ordinaryOwnMetadataKeys$2(anObject(target), targetKey); - } - }); - - var ordinaryHasOwnMetadata$2 = reflectMetadata.has; - var toMetadataKey$7 = reflectMetadata.toKey; - - var ordinaryHasMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata$2(MetadataKey, O, P); - if (hasOwn) { return true; } - var parent = objectGetPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; - }; - - // `Reflect.hasMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey$7(arguments[2]); - return ordinaryHasMetadata(metadataKey, anObject(target), targetKey); - } - }); - - var ordinaryHasOwnMetadata$3 = reflectMetadata.has; - var toMetadataKey$8 = reflectMetadata.toKey; - - // `Reflect.hasOwnMetadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey$8(arguments[2]); - return ordinaryHasOwnMetadata$3(metadataKey, anObject(target), targetKey); - } - }); - - var toMetadataKey$9 = reflectMetadata.toKey; - var ordinaryDefineOwnMetadata$2 = reflectMetadata.set; - - // `Reflect.metadata` method - // https://github.com/rbuckton/reflect-metadata - _export({ target: 'Reflect', stat: true }, { - metadata: function metadata(metadataKey, metadataValue) { - return function decorator(target, key) { - ordinaryDefineOwnMetadata$2(metadataKey, metadataValue, anObject(target), toMetadataKey$9(key)); - }; - } - }); - - // `Math.iaddh` method - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true }, { - iaddh: function iaddh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } - }); - - // `Math.isubh` method - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true }, { - isubh: function isubh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } - }); - - // `Math.imulh` method - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true }, { - imulh: function imulh(u, v) { - var UINT16 = 0xFFFF; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >> 16; - var v1 = $v >> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } - }); - - // `Math.umulh` method - // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 - // TODO: Remove from `core-js@4` - _export({ target: 'Math', stat: true }, { - umulh: function umulh(u, v) { - var UINT16 = 0xFFFF; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >>> 16; - var v1 = $v >>> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } - }); - - var charAt$2 = stringMultibyte.charAt; - - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - _export({ target: 'String', proto: true }, { - at: function at(pos) { - return charAt$2(this, pos); - } - }); - - var ITERATOR$6 = wellKnownSymbol('iterator'); - - var nativeUrl = !fails(function () { - var url = new URL('b?a=1&b=2&c=3', 'http://a'); - var searchParams = url.searchParams; - var result = ''; - url.pathname = 'c%20d'; - searchParams.forEach(function (value, key) { - searchParams['delete']('b'); - result += key + value; - }); - return (isPure && !url.toJSON) - || !searchParams.sort - || url.href !== 'http://a/c%20d?a=1&c=3' - || searchParams.get('c') !== '3' - || String(new URLSearchParams('?a=1')) !== 'a=1' - || !searchParams[ITERATOR$6] - // throws in Edge - || new URL('https://a@b').username !== 'a' - || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' - // not punycoded in Edge - || new URL('http://тест').host !== 'xn--e1aybc' - // not escaped in Chrome 62- - || new URL('http://a#б').hash !== '#%D0%B1' - // fails in Chrome 66- - || result !== 'a1c3' - // throws in Safari - || new URL('http://x', undefined).host !== 'x'; - }); - - // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js - var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - var base = 36; - var tMin = 1; - var tMax = 26; - var skew = 38; - var damp = 700; - var initialBias = 72; - var initialN = 128; // 0x80 - var delimiter = '-'; // '\x2D' - var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars - var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; - var baseMinusTMin = base - tMin; - var floor$8 = Math.floor; - var stringFromCharCode = String.fromCharCode; - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - */ - var ucs2decode = function (string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - var extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - }; - - /** - * Converts a digit/integer into a basic code point. - */ - var digitToBasic = function (digit) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26); - }; - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - */ - var adapt = function (delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor$8(delta / damp) : delta >> 1; - delta += floor$8(delta / numPoints); - for (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor$8(delta / baseMinusTMin); - } - return floor$8(k + (baseMinusTMin + 1) * delta / (delta + skew)); - }; - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - */ - // eslint-disable-next-line max-statements - var encode = function (input) { - var output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - var inputLength = input.length; - - // Initialize the state. - var n = initialN; - var delta = 0; - var bias = initialBias; - var i, currentValue; - - // Handle the basic code points. - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - var basicLength = output.length; // number of basic code points. - var handledCPCount = basicLength; // number of code points that have been handled; - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - // All non-basic code points < n have been handled already. Find the next larger one: - var m = maxInt; - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , but guard against overflow. - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor$8((maxInt - delta) / handledCPCountPlusOne)) { - throw RangeError(OVERFLOW_ERROR); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < n && ++delta > maxInt) { - throw RangeError(OVERFLOW_ERROR); - } - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - var q = delta; - for (var k = base; /* no condition */; k += base) { - var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { break; } - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); - q = floor$8(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - } - return output.join(''); - }; - - var stringPunycodeToAscii = function (input) { - var encoded = []; - var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); - var i, label; - for (i = 0; i < labels.length; i++) { - label = labels[i]; - encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); - } - return encoded.join('.'); - }; - - var getIterator = function (it) { - var iteratorMethod = getIteratorMethod(it); - if (typeof iteratorMethod != 'function') { - throw TypeError(String(it) + ' is not iterable'); - } return anObject(iteratorMethod.call(it)); - }; - - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - - - - - - - - - - - - - - - - - - - - - - var $fetch$1 = getBuiltIn('fetch'); - var Headers = getBuiltIn('Headers'); - var ITERATOR$7 = wellKnownSymbol('iterator'); - var URL_SEARCH_PARAMS = 'URLSearchParams'; - var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; - var setInternalState$9 = internalState.set; - var getInternalParamsState = internalState.getterFor(URL_SEARCH_PARAMS); - var getInternalIteratorState = internalState.getterFor(URL_SEARCH_PARAMS_ITERATOR); - - var plus = /\+/g; - var sequences = Array(4); - - var percentSequence = function (bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); - }; - - var percentDecode = function (sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } - }; - - var deserialize = function (it) { - var result = it.replace(plus, ' '); - var bytes = 4; - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = result.replace(percentSequence(bytes--), percentDecode); - } - return result; - } - }; - - var find$1 = /[!'()~]|%20/g; - - var replace = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' - }; - - var replacer = function (match) { - return replace[match]; - }; - - var serialize = function (it) { - return encodeURIComponent(it).replace(find$1, replacer); - }; - - var parseSearchParams = function (result, query) { - if (query) { - var attributes = query.split('&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = attribute.split('='); - result.push({ - key: deserialize(entry.shift()), - value: deserialize(entry.join('=')) - }); - } - } - } - }; - - var updateSearchParams = function (query) { - this.entries.length = 0; - parseSearchParams(this.entries, query); - }; - - var validateArgumentsLength = function (passed, required) { - if (passed < required) { throw TypeError('Not enough arguments'); } - }; - - var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState$9(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); - }, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; - } return step; - }); - - // `URLSearchParams` constructor - // https://url.spec.whatwg.org/#interface-urlsearchparams - var URLSearchParamsConstructor = function URLSearchParams(/* init */) { - anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); - var init = arguments.length > 0 ? arguments[0] : undefined; - var that = this; - var entries = []; - var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; - - setInternalState$9(that, { - type: URL_SEARCH_PARAMS, - entries: entries, - updateURL: function () { /* empty */ }, - updateSearchParams: updateSearchParams - }); - - if (init !== undefined) { - if (isObject(init)) { - iteratorMethod = getIteratorMethod(init); - if (typeof iteratorMethod === 'function') { - iterator = iteratorMethod.call(init); - next = iterator.next; - while (!(step = next.call(iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ( - (first = entryNext.call(entryIterator)).done || - (second = entryNext.call(entryIterator)).done || - !entryNext.call(entryIterator).done - ) { throw TypeError('Expected sequence with length 2'); } - entries.push({ key: first.value + '', value: second.value + '' }); - } - } else { for (key in init) { if (has(init, key)) { entries.push({ key: key, value: init[key] + '' }); } } } - } else { - parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); - } - } - }; - - var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; - - redefineAll(URLSearchParamsPrototype, { - // `URLSearchParams.prototype.appent` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-append - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - state.entries.push({ key: name + '', value: value + '' }); - state.updateURL(); - }, - // `URLSearchParams.prototype.delete` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-delete - 'delete': function (name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index].key === key) { entries.splice(index, 1); } - else { index++; } - } - state.updateURL(); - }, - // `URLSearchParams.prototype.get` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-get - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) { return entries[index].value; } - } - return null; - }, - // `URLSearchParams.prototype.getAll` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-getall - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var result = []; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) { result.push(entries[index].value); } - } - return result; - }, - // `URLSearchParams.prototype.has` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-has - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index++].key === key) { return true; } - } - return false; - }, - // `URLSearchParams.prototype.set` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-set - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = name + ''; - var val = value + ''; - var index = 0; - var entry; - for (; index < entries.length; index++) { - entry = entries[index]; - if (entry.key === key) { - if (found) { entries.splice(index--, 1); } - else { - found = true; - entry.value = val; - } - } - } - if (!found) { entries.push({ key: key, value: val }); } - state.updateURL(); - }, - // `URLSearchParams.prototype.sort` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-sort - sort: function sort() { - var state = getInternalParamsState(this); - var entries = state.entries; - // Array#sort is not stable in some engines - var slice = entries.slice(); - var entry, entriesIndex, sliceIndex; - entries.length = 0; - for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { - entry = slice[sliceIndex]; - for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { - if (entries[entriesIndex].key > entry.key) { - entries.splice(entriesIndex, 0, entry); - break; - } - } - if (entriesIndex === sliceIndex) { entries.push(entry); } - } - state.updateURL(); - }, - // `URLSearchParams.prototype.forEach` method - forEach: function forEach(callback /* , thisArg */) { - var entries = getInternalParamsState(this).entries; - var boundFunction = functionBindContext(callback, arguments.length > 1 ? arguments[1] : undefined, 3); - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - // `URLSearchParams.prototype.keys` method - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - // `URLSearchParams.prototype.values` method - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - // `URLSearchParams.prototype.entries` method - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } - }, { enumerable: true }); - - // `URLSearchParams.prototype[@@iterator]` method - redefine(URLSearchParamsPrototype, ITERATOR$7, URLSearchParamsPrototype.entries); - - // `URLSearchParams.prototype.toString` method - // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior - redefine(URLSearchParamsPrototype, 'toString', function toString() { - var entries = getInternalParamsState(this).entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - result.push(serialize(entry.key) + '=' + serialize(entry.value)); - } return result.join('&'); - }, { enumerable: true }); - - setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - - _export({ global: true, forced: !nativeUrl }, { - URLSearchParams: URLSearchParamsConstructor - }); - - // Wrap `fetch` for correct work with polyfilled `URLSearchParams` - // https://github.com/zloirock/core-js/issues/674 - if (!nativeUrl && typeof $fetch$1 == 'function' && typeof Headers == 'function') { - _export({ global: true, enumerable: true, forced: true }, { - fetch: function fetch(input /* , init */) { - var args = [input]; - var init, body, headers; - if (arguments.length > 1) { - init = arguments[1]; - if (isObject(init)) { - body = init.body; - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - if (!headers.has('content-type')) { - headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - init = objectCreate(init, { - body: createPropertyDescriptor(0, String(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } - args.push(init); - } return $fetch$1.apply(this, args); - } - }); - } - - var web_urlSearchParams = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState - }; - - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - - - - - - - - - - - - var codeAt$1 = stringMultibyte.codeAt; - - - - - - var NativeURL = global_1.URL; - var URLSearchParams$1 = web_urlSearchParams.URLSearchParams; - var getInternalSearchParamsState = web_urlSearchParams.getState; - var setInternalState$a = internalState.set; - var getInternalURLState = internalState.getterFor('URL'); - var floor$9 = Math.floor; - var pow$4 = Math.pow; - - var INVALID_AUTHORITY = 'Invalid authority'; - var INVALID_SCHEME = 'Invalid scheme'; - var INVALID_HOST = 'Invalid host'; - var INVALID_PORT = 'Invalid port'; - - var ALPHA = /[A-Za-z]/; - var ALPHANUMERIC = /[\d+\-.A-Za-z]/; - var DIGIT = /\d/; - var HEX_START = /^(0x|0X)/; - var OCT = /^[0-7]+$/; - var DEC = /^\d+$/; - var HEX = /^[\dA-Fa-f]+$/; - // eslint-disable-next-line no-control-regex - var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; - // eslint-disable-next-line no-control-regex - var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; - // eslint-disable-next-line no-control-regex - var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; - // eslint-disable-next-line no-control-regex - var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; - var EOF; - - var parseHost = function (url, input) { - var result, codePoints, index; - if (input.charAt(0) == '[') { - if (input.charAt(input.length - 1) != ']') { return INVALID_HOST; } - result = parseIPv6(input.slice(1, -1)); - if (!result) { return INVALID_HOST; } - url.host = result; - // opaque host - } else if (!isSpecial(url)) { - if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) { return INVALID_HOST; } - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - url.host = result; - } else { - input = stringPunycodeToAscii(input); - if (FORBIDDEN_HOST_CODE_POINT.test(input)) { return INVALID_HOST; } - result = parseIPv4(input); - if (result === null) { return INVALID_HOST; } - url.host = result; - } - }; - - var parseIPv4 = function (input) { - var parts = input.split('.'); - var partsLength, numbers, index, part, radix, number, ipv4; - if (parts.length && parts[parts.length - 1] == '') { - parts.pop(); - } - partsLength = parts.length; - if (partsLength > 4) { return input; } - numbers = []; - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') { return input; } - radix = 10; - if (part.length > 1 && part.charAt(0) == '0') { - radix = HEX_START.test(part) ? 16 : 8; - part = part.slice(radix == 8 ? 1 : 2); - } - if (part === '') { - number = 0; - } else { - if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) { return input; } - number = parseInt(part, radix); - } - numbers.push(number); - } - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - if (index == partsLength - 1) { - if (number >= pow$4(256, 5 - partsLength)) { return null; } - } else if (number > 255) { return null; } - } - ipv4 = numbers.pop(); - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow$4(256, 3 - index); - } - return ipv4; - }; - - // eslint-disable-next-line max-statements - var parseIPv6 = function (input) { - var address = [0, 0, 0, 0, 0, 0, 0, 0]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - - var char = function () { - return input.charAt(pointer); - }; - - if (char() == ':') { - if (input.charAt(1) != ':') { return; } - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - while (char()) { - if (pieceIndex == 8) { return; } - if (char() == ':') { - if (compress !== null) { return; } - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - value = length = 0; - while (length < 4 && HEX.test(char())) { - value = value * 16 + parseInt(char(), 16); - pointer++; - length++; - } - if (char() == '.') { - if (length == 0) { return; } - pointer -= length; - if (pieceIndex > 6) { return; } - numbersSeen = 0; - while (char()) { - ipv4Piece = null; - if (numbersSeen > 0) { - if (char() == '.' && numbersSeen < 4) { pointer++; } - else { return; } - } - if (!DIGIT.test(char())) { return; } - while (DIGIT.test(char())) { - number = parseInt(char(), 10); - if (ipv4Piece === null) { ipv4Piece = number; } - else if (ipv4Piece == 0) { return; } - else { ipv4Piece = ipv4Piece * 10 + number; } - if (ipv4Piece > 255) { return; } - pointer++; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) { pieceIndex++; } - } - if (numbersSeen != 4) { return; } - break; - } else if (char() == ':') { - pointer++; - if (!char()) { return; } - } else if (char()) { return; } - address[pieceIndex++] = value; - } - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) { return; } - return address; - }; - - var findLongestZeroSequence = function (ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - currStart = null; - currLength = 0; - } else { - if (currStart === null) { currStart = index; } - ++currLength; - } - } - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - return maxIndex; - }; - - var serializeHost = function (host) { - var result, index, compress, ignore0; - // ipv4 - if (typeof host == 'number') { - result = []; - for (index = 0; index < 4; index++) { - result.unshift(host % 256); - host = floor$9(host / 256); - } return result.join('.'); - // ipv6 - } else if (typeof host == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) { continue; } - if (ignore0) { ignore0 = false; } - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += host[index].toString(16); - if (index < 7) { result += ':'; } - } - } - return '[' + result + ']'; - } return host; - }; - - var C0ControlPercentEncodeSet = {}; - var fragmentPercentEncodeSet = objectAssign({}, C0ControlPercentEncodeSet, { - ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 - }); - var pathPercentEncodeSet = objectAssign({}, fragmentPercentEncodeSet, { - '#': 1, '?': 1, '{': 1, '}': 1 - }); - var userinfoPercentEncodeSet = objectAssign({}, pathPercentEncodeSet, { - '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 - }); - - var percentEncode = function (char, set) { - var code = codeAt$1(char, 0); - return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); - }; - - var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - - var isSpecial = function (url) { - return has(specialSchemes, url.scheme); - }; - - var includesCredentials = function (url) { - return url.username != '' || url.password != ''; - }; - - var cannotHaveUsernamePasswordPort = function (url) { - return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; - }; - - var isWindowsDriveLetter = function (string, normalized) { - var second; - return string.length == 2 && ALPHA.test(string.charAt(0)) - && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); - }; - - var startsWithWindowsDriveLetter = function (string) { - var third; - return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( - string.length == 2 || - ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') - ); - }; - - var shortenURLsPath = function (url) { - var path = url.path; - var pathSize = path.length; - if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.pop(); - } - }; - - var isSingleDot = function (segment) { - return segment === '.' || segment.toLowerCase() === '%2e'; - }; - - var isDoubleDot = function (segment) { - segment = segment.toLowerCase(); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; - }; - - // States: - var SCHEME_START = {}; - var SCHEME = {}; - var NO_SCHEME = {}; - var SPECIAL_RELATIVE_OR_AUTHORITY = {}; - var PATH_OR_AUTHORITY = {}; - var RELATIVE = {}; - var RELATIVE_SLASH = {}; - var SPECIAL_AUTHORITY_SLASHES = {}; - var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; - var AUTHORITY = {}; - var HOST = {}; - var HOSTNAME = {}; - var PORT = {}; - var FILE = {}; - var FILE_SLASH = {}; - var FILE_HOST = {}; - var PATH_START = {}; - var PATH = {}; - var CANNOT_BE_A_BASE_URL_PATH = {}; - var QUERY = {}; - var FRAGMENT = {}; - - // eslint-disable-next-line max-statements - var parseURL = function (url, input, stateOverride, base) { - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, char, bufferCodePoints, failure; - - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = input.replace(TAB_AND_NEW_LINE, ''); - - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - char = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (char && ALPHA.test(char)) { - buffer += char.toLowerCase(); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else { return INVALID_SCHEME; } - break; - - case SCHEME: - if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { - buffer += char.toLowerCase(); - } else if (char == ':') { - if (stateOverride && ( - (isSpecial(url) != has(specialSchemes, buffer)) || - (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || - (url.scheme == 'file' && !url.host) - )) { return; } - url.scheme = buffer; - if (stateOverride) { - if (isSpecial(url) && specialSchemes[url.scheme] == url.port) { url.port = null; } - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (isSpecial(url) && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (isSpecial(url)) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - url.path.push(''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else { return INVALID_SCHEME; } - break; - - case NO_SCHEME: - if (!base || (base.cannotBeABaseURL && char != '#')) { return INVALID_SCHEME; } - if (base.cannotBeABaseURL && char == '#') { - url.scheme = base.scheme; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (char == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } break; - - case PATH_OR_AUTHORITY: - if (char == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - - case RELATIVE: - url.scheme = base.scheme; - if (char == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '/' || (char == '\\' && isSpecial(url))) { - state = RELATIVE_SLASH; - } else if (char == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.path.pop(); - state = PATH; - continue; - } break; - - case RELATIVE_SLASH: - if (isSpecial(url) && (char == '/' || char == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (char == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (char != '/' || buffer.charAt(pointer + 1) != '/') { continue; } - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (char != '/' && char != '\\') { - state = AUTHORITY; - continue; - } break; - - case AUTHORITY: - if (char == '@') { - if (seenAt) { buffer = '%40' + buffer; } - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) { url.password += encodedCodePoints; } - else { url.username += encodedCodePoints; } - } - buffer = ''; - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) - ) { - if (seenAt && buffer == '') { return INVALID_AUTHORITY; } - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else { buffer += char; } - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (char == ':' && !seenBracket) { - if (buffer == '') { return INVALID_HOST; } - failure = parseHost(url, buffer); - if (failure) { return failure; } - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) { return; } - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) - ) { - if (isSpecial(url) && buffer == '') { return INVALID_HOST; } - if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) { return; } - failure = parseHost(url, buffer); - if (failure) { return failure; } - buffer = ''; - state = PATH_START; - if (stateOverride) { return; } - continue; - } else { - if (char == '[') { seenBracket = true; } - else if (char == ']') { seenBracket = false; } - buffer += char; - } break; - - case PORT: - if (DIGIT.test(char)) { - buffer += char; - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) || - stateOverride - ) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) { return INVALID_PORT; } - url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; - buffer = ''; - } - if (stateOverride) { return; } - state = PATH_START; - continue; - } else { return INVALID_PORT; } - break; - - case FILE: - url.scheme = 'file'; - if (char == '/' || char == '\\') { state = FILE_SLASH; } - else if (base && base.scheme == 'file') { - if (char == EOF) { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '?') { - url.host = base.host; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - url.host = base.host; - url.path = base.path.slice(); - shortenURLsPath(url); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } break; - - case FILE_SLASH: - if (char == '/' || char == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - if (isWindowsDriveLetter(base.path[0], true)) { url.path.push(base.path[0]); } - else { url.host = base.host; } - } - state = PATH; - continue; - - case FILE_HOST: - if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) { return; } - state = PATH_START; - } else { - failure = parseHost(url, buffer); - if (failure) { return failure; } - if (url.host == 'localhost') { url.host = ''; } - if (stateOverride) { return; } - buffer = ''; - state = PATH_START; - } continue; - } else { buffer += char; } - break; - - case PATH_START: - if (isSpecial(url)) { - state = PATH; - if (char != '/' && char != '\\') { continue; } - } else if (!stateOverride && char == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - state = PATH; - if (char != '/') { continue; } - } break; - - case PATH: - if ( - char == EOF || char == '/' || - (char == '\\' && isSpecial(url)) || - (!stateOverride && (char == '?' || char == '#')) - ) { - if (isDoubleDot(buffer)) { - shortenURLsPath(url); - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else if (isSingleDot(buffer)) { - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) { url.host = ''; } - buffer = buffer.charAt(0) + ':'; // normalize windows drive letter - } - url.path.push(buffer); - } - buffer = ''; - if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - url.path.shift(); - } - } - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(char, pathPercentEncodeSet); - } break; - - case CANNOT_BE_A_BASE_URL_PATH: - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); - } break; - - case QUERY: - if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - if (char == "'" && isSpecial(url)) { url.query += '%27'; } - else if (char == '#') { url.query += '%23'; } - else { url.query += percentEncode(char, C0ControlPercentEncodeSet); } - } break; - - case FRAGMENT: - if (char != EOF) { url.fragment += percentEncode(char, fragmentPercentEncodeSet); } - break; - } - - pointer++; - } - }; - - // `URL` constructor - // https://url.spec.whatwg.org/#url-class - var URLConstructor = function URL(url /* , base */) { - var that = anInstance(this, URLConstructor, 'URL'); - var base = arguments.length > 1 ? arguments[1] : undefined; - var urlString = String(url); - var state = setInternalState$a(that, { type: 'URL' }); - var baseState, failure; - if (base !== undefined) { - if (base instanceof URLConstructor) { baseState = getInternalURLState(base); } - else { - failure = parseURL(baseState = {}, String(base)); - if (failure) { throw TypeError(failure); } - } - } - failure = parseURL(state, urlString, null, baseState); - if (failure) { throw TypeError(failure); } - var searchParams = state.searchParams = new URLSearchParams$1(); - var searchParamsState = getInternalSearchParamsState(searchParams); - searchParamsState.updateSearchParams(state.query); - searchParamsState.updateURL = function () { - state.query = String(searchParams) || null; - }; - if (!descriptors) { - that.href = serializeURL.call(that); - that.origin = getOrigin.call(that); - that.protocol = getProtocol.call(that); - that.username = getUsername.call(that); - that.password = getPassword.call(that); - that.host = getHost.call(that); - that.hostname = getHostname.call(that); - that.port = getPort.call(that); - that.pathname = getPathname.call(that); - that.search = getSearch.call(that); - that.searchParams = getSearchParams.call(that); - that.hash = getHash.call(that); - } - }; - - var URLPrototype = URLConstructor.prototype; - - var serializeURL = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (includesCredentials(url)) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) { output += ':' + port; } - } else if (scheme == 'file') { output += '//'; } - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; - if (query !== null) { output += '?' + query; } - if (fragment !== null) { output += '#' + fragment; } - return output; - }; - - var getOrigin = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var port = url.port; - if (scheme == 'blob') { try { - return new URL(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } } - if (scheme == 'file' || !isSpecial(url)) { return 'null'; } - return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); - }; - - var getProtocol = function () { - return getInternalURLState(this).scheme + ':'; - }; - - var getUsername = function () { - return getInternalURLState(this).username; - }; - - var getPassword = function () { - return getInternalURLState(this).password; - }; - - var getHost = function () { - var url = getInternalURLState(this); - var host = url.host; - var port = url.port; - return host === null ? '' - : port === null ? serializeHost(host) - : serializeHost(host) + ':' + port; - }; - - var getHostname = function () { - var host = getInternalURLState(this).host; - return host === null ? '' : serializeHost(host); - }; - - var getPort = function () { - var port = getInternalURLState(this).port; - return port === null ? '' : String(port); - }; - - var getPathname = function () { - var url = getInternalURLState(this); - var path = url.path; - return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; - }; - - var getSearch = function () { - var query = getInternalURLState(this).query; - return query ? '?' + query : ''; - }; - - var getSearchParams = function () { - return getInternalURLState(this).searchParams; - }; - - var getHash = function () { - var fragment = getInternalURLState(this).fragment; - return fragment ? '#' + fragment : ''; - }; - - var accessorDescriptor = function (getter, setter) { - return { get: getter, set: setter, configurable: true, enumerable: true }; - }; - - if (descriptors) { - objectDefineProperties(URLPrototype, { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - href: accessorDescriptor(serializeURL, function (href) { - var url = getInternalURLState(this); - var urlString = String(href); - var failure = parseURL(url, urlString); - if (failure) { throw TypeError(failure); } - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - origin: accessorDescriptor(getOrigin), - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - protocol: accessorDescriptor(getProtocol, function (protocol) { - var url = getInternalURLState(this); - parseURL(url, String(protocol) + ':', SCHEME_START); - }), - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - username: accessorDescriptor(getUsername, function (username) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(username)); - if (cannotHaveUsernamePasswordPort(url)) { return; } - url.username = ''; - for (var i = 0; i < codePoints.length; i++) { - url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - password: accessorDescriptor(getPassword, function (password) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(password)); - if (cannotHaveUsernamePasswordPort(url)) { return; } - url.password = ''; - for (var i = 0; i < codePoints.length; i++) { - url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - host: accessorDescriptor(getHost, function (host) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) { return; } - parseURL(url, String(host), HOST); - }), - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - hostname: accessorDescriptor(getHostname, function (hostname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) { return; } - parseURL(url, String(hostname), HOSTNAME); - }), - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - port: accessorDescriptor(getPort, function (port) { - var url = getInternalURLState(this); - if (cannotHaveUsernamePasswordPort(url)) { return; } - port = String(port); - if (port == '') { url.port = null; } - else { parseURL(url, port, PORT); } - }), - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - pathname: accessorDescriptor(getPathname, function (pathname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) { return; } - url.path = []; - parseURL(url, pathname + '', PATH_START); - }), - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - search: accessorDescriptor(getSearch, function (search) { - var url = getInternalURLState(this); - search = String(search); - if (search == '') { - url.query = null; - } else { - if ('?' == search.charAt(0)) { search = search.slice(1); } - url.query = ''; - parseURL(url, search, QUERY); - } - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - searchParams: accessorDescriptor(getSearchParams), - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - hash: accessorDescriptor(getHash, function (hash) { - var url = getInternalURLState(this); - hash = String(hash); - if (hash == '') { - url.fragment = null; - return; - } - if ('#' == hash.charAt(0)) { hash = hash.slice(1); } - url.fragment = ''; - parseURL(url, hash, FRAGMENT); - }) - }); - } - - // `URL.prototype.toJSON` method - // https://url.spec.whatwg.org/#dom-url-tojson - redefine(URLPrototype, 'toJSON', function toJSON() { - return serializeURL.call(this); - }, { enumerable: true }); - - // `URL.prototype.toString` method - // https://url.spec.whatwg.org/#URL-stringification-behavior - redefine(URLPrototype, 'toString', function toString() { - return serializeURL.call(this); - }, { enumerable: true }); - - if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; - // `URL.createObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - // eslint-disable-next-line no-unused-vars - if (nativeCreateObjectURL) { redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { - return nativeCreateObjectURL.apply(NativeURL, arguments); - }); } - // `URL.revokeObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - // eslint-disable-next-line no-unused-vars - if (nativeRevokeObjectURL) { redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { - return nativeRevokeObjectURL.apply(NativeURL, arguments); - }); } - } - - setToStringTag(URLConstructor, 'URL'); - - _export({ global: true, forced: !nativeUrl, sham: !descriptors }, { - URL: URLConstructor - }); - - // `URL.prototype.toJSON` method - // https://url.spec.whatwg.org/#dom-url-tojson - _export({ target: 'URL', proto: true, enumerable: true }, { - toJSON: function toJSON() { - return URL.prototype.toString.call(this); - } - }); - - var defineProperty$c = objectDefineProperty.f; - - // `Array.prototype.lastIndex` getter - // https://github.com/keithamus/proposal-array-last - if (descriptors && !('lastIndex' in [])) { - defineProperty$c(Array.prototype, 'lastIndex', { - configurable: true, - get: function lastIndex() { - var O = toObject(this); - var len = toLength(O.length); - return len == 0 ? 0 : len - 1; - } - }); - - addToUnscopables('lastIndex'); - } - - var defineProperty$d = objectDefineProperty.f; - - // `Array.prototype.lastIndex` accessor - // https://github.com/keithamus/proposal-array-last - if (descriptors && !('lastItem' in [])) { - defineProperty$d(Array.prototype, 'lastItem', { - configurable: true, - get: function lastItem() { - var O = toObject(this); - var len = toLength(O.length); - return len == 0 ? undefined : O[len - 1]; - }, - set: function lastItem(value) { - var O = toObject(this); - var len = toLength(O.length); - return O[len == 0 ? 0 : len - 1] = value; - } - }); - - addToUnscopables('lastItem'); - } - - // `Map.groupBy` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', stat: true }, { - groupBy: function groupBy(iterable, keyDerivative) { - var newMap = new this(); - aFunction$1(keyDerivative); - var has = aFunction$1(newMap.has); - var get = aFunction$1(newMap.get); - var set = aFunction$1(newMap.set); - iterate_1(iterable, function (element) { - var derivedKey = keyDerivative(element); - if (!has.call(newMap, derivedKey)) { set.call(newMap, derivedKey, [element]); } - else { get.call(newMap, derivedKey).push(element); } - }); - return newMap; - } - }); - - // `Map.keyBy` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', stat: true }, { - keyBy: function keyBy(iterable, keyDerivative) { - var newMap = new this(); - aFunction$1(keyDerivative); - var setter = aFunction$1(newMap.set); - iterate_1(iterable, function (element) { - setter.call(newMap, keyDerivative(element), element); - }); - return newMap; - } - }); - - // https://github.com/tc39/collection-methods - var collectionDeleteAll = function (/* ...elements */) { - var arguments$1 = arguments; - - var collection = anObject(this); - var remover = aFunction$1(collection['delete']); - var allDeleted = true; - var wasDeleted; - for (var k = 0, len = arguments.length; k < len; k++) { - wasDeleted = remover.call(collection, arguments$1[k]); - allDeleted = allDeleted && wasDeleted; - } - return !!allDeleted; - }; - - // `Map.prototype.deleteAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } - }); - - var getMapIterator = function (it) { - // eslint-disable-next-line no-undef - return Map.prototype.entries.call(it); - }; - - // `Map.prototype.every` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - every: function every(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return !iterate_1(iterator, function (key, value) { - if (!boundFunction(value, key, map)) { return iterate_1.stop(); } - }, undefined, true, true).stopped; - } - }); - - // `Map.prototype.filter` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - filter: function filter(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction$1(newMap.set); - iterate_1(iterator, function (key, value) { - if (boundFunction(value, key, map)) { setter.call(newMap, key, value); } - }, undefined, true, true); - return newMap; - } - }); - - // `Map.prototype.find` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - find: function find(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate_1(iterator, function (key, value) { - if (boundFunction(value, key, map)) { return iterate_1.stop(value); } - }, undefined, true, true).result; - } - }); - - // `Map.prototype.findKey` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - findKey: function findKey(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate_1(iterator, function (key, value) { - if (boundFunction(value, key, map)) { return iterate_1.stop(key); } - }, undefined, true, true).result; - } - }); - - // `SameValueZero` abstract operation - // https://tc39.github.io/ecma262/#sec-samevaluezero - var sameValueZero = function (x, y) { - // eslint-disable-next-line no-self-compare - return x === y || x != x && y != y; - }; - - // `Map.prototype.includes` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - includes: function includes(searchElement) { - return iterate_1(getMapIterator(anObject(this)), function (key, value) { - if (sameValueZero(value, searchElement)) { return iterate_1.stop(); } - }, undefined, true, true).stopped; - } - }); - - // `Map.prototype.includes` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - keyOf: function keyOf(searchElement) { - return iterate_1(getMapIterator(anObject(this)), function (key, value) { - if (value === searchElement) { return iterate_1.stop(key); } - }, undefined, true, true).result; - } - }); - - // `Map.prototype.mapKeys` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - mapKeys: function mapKeys(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction$1(newMap.set); - iterate_1(iterator, function (key, value) { - setter.call(newMap, boundFunction(value, key, map), value); - }, undefined, true, true); - return newMap; - } - }); - - // `Map.prototype.mapValues` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - mapValues: function mapValues(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction$1(newMap.set); - iterate_1(iterator, function (key, value) { - setter.call(newMap, key, boundFunction(value, key, map)); - }, undefined, true, true); - return newMap; - } - }); - - // `Map.prototype.merge` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - // eslint-disable-next-line no-unused-vars - merge: function merge(iterable /* ...iterbles */) { - var arguments$1 = arguments; - - var map = anObject(this); - var setter = aFunction$1(map.set); - var i = 0; - while (i < arguments.length) { - iterate_1(arguments$1[i++], setter, map, true); - } - return map; - } - }); - - // `Map.prototype.reduce` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - reduce: function reduce(callbackfn /* , initialValue */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - aFunction$1(callbackfn); - iterate_1(iterator, function (key, value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = callbackfn(accumulator, value, key, map); - } - }, undefined, true, true); - if (noInitial) { throw TypeError('Reduce of empty map with no initial value'); } - return accumulator; - } - }); - - // `Set.prototype.some` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - some: function some(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate_1(iterator, function (key, value) { - if (boundFunction(value, key, map)) { return iterate_1.stop(); } - }, undefined, true, true).stopped; - } - }); - - // `Set.prototype.update` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - update: function update(key, callback /* , thunk */) { - var map = anObject(this); - var length = arguments.length; - aFunction$1(callback); - var isPresentInMap = map.has(key); - if (!isPresentInMap && length < 3) { - throw TypeError('Updating absent value'); - } - var value = isPresentInMap ? map.get(key) : aFunction$1(length > 2 ? arguments[2] : undefined)(key, map); - map.set(key, callback(value, key, map)); - return map; - } - }); - - // https://github.com/tc39/collection-methods - var collectionAddAll = function (/* ...elements */) { - var arguments$1 = arguments; - - var set = anObject(this); - var adder = aFunction$1(set.add); - for (var k = 0, len = arguments.length; k < len; k++) { - adder.call(set, arguments$1[k]); - } - return set; - }; - - // `Set.prototype.addAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - addAll: function addAll(/* ...elements */) { - return collectionAddAll.apply(this, arguments); - } - }); - - // `Set.prototype.deleteAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } - }); - - var getSetIterator = function (it) { - // eslint-disable-next-line no-undef - return Set.prototype.values.call(it); - }; - - // `Set.prototype.every` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - every: function every(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return !iterate_1(iterator, function (value) { - if (!boundFunction(value, value, set)) { return iterate_1.stop(); } - }, undefined, false, true).stopped; - } - }); - - // `Set.prototype.filter` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - filter: function filter(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aFunction$1(newSet.add); - iterate_1(iterator, function (value) { - if (boundFunction(value, value, set)) { adder.call(newSet, value); } - }, undefined, false, true); - return newSet; - } - }); - - // `Set.prototype.find` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - find: function find(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate_1(iterator, function (value) { - if (boundFunction(value, value, set)) { return iterate_1.stop(value); } - }, undefined, false, true).result; - } - }); - - // `Set.prototype.join` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - join: function join(separator) { - var set = anObject(this); - var iterator = getSetIterator(set); - var sep = separator === undefined ? ',' : String(separator); - var result = []; - iterate_1(iterator, result.push, result, false, true); - return result.join(sep); - } - }); - - // `Set.prototype.map` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - map: function map(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aFunction$1(newSet.add); - iterate_1(iterator, function (value) { - adder.call(newSet, boundFunction(value, value, set)); - }, undefined, false, true); - return newSet; - } - }); - - // `Set.prototype.reduce` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - reduce: function reduce(callbackfn /* , initialValue */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - aFunction$1(callbackfn); - iterate_1(iterator, function (value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = callbackfn(accumulator, value, value, set); - } - }, undefined, false, true); - if (noInitial) { throw TypeError('Reduce of empty set with no initial value'); } - return accumulator; - } - }); - - // `Set.prototype.some` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - some: function some(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate_1(iterator, function (value) { - if (boundFunction(value, value, set)) { return iterate_1.stop(); } - }, undefined, false, true).stopped; - } - }); - - // `WeakMap.prototype.deleteAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } - }); - - // `WeakSet.prototype.addAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, { - addAll: function addAll(/* ...elements */) { - return collectionAddAll.apply(this, arguments); - } - }); - - // `WeakSet.prototype.deleteAll` method - // https://github.com/tc39/proposal-collection-methods - _export({ target: 'WeakSet', proto: true, real: true, forced: isPure }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } - }); - - // https://tc39.github.io/proposal-setmap-offrom/ - - - - - var collectionFrom = function from(source /* , mapFn, thisArg */) { - var length = arguments.length; - var mapFn = length > 1 ? arguments[1] : undefined; - var mapping, A, n, boundFunction; - aFunction$1(this); - mapping = mapFn !== undefined; - if (mapping) { aFunction$1(mapFn); } - if (source == undefined) { return new this(); } - A = []; - if (mapping) { - n = 0; - boundFunction = functionBindContext(mapFn, length > 2 ? arguments[2] : undefined, 2); - iterate_1(source, function (nextItem) { - A.push(boundFunction(nextItem, n++)); - }); - } else { - iterate_1(source, A.push, A); - } - return new this(A); - }; - - // `Map.from` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from - _export({ target: 'Map', stat: true }, { - from: collectionFrom - }); - - // https://tc39.github.io/proposal-setmap-offrom/ - var collectionOf = function of() { - var arguments$1 = arguments; - - var length = arguments.length; - var A = new Array(length); - while (length--) { A[length] = arguments$1[length]; } - return new this(A); - }; - - // `Map.of` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of - _export({ target: 'Map', stat: true }, { - of: collectionOf - }); - - // `Set.from` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from - _export({ target: 'Set', stat: true }, { - from: collectionFrom - }); - - // `Set.of` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of - _export({ target: 'Set', stat: true }, { - of: collectionOf - }); - - // `WeakMap.from` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from - _export({ target: 'WeakMap', stat: true }, { - from: collectionFrom - }); - - // `WeakMap.of` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of - _export({ target: 'WeakMap', stat: true }, { - of: collectionOf - }); - - // `WeakSet.from` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from - _export({ target: 'WeakSet', stat: true }, { - from: collectionFrom - }); - - // `WeakSet.of` method - // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of - _export({ target: 'WeakSet', stat: true }, { - of: collectionOf - }); - - // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` - - - - - - var Node = function () { - // keys - this.object = null; - this.symbol = null; - // child nodes - this.primitives = null; - this.objectsByIndex = objectCreate(null); - }; - - Node.prototype.get = function (key, initializer) { - return this[key] || (this[key] = initializer()); - }; - - Node.prototype.next = function (i, it, IS_OBJECT) { - var store = IS_OBJECT - ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new es_weakMap()) - : this.primitives || (this.primitives = new es_map()); - var entry = store.get(it); - if (!entry) { store.set(it, entry = new Node()); } - return entry; - }; - - var root = new Node(); - - var compositeKey = function () { - var arguments$1 = arguments; - - var active = root; - var length = arguments.length; - var i, it; - // for prevent leaking, start from objects - for (i = 0; i < length; i++) { - if (isObject(it = arguments$1[i])) { active = active.next(i, it, true); } - } - if (this === Object && active === root) { throw TypeError('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 initializer = function () { - var freeze = getBuiltIn('Object', 'freeze'); - return freeze ? freeze(objectCreate(null)) : objectCreate(null); - }; - - // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey - _export({ global: true }, { - compositeKey: function compositeKey$1() { - return compositeKey.apply(Object, arguments).get('object', initializer); - } - }); - - // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey - _export({ global: true }, { - compositeSymbol: function compositeSymbol() { - if (arguments.length === 1 && typeof arguments[0] === 'string') { return getBuiltIn('Symbol')['for'](arguments[0]); } - return compositeKey.apply(null, arguments).get('symbol', getBuiltIn('Symbol')); - } - }); - - var min$9 = Math.min; - var max$4 = Math.max; - - // `Math.clamp` method - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - clamp: function clamp(x, lower, upper) { - return min$9(upper, max$4(lower, x)); - } - }); - - // `Math.DEG_PER_RAD` constant - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - DEG_PER_RAD: Math.PI / 180 - }); - - var RAD_PER_DEG = 180 / Math.PI; - - // `Math.degrees` method - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - degrees: function degrees(radians) { - return radians * RAD_PER_DEG; - } - }); - - // `Math.scale` method implementation - // https://rwaldron.github.io/proposal-math-extensions/ - var mathScale = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { - if ( - arguments.length === 0 - /* eslint-disable no-self-compare */ - || x != x - || inLow != inLow - || inHigh != inHigh - || outLow != outLow - || outHigh != outHigh - /* eslint-enable no-self-compare */ - ) { return NaN; } - if (x === Infinity || x === -Infinity) { return x; } - return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; - }; - - // `Math.fscale` method - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { - return mathFround(mathScale(x, inLow, inHigh, outLow, outHigh)); - } - }); - - // `Math.RAD_PER_DEG` constant - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - RAD_PER_DEG: 180 / Math.PI - }); - - var DEG_PER_RAD = Math.PI / 180; - - // `Math.radians` method - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - radians: function radians(degrees) { - return degrees * DEG_PER_RAD; - } - }); - - // `Math.scale` method - // https://rwaldron.github.io/proposal-math-extensions/ - _export({ target: 'Math', stat: true }, { - scale: mathScale - }); - - // `Math.signbit` method - // https://github.com/tc39/proposal-Math.signbit - _export({ target: 'Math', stat: true }, { - signbit: function signbit(x) { - return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0; - } - }); - - var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; - var INVALID_RADIX = 'Invalid radix'; - var valid = /^[\da-z]+$/; - - // `Number.fromString` method - // https://github.com/tc39/proposal-number-fromstring - _export({ target: 'Number', stat: true }, { - fromString: function fromString(string, radix) { - var sign = 1; - var R, mathNum; - if (typeof string != 'string') { throw TypeError(INVALID_NUMBER_REPRESENTATION); } - if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); } - if (string.charAt(0) == '-') { - sign = -1; - string = string.slice(1); - if (!string.length) { throw SyntaxError(INVALID_NUMBER_REPRESENTATION); } - } - R = radix === undefined ? 10 : toInteger(radix); - if (R < 2 || R > 36) { throw RangeError(INVALID_RADIX); } - if (!valid.test(string) || (mathNum = numberParseInt(string, R)).toString(R) !== string) { - throw SyntaxError(INVALID_NUMBER_REPRESENTATION); - } - return sign * mathNum; - } - }); - - var OBJECT_ITERATOR = 'Object Iterator'; - var setInternalState$b = internalState.set; - var getInternalState$7 = internalState.getterFor(OBJECT_ITERATOR); - - var objectIterator = createIteratorConstructor(function ObjectIterator(source, mode) { - var object = toObject(source); - setInternalState$b(this, { - type: OBJECT_ITERATOR, - mode: mode, - object: object, - keys: objectKeys(object), - index: 0 - }); - }, 'Object', function next() { - var state = getInternalState$7(this); - var keys = state.keys; - while (true) { - if (keys === null || state.index >= keys.length) { - state.object = state.keys = null; - return { value: undefined, done: true }; - } - var key = keys[state.index++]; - var object = state.object; - if (!has(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 }; - } - }); - - // `Object.iterateEntries` method - // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true }, { - iterateEntries: function iterateEntries(object) { - return new objectIterator(object, 'entries'); - } - }); - - // `Object.iterateKeys` method - // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true }, { - iterateKeys: function iterateKeys(object) { - return new objectIterator(object, 'keys'); - } - }); - - // `Object.iterateValues` method - // https://github.com/tc39/proposal-object-iteration - _export({ target: 'Object', stat: true }, { - iterateValues: function iterateValues(object) { - return new objectIterator(object, 'values'); - } - }); - - // https://github.com/tc39/proposal-observable - - - - - - - - var defineProperty$e = objectDefineProperty.f; - - - - - - - - - var OBSERVABLE = wellKnownSymbol('observable'); - var getInternalState$8 = internalState.get; - var setInternalState$c = internalState.set; - - var getMethod = function (fn) { - return fn == null ? undefined : aFunction$1(fn); - }; - - var cleanupSubscription = function (subscriptionState) { - var cleanup = subscriptionState.cleanup; - if (cleanup) { - subscriptionState.cleanup = undefined; - try { - cleanup(); - } catch (error) { - hostReportErrors(error); - } - } - }; - - var subscriptionClosed = function (subscriptionState) { - return subscriptionState.observer === undefined; - }; - - var close = function (subscription, subscriptionState) { - if (!descriptors) { - subscription.closed = true; - var subscriptionObserver = subscriptionState.subscriptionObserver; - if (subscriptionObserver) { subscriptionObserver.closed = true; } - } subscriptionState.observer = undefined; - }; - - var Subscription = function (observer, subscriber) { - var subscriptionState = setInternalState$c(this, { - cleanup: undefined, - observer: anObject(observer), - subscriptionObserver: undefined - }); - var start; - if (!descriptors) { this.closed = false; } - try { - if (start = getMethod(observer.start)) { start.call(observer, this); } - } catch (error) { - hostReportErrors(error); - } - if (subscriptionClosed(subscriptionState)) { return; } - var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this); - try { - var cleanup = subscriber(subscriptionObserver); - var subscription = cleanup; - if (cleanup != null) { subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function' - ? function () { subscription.unsubscribe(); } - : aFunction$1(cleanup); } - } catch (error) { - subscriptionObserver.error(error); - return; - } if (subscriptionClosed(subscriptionState)) { cleanupSubscription(subscriptionState); } - }; - - Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe() { - var subscriptionState = getInternalState$8(this); - if (!subscriptionClosed(subscriptionState)) { - close(this, subscriptionState); - cleanupSubscription(subscriptionState); - } - } - }); - - if (descriptors) { defineProperty$e(Subscription.prototype, 'closed', { - configurable: true, - get: function () { - return subscriptionClosed(getInternalState$8(this)); - } - }); } - - var SubscriptionObserver = function (subscription) { - setInternalState$c(this, { subscription: subscription }); - if (!descriptors) { this.closed = false; } - }; - - SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value) { - var subscriptionState = getInternalState$8(getInternalState$8(this).subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - try { - var nextMethod = getMethod(observer.next); - if (nextMethod) { nextMethod.call(observer, value); } - } catch (error) { - hostReportErrors(error); - } - } - }, - error: function error(value) { - var subscription = getInternalState$8(this).subscription; - var subscriptionState = getInternalState$8(subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - close(subscription, subscriptionState); - try { - var errorMethod = getMethod(observer.error); - if (errorMethod) { errorMethod.call(observer, value); } - else { hostReportErrors(value); } - } catch (err) { - hostReportErrors(err); - } cleanupSubscription(subscriptionState); - } - }, - complete: function complete() { - var subscription = getInternalState$8(this).subscription; - var subscriptionState = getInternalState$8(subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - close(subscription, subscriptionState); - try { - var completeMethod = getMethod(observer.complete); - if (completeMethod) { completeMethod.call(observer); } - } catch (error) { - hostReportErrors(error); - } cleanupSubscription(subscriptionState); - } - } - }); - - if (descriptors) { defineProperty$e(SubscriptionObserver.prototype, 'closed', { - configurable: true, - get: function () { - return subscriptionClosed(getInternalState$8(getInternalState$8(this).subscription)); - } - }); } - - var $Observable = function Observable(subscriber) { - anInstance(this, $Observable, 'Observable'); - setInternalState$c(this, { subscriber: aFunction$1(subscriber) }); - }; - - redefineAll($Observable.prototype, { - subscribe: function subscribe(observer) { - var length = arguments.length; - return new Subscription(typeof observer === 'function' ? { - next: observer, - error: length > 1 ? arguments[1] : undefined, - complete: length > 2 ? arguments[2] : undefined - } : isObject(observer) ? observer : {}, getInternalState$8(this).subscriber); - } - }); - - redefineAll($Observable, { - from: function from(x) { - var C = typeof this === 'function' ? this : $Observable; - var observableMethod = getMethod(anObject(x)[OBSERVABLE]); - if (observableMethod) { - var observable = anObject(observableMethod.call(x)); - return observable.constructor === C ? observable : new C(function (observer) { - return observable.subscribe(observer); - }); - } - var iterator = getIterator(x); - return new C(function (observer) { - iterate_1(iterator, function (it) { - observer.next(it); - if (observer.closed) { return iterate_1.stop(); } - }, undefined, false, true); - observer.complete(); - }); - }, - of: function of() { - var arguments$1 = arguments; - - var C = typeof this === 'function' ? this : $Observable; - var length = arguments.length; - var items = new Array(length); - var index = 0; - while (index < length) { items[index] = arguments$1[index++]; } - return new C(function (observer) { - for (var i = 0; i < length; i++) { - observer.next(items[i]); - if (observer.closed) { return; } - } observer.complete(); - }); - } - }); - - createNonEnumerableProperty($Observable.prototype, OBSERVABLE, function () { return this; }); - - _export({ global: true }, { - Observable: $Observable - }); - - setSpecies('Observable'); - - // `Symbol.observable` well-known symbol - // https://github.com/tc39/proposal-observable - defineWellKnownSymbol('observable'); - - // `Symbol.patternMatch` well-known symbol - // https://github.com/tc39/proposal-pattern-matching - defineWellKnownSymbol('patternMatch'); - - // `Promise.try` method - // https://github.com/tc39/proposal-promise-try - _export({ target: 'Promise', stat: true }, { - 'try': function (callbackfn) { - var promiseCapability = newPromiseCapability.f(this); - var result = perform(callbackfn); - (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); - return promiseCapability.promise; - } - }); - - var SEEDED_RANDOM = 'Seeded Random'; - var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator'; - var setInternalState$d = internalState.set; - var getInternalState$9 = internalState.getterFor(SEEDED_RANDOM_GENERATOR); - var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; - - var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { - setInternalState$d(this, { - type: SEEDED_RANDOM_GENERATOR, - seed: seed % 2147483647 - }); - }, SEEDED_RANDOM, function next() { - var state = getInternalState$9(this); - var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647; - return { value: (seed & 1073741823) / 1073741823, done: false }; - }); - - // `Math.seededPRNG` method - // https://github.com/tc39/proposal-seeded-random - // based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html - _export({ target: 'Math', stat: true, forced: true }, { - seededPRNG: function seededPRNG(it) { - var seed = anObject(it).seed; - if (!numberIsFinite(seed)) { throw TypeError(SEED_TYPE_ERROR); } - return new $SeededRandomGenerator(seed); - } - }); - - var codeAt$2 = stringMultibyte.codeAt; - var charAt$3 = stringMultibyte.charAt; - var STRING_ITERATOR$1 = 'String Iterator'; - var setInternalState$e = internalState.set; - var getInternalState$a = internalState.getterFor(STRING_ITERATOR$1); - - // TODO: unify with String#@@iterator - var $StringIterator = createIteratorConstructor(function StringIterator(string) { - setInternalState$e(this, { - type: STRING_ITERATOR$1, - string: string, - index: 0 - }); - }, 'String', function next() { - var state = getInternalState$a(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) { return { value: undefined, done: true }; } - point = charAt$3(string, index); - state.index += point.length; - return { value: { codePoint: codeAt$2(point, 0), position: index }, done: false }; - }); - - // `String.prototype.codePoints` method - // https://github.com/tc39/proposal-string-prototype-codepoints - _export({ target: 'String', proto: true }, { - codePoints: function codePoints() { - return new $StringIterator(String(requireObjectCoercible(this))); - } - }); - - var isFrozen = Object.isFrozen; - - var isFrozenStringArray = function (array, allowUndefined) { - if (!isFrozen || !isArray(array) || !isFrozen(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'))) { - return false; - } - } return length !== 0; - }; - - // `Array.isTemplateObject` method - // https://github.com/tc39/proposal-array-is-template-object - _export({ target: 'Array', stat: true }, { - isTemplateObject: function isTemplateObject(value) { - if (!isFrozenStringArray(value, true)) { return false; } - var raw = value.raw; - if (raw.length !== value.length || !isFrozenStringArray(raw, false)) { return false; } - return true; - } - }); - - var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; - var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); - var AsyncIterator = global_1.AsyncIterator; - var PassedAsyncIteratorPrototype = sharedStore.AsyncIteratorPrototype; - var AsyncIteratorPrototype, prototype; - - { - if (PassedAsyncIteratorPrototype) { - AsyncIteratorPrototype = PassedAsyncIteratorPrototype; - } else if (typeof AsyncIterator == 'function') { - AsyncIteratorPrototype = AsyncIterator.prototype; - } else if (sharedStore[USE_FUNCTION_CONSTRUCTOR] || global_1[USE_FUNCTION_CONSTRUCTOR]) { - try { - // eslint-disable-next-line no-new-func - prototype = objectGetPrototypeOf(objectGetPrototypeOf(objectGetPrototypeOf(Function('return async function*(){}()')()))); - if (objectGetPrototypeOf(prototype) === Object.prototype) { AsyncIteratorPrototype = prototype; } - } catch (error) { /* empty */ } - } - } - - if (!AsyncIteratorPrototype) { AsyncIteratorPrototype = {}; } - - if (!has(AsyncIteratorPrototype, ASYNC_ITERATOR)) { - createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR, function () { - return this; - }); - } - - var asyncIteratorPrototype = AsyncIteratorPrototype; - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag'); - - var AsyncIteratorConstructor = function AsyncIterator() { - anInstance(this, AsyncIteratorConstructor); - }; - - AsyncIteratorConstructor.prototype = asyncIteratorPrototype; - - if (!has(asyncIteratorPrototype, TO_STRING_TAG$4)) { - createNonEnumerableProperty(asyncIteratorPrototype, TO_STRING_TAG$4, 'AsyncIterator'); - } - - if (!has(asyncIteratorPrototype, 'constructor') || asyncIteratorPrototype.constructor === Object) { - createNonEnumerableProperty(asyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); - } - - _export({ global: true, forced: isPure }, { - AsyncIterator: AsyncIteratorConstructor - }); - - var Promise$2 = getBuiltIn('Promise'); - - var setInternalState$f = internalState.set; - var getInternalState$b = internalState.get; - - var TO_STRING_TAG$5 = wellKnownSymbol('toStringTag'); - - var $return = function (value) { - var iterator = getInternalState$b(this).iterator; - var $$return = iterator['return']; - return $$return === undefined - ? Promise$2.resolve({ done: true, value: value }) - : anObject($$return.call(iterator, value)); - }; - - var $throw = function (value) { - var iterator = getInternalState$b(this).iterator; - var $$throw = iterator['throw']; - return $$throw === undefined - ? Promise$2.reject(value) - : $$throw.call(iterator, value); - }; - - var asyncIteratorCreateProxy = function (nextHandler, IS_ITERATOR) { - var AsyncIteratorProxy = function AsyncIterator(state) { - state.next = aFunction$1(state.iterator.next); - state.done = false; - setInternalState$f(this, state); - }; - - AsyncIteratorProxy.prototype = redefineAll(objectCreate(path.AsyncIterator.prototype), { - next: function next(arg) { - var state = getInternalState$b(this); - if (state.done) { return Promise$2.resolve({ done: true, value: undefined }); } - try { - return Promise$2.resolve(anObject(nextHandler.call(state, arg, Promise$2))); - } catch (error) { - return Promise$2.reject(error); - } - }, - 'return': $return, - 'throw': $throw - }); - - if (!IS_ITERATOR) { - createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG$5, 'Generator'); - } - - return AsyncIteratorProxy; - }; - - // https://github.com/tc39/proposal-iterator-helpers - - - - - var AsyncIteratorProxy = asyncIteratorCreateProxy(function (arg, Promise) { - var state = this; - var iterator = state.iterator; - - return Promise.resolve(anObject(state.next.call(iterator, arg))).then(function (step) { - if (anObject(step).done) { - state.done = true; - return { done: true, value: undefined }; - } - return { done: false, value: [state.index++, step.value] }; - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - asIndexedPairs: function asIndexedPairs() { - return new AsyncIteratorProxy({ - iterator: anObject(this), - index: 0 - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var AsyncIteratorProxy$1 = asyncIteratorCreateProxy(function (arg, Promise) { - var state = this; - - return new Promise(function (resolve, reject) { - var loop = function () { - try { - Promise.resolve( - anObject(state.next.call(state.iterator, state.remaining ? undefined : arg)) - ).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) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - drop: function drop(limit) { - return new AsyncIteratorProxy$1({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - var Promise$3 = getBuiltIn('Promise'); - var push$1 = [].push; - - var createMethod$7 = function (TYPE) { - var IS_TO_ARRAY = TYPE == 0; - var IS_FOR_EACH = TYPE == 1; - var IS_EVERY = TYPE == 2; - var IS_SOME = TYPE == 3; - return function (iterator, fn) { - anObject(iterator); - var next = aFunction$1(iterator.next); - var array = IS_TO_ARRAY ? [] : undefined; - if (!IS_TO_ARRAY) { aFunction$1(fn); } - - return new Promise$3(function (resolve, reject) { - var loop = function () { - try { - Promise$3.resolve(anObject(next.call(iterator))).then(function (step) { - try { - if (anObject(step).done) { - resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined); - } else { - var value = step.value; - if (IS_TO_ARRAY) { - push$1.call(array, value); - loop(); - } else { - Promise$3.resolve(fn(value)).then(function (result) { - if (IS_FOR_EACH) { - loop(); - } else if (IS_EVERY) { - result ? loop() : resolve(false); - } else { - result ? resolve(IS_SOME || value) : loop(); - } - }, reject); - } - } - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); - }; - }; - - var asyncIteratorIteration = { - toArray: createMethod$7(0), - forEach: createMethod$7(1), - every: createMethod$7(2), - some: createMethod$7(3), - find: createMethod$7(4) - }; - - // https://github.com/tc39/proposal-iterator-helpers - - var $every$2 = asyncIteratorIteration.every; - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - every: function every(fn) { - return $every$2(this, fn); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var AsyncIteratorProxy$2 = asyncIteratorCreateProxy(function (arg, Promise) { - var state = this; - var filterer = state.filterer; - - return new Promise(function (resolve, reject) { - var loop = function () { - try { - Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else { - var value = step.value; - Promise.resolve(filterer(value)).then(function (selected) { - selected ? resolve({ done: false, value: value }) : loop(); - }, reject); - } - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - filter: function filter(filterer) { - return new AsyncIteratorProxy$2({ - iterator: anObject(this), - filterer: aFunction$1(filterer) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $find$2 = asyncIteratorIteration.find; - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - find: function find(fn) { - return $find$2(this, fn); - } - }); - - var ASYNC_ITERATOR$1 = wellKnownSymbol('asyncIterator'); - - var getAsyncIteratorMethod = function (it) { - var method = it[ASYNC_ITERATOR$1]; - return method === undefined ? getIteratorMethod(it) : method; - }; - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - var AsyncIteratorProxy$3 = asyncIteratorCreateProxy(function (arg, Promise) { - var state = this; - var mapper = state.mapper; - var innerIterator, iteratorMethod; - - return new Promise(function (resolve, reject) { - var outerLoop = function () { - try { - Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else { - Promise.resolve(mapper(step.value)).then(function (mapped) { - try { - iteratorMethod = getAsyncIteratorMethod(mapped); - if (iteratorMethod !== undefined) { - state.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped)); - state.innerNext = aFunction$1(innerIterator.next); - return innerLoop(); - } reject(TypeError('.flatMap callback should return an iterable object')); - } catch (error2) { reject(error2); } - }, reject); - } - } catch (error1) { reject(error1); } - }, reject); - } catch (error) { reject(error); } - }; - - var innerLoop = function () { - if (innerIterator = state.innerIterator) { - try { - Promise.resolve(anObject(state.innerNext.call(innerIterator))).then(function (result) { - try { - if (anObject(result).done) { - state.innerIterator = state.innerNext = null; - outerLoop(); - } else { resolve({ done: false, value: result.value }); } - } catch (error1) { reject(error1); } - }, reject); - } catch (error) { reject(error); } - } else { outerLoop(); } - }; - - innerLoop(); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - flatMap: function flatMap(mapper) { - return new AsyncIteratorProxy$3({ - iterator: anObject(this), - mapper: aFunction$1(mapper), - innerIterator: null, - innerNext: null - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $forEach$3 = asyncIteratorIteration.forEach; - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - forEach: function forEach(fn) { - return $forEach$3(this, fn); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var AsyncIterator$1 = path.AsyncIterator; - - var AsyncIteratorProxy$4 = asyncIteratorCreateProxy(function (arg) { - return anObject(this.next.call(this.iterator, arg)); - }, true); - - _export({ target: 'AsyncIterator', stat: true }, { - from: function from(O) { - var object = toObject(O); - var usingIterator = getAsyncIteratorMethod(object); - var iterator; - if (usingIterator != null) { - iterator = aFunction$1(usingIterator).call(object); - if (iterator instanceof AsyncIterator$1) { return iterator; } - } else { - iterator = object; - } return new AsyncIteratorProxy$4({ - iterator: iterator - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var AsyncIteratorProxy$5 = asyncIteratorCreateProxy(function (arg, Promise) { - var state = this; - var mapper = state.mapper; - - return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { - if (anObject(step).done) { - state.done = true; - return { done: true, value: undefined }; - } - return Promise.resolve(mapper(step.value)).then(function (value) { - return { done: false, value: value }; - }); - }); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - map: function map(mapper) { - return new AsyncIteratorProxy$5({ - iterator: anObject(this), - mapper: aFunction$1(mapper) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var Promise$4 = getBuiltIn('Promise'); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - reduce: function reduce(reducer /* , initialValue */) { - var iterator = anObject(this); - var next = aFunction$1(iterator.next); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - aFunction$1(reducer); - - return new Promise$4(function (resolve, reject) { - var loop = function () { - try { - Promise$4.resolve(anObject(next.call(iterator))).then(function (step) { - try { - if (anObject(step).done) { - noInitial ? reject(TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator); - } else { - var value = step.value; - if (noInitial) { - noInitial = false; - accumulator = value; - loop(); - } else { - Promise$4.resolve(reducer(accumulator, value)).then(function (result) { - accumulator = result; - loop(); - }, reject); - } - } - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $some$2 = asyncIteratorIteration.some; - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - some: function some(fn) { - return $some$2(this, fn); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var AsyncIteratorProxy$6 = asyncIteratorCreateProxy(function (arg) { - if (!this.remaining--) { - this.done = true; - return { done: true, value: undefined }; - } return this.next.call(this.iterator, arg); - }); - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - take: function take(limit) { - return new AsyncIteratorProxy$6({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - var $toArray = asyncIteratorIteration.toArray; - - _export({ target: 'AsyncIterator', proto: true, real: true }, { - toArray: function toArray() { - return $toArray(this); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - var IteratorPrototype$3 = iteratorsCore.IteratorPrototype; - - - var ITERATOR$8 = wellKnownSymbol('iterator'); - var TO_STRING_TAG$6 = wellKnownSymbol('toStringTag'); - - var NativeIterator = global_1.Iterator; - - // FF56- have non-standard global helper `Iterator` - var FORCED$l = typeof NativeIterator != 'function' - || NativeIterator.prototype !== IteratorPrototype$3 - // FF44- non-standard `Iterator` passes previous tests - || !fails(function () { NativeIterator({}); }); - - var IteratorConstructor = function Iterator() { - anInstance(this, IteratorConstructor); - }; - - if (!has(IteratorPrototype$3, TO_STRING_TAG$6)) { - createNonEnumerableProperty(IteratorPrototype$3, TO_STRING_TAG$6, 'Iterator'); - } - - if (FORCED$l || !has(IteratorPrototype$3, 'constructor') || IteratorPrototype$3.constructor === Object) { - createNonEnumerableProperty(IteratorPrototype$3, 'constructor', IteratorConstructor); - } - - IteratorConstructor.prototype = IteratorPrototype$3; - - _export({ global: true, forced: FORCED$l }, { - Iterator: IteratorConstructor - }); - - var setInternalState$g = internalState.set; - var getInternalState$c = internalState.get; - - var TO_STRING_TAG$7 = wellKnownSymbol('toStringTag'); - - var $return$1 = function (value) { - var iterator = getInternalState$c(this).iterator; - var $$return = iterator['return']; - return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value)); - }; - - var $throw$1 = function (value) { - var iterator = getInternalState$c(this).iterator; - var $$throw = iterator['throw']; - if ($$throw === undefined) { throw value; } - return $$throw.call(iterator, value); - }; - - var iteratorCreateProxy = function (nextHandler, IS_ITERATOR) { - var IteratorProxy = function Iterator(state) { - state.next = aFunction$1(state.iterator.next); - state.done = false; - setInternalState$g(this, state); - }; - - IteratorProxy.prototype = redefineAll(objectCreate(path.Iterator.prototype), { - next: function next() { - var state = getInternalState$c(this); - var result = state.done ? undefined : nextHandler.apply(state, arguments); - return { done: state.done, value: result }; - }, - 'return': $return$1, - 'throw': $throw$1 - }); - - if (!IS_ITERATOR) { - createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG$7, 'Generator'); - } - - return IteratorProxy; - }; - - // https://github.com/tc39/proposal-iterator-helpers - - - - - var IteratorProxy = iteratorCreateProxy(function (arg) { - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) { return [this.index++, result.value]; } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - asIndexedPairs: function asIndexedPairs() { - return new IteratorProxy({ - iterator: anObject(this), - index: 0 - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var IteratorProxy$1 = iteratorCreateProxy(function (arg) { - var iterator = this.iterator; - var next = this.next; - var result, done; - while (this.remaining) { - this.remaining--; - result = anObject(next.call(iterator)); - done = this.done = !!result.done; - if (done) { return; } - } - result = anObject(next.call(iterator, arg)); - done = this.done = !!result.done; - if (!done) { return result.value; } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - drop: function drop(limit) { - return new IteratorProxy$1({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true }, { - every: function every(fn) { - anObject(this); - aFunction$1(fn); - return !iterate_1(this, function (value) { - if (!fn(value)) { return iterate_1.stop(); } - }, undefined, false, true).stopped; - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - var IteratorProxy$2 = iteratorCreateProxy(function (arg) { - var iterator = this.iterator; - var filterer = this.filterer; - var next = this.next; - var result, done, value; - while (true) { - result = anObject(next.call(iterator, arg)); - done = this.done = !!result.done; - if (done) { return; } - value = result.value; - if (callWithSafeIterationClosing(iterator, filterer, value)) { return value; } - } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - filter: function filter(filterer) { - return new IteratorProxy$2({ - iterator: anObject(this), - filterer: aFunction$1(filterer) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true }, { - find: function find(fn) { - anObject(this); - aFunction$1(fn); - return iterate_1(this, function (value) { - if (fn(value)) { return iterate_1.stop(value); } - }, undefined, false, true).result; - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - var IteratorProxy$3 = iteratorCreateProxy(function (arg) { - var iterator = this.iterator; - var result, mapped, iteratorMethod, innerIterator; - - while (true) { - if (innerIterator = this.innerIterator) { - result = anObject(this.innerNext.call(innerIterator)); - if (!result.done) { return result.value; } - this.innerIterator = this.innerNext = null; - } - - result = anObject(this.next.call(iterator, arg)); - - if (this.done = !!result.done) { return; } - - mapped = callWithSafeIterationClosing(iterator, this.mapper, result.value); - iteratorMethod = getIteratorMethod(mapped); - - if (iteratorMethod === undefined) { - throw TypeError('.flatMap callback should return an iterable object'); - } - - this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped)); - this.innerNext = aFunction$1(innerIterator.next); - } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - flatMap: function flatMap(mapper) { - return new IteratorProxy$3({ - iterator: anObject(this), - mapper: aFunction$1(mapper), - innerIterator: null, - innerNext: null - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - _export({ target: 'Iterator', proto: true, real: true }, { - forEach: function forEach(fn) { - iterate_1(anObject(this), fn, undefined, false, true); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - - - var Iterator = path.Iterator; - - var IteratorProxy$4 = iteratorCreateProxy(function (arg) { - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) { return result.value; } - }, true); - - _export({ target: 'Iterator', stat: true }, { - from: function from(O) { - var object = toObject(O); - var usingIterator = getIteratorMethod(object); - var iterator; - if (usingIterator != null) { - iterator = aFunction$1(usingIterator).call(object); - if (iterator instanceof Iterator) { return iterator; } - } else { - iterator = object; - } return new IteratorProxy$4({ - iterator: iterator - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - - var IteratorProxy$5 = iteratorCreateProxy(function (arg) { - var iterator = this.iterator; - var result = anObject(this.next.call(iterator, arg)); - var done = this.done = !!result.done; - if (!done) { return callWithSafeIterationClosing(iterator, this.mapper, result.value); } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - map: function map(mapper) { - return new IteratorProxy$5({ - iterator: anObject(this), - mapper: aFunction$1(mapper) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true }, { - reduce: function reduce(reducer /* , initialValue */) { - anObject(this); - aFunction$1(reducer); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - iterate_1(this, function (value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = reducer(accumulator, value); - } - }, undefined, false, true); - if (noInitial) { throw TypeError('Reduce of empty iterator with no initial value'); } - return accumulator; - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - _export({ target: 'Iterator', proto: true, real: true }, { - some: function some(fn) { - anObject(this); - aFunction$1(fn); - return iterate_1(this, function (value) { - if (fn(value)) { return iterate_1.stop(); } - }, undefined, false, true).stopped; - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - - var IteratorProxy$6 = iteratorCreateProxy(function (arg) { - if (!this.remaining--) { - this.done = true; - return; - } - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) { return result.value; } - }); - - _export({ target: 'Iterator', proto: true, real: true }, { - take: function take(limit) { - return new IteratorProxy$6({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } - }); - - // https://github.com/tc39/proposal-iterator-helpers - - - - - var push$2 = [].push; - - _export({ target: 'Iterator', proto: true, real: true }, { - toArray: function toArray() { - var result = []; - iterate_1(anObject(this), push$2, result, false, true); - return result; - } - }); - - // `Map.prototype.upsert` method - // https://github.com/thumbsupep/proposal-upsert - var mapUpsert = function upsert(key, updateFn /* , insertFn */) { - var map = anObject(this); - var insertFn = arguments.length > 2 ? arguments[2] : undefined; - var value; - if (typeof updateFn != 'function' && typeof insertFn != 'function') { - throw TypeError('At least one callback required'); - } - if (map.has(key)) { - value = map.get(key); - if (typeof updateFn == 'function') { - value = updateFn(value); - map.set(key, value); - } - } else if (typeof insertFn == 'function') { - value = insertFn(); - map.set(key, value); - } return value; - }; - - // TODO: remove from `core-js@4` - - - - - // `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.upsert`) - // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - updateOrInsert: mapUpsert - }); - - // `Map.prototype.upsert` method - // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'Map', proto: true, real: true, forced: isPure }, { - upsert: mapUpsert - }); - - // `WeakMap.prototype.upsert` method - // https://github.com/thumbsupep/proposal-upsert - _export({ target: 'WeakMap', proto: true, real: true, forced: isPure }, { - upsert: mapUpsert - }); - - // `Set.prototype.difference` method - // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - difference: function difference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aFunction$1(newSet['delete']); - iterate_1(iterable, function (value) { - remover.call(newSet, value); - }); - return newSet; - } - }); - - // `Set.prototype.intersection` method - // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - intersection: function intersection(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var hasCheck = aFunction$1(set.has); - var adder = aFunction$1(newSet.add); - iterate_1(iterable, function (value) { - if (hasCheck.call(set, value)) { adder.call(newSet, value); } - }); - return newSet; - } - }); - - // `Set.prototype.isDisjointFrom` method - // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - isDisjointFrom: function isDisjointFrom(iterable) { - var set = anObject(this); - var hasCheck = aFunction$1(set.has); - return !iterate_1(iterable, function (value) { - if (hasCheck.call(set, value) === true) { return iterate_1.stop(); } - }).stopped; - } - }); - - // `Set.prototype.isSubsetOf` method - // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - isSubsetOf: function isSubsetOf(iterable) { - var iterator = getIterator(this); - var otherSet = anObject(iterable); - var hasCheck = otherSet.has; - if (typeof hasCheck != 'function') { - otherSet = new (getBuiltIn('Set'))(iterable); - hasCheck = aFunction$1(otherSet.has); - } - return !iterate_1(iterator, function (value) { - if (hasCheck.call(otherSet, value) === false) { return iterate_1.stop(); } - }, undefined, false, true).stopped; - } - }); - - // `Set.prototype.isSupersetOf` method - // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - isSupersetOf: function isSupersetOf(iterable) { - var set = anObject(this); - var hasCheck = aFunction$1(set.has); - return !iterate_1(iterable, function (value) { - if (hasCheck.call(set, value) === false) { return iterate_1.stop(); } - }).stopped; - } - }); - - // `Set.prototype.union` method - // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - union: function union(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - iterate_1(iterable, aFunction$1(newSet.add), newSet); - return newSet; - } - }); - - // `Set.prototype.symmetricDifference` method - // https://github.com/tc39/proposal-set-methods - _export({ target: 'Set', proto: true, real: true, forced: isPure }, { - symmetricDifference: function symmetricDifference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aFunction$1(newSet['delete']); - var adder = aFunction$1(newSet.add); - iterate_1(iterable, function (value) { - remover.call(newSet, value) || adder.call(newSet, value); - }); - return newSet; - } - }); - - // `Symbol.asyncDispose` well-known symbol - // https://github.com/tc39/proposal-using-statement - defineWellKnownSymbol('asyncDispose'); - - // `Symbol.dispose` well-known symbol - // https://github.com/tc39/proposal-using-statement - defineWellKnownSymbol('dispose'); - - var setInternalState$h = internalState.set; - var getInternalAggregateErrorState = internalState.getterFor('AggregateError'); - - var $AggregateError = function AggregateError(errors, message) { - var that = this; - if (!(that instanceof $AggregateError)) { return new $AggregateError(errors, message); } - if (objectSetPrototypeOf) { - that = objectSetPrototypeOf(new Error(message), objectGetPrototypeOf(that)); - } - var errorsArray = []; - iterate_1(errors, errorsArray.push, errorsArray); - if (descriptors) { setInternalState$h(that, { errors: errorsArray, type: 'AggregateError' }); } - else { that.errors = errorsArray; } - if (message !== undefined) { createNonEnumerableProperty(that, 'message', String(message)); } - return that; - }; - - $AggregateError.prototype = objectCreate(Error.prototype, { - constructor: createPropertyDescriptor(5, $AggregateError), - message: createPropertyDescriptor(5, ''), - name: createPropertyDescriptor(5, 'AggregateError') - }); - - if (descriptors) { objectDefineProperty.f($AggregateError.prototype, 'errors', { - get: function () { - return getInternalAggregateErrorState(this).errors; - }, - configurable: true - }); } - - _export({ global: true }, { - AggregateError: $AggregateError - }); - - var PROMISE_ANY_ERROR = 'No one promise resolved'; - - // `Promise.any` method - // https://github.com/tc39/proposal-promise-any - _export({ target: 'Promise', stat: true }, { - any: function any(iterable) { - var C = this; - var capability = newPromiseCapability.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction$1(C.resolve); - var errors = []; - var counter = 0; - var remaining = 1; - var alreadyResolved = false; - iterate_1(iterable, function (promise) { - var index = counter++; - var alreadyRejected = false; - errors.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyRejected || alreadyResolved) { return; } - alreadyResolved = true; - resolve(value); - }, function (e) { - if (alreadyRejected || alreadyResolved) { return; } - alreadyRejected = true; - errors[index] = e; - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - }); - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - if (result.error) { reject(result.value); } - return capability.promise; - } - }); - - var REPLACE$1 = wellKnownSymbol('replace'); - var RegExpPrototype$4 = RegExp.prototype; - - // `String.prototype.replaceAll` method - // https://github.com/tc39/proposal-string-replace-all - _export({ target: 'String', proto: true }, { - replaceAll: function replaceAll(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index; - if (searchValue != null) { - IS_REG_EXP = isRegexp(searchValue); - if (IS_REG_EXP) { - flags = String(requireObjectCoercible('flags' in RegExpPrototype$4 - ? searchValue.flags - : regexpFlags.call(searchValue) - )); - if (!~flags.indexOf('g')) { throw TypeError('`.replaceAll` does not allow non-global regexes'); } - } - replacer = searchValue[REPLACE$1]; - if (replacer !== undefined) { - return replacer.call(searchValue, O, replaceValue); - } - } - string = String(O); - searchString = String(searchValue); - if (searchString === '') { return replaceAll.call(string, /(?:)/g, replaceValue); } - template = string.split(searchString); - if (typeof replaceValue !== 'function') { - return template.join(String(replaceValue)); - } - result = template[0]; - position = result.length; - for (index = 1; index < template.length; index++) { - result += String(replaceValue(searchString, position, string)); - position += searchString.length + template[index].length; - result += template[index]; - } - return result; - } - }); - - // TODO: remove from `core-js@4` - - - defineWellKnownSymbol('replaceAll'); - - // iterable DOM collections - // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods - var domIterables = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 - }; - - for (var COLLECTION_NAME in domIterables) { - var Collection = global_1[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) { try { - createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach); - } catch (error) { - CollectionPrototype.forEach = arrayForEach; - } } - } - - var ITERATOR$9 = wellKnownSymbol('iterator'); - var TO_STRING_TAG$8 = wellKnownSymbol('toStringTag'); - var ArrayValues = es_array_iterator.values; - - for (var COLLECTION_NAME$1 in domIterables) { - var Collection$1 = global_1[COLLECTION_NAME$1]; - var CollectionPrototype$1 = Collection$1 && Collection$1.prototype; - if (CollectionPrototype$1) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype$1[ITERATOR$9] !== ArrayValues) { try { - createNonEnumerableProperty(CollectionPrototype$1, ITERATOR$9, ArrayValues); - } catch (error) { - CollectionPrototype$1[ITERATOR$9] = ArrayValues; - } } - if (!CollectionPrototype$1[TO_STRING_TAG$8]) { - createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG$8, COLLECTION_NAME$1); - } - if (domIterables[COLLECTION_NAME$1]) { for (var METHOD_NAME in es_array_iterator) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) { try { - createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]); - } catch (error) { - CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME]; - } } - } } - } - } - - var FORCED$m = !global_1.setImmediate || !global_1.clearImmediate; - - // http://w3c.github.io/setImmediate/ - _export({ global: true, bind: true, enumerable: true, forced: FORCED$m }, { - // `setImmediate` method - // http://w3c.github.io/setImmediate/#si-setImmediate - setImmediate: task.set, - // `clearImmediate` method - // http://w3c.github.io/setImmediate/#si-clearImmediate - clearImmediate: task.clear - }); - - var process$5 = global_1.process; - var isNode = classofRaw(process$5) == 'process'; - - // `queueMicrotask` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask - _export({ global: true, enumerable: true, noTargetGet: true }, { - queueMicrotask: function queueMicrotask(fn) { - var domain = isNode && process$5.domain; - microtask(domain ? domain.bind(fn) : fn); - } - }); - - var slice$1 = [].slice; - var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check - - var wrap$1 = function (scheduler) { - return function (handler, timeout /* , ...arguments */) { - var boundArgs = arguments.length > 2; - var args = boundArgs ? slice$1.call(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - // eslint-disable-next-line no-new-func - (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); - } : handler, timeout); - }; - }; - - // ie9- setTimeout & setInterval additional parameters fix - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers - _export({ global: true, bind: true, forced: MSIE }, { - // `setTimeout` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - setTimeout: wrap$1(global_1.setTimeout), - // `setInterval` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - setInterval: wrap$1(global_1.setInterval) - }); - - var coreJs = path; - - /* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - var ProxyPolyfill = /** @class */ (function () { - function ProxyPolyfill(target, handler) { - this.__target__ = target; - this.__handler__ = handler; - this.defineProps(); - return target; - } - ProxyPolyfill.prototype.defineProps = function () { - var _this = this; - var keys = Object.keys(this.__target__); - keys.forEach(function (property) { - if (Object.getOwnPropertyDescriptor(_this.__target__, property) !== undefined) { - return; - } - Object.defineProperty(_this, property, { - get: function () { - _this.defineProps(); - if (_this.__handler__.get) { - return _this.__handler__.get(_this.__target__, property, _this); - } - else { - return _this.__target__[property]; - } - }, - set: function (value) { - _this.defineProps(); - if (_this.__handler__.set) { - _this.__handler__.set(_this.__target__, property, value, property); - } - else { - _this.__target__[property] = value; - } - }, - enumerable: true, - configurable: true, - }); - }); - }; - return ProxyPolyfill; - }()); - var global$2 = Function('return this')(); - global$2.Proxy = ProxyPolyfill; - - exports.Context = Context; - exports.__moduleExports = coreJs; - exports.__require__ = __require__; - exports.jsCallEntityMethod = jsCallEntityMethod; - exports.jsCallReject = jsCallReject; - exports.jsCallResolve = jsCallResolve; - exports.jsCallbackTimer = jsCallbackTimer; - exports.jsObtainContext = jsObtainContext; - exports.jsObtainEntry = jsObtainEntry; - exports.jsRegisterModule = jsRegisterModule; - exports.jsReleaseContext = jsReleaseContext; - - return exports; - -}({})); diff --git a/doric-js/index.d.ts b/doric-js/index.d.ts index 375c2717..b1bcb368 100644 --- a/doric-js/index.d.ts +++ b/doric-js/index.d.ts @@ -9,6 +9,7 @@ declare module 'doric' { export * from 'doric/lib/src/native/index.native'; export * from "doric/lib/src/util/index.util"; export * from "doric/lib/src/pattern/index.pattern"; + export * from 'doric/lib/src/ui/view'; } declare module 'doric/lib/src/runtime/global' { diff --git a/doric-js/index.es5.ts b/doric-js/index.es5.ts new file mode 100644 index 00000000..c3269f54 --- /dev/null +++ b/doric-js/index.es5.ts @@ -0,0 +1,21 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './src/runtime/global' +export * from './src/ui/index.ui.es5' +export * from "./src/widget/index.widget" +export * from './src/native/index.native' +export * from "./src/util/index.util" +export * from "./src/pattern/index.pattern" diff --git a/doric-js/index.runtime.es5.ts b/doric-js/index.runtime.es5.ts index cbb1c982..50006ff3 100644 --- a/doric-js/index.runtime.es5.ts +++ b/doric-js/index.runtime.es5.ts @@ -54,5 +54,5 @@ class ProxyPolyfill { const global = Function('return this')() global.Proxy = ProxyPolyfill -export * from './src/runtime/sandbox' +export * from './src/runtime/sandbox.es5' export * from 'core-js' diff --git a/doric-js/index.ts b/doric-js/index.ts index 4dd2178f..b7ba7daf 100644 --- a/doric-js/index.ts +++ b/doric-js/index.ts @@ -18,4 +18,4 @@ export * from './src/ui/index.ui' export * from "./src/widget/index.widget" export * from './src/native/index.native' export * from "./src/util/index.util" -export * from "./src/pattern/index.pattern" +export * from "./src/pattern/index.pattern" \ No newline at end of file diff --git a/doric-js/lib/index.runtime.es5.d.ts b/doric-js/lib/index.runtime.es5.d.ts deleted file mode 100644 index 99b647b0..00000000 --- a/doric-js/lib/index.runtime.es5.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './src/runtime/sandbox'; -export * from 'core-js'; diff --git a/doric-js/lib/index.runtime.es5.js b/doric-js/lib/index.runtime.es5.js deleted file mode 100644 index 381414dd..00000000 --- a/doric-js/lib/index.runtime.es5.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright [2019] [Doric.Pub] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -class ProxyPolyfill { - constructor(target, handler) { - this.__target__ = target; - this.__handler__ = handler; - this.defineProps(); - return target; - } - defineProps() { - const keys = Object.keys(this.__target__); - keys.forEach(property => { - if (Object.getOwnPropertyDescriptor(this.__target__, property) !== undefined) { - return; - } - Object.defineProperty(this, property, { - get: () => { - this.defineProps(); - if (this.__handler__.get) { - return this.__handler__.get(this.__target__, property, this); - } - else { - return this.__target__[property]; - } - }, - set: (value) => { - this.defineProps(); - if (this.__handler__.set) { - this.__handler__.set(this.__target__, property, value, property); - } - else { - this.__target__[property] = value; - } - }, - enumerable: true, - configurable: true, - }); - }); - } -} -const global = Function('return this')(); -global.Proxy = ProxyPolyfill; -export * from './src/runtime/sandbox'; -export * from 'core-js'; diff --git a/doric-js/lib/src/ui/animation.d.ts b/doric-js/lib/src/ui/animation.d.ts index 7ce73294..c41968d9 100644 --- a/doric-js/lib/src/ui/animation.d.ts +++ b/doric-js/lib/src/ui/animation.d.ts @@ -82,43 +82,32 @@ export declare class ScaleAnimation extends Animation { private scaleXChangeable; private scaleYChangeable; constructor(); - set fromScaleX(v: number); - get fromScaleX(): number; - set toScaleX(v: number); - get toScaleX(): number; - set fromScaleY(v: number); - get fromScaleY(): number; - set toScaleY(v: number); - get toScaleY(): number; + fromScaleX: number; + toScaleX: number; + fromScaleY: number; + toScaleY: number; } export declare class TranslationAnimation extends Animation { private translationXChangeable; private translationYChangeable; constructor(); - set fromTranslationX(v: number); - get fromTranslationX(): number; - set toTranslationX(v: number); - get toTranslationX(): number; - set fromTranslationY(v: number); - get fromTranslationY(): number; - set toTranslationY(v: number); - get toTranslationY(): number; + fromTranslationX: number; + toTranslationX: number; + fromTranslationY: number; + toTranslationY: number; } export declare class RotationAnimation extends Animation { private rotationChaneable; constructor(); - set fromRotation(v: number); - get fromRotation(): number; - set toRotation(v: number); - get toRotation(): number; + fromRotation: number; + toRotation: number; } export declare class AnimationSet implements IAnimation { private animations; _duration: number; delay?: number; addAnimation(anim: IAnimation): void; - get duration(): number; - set duration(v: number); + duration: number; toModel(): { animations: Model; delay: number | undefined; diff --git a/doric-js/lib/src/ui/view.d.ts b/doric-js/lib/src/ui/view.d.ts index 7c497363..20c4ff6c 100644 --- a/doric-js/lib/src/ui/view.d.ts +++ b/doric-js/lib/src/ui/view.d.ts @@ -104,21 +104,15 @@ export declare abstract class View implements Modeling, IView { private id2Callback; constructor(); /** Anchor start*/ - get left(): number; - set left(v: number); - get right(): number; - set right(v: number); - get top(): number; - set top(v: number); - get bottom(): number; - set bottom(v: number); - get centerX(): number; - get centerY(): number; - set centerX(v: number); - set centerY(v: number); + left: number; + right: number; + top: number; + bottom: number; + centerX: number; + centerY: number; /** Anchor end*/ private __dirty_props__; - get dirtyProps(): { + readonly dirtyProps: { [index: string]: Model; }; nativeViewModel: NativeViewModel; diff --git a/doric-js/rollup.config.js b/doric-js/rollup.config.js index 12d52eb8..b94814be 100644 --- a/doric-js/rollup.config.js +++ b/doric-js/rollup.config.js @@ -18,25 +18,6 @@ export default [ console.warn(warning.message); } }, - { - input: "lib-es5/index.runtime.es5.js", - output: { - name: "doric", - format: "iife", - file: "bundle/doric-sandbox.es5.js", - }, - plugins: [ - resolve({ mainFields: ["jsnext"] }), - commonjs(), - buble({ - transforms: { dangerousForOf: true } - }), - ], - onwarn: function (warning) { - if (warning.code === 'THIS_IS_UNDEFINED') { return; } - console.warn(warning.message); - } - }, { input: "lib/index.js", output: { @@ -52,24 +33,6 @@ export default [ console.warn(warning.message); } }, - { - input: "lib-es5/index.js", - output: { - format: "cjs", - file: "bundle/doric-lib.es5.js", - }, - plugins: [ - resolve({ mainFields: ["jsnext"] }), - buble({ - transforms: { dangerousForOf: true } - }), - ], - external: ['reflect-metadata'], - onwarn: function (warning) { - if (warning.code === 'THIS_IS_UNDEFINED') { return; } - console.warn(warning.message); - } - }, { input: "lib/index.debug.js", output: { @@ -85,4 +48,42 @@ export default [ console.warn(warning.message); } }, + + // { + // input: "lib-es5/index.runtime.es5.js", + // output: { + // name: "doric", + // format: "iife", + // file: "bundle/doric-sandbox.es5.js", + // }, + // plugins: [ + // resolve({ mainFields: ["jsnext"] }), + // commonjs(), + // buble({ + // transforms: { dangerousForOf: true } + // }), + // ], + // onwarn: function (warning) { + // if (warning.code === 'THIS_IS_UNDEFINED') { return; } + // console.warn(warning.message); + // } + // }, + // { + // input: "lib-es5/index.es5.js", + // output: { + // format: "cjs", + // file: "bundle/doric-lib.es5.js", + // }, + // plugins: [ + // resolve({ mainFields: ["jsnext"] }), + // buble({ + // transforms: { dangerousForOf: true } + // }), + // ], + // external: ['reflect-metadata'], + // onwarn: function (warning) { + // if (warning.code === 'THIS_IS_UNDEFINED') { return; } + // console.warn(warning.message); + // } + // }, ] \ No newline at end of file diff --git a/doric-js/src/runtime/sandbox.es5.ts b/doric-js/src/runtime/sandbox.es5.ts new file mode 100644 index 00000000..36e54194 --- /dev/null +++ b/doric-js/src/runtime/sandbox.es5.ts @@ -0,0 +1,371 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { uniqueId } from "../util/uniqueId"; +import { loge } from "../util/log"; +import "reflect-metadata" + +/** + * ``` TypeScript + * // load script in global scope + * Reflect.apply( + * function(doric,context,Entry,require){ + * //Script content + * REG() + * },doric.jsObtainContext(id),[ + * undefined, + * doric.jsObtainContext(id), + * doric.jsObtainEntry(id), + * doric.__require__, + * ]) + * // load module in global scope + * Reflect.apply(doric.jsRegisterModule,this,[ + * moduleName, + * Reflect.apply(function(__module){ + * (function(module,exports,require){ + * //module content + * })(__module,__module.exports,doric.__require__); + * return __module.exports + * },this,[{exports:{}}]) + * ]) + * + * ``` + */ + +declare function nativeRequire(moduleName: string): boolean + +declare function nativeBridge(contextId: string, namespace: string, method: string, callbackId?: string, args?: any): boolean + +declare function nativeSetTimer(timerId: number, interval: number, repeat: boolean): void + +declare function nativeClearTimer(timerId: number): void + +function hookBeforeNativeCall(context?: Context) { + if (context) { + Reflect.defineMetadata('__doric_context__', context, global) + context.hookBeforeNativeCall() + } +} + +function hookAfterNativeCall(context?: Context) { + if (context) { + context.hookAfterNativeCall() + } +} + +function getContext(): Context | undefined { + return Reflect.getMetadata('__doric_context__', global) +} + +function setContext(context?: Context) { + Reflect.defineMetadata('__doric_context__', context, global) +} + +export function jsCallResolve(contextId: string, callbackId: string, args?: any) { + const context = gContexts.get(contextId) + if (context === undefined) { + loge(`Cannot find context for context id:${contextId}`) + return + } + const callback = context.callbacks.get(callbackId) + if (callback === undefined) { + loge(`Cannot find call for context id:${contextId},callback id:${callbackId}`) + return + } + const argumentsList: any = [] + for (let i = 2; i < arguments.length; i++) { + argumentsList.push(arguments[i]) + } + hookBeforeNativeCall(context) + Reflect.apply(callback.resolve, context, argumentsList) + hookAfterNativeCall(context) +} + +export function jsCallReject(contextId: string, callbackId: string, args?: any) { + const context = gContexts.get(contextId) + if (context === undefined) { + loge(`Cannot find context for context id:${contextId}`) + return + } + const callback = context.callbacks.get(callbackId) + if (callback === undefined) { + loge(`Cannot find call for context id:${contextId},callback id:${callbackId}`) + return + } + const argumentsList: any = [] + for (let i = 2; i < arguments.length; i++) { + argumentsList.push(arguments[i]) + } + hookBeforeNativeCall(context) + Reflect.apply(callback.reject, context.entity, argumentsList) + hookAfterNativeCall(context) +} + +export class Context { + entity: any + id: string + callbacks: Map = new Map + + 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: string) { + this.id = id + return new Proxy(this, { + get: (target, p: any) => { + if (Reflect.has(target, p)) { + return Reflect.get(target, p) + } else { + const namespace = p + return new Proxy({}, { + get: (target, p: any) => { + if (Reflect.has(target, p)) { + return Reflect.get(target, p) + } else { + const context = this + return function () { + const args = [] + args.push(namespace) + args.push(p) + for (let arg of arguments) { + args.push(arg) + } + return Reflect.apply(context.callNative, context, args) + } + } + } + }) + } + } + }) + } + callNative(namespace: string, method: string, args?: any): Promise { + const callbackId = uniqueId('callback') + nativeBridge(this.id, namespace, method, callbackId, args) + return new Promise((resolve, reject) => { + this.callbacks.set(callbackId, { + resolve, + reject, + }) + }) + } + register(instance: Object) { + this.entity = instance + } + + function2Id(func: Function) { + const functionId = uniqueId('function') + this.callbacks.set(functionId, { + resolve: func, + reject: () => { loge("This should not be called") } + }) + return functionId + } + removeFuncById(funcId: string) { + this.callbacks.delete(funcId) + } +} + + +const gContexts: Map = new Map +const gModules: Map = new Map + +export function jsObtainContext(id: string) { + if (gContexts.has(id)) { + const context = gContexts.get(id) + setContext(context) + return context + } else { + const context: Context = new Context(id) + gContexts.set(id, context) + setContext(context) + return context + } +} + +export function jsReleaseContext(id: string) { + const context = gContexts.get(id) + const args = arguments + if (context) { + timerInfos.forEach((v, k) => { + if (v.context === context) { + if (global.nativeClearTimer === undefined) { + return Reflect.apply(_clearTimeout, undefined, args) + } + timerInfos.delete(k) + nativeClearTimer(k) + } + }) + } + gContexts.delete(id) +} + +export function __require__(name: string): any { + if (gModules.has(name)) { + return gModules.get(name) + } else { + if (nativeRequire(name)) { + return gModules.get(name) + } else { + return undefined + } + } +} + +export function jsRegisterModule(name: string, moduleObject: any) { + gModules.set(name, moduleObject) +} + +export function jsCallEntityMethod(contextId: string, methodName: string, args?: any) { + const context = gContexts.get(contextId) + if (context === undefined) { + loge(`Cannot find context for context id:${contextId}`) + return + } + if (context.entity === undefined) { + loge(`Cannot find holder for context id:${contextId}`) + return + } + if (Reflect.has(context.entity, methodName)) { + const argumentsList: any = [] + for (let i = 2; i < arguments.length; i++) { + argumentsList.push(arguments[i]) + } + hookBeforeNativeCall(context) + const ret = Reflect.apply(Reflect.get(context.entity, methodName), context.entity, argumentsList) + hookAfterNativeCall(context) + return ret + } else { + loge(`Cannot find method for context id:${contextId},method name is:${methodName}`) + } +} + +export function jsObtainEntry(contextId: string) { + const context = jsObtainContext(contextId) + return (constructor: T) => { + const ret = class extends constructor { + context = context + } + if (context) { + context.register(new ret) + } + return ret + } +} + + +const global = Function('return this')() +let __timerId__ = 0 + +const timerInfos: Map void, context?: Context }> = new Map + +const _setTimeout = global.setTimeout + +const _setInterval = global.setInterval + +const _clearTimeout = global.clearTimeout + +const _clearInterval = global.clearInterval + +const doricSetTimeout = function (handler: Function, timeout?: number | undefined, ...args: any[]) { + if (global.nativeSetTimer === undefined) { + return Reflect.apply(_setTimeout, undefined, arguments) + } + const id = __timerId__++ + timerInfos.set(id, { + callback: () => { + Reflect.apply(handler, undefined, args) + timerInfos.delete(id) + }, + context: getContext(), + }) + nativeSetTimer(id, timeout || 0, false) + return id +} +const doricSetInterval = function (handler: Function, timeout?: number | undefined, ...args: any[]) { + if (global.nativeSetTimer === undefined) { + return Reflect.apply(_setInterval, undefined, arguments) + } + const id = __timerId__++ + timerInfos.set(id, { + callback: () => { + Reflect.apply(handler, undefined, args) + }, + context: getContext(), + }) + nativeSetTimer(id, timeout || 0, true) + return id +} + +const doricClearTimeout = function (timerId: number) { + if (global.nativeClearTimer === undefined) { + return Reflect.apply(_clearTimeout, undefined, arguments) + } + timerInfos.delete(timerId) + nativeClearTimer(timerId) +} + +const doricClearInterval = function (timerId: number) { + if (global.nativeClearTimer === undefined) { + return Reflect.apply(_clearInterval, undefined, arguments) + } + timerInfos.delete(timerId) + nativeClearTimer(timerId) +} + +if (!global.setTimeout) { + global.setTimeout = doricSetTimeout +} else { + global.doricSetTimeout = doricSetTimeout +} + +if (!global.setInterval) { + global.setInterval = doricSetInterval +} else { + global.doricSetInterval = doricSetInterval +} + +if (!global.clearTimeout) { + global.clearTimeout = doricClearTimeout +} else { + global.doricClearTimeout = doricClearTimeout +} + +if (!global.clearInterval) { + global.clearInterval = doricClearInterval +} else { + global.doricClearInterval = doricClearInterval +} + +export function jsCallbackTimer(timerId: number) { + const timerInfo = timerInfos.get(timerId) + if (timerInfo === undefined) { + return + } + if (timerInfo.callback instanceof Function) { + hookBeforeNativeCall(timerInfo.context) + Reflect.apply(timerInfo.callback, timerInfo.context, []) + hookAfterNativeCall(timerInfo.context) + } +} \ No newline at end of file diff --git a/doric-js/src/ui/index.ui.es5.ts b/doric-js/src/ui/index.ui.es5.ts new file mode 100644 index 00000000..e9e95473 --- /dev/null +++ b/doric-js/src/ui/index.ui.es5.ts @@ -0,0 +1,18 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './view.es5' +export * from './panel' +export * from './animation' \ No newline at end of file diff --git a/doric-js/src/ui/view.es5.ts b/doric-js/src/ui/view.es5.ts new file mode 100644 index 00000000..fda3be25 --- /dev/null +++ b/doric-js/src/ui/view.es5.ts @@ -0,0 +1,408 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Color, GradientColor } from "../util/color" +import { Modeling, Model, obj2Model } from "../util/types"; +import { uniqueId } from "../util/uniqueId"; +import { loge } from "../util/log"; +import { BridgeContext } from "../runtime/global"; +import { LayoutConfig } from '../util/layoutconfig' +import { IAnimation } from "./animation"; + +export function Property(target: Object, propKey: string) { + Reflect.defineMetadata(propKey, true, target) +} + +export interface IView { + width?: number + height?: number + backgroundColor?: Color | GradientColor + corners?: number | { leftTop?: number; rightTop?: number; leftBottom?: number; rightBottom?: number } + border?: { width: number; color: Color; } + shadow?: { color: Color; opacity: number; radius: number; offsetX: number; offsetY: number } + /** + * float [0,..1] + */ + alpha?: number + hidden?: boolean + padding?: { + left?: number, + right?: number, + top?: number, + bottom?: number, + } + layoutConfig?: LayoutConfig + onClick?: Function + identifier?: string + + /**++++++++++transform++++++++++*/ + translationX?: number + + translationY?: number + + scaleX?: number + + scaleY?: number + /** + * float [0,..1] + */ + pivotX?: number + /** + * float [0,..1] + */ + pivotY?: number + /** + * rotation*PI + */ + rotation?: number + /**----------transform----------*/ +} + +export type NativeViewModel = { + id: string; + type: string; + props: { + [index: string]: Model; + }; +} + +export abstract class View implements Modeling, IView { + @Property + width: number = 0 + + @Property + height: number = 0 + + @Property + x: number = 0 + + @Property + y: number = 0 + + @Property + backgroundColor?: Color | GradientColor + + @Property + corners?: number | { leftTop?: number; rightTop?: number; leftBottom?: number; rightBottom?: number } + + @Property + border?: { width: number; color: Color; } + + @Property + shadow?: { color: Color; opacity: number; radius: number; offsetX: number; offsetY: number } + + @Property + alpha?: number + + @Property + hidden?: boolean + + @Property + viewId = uniqueId('ViewId') + + @Property + padding?: { + left?: number, + right?: number, + top?: number, + bottom?: number, + } + + @Property + layoutConfig?: LayoutConfig + + @Property + onClick?: Function + + superview?: Superview + + callbacks: Map = new Map + + private callback2Id(f: Function) { + const id = uniqueId('Function') + this.callbacks.set(id, f) + return id + } + + private id2Callback(id: string) { + let f = this.callbacks.get(id) + if (f === undefined) { + f = Reflect.get(this, id) as Function + } + return f + } + + constructor() { + return new Proxy(this, { + get: (target, p, receiver) => { + return Reflect.get(target, p, receiver) + }, + set: (target, p, v, receiver) => { + const oldV = Reflect.get(target, p, receiver) + const ret = Reflect.set(target, p, v, receiver) + if (Reflect.getMetadata(p, target) && oldV !== v) { + receiver.onPropertyChanged(p.toString(), oldV, v) + } + return ret + } + }) + } + /** Anchor start*/ + get left() { + return this.x + } + set left(v: number) { + this.x = v + } + + get right() { + return this.x + this.width + } + set right(v: number) { + this.x = v - this.width + } + + get top() { + return this.y + } + + set top(v: number) { + this.y = v + } + + get bottom() { + return this.y + this.height + } + + set bottom(v: number) { + this.y = v - this.height + } + + get centerX() { + return this.x + this.width / 2 + } + + get centerY() { + return this.y + this.height / 2 + } + + set centerX(v: number) { + this.x = v - this.width / 2 + } + + set centerY(v: number) { + this.y = v - this.height / 2 + } + /** Anchor end*/ + + private __dirty_props__: { [index: string]: Model | undefined } = {} + + get dirtyProps() { + return this.__dirty_props__ + } + + nativeViewModel: NativeViewModel = { + id: this.viewId, + type: this.constructor.name, + props: this.__dirty_props__, + } + + onPropertyChanged(propKey: string, oldV: Model, newV: Model): void { + if (newV instanceof Function) { + newV = this.callback2Id(newV) + } else { + newV = obj2Model(newV) + } + this.__dirty_props__[propKey] = newV + } + + clean() { + for (const key in this.__dirty_props__) { + if (Reflect.has(this.__dirty_props__, key)) { + Reflect.deleteProperty(this.__dirty_props__, key) + } + } + } + + isDirty() { + return Reflect.ownKeys(this.__dirty_props__).length !== 0 + } + + responseCallback(id: string, ...args: any) { + const f = this.id2Callback(id) + if (f instanceof Function) { + const argumentsList: any = [] + for (let i = 1; i < arguments.length; i++) { + argumentsList.push(arguments[i]) + } + return Reflect.apply(f, this, argumentsList) + } else { + loge(`Cannot find callback:${id} for ${JSON.stringify(this.toModel())}`) + } + } + + toModel() { + return this.nativeViewModel + } + + let(block: (it: this) => void) { + block(this) + } + + also(block: (it: this) => void) { + block(this) + return this + } + + apply(config: IView) { + for (let key in config) { + Reflect.set(this, key, Reflect.get(config, key, config), this) + } + return this + } + + in(group: Group) { + group.addChild(this) + return this + } + + nativeChannel(context: any, name: string) { + let thisView: View | undefined = this + return function (args: any = undefined) { + const func = context.shader.command + const viewIds = [] + while (thisView != undefined) { + viewIds.push(thisView.viewId) + thisView = thisView.superview + } + const params = { + viewIds: viewIds.reverse(), + name, + args, + } + return Reflect.apply(func, undefined, [params]) as Promise + } + } + + getWidth(context: BridgeContext) { + return this.nativeChannel(context, 'getWidth')() as Promise + } + + getHeight(context: BridgeContext) { + return this.nativeChannel(context, 'getHeight')() as Promise + } + + getLocationOnScreen(context: BridgeContext) { + return this.nativeChannel(context, "getLocationOnScreen")() as Promise<{ x: number, y: number }> + } + + /**++++++++++transform++++++++++*/ + @Property + translationX?: number + + @Property + translationY?: number + + @Property + scaleX?: number + + @Property + scaleY?: number + + @Property + pivotX?: number + + @Property + pivotY?: number + + @Property + rotation?: number + /**----------transform----------*/ + + doAnimation(context: BridgeContext, animation: IAnimation) { + return this.nativeChannel(context, "doAnimation")(animation.toModel()).then((args) => { + for (let key in args) { + Reflect.set(this, key, Reflect.get(args, key, args), this) + Reflect.deleteProperty(this.__dirty_props__, key) + } + }) + } +} + +export abstract class Superview extends View { + subviewById(id: string): View | undefined { + for (let v of this.allSubviews()) { + if (v.viewId === id) { + return v + } + } + } + abstract allSubviews(): Iterable + + isDirty() { + if (super.isDirty()) { + return true + } else { + for (const v of this.allSubviews()) { + if (v.isDirty()) { + return true + } + } + } + return false + } + + clean() { + for (let v of this.allSubviews()) { + v.clean() + } + super.clean() + } + + toModel() { + const subviews = [] + for (let v of this.allSubviews()) { + if (v != undefined) { + v.superview = this + if (v.isDirty()) { + subviews.push(v.toModel()) + } + } + } + this.dirtyProps.subviews = subviews + return super.toModel() + } +} + +export abstract class Group extends Superview { + + readonly children: View[] = new Proxy([], { + set: (target, index, value) => { + const ret = Reflect.set(target, index, value) + // Let getDirty return true + this.dirtyProps.children = this.children.map(e => e.viewId) + return ret + } + }) + + allSubviews() { + return this.children + } + + addChild(view: View) { + this.children.push(view) + } +} + diff --git a/doric-js/tsconfig.json b/doric-js/tsconfig.json index 393910a2..30543b71 100644 --- a/doric-js/tsconfig.json +++ b/doric-js/tsconfig.json @@ -58,5 +58,9 @@ }, "include": [ "**/*.ts", + ], + "exclude": [ + "**/*.es5.ts", + "**/*.d.ts", ] } \ No newline at end of file