bootstrap-table-rails 1.17.1 → 1.18.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +30 -132
  5. data/lib/bootstrap-table-rails/version.rb +1 -1
  6. data/vendor/.DS_Store +0 -0
  7. data/vendor/assets/.DS_Store +0 -0
  8. data/vendor/assets/javascripts/.DS_Store +0 -0
  9. data/vendor/assets/javascripts/bootstrap-table/.DS_Store +0 -0
  10. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +734 -359
  11. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +573 -1483
  12. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +1378 -2290
  13. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +27 -7
  14. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +7404 -7539
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1774 -1646
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +1206 -1088
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +2541 -2980
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +1232 -1112
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +1251 -1582
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +864 -815
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1899 -2457
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +2227 -2688
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +3135 -2962
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/utils.js +2429 -2356
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +1605 -1539
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css +3 -2
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +1599 -1860
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +45 -11
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1461 -1376
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1290 -1234
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +1787 -2136
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +1118 -1038
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +329 -310
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +1641 -2195
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +1472 -1398
  36. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +1035 -981
  37. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +914 -711
  38. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +1246 -1147
  39. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +2032 -2580
  40. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +1186 -1918
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +136 -113
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +136 -113
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +136 -113
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +136 -113
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +136 -113
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +136 -113
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +179 -117
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +136 -113
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +136 -113
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +136 -113
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +153 -130
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +136 -113
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +150 -127
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +136 -113
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +136 -113
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +136 -113
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +136 -113
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +136 -113
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +153 -130
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +136 -113
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +136 -113
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +136 -113
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +147 -124
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +136 -113
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +136 -113
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +136 -113
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +136 -113
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +136 -113
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +136 -113
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +136 -113
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +136 -113
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +136 -113
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +136 -113
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +136 -113
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +136 -113
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +136 -113
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +157 -133
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +136 -113
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +157 -134
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +136 -113
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +157 -134
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +153 -130
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +136 -113
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +136 -113
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +136 -113
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +136 -113
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +136 -113
  88. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +136 -113
  89. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +136 -113
  90. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +136 -113
  91. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +136 -113
  92. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +136 -113
  93. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +136 -113
  94. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +28 -6
  95. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +1119 -1044
  96. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +26 -6
  97. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +1111 -1036
  98. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +35 -6
  99. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +1127 -1046
  100. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +35 -6
  101. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +1120 -1039
  102. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +26 -6
  103. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +1088 -1013
  104. metadata +6 -1
@@ -1,1651 +1,1779 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
3
- typeof define === 'function' && define.amd ? define(['jquery'], factory) :
4
- (global = global || self, factory(global.jQuery));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery));
5
5
  }(this, (function ($) { 'use strict';
6
6
 
7
- $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
8
-
9
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
-
11
- function createCommonjsModule(fn, module) {
12
- return module = { exports: {} }, fn(module, module.exports), module.exports;
13
- }
14
-
15
- var check = function (it) {
16
- return it && it.Math == Math && it;
17
- };
18
-
19
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
20
- var global_1 =
21
- // eslint-disable-next-line no-undef
22
- check(typeof globalThis == 'object' && globalThis) ||
23
- check(typeof window == 'object' && window) ||
24
- check(typeof self == 'object' && self) ||
25
- check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
26
- // eslint-disable-next-line no-new-func
27
- Function('return this')();
28
-
29
- var fails = function (exec) {
30
- try {
31
- return !!exec();
32
- } catch (error) {
33
- return true;
34
- }
35
- };
36
-
37
- // Thank's IE8 for his funny defineProperty
38
- var descriptors = !fails(function () {
39
- return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
40
- });
41
-
42
- var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
43
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
44
-
45
- // Nashorn ~ JDK8 bug
46
- var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
47
-
48
- // `Object.prototype.propertyIsEnumerable` method implementation
49
- // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
50
- var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
51
- var descriptor = getOwnPropertyDescriptor(this, V);
52
- return !!descriptor && descriptor.enumerable;
53
- } : nativePropertyIsEnumerable;
54
-
55
- var objectPropertyIsEnumerable = {
56
- f: f
57
- };
58
-
59
- var createPropertyDescriptor = function (bitmap, value) {
60
- return {
61
- enumerable: !(bitmap & 1),
62
- configurable: !(bitmap & 2),
63
- writable: !(bitmap & 4),
64
- value: value
65
- };
66
- };
67
-
68
- var toString = {}.toString;
69
-
70
- var classofRaw = function (it) {
71
- return toString.call(it).slice(8, -1);
72
- };
73
-
74
- var split = ''.split;
75
-
76
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
77
- var indexedObject = fails(function () {
78
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
79
- // eslint-disable-next-line no-prototype-builtins
80
- return !Object('z').propertyIsEnumerable(0);
81
- }) ? function (it) {
82
- return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
83
- } : Object;
84
-
85
- // `RequireObjectCoercible` abstract operation
86
- // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
87
- var requireObjectCoercible = function (it) {
88
- if (it == undefined) throw TypeError("Can't call method on " + it);
89
- return it;
90
- };
91
-
92
- // toObject with fallback for non-array-like ES3 strings
93
-
94
-
95
-
96
- var toIndexedObject = function (it) {
97
- return indexedObject(requireObjectCoercible(it));
98
- };
99
-
100
- var isObject = function (it) {
101
- return typeof it === 'object' ? it !== null : typeof it === 'function';
102
- };
103
-
104
- // `ToPrimitive` abstract operation
105
- // https://tc39.github.io/ecma262/#sec-toprimitive
106
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
107
- // and the second argument - flag - preferred type is a string
108
- var toPrimitive = function (input, PREFERRED_STRING) {
109
- if (!isObject(input)) return input;
110
- var fn, val;
111
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
112
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
113
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
114
- throw TypeError("Can't convert object to primitive value");
115
- };
116
-
117
- var hasOwnProperty = {}.hasOwnProperty;
118
-
119
- var has = function (it, key) {
120
- return hasOwnProperty.call(it, key);
121
- };
122
-
123
- var document = global_1.document;
124
- // typeof document.createElement is 'object' in old IE
125
- var EXISTS = isObject(document) && isObject(document.createElement);
126
-
127
- var documentCreateElement = function (it) {
128
- return EXISTS ? document.createElement(it) : {};
129
- };
130
-
131
- // Thank's IE8 for his funny defineProperty
132
- var ie8DomDefine = !descriptors && !fails(function () {
133
- return Object.defineProperty(documentCreateElement('div'), 'a', {
134
- get: function () { return 7; }
135
- }).a != 7;
136
- });
137
-
138
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
139
-
140
- // `Object.getOwnPropertyDescriptor` method
141
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
142
- var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
143
- O = toIndexedObject(O);
144
- P = toPrimitive(P, true);
145
- if (ie8DomDefine) try {
146
- return nativeGetOwnPropertyDescriptor(O, P);
147
- } catch (error) { /* empty */ }
148
- if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
149
- };
150
-
151
- var objectGetOwnPropertyDescriptor = {
152
- f: f$1
153
- };
154
-
155
- var anObject = function (it) {
156
- if (!isObject(it)) {
157
- throw TypeError(String(it) + ' is not an object');
158
- } return it;
159
- };
160
-
161
- var nativeDefineProperty = Object.defineProperty;
162
-
163
- // `Object.defineProperty` method
164
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
165
- var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
166
- anObject(O);
167
- P = toPrimitive(P, true);
168
- anObject(Attributes);
169
- if (ie8DomDefine) try {
170
- return nativeDefineProperty(O, P, Attributes);
171
- } catch (error) { /* empty */ }
172
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
173
- if ('value' in Attributes) O[P] = Attributes.value;
174
- return O;
175
- };
176
-
177
- var objectDefineProperty = {
178
- f: f$2
179
- };
180
-
181
- var createNonEnumerableProperty = descriptors ? function (object, key, value) {
182
- return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
183
- } : function (object, key, value) {
184
- object[key] = value;
185
- return object;
186
- };
187
-
188
- var setGlobal = function (key, value) {
189
- try {
190
- createNonEnumerableProperty(global_1, key, value);
191
- } catch (error) {
192
- global_1[key] = value;
193
- } return value;
194
- };
195
-
196
- var SHARED = '__core-js_shared__';
197
- var store = global_1[SHARED] || setGlobal(SHARED, {});
198
-
199
- var sharedStore = store;
200
-
201
- var functionToString = Function.toString;
202
-
203
- // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
204
- if (typeof sharedStore.inspectSource != 'function') {
205
- sharedStore.inspectSource = function (it) {
206
- return functionToString.call(it);
207
- };
208
- }
209
-
210
- var inspectSource = sharedStore.inspectSource;
211
-
212
- var WeakMap = global_1.WeakMap;
213
-
214
- var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
215
-
216
- var shared = createCommonjsModule(function (module) {
217
- (module.exports = function (key, value) {
218
- return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
219
- })('versions', []).push({
220
- version: '3.6.0',
221
- mode: 'global',
222
- copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
223
- });
224
- });
225
-
226
- var id = 0;
227
- var postfix = Math.random();
228
-
229
- var uid = function (key) {
230
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
231
- };
232
-
233
- var keys = shared('keys');
234
-
235
- var sharedKey = function (key) {
236
- return keys[key] || (keys[key] = uid(key));
237
- };
238
-
239
- var hiddenKeys = {};
240
-
241
- var WeakMap$1 = global_1.WeakMap;
242
- var set, get, has$1;
243
-
244
- var enforce = function (it) {
245
- return has$1(it) ? get(it) : set(it, {});
246
- };
247
-
248
- var getterFor = function (TYPE) {
249
- return function (it) {
250
- var state;
251
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
252
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
253
- } return state;
254
- };
255
- };
256
-
257
- if (nativeWeakMap) {
258
- var store$1 = new WeakMap$1();
259
- var wmget = store$1.get;
260
- var wmhas = store$1.has;
261
- var wmset = store$1.set;
262
- set = function (it, metadata) {
263
- wmset.call(store$1, it, metadata);
264
- return metadata;
265
- };
266
- get = function (it) {
267
- return wmget.call(store$1, it) || {};
268
- };
269
- has$1 = function (it) {
270
- return wmhas.call(store$1, it);
271
- };
272
- } else {
273
- var STATE = sharedKey('state');
274
- hiddenKeys[STATE] = true;
275
- set = function (it, metadata) {
276
- createNonEnumerableProperty(it, STATE, metadata);
277
- return metadata;
278
- };
279
- get = function (it) {
280
- return has(it, STATE) ? it[STATE] : {};
281
- };
282
- has$1 = function (it) {
283
- return has(it, STATE);
284
- };
285
- }
286
-
287
- var internalState = {
288
- set: set,
289
- get: get,
290
- has: has$1,
291
- enforce: enforce,
292
- getterFor: getterFor
293
- };
294
-
295
- var redefine = createCommonjsModule(function (module) {
296
- var getInternalState = internalState.get;
297
- var enforceInternalState = internalState.enforce;
298
- var TEMPLATE = String(String).split('String');
299
-
300
- (module.exports = function (O, key, value, options) {
301
- var unsafe = options ? !!options.unsafe : false;
302
- var simple = options ? !!options.enumerable : false;
303
- var noTargetGet = options ? !!options.noTargetGet : false;
304
- if (typeof value == 'function') {
305
- if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
306
- enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
307
- }
308
- if (O === global_1) {
309
- if (simple) O[key] = value;
310
- else setGlobal(key, value);
311
- return;
312
- } else if (!unsafe) {
313
- delete O[key];
314
- } else if (!noTargetGet && O[key]) {
315
- simple = true;
316
- }
317
- if (simple) O[key] = value;
318
- else createNonEnumerableProperty(O, key, value);
319
- // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
320
- })(Function.prototype, 'toString', function toString() {
321
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
322
- });
323
- });
324
-
325
- var path = global_1;
326
-
327
- var aFunction = function (variable) {
328
- return typeof variable == 'function' ? variable : undefined;
329
- };
330
-
331
- var getBuiltIn = function (namespace, method) {
332
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
333
- : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
334
- };
335
-
336
- var ceil = Math.ceil;
337
- var floor = Math.floor;
338
-
339
- // `ToInteger` abstract operation
340
- // https://tc39.github.io/ecma262/#sec-tointeger
341
- var toInteger = function (argument) {
342
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
343
- };
344
-
345
- var min = Math.min;
346
-
347
- // `ToLength` abstract operation
348
- // https://tc39.github.io/ecma262/#sec-tolength
349
- var toLength = function (argument) {
350
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
351
- };
352
-
353
- var max = Math.max;
354
- var min$1 = Math.min;
355
-
356
- // Helper for a popular repeating case of the spec:
357
- // Let integer be ? ToInteger(index).
358
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
359
- var toAbsoluteIndex = function (index, length) {
360
- var integer = toInteger(index);
361
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
362
- };
363
-
364
- // `Array.prototype.{ indexOf, includes }` methods implementation
365
- var createMethod = function (IS_INCLUDES) {
366
- return function ($this, el, fromIndex) {
367
- var O = toIndexedObject($this);
368
- var length = toLength(O.length);
369
- var index = toAbsoluteIndex(fromIndex, length);
370
- var value;
371
- // Array#includes uses SameValueZero equality algorithm
372
- // eslint-disable-next-line no-self-compare
373
- if (IS_INCLUDES && el != el) while (length > index) {
374
- value = O[index++];
375
- // eslint-disable-next-line no-self-compare
376
- if (value != value) return true;
377
- // Array#indexOf ignores holes, Array#includes - not
378
- } else for (;length > index; index++) {
379
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
380
- } return !IS_INCLUDES && -1;
381
- };
382
- };
383
-
384
- var arrayIncludes = {
385
- // `Array.prototype.includes` method
386
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
387
- includes: createMethod(true),
388
- // `Array.prototype.indexOf` method
389
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
390
- indexOf: createMethod(false)
391
- };
392
-
393
- var indexOf = arrayIncludes.indexOf;
394
-
395
-
396
- var objectKeysInternal = function (object, names) {
397
- var O = toIndexedObject(object);
398
- var i = 0;
399
- var result = [];
400
- var key;
401
- for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
402
- // Don't enum bug & hidden keys
403
- while (names.length > i) if (has(O, key = names[i++])) {
404
- ~indexOf(result, key) || result.push(key);
405
- }
406
- return result;
407
- };
408
-
409
- // IE8- don't enum bug keys
410
- var enumBugKeys = [
411
- 'constructor',
412
- 'hasOwnProperty',
413
- 'isPrototypeOf',
414
- 'propertyIsEnumerable',
415
- 'toLocaleString',
416
- 'toString',
417
- 'valueOf'
418
- ];
419
-
420
- var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
421
-
422
- // `Object.getOwnPropertyNames` method
423
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
424
- var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
425
- return objectKeysInternal(O, hiddenKeys$1);
426
- };
427
-
428
- var objectGetOwnPropertyNames = {
429
- f: f$3
430
- };
431
-
432
- var f$4 = Object.getOwnPropertySymbols;
433
-
434
- var objectGetOwnPropertySymbols = {
435
- f: f$4
436
- };
437
-
438
- // all object keys, includes non-enumerable and symbols
439
- var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
440
- var keys = objectGetOwnPropertyNames.f(anObject(it));
441
- var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
442
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
443
- };
444
-
445
- var copyConstructorProperties = function (target, source) {
446
- var keys = ownKeys(source);
447
- var defineProperty = objectDefineProperty.f;
448
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
449
- for (var i = 0; i < keys.length; i++) {
450
- var key = keys[i];
451
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
452
- }
453
- };
454
-
455
- var replacement = /#|\.prototype\./;
456
-
457
- var isForced = function (feature, detection) {
458
- var value = data[normalize(feature)];
459
- return value == POLYFILL ? true
460
- : value == NATIVE ? false
461
- : typeof detection == 'function' ? fails(detection)
462
- : !!detection;
463
- };
464
-
465
- var normalize = isForced.normalize = function (string) {
466
- return String(string).replace(replacement, '.').toLowerCase();
467
- };
468
-
469
- var data = isForced.data = {};
470
- var NATIVE = isForced.NATIVE = 'N';
471
- var POLYFILL = isForced.POLYFILL = 'P';
472
-
473
- var isForced_1 = isForced;
474
-
475
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
476
-
477
-
478
-
479
-
480
-
481
-
482
- /*
483
- options.target - name of the target object
484
- options.global - target is the global object
485
- options.stat - export as static methods of target
486
- options.proto - export as prototype methods of target
487
- options.real - real prototype method for the `pure` version
488
- options.forced - export even if the native feature is available
489
- options.bind - bind methods to the target, required for the `pure` version
490
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
491
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
492
- options.sham - add a flag to not completely full polyfills
493
- options.enumerable - export as enumerable property
494
- options.noTargetGet - prevent calling a getter on target
495
- */
496
- var _export = function (options, source) {
497
- var TARGET = options.target;
498
- var GLOBAL = options.global;
499
- var STATIC = options.stat;
500
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
501
- if (GLOBAL) {
502
- target = global_1;
503
- } else if (STATIC) {
504
- target = global_1[TARGET] || setGlobal(TARGET, {});
505
- } else {
506
- target = (global_1[TARGET] || {}).prototype;
507
- }
508
- if (target) for (key in source) {
509
- sourceProperty = source[key];
510
- if (options.noTargetGet) {
511
- descriptor = getOwnPropertyDescriptor$1(target, key);
512
- targetProperty = descriptor && descriptor.value;
513
- } else targetProperty = target[key];
514
- FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
515
- // contained in target
516
- if (!FORCED && targetProperty !== undefined) {
517
- if (typeof sourceProperty === typeof targetProperty) continue;
518
- copyConstructorProperties(sourceProperty, targetProperty);
519
- }
520
- // add a flag to not completely full polyfills
521
- if (options.sham || (targetProperty && targetProperty.sham)) {
522
- createNonEnumerableProperty(sourceProperty, 'sham', true);
523
- }
524
- // extend global
525
- redefine(target, key, sourceProperty, options);
526
- }
527
- };
528
-
529
- // `IsArray` abstract operation
530
- // https://tc39.github.io/ecma262/#sec-isarray
531
- var isArray = Array.isArray || function isArray(arg) {
532
- return classofRaw(arg) == 'Array';
533
- };
534
-
535
- // `ToObject` abstract operation
536
- // https://tc39.github.io/ecma262/#sec-toobject
537
- var toObject = function (argument) {
538
- return Object(requireObjectCoercible(argument));
539
- };
540
-
541
- var createProperty = function (object, key, value) {
542
- var propertyKey = toPrimitive(key);
543
- if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
544
- else object[propertyKey] = value;
545
- };
546
-
547
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
548
- // Chrome 38 Symbol has incorrect toString conversion
549
- // eslint-disable-next-line no-undef
550
- return !String(Symbol());
551
- });
552
-
553
- var useSymbolAsUid = nativeSymbol
554
- // eslint-disable-next-line no-undef
555
- && !Symbol.sham
556
- // eslint-disable-next-line no-undef
557
- && typeof Symbol() == 'symbol';
558
-
559
- var WellKnownSymbolsStore = shared('wks');
560
- var Symbol$1 = global_1.Symbol;
561
- var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
562
-
563
- var wellKnownSymbol = function (name) {
564
- if (!has(WellKnownSymbolsStore, name)) {
565
- if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
566
- else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
567
- } return WellKnownSymbolsStore[name];
568
- };
569
-
570
- var SPECIES = wellKnownSymbol('species');
571
-
572
- // `ArraySpeciesCreate` abstract operation
573
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
574
- var arraySpeciesCreate = function (originalArray, length) {
575
- var C;
576
- if (isArray(originalArray)) {
577
- C = originalArray.constructor;
578
- // cross-realm fallback
579
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
580
- else if (isObject(C)) {
581
- C = C[SPECIES];
582
- if (C === null) C = undefined;
583
- }
584
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
585
- };
586
-
587
- var userAgent = getBuiltIn('navigator', 'userAgent') || '';
588
-
589
- var process = global_1.process;
590
- var versions = process && process.versions;
591
- var v8 = versions && versions.v8;
592
- var match, version;
593
-
594
- if (v8) {
595
- match = v8.split('.');
596
- version = match[0] + match[1];
597
- } else if (userAgent) {
598
- match = userAgent.match(/Edge\/(\d+)/);
599
- if (!match || match[1] >= 74) {
600
- match = userAgent.match(/Chrome\/(\d+)/);
601
- if (match) version = match[1];
602
- }
603
- }
604
-
605
- var v8Version = version && +version;
606
-
607
- var SPECIES$1 = wellKnownSymbol('species');
608
-
609
- var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
610
- // We can't use this feature detection in V8 since it causes
611
- // deoptimization and serious performance degradation
612
- // https://github.com/zloirock/core-js/issues/677
613
- return v8Version >= 51 || !fails(function () {
614
- var array = [];
615
- var constructor = array.constructor = {};
616
- constructor[SPECIES$1] = function () {
617
- return { foo: 1 };
618
- };
619
- return array[METHOD_NAME](Boolean).foo !== 1;
620
- });
621
- };
622
-
623
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
624
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
625
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
626
-
627
- // We can't use this feature detection in V8 since it causes
628
- // deoptimization and serious performance degradation
629
- // https://github.com/zloirock/core-js/issues/679
630
- var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
631
- var array = [];
632
- array[IS_CONCAT_SPREADABLE] = false;
633
- return array.concat()[0] !== array;
634
- });
635
-
636
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
637
-
638
- var isConcatSpreadable = function (O) {
639
- if (!isObject(O)) return false;
640
- var spreadable = O[IS_CONCAT_SPREADABLE];
641
- return spreadable !== undefined ? !!spreadable : isArray(O);
642
- };
643
-
644
- var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
645
-
646
- // `Array.prototype.concat` method
647
- // https://tc39.github.io/ecma262/#sec-array.prototype.concat
648
- // with adding support of @@isConcatSpreadable and @@species
649
- _export({ target: 'Array', proto: true, forced: FORCED }, {
650
- concat: function concat(arg) { // eslint-disable-line no-unused-vars
651
- var O = toObject(this);
652
- var A = arraySpeciesCreate(O, 0);
653
- var n = 0;
654
- var i, k, length, len, E;
655
- for (i = -1, length = arguments.length; i < length; i++) {
656
- E = i === -1 ? O : arguments[i];
657
- if (isConcatSpreadable(E)) {
658
- len = toLength(E.length);
659
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
660
- for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
661
- } else {
662
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
663
- createProperty(A, n++, E);
664
- }
665
- }
666
- A.length = n;
667
- return A;
668
- }
669
- });
670
-
671
- // `Object.keys` method
672
- // https://tc39.github.io/ecma262/#sec-object.keys
673
- var objectKeys = Object.keys || function keys(O) {
674
- return objectKeysInternal(O, enumBugKeys);
675
- };
676
-
677
- var propertyIsEnumerable = objectPropertyIsEnumerable.f;
678
-
679
- // `Object.{ entries, values }` methods implementation
680
- var createMethod$1 = function (TO_ENTRIES) {
681
- return function (it) {
682
- var O = toIndexedObject(it);
683
- var keys = objectKeys(O);
684
- var length = keys.length;
685
- var i = 0;
686
- var result = [];
687
- var key;
688
- while (length > i) {
689
- key = keys[i++];
690
- if (!descriptors || propertyIsEnumerable.call(O, key)) {
691
- result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
692
- }
693
- }
694
- return result;
695
- };
696
- };
697
-
698
- var objectToArray = {
699
- // `Object.entries` method
700
- // https://tc39.github.io/ecma262/#sec-object.entries
701
- entries: createMethod$1(true),
702
- // `Object.values` method
703
- // https://tc39.github.io/ecma262/#sec-object.values
704
- values: createMethod$1(false)
705
- };
706
-
707
- var $entries = objectToArray.entries;
708
-
709
- // `Object.entries` method
710
- // https://tc39.github.io/ecma262/#sec-object.entries
711
- _export({ target: 'Object', stat: true }, {
712
- entries: function entries(O) {
713
- return $entries(O);
714
- }
715
- });
716
-
717
- var aPossiblePrototype = function (it) {
718
- if (!isObject(it) && it !== null) {
719
- throw TypeError("Can't set " + String(it) + ' as a prototype');
720
- } return it;
721
- };
722
-
723
- // `Object.setPrototypeOf` method
724
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
725
- // Works with __proto__ only. Old v8 can't work with null proto objects.
726
- /* eslint-disable no-proto */
727
- var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
728
- var CORRECT_SETTER = false;
729
- var test = {};
730
- var setter;
731
- try {
732
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
733
- setter.call(test, []);
734
- CORRECT_SETTER = test instanceof Array;
735
- } catch (error) { /* empty */ }
736
- return function setPrototypeOf(O, proto) {
737
- anObject(O);
738
- aPossiblePrototype(proto);
739
- if (CORRECT_SETTER) setter.call(O, proto);
740
- else O.__proto__ = proto;
741
- return O;
742
- };
743
- }() : undefined);
744
-
745
- // makes subclassing work correct for wrapped built-ins
746
- var inheritIfRequired = function ($this, dummy, Wrapper) {
747
- var NewTarget, NewTargetPrototype;
748
- if (
749
- // it can work only with native `setPrototypeOf`
750
- objectSetPrototypeOf &&
751
- // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
752
- typeof (NewTarget = dummy.constructor) == 'function' &&
753
- NewTarget !== Wrapper &&
754
- isObject(NewTargetPrototype = NewTarget.prototype) &&
755
- NewTargetPrototype !== Wrapper.prototype
756
- ) objectSetPrototypeOf($this, NewTargetPrototype);
757
- return $this;
758
- };
759
-
760
- var MATCH = wellKnownSymbol('match');
761
-
762
- // `IsRegExp` abstract operation
763
- // https://tc39.github.io/ecma262/#sec-isregexp
764
- var isRegexp = function (it) {
765
- var isRegExp;
766
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
767
- };
768
-
769
- // `RegExp.prototype.flags` getter implementation
770
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
771
- var regexpFlags = function () {
772
- var that = anObject(this);
773
- var result = '';
774
- if (that.global) result += 'g';
775
- if (that.ignoreCase) result += 'i';
776
- if (that.multiline) result += 'm';
777
- if (that.dotAll) result += 's';
778
- if (that.unicode) result += 'u';
779
- if (that.sticky) result += 'y';
780
- return result;
781
- };
782
-
783
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
784
- // so we use an intermediate function.
785
- function RE(s, f) {
786
- return RegExp(s, f);
787
- }
788
-
789
- var UNSUPPORTED_Y = fails(function () {
790
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
791
- var re = RE('a', 'y');
792
- re.lastIndex = 2;
793
- return re.exec('abcd') != null;
794
- });
795
-
796
- var BROKEN_CARET = fails(function () {
797
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
798
- var re = RE('^r', 'gy');
799
- re.lastIndex = 2;
800
- return re.exec('str') != null;
801
- });
802
-
803
- var regexpStickyHelpers = {
804
- UNSUPPORTED_Y: UNSUPPORTED_Y,
805
- BROKEN_CARET: BROKEN_CARET
806
- };
807
-
808
- var SPECIES$2 = wellKnownSymbol('species');
809
-
810
- var setSpecies = function (CONSTRUCTOR_NAME) {
811
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
812
- var defineProperty = objectDefineProperty.f;
813
-
814
- if (descriptors && Constructor && !Constructor[SPECIES$2]) {
815
- defineProperty(Constructor, SPECIES$2, {
816
- configurable: true,
817
- get: function () { return this; }
818
- });
819
- }
820
- };
821
-
822
- var defineProperty = objectDefineProperty.f;
823
- var getOwnPropertyNames = objectGetOwnPropertyNames.f;
824
-
825
-
826
-
827
-
828
-
829
- var setInternalState = internalState.set;
830
-
831
-
832
-
833
- var MATCH$1 = wellKnownSymbol('match');
834
- var NativeRegExp = global_1.RegExp;
835
- var RegExpPrototype = NativeRegExp.prototype;
836
- var re1 = /a/g;
837
- var re2 = /a/g;
838
-
839
- // "new" should create a new object, old webkit bug
840
- var CORRECT_NEW = new NativeRegExp(re1) !== re1;
841
-
842
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
843
-
844
- var FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$1 || fails(function () {
845
- re2[MATCH$1] = false;
846
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
847
- return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
848
- })));
849
-
850
- // `RegExp` constructor
851
- // https://tc39.github.io/ecma262/#sec-regexp-constructor
852
- if (FORCED$1) {
853
- var RegExpWrapper = function RegExp(pattern, flags) {
854
- var thisIsRegExp = this instanceof RegExpWrapper;
855
- var patternIsRegExp = isRegexp(pattern);
856
- var flagsAreUndefined = flags === undefined;
857
- var sticky;
858
-
859
- if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
860
- return pattern;
861
- }
862
-
863
- if (CORRECT_NEW) {
864
- if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
865
- } else if (pattern instanceof RegExpWrapper) {
866
- if (flagsAreUndefined) flags = regexpFlags.call(pattern);
867
- pattern = pattern.source;
868
- }
869
-
870
- if (UNSUPPORTED_Y$1) {
871
- sticky = !!flags && flags.indexOf('y') > -1;
872
- if (sticky) flags = flags.replace(/y/g, '');
873
- }
874
-
875
- var result = inheritIfRequired(
876
- CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
877
- thisIsRegExp ? this : RegExpPrototype,
878
- RegExpWrapper
879
- );
880
-
881
- if (UNSUPPORTED_Y$1 && sticky) setInternalState(result, { sticky: sticky });
882
-
883
- return result;
884
- };
885
- var proxy = function (key) {
886
- key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
887
- configurable: true,
888
- get: function () { return NativeRegExp[key]; },
889
- set: function (it) { NativeRegExp[key] = it; }
890
- });
891
- };
892
- var keys$1 = getOwnPropertyNames(NativeRegExp);
893
- var index = 0;
894
- while (keys$1.length > index) proxy(keys$1[index++]);
895
- RegExpPrototype.constructor = RegExpWrapper;
896
- RegExpWrapper.prototype = RegExpPrototype;
897
- redefine(global_1, 'RegExp', RegExpWrapper);
898
- }
899
-
900
- // https://tc39.github.io/ecma262/#sec-get-regexp-@@species
901
- setSpecies('RegExp');
902
-
903
- var nativeExec = RegExp.prototype.exec;
904
- // This always refers to the native implementation, because the
905
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
906
- // which loads this file before patching the method.
907
- var nativeReplace = String.prototype.replace;
908
-
909
- var patchedExec = nativeExec;
910
-
911
- var UPDATES_LAST_INDEX_WRONG = (function () {
912
- var re1 = /a/;
913
- var re2 = /b*/g;
914
- nativeExec.call(re1, 'a');
915
- nativeExec.call(re2, 'a');
916
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
917
- })();
918
-
919
- var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
920
-
921
- // nonparticipating capturing group, copied from es5-shim's String#split patch.
922
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
923
-
924
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2;
925
-
926
- if (PATCH) {
927
- patchedExec = function exec(str) {
928
- var re = this;
929
- var lastIndex, reCopy, match, i;
930
- var sticky = UNSUPPORTED_Y$2 && re.sticky;
931
- var flags = regexpFlags.call(re);
932
- var source = re.source;
933
- var charsAdded = 0;
934
- var strCopy = str;
935
-
936
- if (sticky) {
937
- flags = flags.replace('y', '');
938
- if (flags.indexOf('g') === -1) {
939
- flags += 'g';
940
- }
941
-
942
- strCopy = String(str).slice(re.lastIndex);
943
- // Support anchored sticky behavior.
944
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
945
- source = '(?: ' + source + ')';
946
- strCopy = ' ' + strCopy;
947
- charsAdded++;
948
- }
949
- // ^(? + rx + ) is needed, in combination with some str slicing, to
950
- // simulate the 'y' flag.
951
- reCopy = new RegExp('^(?:' + source + ')', flags);
952
- }
953
-
954
- if (NPCG_INCLUDED) {
955
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
956
- }
957
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
958
-
959
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
960
-
961
- if (sticky) {
962
- if (match) {
963
- match.input = match.input.slice(charsAdded);
964
- match[0] = match[0].slice(charsAdded);
965
- match.index = re.lastIndex;
966
- re.lastIndex += match[0].length;
967
- } else re.lastIndex = 0;
968
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
969
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
970
- }
971
- if (NPCG_INCLUDED && match && match.length > 1) {
972
- // Fix browsers whose `exec` methods don't consistently return `undefined`
973
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
974
- nativeReplace.call(match[0], reCopy, function () {
975
- for (i = 1; i < arguments.length - 2; i++) {
976
- if (arguments[i] === undefined) match[i] = undefined;
977
- }
978
- });
979
- }
980
-
981
- return match;
982
- };
983
- }
984
-
985
- var regexpExec = patchedExec;
986
-
987
- _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
988
- exec: regexpExec
989
- });
990
-
991
- var TO_STRING = 'toString';
992
- var RegExpPrototype$1 = RegExp.prototype;
993
- var nativeToString = RegExpPrototype$1[TO_STRING];
994
-
995
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
996
- // FF44- RegExp#toString has a wrong name
997
- var INCORRECT_NAME = nativeToString.name != TO_STRING;
998
-
999
- // `RegExp.prototype.toString` method
1000
- // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
1001
- if (NOT_GENERIC || INCORRECT_NAME) {
1002
- redefine(RegExp.prototype, TO_STRING, function toString() {
1003
- var R = anObject(this);
1004
- var p = String(R.source);
1005
- var rf = R.flags;
1006
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$1) ? regexpFlags.call(R) : rf);
1007
- return '/' + p + '/' + f;
1008
- }, { unsafe: true });
1009
- }
1010
-
1011
- var SPECIES$3 = wellKnownSymbol('species');
1012
-
1013
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1014
- // #replace needs built-in support for named groups.
1015
- // #match works fine because it just return the exec results, even if it has
1016
- // a "grops" property.
1017
- var re = /./;
1018
- re.exec = function () {
1019
- var result = [];
1020
- result.groups = { a: '7' };
1021
- return result;
1022
- };
1023
- return ''.replace(re, '$<a>') !== '7';
1024
- });
1025
-
1026
- // IE <= 11 replaces $0 with the whole match, as if it was $&
1027
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1028
- var REPLACE_KEEPS_$0 = (function () {
1029
- return 'a'.replace(/./, '$0') === '$0';
1030
- })();
1031
-
1032
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1033
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1034
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1035
- var re = /(?:)/;
1036
- var originalExec = re.exec;
1037
- re.exec = function () { return originalExec.apply(this, arguments); };
1038
- var result = 'ab'.split(re);
1039
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1040
- });
1041
-
1042
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1043
- var SYMBOL = wellKnownSymbol(KEY);
1044
-
1045
- var DELEGATES_TO_SYMBOL = !fails(function () {
1046
- // String methods call symbol-named RegEp methods
1047
- var O = {};
1048
- O[SYMBOL] = function () { return 7; };
1049
- return ''[KEY](O) != 7;
1050
- });
1051
-
1052
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1053
- // Symbol-named RegExp methods call .exec
1054
- var execCalled = false;
1055
- var re = /a/;
1056
-
1057
- if (KEY === 'split') {
1058
- // We can't use real regex here since it causes deoptimization
1059
- // and serious performance degradation in V8
1060
- // https://github.com/zloirock/core-js/issues/306
1061
- re = {};
1062
- // RegExp[@@split] doesn't call the regex's exec method, but first creates
1063
- // a new one. We need to return the patched regex when creating the new one.
1064
- re.constructor = {};
1065
- re.constructor[SPECIES$3] = function () { return re; };
1066
- re.flags = '';
1067
- re[SYMBOL] = /./[SYMBOL];
1068
- }
1069
-
1070
- re.exec = function () { execCalled = true; return null; };
1071
-
1072
- re[SYMBOL]('');
1073
- return !execCalled;
1074
- });
1075
-
1076
- if (
1077
- !DELEGATES_TO_SYMBOL ||
1078
- !DELEGATES_TO_EXEC ||
1079
- (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
1080
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1081
- ) {
1082
- var nativeRegExpMethod = /./[SYMBOL];
1083
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1084
- if (regexp.exec === regexpExec) {
1085
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1086
- // The native String method already delegates to @@method (this
1087
- // polyfilled function), leasing to infinite recursion.
1088
- // We avoid it by directly calling the native @@method method.
1089
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1090
- }
1091
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1092
- }
1093
- return { done: false };
1094
- }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
1095
- var stringMethod = methods[0];
1096
- var regexMethod = methods[1];
1097
-
1098
- redefine(String.prototype, KEY, stringMethod);
1099
- redefine(RegExp.prototype, SYMBOL, length == 2
1100
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1101
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1102
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
1103
- // 21.2.5.6 RegExp.prototype[@@match](string)
1104
- // 21.2.5.9 RegExp.prototype[@@search](string)
1105
- : function (string) { return regexMethod.call(string, this); }
1106
- );
1107
- }
1108
-
1109
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1110
- };
1111
-
1112
- // `String.prototype.{ codePointAt, at }` methods implementation
1113
- var createMethod$2 = function (CONVERT_TO_STRING) {
1114
- return function ($this, pos) {
1115
- var S = String(requireObjectCoercible($this));
1116
- var position = toInteger(pos);
1117
- var size = S.length;
1118
- var first, second;
1119
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1120
- first = S.charCodeAt(position);
1121
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
1122
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1123
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1124
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1125
- };
1126
- };
1127
-
1128
- var stringMultibyte = {
1129
- // `String.prototype.codePointAt` method
1130
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1131
- codeAt: createMethod$2(false),
1132
- // `String.prototype.at` method
1133
- // https://github.com/mathiasbynens/String.prototype.at
1134
- charAt: createMethod$2(true)
1135
- };
1136
-
1137
- var charAt = stringMultibyte.charAt;
1138
-
1139
- // `AdvanceStringIndex` abstract operation
1140
- // https://tc39.github.io/ecma262/#sec-advancestringindex
1141
- var advanceStringIndex = function (S, index, unicode) {
1142
- return index + (unicode ? charAt(S, index).length : 1);
1143
- };
1144
-
1145
- // `RegExpExec` abstract operation
1146
- // https://tc39.github.io/ecma262/#sec-regexpexec
1147
- var regexpExecAbstract = function (R, S) {
1148
- var exec = R.exec;
1149
- if (typeof exec === 'function') {
1150
- var result = exec.call(R, S);
1151
- if (typeof result !== 'object') {
1152
- throw TypeError('RegExp exec method returned something other than an Object or null');
1153
- }
1154
- return result;
1155
- }
1156
-
1157
- if (classofRaw(R) !== 'RegExp') {
1158
- throw TypeError('RegExp#exec called on incompatible receiver');
1159
- }
1160
-
1161
- return regexpExec.call(R, S);
1162
- };
1163
-
1164
- // @@match logic
1165
- fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
1166
- return [
1167
- // `String.prototype.match` method
1168
- // https://tc39.github.io/ecma262/#sec-string.prototype.match
1169
- function match(regexp) {
1170
- var O = requireObjectCoercible(this);
1171
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
1172
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
1173
- },
1174
- // `RegExp.prototype[@@match]` method
1175
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
1176
- function (regexp) {
1177
- var res = maybeCallNative(nativeMatch, regexp, this);
1178
- if (res.done) return res.value;
1179
-
1180
- var rx = anObject(regexp);
1181
- var S = String(this);
1182
-
1183
- if (!rx.global) return regexpExecAbstract(rx, S);
1184
-
1185
- var fullUnicode = rx.unicode;
1186
- rx.lastIndex = 0;
1187
- var A = [];
1188
- var n = 0;
1189
- var result;
1190
- while ((result = regexpExecAbstract(rx, S)) !== null) {
1191
- var matchStr = String(result[0]);
1192
- A[n] = matchStr;
1193
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1194
- n++;
1195
- }
1196
- return n === 0 ? null : A;
1197
- }
1198
- ];
1199
- });
1200
-
1201
- var max$1 = Math.max;
1202
- var min$2 = Math.min;
1203
- var floor$1 = Math.floor;
1204
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
1205
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
1206
-
1207
- var maybeToString = function (it) {
1208
- return it === undefined ? it : String(it);
1209
- };
1210
-
1211
- // @@replace logic
1212
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1213
- return [
1214
- // `String.prototype.replace` method
1215
- // https://tc39.github.io/ecma262/#sec-string.prototype.replace
1216
- function replace(searchValue, replaceValue) {
1217
- var O = requireObjectCoercible(this);
1218
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1219
- return replacer !== undefined
1220
- ? replacer.call(searchValue, O, replaceValue)
1221
- : nativeReplace.call(String(O), searchValue, replaceValue);
1222
- },
1223
- // `RegExp.prototype[@@replace]` method
1224
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
1225
- function (regexp, replaceValue) {
1226
- if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
1227
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1228
- if (res.done) return res.value;
1229
- }
1230
-
1231
- var rx = anObject(regexp);
1232
- var S = String(this);
1233
-
1234
- var functionalReplace = typeof replaceValue === 'function';
1235
- if (!functionalReplace) replaceValue = String(replaceValue);
1236
-
1237
- var global = rx.global;
1238
- if (global) {
1239
- var fullUnicode = rx.unicode;
1240
- rx.lastIndex = 0;
1241
- }
1242
- var results = [];
1243
- while (true) {
1244
- var result = regexpExecAbstract(rx, S);
1245
- if (result === null) break;
1246
-
1247
- results.push(result);
1248
- if (!global) break;
1249
-
1250
- var matchStr = String(result[0]);
1251
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1252
- }
1253
-
1254
- var accumulatedResult = '';
1255
- var nextSourcePosition = 0;
1256
- for (var i = 0; i < results.length; i++) {
1257
- result = results[i];
1258
-
1259
- var matched = String(result[0]);
1260
- var position = max$1(min$2(toInteger(result.index), S.length), 0);
1261
- var captures = [];
1262
- // NOTE: This is equivalent to
1263
- // captures = result.slice(1).map(maybeToString)
1264
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1265
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1266
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1267
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1268
- var namedCaptures = result.groups;
1269
- if (functionalReplace) {
1270
- var replacerArgs = [matched].concat(captures, position, S);
1271
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1272
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
1273
- } else {
1274
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1275
- }
1276
- if (position >= nextSourcePosition) {
1277
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1278
- nextSourcePosition = position + matched.length;
1279
- }
1280
- }
1281
- return accumulatedResult + S.slice(nextSourcePosition);
1282
- }
1283
- ];
1284
-
1285
- // https://tc39.github.io/ecma262/#sec-getsubstitution
1286
- function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
1287
- var tailPos = position + matched.length;
1288
- var m = captures.length;
1289
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1290
- if (namedCaptures !== undefined) {
1291
- namedCaptures = toObject(namedCaptures);
1292
- symbols = SUBSTITUTION_SYMBOLS;
1293
- }
1294
- return nativeReplace.call(replacement, symbols, function (match, ch) {
1295
- var capture;
1296
- switch (ch.charAt(0)) {
1297
- case '$': return '$';
1298
- case '&': return matched;
1299
- case '`': return str.slice(0, position);
1300
- case "'": return str.slice(tailPos);
1301
- case '<':
1302
- capture = namedCaptures[ch.slice(1, -1)];
1303
- break;
1304
- default: // \d\d?
1305
- var n = +ch;
1306
- if (n === 0) return match;
1307
- if (n > m) {
1308
- var f = floor$1(n / 10);
1309
- if (f === 0) return match;
1310
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1311
- return match;
1312
- }
1313
- capture = captures[n - 1];
1314
- }
1315
- return capture === undefined ? '' : capture;
1316
- });
1317
- }
1318
- });
1319
-
1320
- // `SameValue` abstract operation
1321
- // https://tc39.github.io/ecma262/#sec-samevalue
1322
- var sameValue = Object.is || function is(x, y) {
1323
- // eslint-disable-next-line no-self-compare
1324
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
1325
- };
1326
-
1327
- // @@search logic
1328
- fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
1329
- return [
1330
- // `String.prototype.search` method
1331
- // https://tc39.github.io/ecma262/#sec-string.prototype.search
1332
- function search(regexp) {
1333
- var O = requireObjectCoercible(this);
1334
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
1335
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
1336
- },
1337
- // `RegExp.prototype[@@search]` method
1338
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
1339
- function (regexp) {
1340
- var res = maybeCallNative(nativeSearch, regexp, this);
1341
- if (res.done) return res.value;
1342
-
1343
- var rx = anObject(regexp);
1344
- var S = String(this);
1345
-
1346
- var previousLastIndex = rx.lastIndex;
1347
- if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
1348
- var result = regexpExecAbstract(rx, S);
1349
- if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
1350
- return result === null ? -1 : result.index;
1351
- }
1352
- ];
1353
- });
1354
-
1355
- function _classCallCheck(instance, Constructor) {
1356
- if (!(instance instanceof Constructor)) {
1357
- throw new TypeError("Cannot call a class as a function");
1358
- }
1359
- }
1360
-
1361
- function _defineProperties(target, props) {
1362
- for (var i = 0; i < props.length; i++) {
1363
- var descriptor = props[i];
1364
- descriptor.enumerable = descriptor.enumerable || false;
1365
- descriptor.configurable = true;
1366
- if ("value" in descriptor) descriptor.writable = true;
1367
- Object.defineProperty(target, descriptor.key, descriptor);
1368
- }
1369
- }
1370
-
1371
- function _createClass(Constructor, protoProps, staticProps) {
1372
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1373
- if (staticProps) _defineProperties(Constructor, staticProps);
1374
- return Constructor;
1375
- }
1376
-
1377
- function _inherits(subClass, superClass) {
1378
- if (typeof superClass !== "function" && superClass !== null) {
1379
- throw new TypeError("Super expression must either be null or a function");
1380
- }
1381
-
1382
- subClass.prototype = Object.create(superClass && superClass.prototype, {
1383
- constructor: {
1384
- value: subClass,
1385
- writable: true,
1386
- configurable: true
1387
- }
1388
- });
1389
- if (superClass) _setPrototypeOf(subClass, superClass);
1390
- }
1391
-
1392
- function _getPrototypeOf(o) {
1393
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1394
- return o.__proto__ || Object.getPrototypeOf(o);
1395
- };
1396
- return _getPrototypeOf(o);
1397
- }
1398
-
1399
- function _setPrototypeOf(o, p) {
1400
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1401
- o.__proto__ = p;
1402
- return o;
1403
- };
1404
-
1405
- return _setPrototypeOf(o, p);
1406
- }
1407
-
1408
- function _assertThisInitialized(self) {
1409
- if (self === void 0) {
1410
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1411
- }
1412
-
1413
- return self;
1414
- }
1415
-
1416
- function _possibleConstructorReturn(self, call) {
1417
- if (call && (typeof call === "object" || typeof call === "function")) {
1418
- return call;
1419
- }
1420
-
1421
- return _assertThisInitialized(self);
1422
- }
1423
-
1424
- function _superPropBase(object, property) {
1425
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
1426
- object = _getPrototypeOf(object);
1427
- if (object === null) break;
1428
- }
1429
-
1430
- return object;
1431
- }
1432
-
1433
- function _get(target, property, receiver) {
1434
- if (typeof Reflect !== "undefined" && Reflect.get) {
1435
- _get = Reflect.get;
1436
- } else {
1437
- _get = function _get(target, property, receiver) {
1438
- var base = _superPropBase(target, property);
1439
-
1440
- if (!base) return;
1441
- var desc = Object.getOwnPropertyDescriptor(base, property);
1442
-
1443
- if (desc.get) {
1444
- return desc.get.call(receiver);
1445
- }
1446
-
1447
- return desc.value;
1448
- };
1449
- }
1450
-
1451
- return _get(target, property, receiver || target);
1452
- }
1453
-
1454
- function _slicedToArray(arr, i) {
1455
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
1456
- }
1457
-
1458
- function _arrayWithHoles(arr) {
1459
- if (Array.isArray(arr)) return arr;
1460
- }
1461
-
1462
- function _iterableToArrayLimit(arr, i) {
1463
- if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
1464
- return;
1465
- }
1466
-
1467
- var _arr = [];
1468
- var _n = true;
1469
- var _d = false;
1470
- var _e = undefined;
1471
-
1472
- try {
1473
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
1474
- _arr.push(_s.value);
1475
-
1476
- if (i && _arr.length === i) break;
1477
- }
1478
- } catch (err) {
1479
- _d = true;
1480
- _e = err;
1481
- } finally {
1482
- try {
1483
- if (!_n && _i["return"] != null) _i["return"]();
1484
- } finally {
1485
- if (_d) throw _e;
1486
- }
1487
- }
1488
-
1489
- return _arr;
1490
- }
1491
-
1492
- function _nonIterableRest() {
1493
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
1494
- }
1495
-
1496
- /**
1497
- * @author: general
1498
- * @website: note.generals.space
1499
- * @email: generals.space@gmail.com
1500
- * @github: https://github.com/generals-space/bootstrap-table-addrbar
1501
- * @update: zhixin wen <wenzhixin2010@gmail.com>
1502
- */
1503
-
1504
- /*
1505
- * function: 获取浏览器地址栏中的指定参数.
1506
- * key: 参数名
1507
- * url: 默认为当前地址栏
1508
- */
1509
-
1510
- function _GET(key) {
1511
- var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
1512
-
1513
- /*
1514
- * 注意这里正则表达式的书写方法
1515
- * (^|&)key匹配: 直接以key开始或以&key开始的字符串
1516
- * 同理(&|$)表示以&结束或是直接结束的字符串
1517
- * ...当然, 我并不知道这种用法.
1518
- */
1519
- var reg = new RegExp("(^|&)".concat(key, "=([^&]*)(&|$)"));
1520
- var result = url.substr(1).match(reg);
1521
-
1522
- if (result) {
1523
- return decodeURIComponent(result[2]);
1524
- }
1525
-
1526
- return null;
1527
- }
1528
- /*
1529
- * function: 根据给定参数生成url地址
1530
- * var dic = {name: 'genreal', age: 24}
1531
- * var url = 'https://www.baidu.com?age=22';
1532
- * _buildUrl(dic, url);
1533
- * 将得到"https://www.baidu.com?age=24&name=genreal"
1534
- * 哦, 忽略先后顺序吧...
1535
- *
1536
- * 补充: 可以参考浏览器URLSearchParams对象, 更加方便和强大.
1537
- * 考虑到兼容性, 暂时不使用这个工具.
1538
- */
1539
-
1540
-
1541
- function _buildUrl(dict) {
1542
- var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
1543
-
1544
- for (var _i = 0, _Object$entries = Object.entries(dict); _i < _Object$entries.length; _i++) {
1545
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
1546
- key = _Object$entries$_i[0],
1547
- val = _Object$entries$_i[1];
1548
-
1549
- // 搜索name=general这种形式的字符串(&是分隔符)
1550
- var pattern = "".concat(key, "=([^&]*)");
1551
- var targetStr = "".concat(key, "=").concat(val);
1552
- /*
1553
- * 如果目标url中包含了key键, 我们需要将它替换成我们自己的val
1554
- * 不然就直接添加好了.
1555
- */
1556
-
1557
- if (url.match(pattern)) {
1558
- var tmp = new RegExp("(".concat(key, "=)([^&]*)"), 'gi');
1559
- url = url.replace(tmp, targetStr);
1560
- } else {
1561
- var seperator = url.match('[?]') ? '&' : '?';
1562
- url = url + seperator + targetStr;
1563
- }
1564
- }
1565
-
1566
- if (location.hash) {
1567
- url += location.hash;
1568
- }
1569
-
1570
- return url;
1571
- }
1572
-
1573
- $.extend($.fn.bootstrapTable.defaults, {
1574
- addrbar: false,
1575
- addrPrefix: ''
1576
- });
1577
-
1578
- $.BootstrapTable =
1579
- /*#__PURE__*/
1580
- function (_$$BootstrapTable) {
1581
- _inherits(_class, _$$BootstrapTable);
1582
-
1583
- function _class() {
1584
- _classCallCheck(this, _class);
1585
-
1586
- return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
1587
- }
1588
-
1589
- _createClass(_class, [{
1590
- key: "init",
1591
- value: function init() {
1592
- var _this = this,
1593
- _get2;
1594
-
1595
- if (this.options.pagination && this.options.sidePagination === 'server' && this.options.addrbar) {
1596
- // 标志位, 初始加载后关闭
1597
- this.addrbarInit = true;
1598
- this.options.pageNumber = +this.getDefaultOptionValue('pageNumber', 'page');
1599
- this.options.pageSize = +this.getDefaultOptionValue('pageSize', 'size');
1600
- this.options.sortOrder = this.getDefaultOptionValue('sortOrder', 'order');
1601
- this.options.sortName = this.getDefaultOptionValue('sortName', 'sort');
1602
- this.options.searchText = this.getDefaultOptionValue('searchText', 'search');
1603
-
1604
- var _prefix = this.options.addrPrefix || '';
1605
-
1606
- var _onLoadSuccess = this.options.onLoadSuccess;
1607
-
1608
- this.options.onLoadSuccess = function (data) {
1609
- if (_this.addrbarInit) {
1610
- _this.addrbarInit = false;
1611
- } else {
1612
- var params = {};
1613
- params["".concat(_prefix, "page")] = _this.options.pageNumber, params["".concat(_prefix, "size")] = _this.options.pageSize, params["".concat(_prefix, "order")] = _this.options.sortOrder, params["".concat(_prefix, "sort")] = _this.options.sortName, params["".concat(_prefix, "search")] = _this.options.searchText; // h5提供的修改浏览器地址栏的方法
1614
-
1615
- window.history.pushState({}, '', _buildUrl(params));
1616
- }
1617
-
1618
- if (_onLoadSuccess) {
1619
- _onLoadSuccess.call(_this, data);
1620
- }
1621
- };
1622
- }
1623
-
1624
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1625
- args[_key] = arguments[_key];
1626
- }
1627
-
1628
- (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
1629
- }
1630
- /*
1631
- * Priority order:
1632
- * The value specified by the user has the highest priority.
1633
- * If it is not specified, it will be obtained from the address bar.
1634
- * If it is not obtained, the default value will be used.
1635
- */
1636
-
1637
- }, {
1638
- key: "getDefaultOptionValue",
1639
- value: function getDefaultOptionValue(optionName, prefixName) {
1640
- if (this.options[optionName] !== $.BootstrapTable.DEFAULTS[optionName]) {
1641
- return this.options[optionName];
1642
- }
1643
-
1644
- return _GET("".concat(this.options.addrPrefix || '').concat(prefixName)) || $.BootstrapTable.DEFAULTS[optionName];
1645
- }
1646
- }]);
1647
-
1648
- return _class;
1649
- }($.BootstrapTable);
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
10
+
11
+ function _classCallCheck(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+
17
+ function _defineProperties(target, props) {
18
+ for (var i = 0; i < props.length; i++) {
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+
27
+ function _createClass(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+
33
+ function _inherits(subClass, superClass) {
34
+ if (typeof superClass !== "function" && superClass !== null) {
35
+ throw new TypeError("Super expression must either be null or a function");
36
+ }
37
+
38
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
39
+ constructor: {
40
+ value: subClass,
41
+ writable: true,
42
+ configurable: true
43
+ }
44
+ });
45
+ if (superClass) _setPrototypeOf(subClass, superClass);
46
+ }
47
+
48
+ function _getPrototypeOf(o) {
49
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
50
+ return o.__proto__ || Object.getPrototypeOf(o);
51
+ };
52
+ return _getPrototypeOf(o);
53
+ }
54
+
55
+ function _setPrototypeOf(o, p) {
56
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
57
+ o.__proto__ = p;
58
+ return o;
59
+ };
60
+
61
+ return _setPrototypeOf(o, p);
62
+ }
63
+
64
+ function _isNativeReflectConstruct() {
65
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
66
+ if (Reflect.construct.sham) return false;
67
+ if (typeof Proxy === "function") return true;
68
+
69
+ try {
70
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
71
+ return true;
72
+ } catch (e) {
73
+ return false;
74
+ }
75
+ }
76
+
77
+ function _assertThisInitialized(self) {
78
+ if (self === void 0) {
79
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
80
+ }
81
+
82
+ return self;
83
+ }
84
+
85
+ function _possibleConstructorReturn(self, call) {
86
+ if (call && (typeof call === "object" || typeof call === "function")) {
87
+ return call;
88
+ }
89
+
90
+ return _assertThisInitialized(self);
91
+ }
92
+
93
+ function _createSuper(Derived) {
94
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
95
+
96
+ return function _createSuperInternal() {
97
+ var Super = _getPrototypeOf(Derived),
98
+ result;
99
+
100
+ if (hasNativeReflectConstruct) {
101
+ var NewTarget = _getPrototypeOf(this).constructor;
102
+
103
+ result = Reflect.construct(Super, arguments, NewTarget);
104
+ } else {
105
+ result = Super.apply(this, arguments);
106
+ }
107
+
108
+ return _possibleConstructorReturn(this, result);
109
+ };
110
+ }
111
+
112
+ function _superPropBase(object, property) {
113
+ while (!Object.prototype.hasOwnProperty.call(object, property)) {
114
+ object = _getPrototypeOf(object);
115
+ if (object === null) break;
116
+ }
117
+
118
+ return object;
119
+ }
120
+
121
+ function _get(target, property, receiver) {
122
+ if (typeof Reflect !== "undefined" && Reflect.get) {
123
+ _get = Reflect.get;
124
+ } else {
125
+ _get = function _get(target, property, receiver) {
126
+ var base = _superPropBase(target, property);
127
+
128
+ if (!base) return;
129
+ var desc = Object.getOwnPropertyDescriptor(base, property);
130
+
131
+ if (desc.get) {
132
+ return desc.get.call(receiver);
133
+ }
134
+
135
+ return desc.value;
136
+ };
137
+ }
138
+
139
+ return _get(target, property, receiver || target);
140
+ }
141
+
142
+ function _slicedToArray(arr, i) {
143
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
144
+ }
145
+
146
+ function _arrayWithHoles(arr) {
147
+ if (Array.isArray(arr)) return arr;
148
+ }
149
+
150
+ function _iterableToArrayLimit(arr, i) {
151
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
152
+ var _arr = [];
153
+ var _n = true;
154
+ var _d = false;
155
+ var _e = undefined;
156
+
157
+ try {
158
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
159
+ _arr.push(_s.value);
160
+
161
+ if (i && _arr.length === i) break;
162
+ }
163
+ } catch (err) {
164
+ _d = true;
165
+ _e = err;
166
+ } finally {
167
+ try {
168
+ if (!_n && _i["return"] != null) _i["return"]();
169
+ } finally {
170
+ if (_d) throw _e;
171
+ }
172
+ }
173
+
174
+ return _arr;
175
+ }
176
+
177
+ function _unsupportedIterableToArray(o, minLen) {
178
+ if (!o) return;
179
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
180
+ var n = Object.prototype.toString.call(o).slice(8, -1);
181
+ if (n === "Object" && o.constructor) n = o.constructor.name;
182
+ if (n === "Map" || n === "Set") return Array.from(o);
183
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
184
+ }
185
+
186
+ function _arrayLikeToArray(arr, len) {
187
+ if (len == null || len > arr.length) len = arr.length;
188
+
189
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
190
+
191
+ return arr2;
192
+ }
193
+
194
+ function _nonIterableRest() {
195
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
196
+ }
197
+
198
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
199
+
200
+ function createCommonjsModule(fn, module) {
201
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
202
+ }
203
+
204
+ var check = function (it) {
205
+ return it && it.Math == Math && it;
206
+ };
207
+
208
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
209
+ var global_1 =
210
+ /* global globalThis -- safe */
211
+ check(typeof globalThis == 'object' && globalThis) ||
212
+ check(typeof window == 'object' && window) ||
213
+ check(typeof self == 'object' && self) ||
214
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
215
+ // eslint-disable-next-line no-new-func -- fallback
216
+ (function () { return this; })() || Function('return this')();
217
+
218
+ var fails = function (exec) {
219
+ try {
220
+ return !!exec();
221
+ } catch (error) {
222
+ return true;
223
+ }
224
+ };
225
+
226
+ // Detect IE8's incomplete defineProperty implementation
227
+ var descriptors = !fails(function () {
228
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
229
+ });
230
+
231
+ var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
232
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
233
+
234
+ // Nashorn ~ JDK8 bug
235
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
236
+
237
+ // `Object.prototype.propertyIsEnumerable` method implementation
238
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
239
+ var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
240
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
241
+ return !!descriptor && descriptor.enumerable;
242
+ } : nativePropertyIsEnumerable;
243
+
244
+ var objectPropertyIsEnumerable = {
245
+ f: f$4
246
+ };
247
+
248
+ var createPropertyDescriptor = function (bitmap, value) {
249
+ return {
250
+ enumerable: !(bitmap & 1),
251
+ configurable: !(bitmap & 2),
252
+ writable: !(bitmap & 4),
253
+ value: value
254
+ };
255
+ };
256
+
257
+ var toString = {}.toString;
258
+
259
+ var classofRaw = function (it) {
260
+ return toString.call(it).slice(8, -1);
261
+ };
262
+
263
+ var split = ''.split;
264
+
265
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
266
+ var indexedObject = fails(function () {
267
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
268
+ // eslint-disable-next-line no-prototype-builtins -- safe
269
+ return !Object('z').propertyIsEnumerable(0);
270
+ }) ? function (it) {
271
+ return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
272
+ } : Object;
273
+
274
+ // `RequireObjectCoercible` abstract operation
275
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
276
+ var requireObjectCoercible = function (it) {
277
+ if (it == undefined) throw TypeError("Can't call method on " + it);
278
+ return it;
279
+ };
280
+
281
+ // toObject with fallback for non-array-like ES3 strings
282
+
283
+
284
+
285
+ var toIndexedObject = function (it) {
286
+ return indexedObject(requireObjectCoercible(it));
287
+ };
288
+
289
+ var isObject = function (it) {
290
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
291
+ };
292
+
293
+ // `ToPrimitive` abstract operation
294
+ // https://tc39.es/ecma262/#sec-toprimitive
295
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
296
+ // and the second argument - flag - preferred type is a string
297
+ var toPrimitive = function (input, PREFERRED_STRING) {
298
+ if (!isObject(input)) return input;
299
+ var fn, val;
300
+ if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
301
+ if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
302
+ if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
303
+ throw TypeError("Can't convert object to primitive value");
304
+ };
305
+
306
+ var hasOwnProperty = {}.hasOwnProperty;
307
+
308
+ var has$1 = function (it, key) {
309
+ return hasOwnProperty.call(it, key);
310
+ };
311
+
312
+ var document = global_1.document;
313
+ // typeof document.createElement is 'object' in old IE
314
+ var EXISTS = isObject(document) && isObject(document.createElement);
315
+
316
+ var documentCreateElement = function (it) {
317
+ return EXISTS ? document.createElement(it) : {};
318
+ };
319
+
320
+ // Thank's IE8 for his funny defineProperty
321
+ var ie8DomDefine = !descriptors && !fails(function () {
322
+ return Object.defineProperty(documentCreateElement('div'), 'a', {
323
+ get: function () { return 7; }
324
+ }).a != 7;
325
+ });
326
+
327
+ var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
328
+
329
+ // `Object.getOwnPropertyDescriptor` method
330
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
331
+ var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
332
+ O = toIndexedObject(O);
333
+ P = toPrimitive(P, true);
334
+ if (ie8DomDefine) try {
335
+ return nativeGetOwnPropertyDescriptor(O, P);
336
+ } catch (error) { /* empty */ }
337
+ if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
338
+ };
339
+
340
+ var objectGetOwnPropertyDescriptor = {
341
+ f: f$3
342
+ };
343
+
344
+ var anObject = function (it) {
345
+ if (!isObject(it)) {
346
+ throw TypeError(String(it) + ' is not an object');
347
+ } return it;
348
+ };
349
+
350
+ var nativeDefineProperty = Object.defineProperty;
351
+
352
+ // `Object.defineProperty` method
353
+ // https://tc39.es/ecma262/#sec-object.defineproperty
354
+ var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
355
+ anObject(O);
356
+ P = toPrimitive(P, true);
357
+ anObject(Attributes);
358
+ if (ie8DomDefine) try {
359
+ return nativeDefineProperty(O, P, Attributes);
360
+ } catch (error) { /* empty */ }
361
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
362
+ if ('value' in Attributes) O[P] = Attributes.value;
363
+ return O;
364
+ };
365
+
366
+ var objectDefineProperty = {
367
+ f: f$2
368
+ };
369
+
370
+ var createNonEnumerableProperty = descriptors ? function (object, key, value) {
371
+ return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
372
+ } : function (object, key, value) {
373
+ object[key] = value;
374
+ return object;
375
+ };
376
+
377
+ var setGlobal = function (key, value) {
378
+ try {
379
+ createNonEnumerableProperty(global_1, key, value);
380
+ } catch (error) {
381
+ global_1[key] = value;
382
+ } return value;
383
+ };
384
+
385
+ var SHARED = '__core-js_shared__';
386
+ var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
387
+
388
+ var sharedStore = store$1;
389
+
390
+ var functionToString = Function.toString;
391
+
392
+ // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
393
+ if (typeof sharedStore.inspectSource != 'function') {
394
+ sharedStore.inspectSource = function (it) {
395
+ return functionToString.call(it);
396
+ };
397
+ }
398
+
399
+ var inspectSource = sharedStore.inspectSource;
400
+
401
+ var WeakMap$1 = global_1.WeakMap;
402
+
403
+ var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
404
+
405
+ var shared = createCommonjsModule(function (module) {
406
+ (module.exports = function (key, value) {
407
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
408
+ })('versions', []).push({
409
+ version: '3.9.1',
410
+ mode: 'global',
411
+ copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
412
+ });
413
+ });
414
+
415
+ var id = 0;
416
+ var postfix = Math.random();
417
+
418
+ var uid = function (key) {
419
+ return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
420
+ };
421
+
422
+ var keys$1 = shared('keys');
423
+
424
+ var sharedKey = function (key) {
425
+ return keys$1[key] || (keys$1[key] = uid(key));
426
+ };
427
+
428
+ var hiddenKeys$1 = {};
429
+
430
+ var WeakMap = global_1.WeakMap;
431
+ var set, get, has;
432
+
433
+ var enforce = function (it) {
434
+ return has(it) ? get(it) : set(it, {});
435
+ };
436
+
437
+ var getterFor = function (TYPE) {
438
+ return function (it) {
439
+ var state;
440
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
441
+ throw TypeError('Incompatible receiver, ' + TYPE + ' required');
442
+ } return state;
443
+ };
444
+ };
445
+
446
+ if (nativeWeakMap) {
447
+ var store = sharedStore.state || (sharedStore.state = new WeakMap());
448
+ var wmget = store.get;
449
+ var wmhas = store.has;
450
+ var wmset = store.set;
451
+ set = function (it, metadata) {
452
+ metadata.facade = it;
453
+ wmset.call(store, it, metadata);
454
+ return metadata;
455
+ };
456
+ get = function (it) {
457
+ return wmget.call(store, it) || {};
458
+ };
459
+ has = function (it) {
460
+ return wmhas.call(store, it);
461
+ };
462
+ } else {
463
+ var STATE = sharedKey('state');
464
+ hiddenKeys$1[STATE] = true;
465
+ set = function (it, metadata) {
466
+ metadata.facade = it;
467
+ createNonEnumerableProperty(it, STATE, metadata);
468
+ return metadata;
469
+ };
470
+ get = function (it) {
471
+ return has$1(it, STATE) ? it[STATE] : {};
472
+ };
473
+ has = function (it) {
474
+ return has$1(it, STATE);
475
+ };
476
+ }
477
+
478
+ var internalState = {
479
+ set: set,
480
+ get: get,
481
+ has: has,
482
+ enforce: enforce,
483
+ getterFor: getterFor
484
+ };
485
+
486
+ var redefine = createCommonjsModule(function (module) {
487
+ var getInternalState = internalState.get;
488
+ var enforceInternalState = internalState.enforce;
489
+ var TEMPLATE = String(String).split('String');
490
+
491
+ (module.exports = function (O, key, value, options) {
492
+ var unsafe = options ? !!options.unsafe : false;
493
+ var simple = options ? !!options.enumerable : false;
494
+ var noTargetGet = options ? !!options.noTargetGet : false;
495
+ var state;
496
+ if (typeof value == 'function') {
497
+ if (typeof key == 'string' && !has$1(value, 'name')) {
498
+ createNonEnumerableProperty(value, 'name', key);
499
+ }
500
+ state = enforceInternalState(value);
501
+ if (!state.source) {
502
+ state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
503
+ }
504
+ }
505
+ if (O === global_1) {
506
+ if (simple) O[key] = value;
507
+ else setGlobal(key, value);
508
+ return;
509
+ } else if (!unsafe) {
510
+ delete O[key];
511
+ } else if (!noTargetGet && O[key]) {
512
+ simple = true;
513
+ }
514
+ if (simple) O[key] = value;
515
+ else createNonEnumerableProperty(O, key, value);
516
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
517
+ })(Function.prototype, 'toString', function toString() {
518
+ return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
519
+ });
520
+ });
521
+
522
+ var path = global_1;
523
+
524
+ var aFunction = function (variable) {
525
+ return typeof variable == 'function' ? variable : undefined;
526
+ };
527
+
528
+ var getBuiltIn = function (namespace, method) {
529
+ return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
530
+ : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
531
+ };
532
+
533
+ var ceil = Math.ceil;
534
+ var floor$1 = Math.floor;
535
+
536
+ // `ToInteger` abstract operation
537
+ // https://tc39.es/ecma262/#sec-tointeger
538
+ var toInteger = function (argument) {
539
+ return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
540
+ };
541
+
542
+ var min$2 = Math.min;
543
+
544
+ // `ToLength` abstract operation
545
+ // https://tc39.es/ecma262/#sec-tolength
546
+ var toLength = function (argument) {
547
+ return argument > 0 ? min$2(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
548
+ };
549
+
550
+ var max$1 = Math.max;
551
+ var min$1 = Math.min;
552
+
553
+ // Helper for a popular repeating case of the spec:
554
+ // Let integer be ? ToInteger(index).
555
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
556
+ var toAbsoluteIndex = function (index, length) {
557
+ var integer = toInteger(index);
558
+ return integer < 0 ? max$1(integer + length, 0) : min$1(integer, length);
559
+ };
560
+
561
+ // `Array.prototype.{ indexOf, includes }` methods implementation
562
+ var createMethod$2 = function (IS_INCLUDES) {
563
+ return function ($this, el, fromIndex) {
564
+ var O = toIndexedObject($this);
565
+ var length = toLength(O.length);
566
+ var index = toAbsoluteIndex(fromIndex, length);
567
+ var value;
568
+ // Array#includes uses SameValueZero equality algorithm
569
+ // eslint-disable-next-line no-self-compare -- NaN check
570
+ if (IS_INCLUDES && el != el) while (length > index) {
571
+ value = O[index++];
572
+ // eslint-disable-next-line no-self-compare -- NaN check
573
+ if (value != value) return true;
574
+ // Array#indexOf ignores holes, Array#includes - not
575
+ } else for (;length > index; index++) {
576
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
577
+ } return !IS_INCLUDES && -1;
578
+ };
579
+ };
580
+
581
+ var arrayIncludes = {
582
+ // `Array.prototype.includes` method
583
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
584
+ includes: createMethod$2(true),
585
+ // `Array.prototype.indexOf` method
586
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
587
+ indexOf: createMethod$2(false)
588
+ };
589
+
590
+ var indexOf = arrayIncludes.indexOf;
591
+
592
+
593
+ var objectKeysInternal = function (object, names) {
594
+ var O = toIndexedObject(object);
595
+ var i = 0;
596
+ var result = [];
597
+ var key;
598
+ for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
599
+ // Don't enum bug & hidden keys
600
+ while (names.length > i) if (has$1(O, key = names[i++])) {
601
+ ~indexOf(result, key) || result.push(key);
602
+ }
603
+ return result;
604
+ };
605
+
606
+ // IE8- don't enum bug keys
607
+ var enumBugKeys = [
608
+ 'constructor',
609
+ 'hasOwnProperty',
610
+ 'isPrototypeOf',
611
+ 'propertyIsEnumerable',
612
+ 'toLocaleString',
613
+ 'toString',
614
+ 'valueOf'
615
+ ];
616
+
617
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
618
+
619
+ // `Object.getOwnPropertyNames` method
620
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
621
+ var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
622
+ return objectKeysInternal(O, hiddenKeys);
623
+ };
624
+
625
+ var objectGetOwnPropertyNames = {
626
+ f: f$1
627
+ };
628
+
629
+ var f = Object.getOwnPropertySymbols;
630
+
631
+ var objectGetOwnPropertySymbols = {
632
+ f: f
633
+ };
634
+
635
+ // all object keys, includes non-enumerable and symbols
636
+ var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
637
+ var keys = objectGetOwnPropertyNames.f(anObject(it));
638
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
639
+ return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
640
+ };
641
+
642
+ var copyConstructorProperties = function (target, source) {
643
+ var keys = ownKeys(source);
644
+ var defineProperty = objectDefineProperty.f;
645
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
646
+ for (var i = 0; i < keys.length; i++) {
647
+ var key = keys[i];
648
+ if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
649
+ }
650
+ };
651
+
652
+ var replacement = /#|\.prototype\./;
653
+
654
+ var isForced = function (feature, detection) {
655
+ var value = data[normalize(feature)];
656
+ return value == POLYFILL ? true
657
+ : value == NATIVE ? false
658
+ : typeof detection == 'function' ? fails(detection)
659
+ : !!detection;
660
+ };
661
+
662
+ var normalize = isForced.normalize = function (string) {
663
+ return String(string).replace(replacement, '.').toLowerCase();
664
+ };
665
+
666
+ var data = isForced.data = {};
667
+ var NATIVE = isForced.NATIVE = 'N';
668
+ var POLYFILL = isForced.POLYFILL = 'P';
669
+
670
+ var isForced_1 = isForced;
671
+
672
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
673
+
674
+
675
+
676
+
677
+
678
+
679
+ /*
680
+ options.target - name of the target object
681
+ options.global - target is the global object
682
+ options.stat - export as static methods of target
683
+ options.proto - export as prototype methods of target
684
+ options.real - real prototype method for the `pure` version
685
+ options.forced - export even if the native feature is available
686
+ options.bind - bind methods to the target, required for the `pure` version
687
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
688
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
689
+ options.sham - add a flag to not completely full polyfills
690
+ options.enumerable - export as enumerable property
691
+ options.noTargetGet - prevent calling a getter on target
692
+ */
693
+ var _export = function (options, source) {
694
+ var TARGET = options.target;
695
+ var GLOBAL = options.global;
696
+ var STATIC = options.stat;
697
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
698
+ if (GLOBAL) {
699
+ target = global_1;
700
+ } else if (STATIC) {
701
+ target = global_1[TARGET] || setGlobal(TARGET, {});
702
+ } else {
703
+ target = (global_1[TARGET] || {}).prototype;
704
+ }
705
+ if (target) for (key in source) {
706
+ sourceProperty = source[key];
707
+ if (options.noTargetGet) {
708
+ descriptor = getOwnPropertyDescriptor(target, key);
709
+ targetProperty = descriptor && descriptor.value;
710
+ } else targetProperty = target[key];
711
+ FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
712
+ // contained in target
713
+ if (!FORCED && targetProperty !== undefined) {
714
+ if (typeof sourceProperty === typeof targetProperty) continue;
715
+ copyConstructorProperties(sourceProperty, targetProperty);
716
+ }
717
+ // add a flag to not completely full polyfills
718
+ if (options.sham || (targetProperty && targetProperty.sham)) {
719
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
720
+ }
721
+ // extend global
722
+ redefine(target, key, sourceProperty, options);
723
+ }
724
+ };
725
+
726
+ // `RegExp.prototype.flags` getter implementation
727
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
728
+ var regexpFlags = function () {
729
+ var that = anObject(this);
730
+ var result = '';
731
+ if (that.global) result += 'g';
732
+ if (that.ignoreCase) result += 'i';
733
+ if (that.multiline) result += 'm';
734
+ if (that.dotAll) result += 's';
735
+ if (that.unicode) result += 'u';
736
+ if (that.sticky) result += 'y';
737
+ return result;
738
+ };
739
+
740
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
741
+ // so we use an intermediate function.
742
+ function RE(s, f) {
743
+ return RegExp(s, f);
744
+ }
745
+
746
+ var UNSUPPORTED_Y$2 = fails(function () {
747
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
748
+ var re = RE('a', 'y');
749
+ re.lastIndex = 2;
750
+ return re.exec('abcd') != null;
751
+ });
752
+
753
+ var BROKEN_CARET = fails(function () {
754
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
755
+ var re = RE('^r', 'gy');
756
+ re.lastIndex = 2;
757
+ return re.exec('str') != null;
758
+ });
759
+
760
+ var regexpStickyHelpers = {
761
+ UNSUPPORTED_Y: UNSUPPORTED_Y$2,
762
+ BROKEN_CARET: BROKEN_CARET
763
+ };
764
+
765
+ var nativeExec = RegExp.prototype.exec;
766
+ // This always refers to the native implementation, because the
767
+ // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
768
+ // which loads this file before patching the method.
769
+ var nativeReplace = String.prototype.replace;
770
+
771
+ var patchedExec = nativeExec;
772
+
773
+ var UPDATES_LAST_INDEX_WRONG = (function () {
774
+ var re1 = /a/;
775
+ var re2 = /b*/g;
776
+ nativeExec.call(re1, 'a');
777
+ nativeExec.call(re2, 'a');
778
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
779
+ })();
780
+
781
+ var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
782
+
783
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
784
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
785
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
786
+
787
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
788
+
789
+ if (PATCH) {
790
+ patchedExec = function exec(str) {
791
+ var re = this;
792
+ var lastIndex, reCopy, match, i;
793
+ var sticky = UNSUPPORTED_Y$1 && re.sticky;
794
+ var flags = regexpFlags.call(re);
795
+ var source = re.source;
796
+ var charsAdded = 0;
797
+ var strCopy = str;
798
+
799
+ if (sticky) {
800
+ flags = flags.replace('y', '');
801
+ if (flags.indexOf('g') === -1) {
802
+ flags += 'g';
803
+ }
804
+
805
+ strCopy = String(str).slice(re.lastIndex);
806
+ // Support anchored sticky behavior.
807
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
808
+ source = '(?: ' + source + ')';
809
+ strCopy = ' ' + strCopy;
810
+ charsAdded++;
811
+ }
812
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
813
+ // simulate the 'y' flag.
814
+ reCopy = new RegExp('^(?:' + source + ')', flags);
815
+ }
816
+
817
+ if (NPCG_INCLUDED) {
818
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
819
+ }
820
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
821
+
822
+ match = nativeExec.call(sticky ? reCopy : re, strCopy);
823
+
824
+ if (sticky) {
825
+ if (match) {
826
+ match.input = match.input.slice(charsAdded);
827
+ match[0] = match[0].slice(charsAdded);
828
+ match.index = re.lastIndex;
829
+ re.lastIndex += match[0].length;
830
+ } else re.lastIndex = 0;
831
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
832
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
833
+ }
834
+ if (NPCG_INCLUDED && match && match.length > 1) {
835
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
836
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
837
+ nativeReplace.call(match[0], reCopy, function () {
838
+ for (i = 1; i < arguments.length - 2; i++) {
839
+ if (arguments[i] === undefined) match[i] = undefined;
840
+ }
841
+ });
842
+ }
843
+
844
+ return match;
845
+ };
846
+ }
847
+
848
+ var regexpExec = patchedExec;
849
+
850
+ // `RegExp.prototype.exec` method
851
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
852
+ _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
853
+ exec: regexpExec
854
+ });
855
+
856
+ var engineIsNode = classofRaw(global_1.process) == 'process';
857
+
858
+ var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
859
+
860
+ var process = global_1.process;
861
+ var versions = process && process.versions;
862
+ var v8 = versions && versions.v8;
863
+ var match, version;
864
+
865
+ if (v8) {
866
+ match = v8.split('.');
867
+ version = match[0] + match[1];
868
+ } else if (engineUserAgent) {
869
+ match = engineUserAgent.match(/Edge\/(\d+)/);
870
+ if (!match || match[1] >= 74) {
871
+ match = engineUserAgent.match(/Chrome\/(\d+)/);
872
+ if (match) version = match[1];
873
+ }
874
+ }
875
+
876
+ var engineV8Version = version && +version;
877
+
878
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
879
+ /* global Symbol -- required for testing */
880
+ return !Symbol.sham &&
881
+ // Chrome 38 Symbol has incorrect toString conversion
882
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
883
+ (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
884
+ });
885
+
886
+ var useSymbolAsUid = nativeSymbol
887
+ /* global Symbol -- safe */
888
+ && !Symbol.sham
889
+ && typeof Symbol.iterator == 'symbol';
890
+
891
+ var WellKnownSymbolsStore = shared('wks');
892
+ var Symbol$1 = global_1.Symbol;
893
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
894
+
895
+ var wellKnownSymbol = function (name) {
896
+ if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
897
+ if (nativeSymbol && has$1(Symbol$1, name)) {
898
+ WellKnownSymbolsStore[name] = Symbol$1[name];
899
+ } else {
900
+ WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
901
+ }
902
+ } return WellKnownSymbolsStore[name];
903
+ };
904
+
905
+ // TODO: Remove from `core-js@4` since it's moved to entry points
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+ var SPECIES$3 = wellKnownSymbol('species');
914
+
915
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
916
+ // #replace needs built-in support for named groups.
917
+ // #match works fine because it just return the exec results, even if it has
918
+ // a "grops" property.
919
+ var re = /./;
920
+ re.exec = function () {
921
+ var result = [];
922
+ result.groups = { a: '7' };
923
+ return result;
924
+ };
925
+ return ''.replace(re, '$<a>') !== '7';
926
+ });
927
+
928
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
929
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
930
+ var REPLACE_KEEPS_$0 = (function () {
931
+ return 'a'.replace(/./, '$0') === '$0';
932
+ })();
933
+
934
+ var REPLACE = wellKnownSymbol('replace');
935
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
936
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
937
+ if (/./[REPLACE]) {
938
+ return /./[REPLACE]('a', '$0') === '';
939
+ }
940
+ return false;
941
+ })();
942
+
943
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
944
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
945
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
946
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
947
+ var re = /(?:)/;
948
+ var originalExec = re.exec;
949
+ re.exec = function () { return originalExec.apply(this, arguments); };
950
+ var result = 'ab'.split(re);
951
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
952
+ });
953
+
954
+ var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
955
+ var SYMBOL = wellKnownSymbol(KEY);
956
+
957
+ var DELEGATES_TO_SYMBOL = !fails(function () {
958
+ // String methods call symbol-named RegEp methods
959
+ var O = {};
960
+ O[SYMBOL] = function () { return 7; };
961
+ return ''[KEY](O) != 7;
962
+ });
963
+
964
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
965
+ // Symbol-named RegExp methods call .exec
966
+ var execCalled = false;
967
+ var re = /a/;
968
+
969
+ if (KEY === 'split') {
970
+ // We can't use real regex here since it causes deoptimization
971
+ // and serious performance degradation in V8
972
+ // https://github.com/zloirock/core-js/issues/306
973
+ re = {};
974
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
975
+ // a new one. We need to return the patched regex when creating the new one.
976
+ re.constructor = {};
977
+ re.constructor[SPECIES$3] = function () { return re; };
978
+ re.flags = '';
979
+ re[SYMBOL] = /./[SYMBOL];
980
+ }
981
+
982
+ re.exec = function () { execCalled = true; return null; };
983
+
984
+ re[SYMBOL]('');
985
+ return !execCalled;
986
+ });
987
+
988
+ if (
989
+ !DELEGATES_TO_SYMBOL ||
990
+ !DELEGATES_TO_EXEC ||
991
+ (KEY === 'replace' && !(
992
+ REPLACE_SUPPORTS_NAMED_GROUPS &&
993
+ REPLACE_KEEPS_$0 &&
994
+ !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
995
+ )) ||
996
+ (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
997
+ ) {
998
+ var nativeRegExpMethod = /./[SYMBOL];
999
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1000
+ if (regexp.exec === regexpExec) {
1001
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1002
+ // The native String method already delegates to @@method (this
1003
+ // polyfilled function), leasing to infinite recursion.
1004
+ // We avoid it by directly calling the native @@method method.
1005
+ return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1006
+ }
1007
+ return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1008
+ }
1009
+ return { done: false };
1010
+ }, {
1011
+ REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1012
+ REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1013
+ });
1014
+ var stringMethod = methods[0];
1015
+ var regexMethod = methods[1];
1016
+
1017
+ redefine(String.prototype, KEY, stringMethod);
1018
+ redefine(RegExp.prototype, SYMBOL, length == 2
1019
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1020
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1021
+ ? function (string, arg) { return regexMethod.call(string, this, arg); }
1022
+ // 21.2.5.6 RegExp.prototype[@@match](string)
1023
+ // 21.2.5.9 RegExp.prototype[@@search](string)
1024
+ : function (string) { return regexMethod.call(string, this); }
1025
+ );
1026
+ }
1027
+
1028
+ if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1029
+ };
1030
+
1031
+ // `SameValue` abstract operation
1032
+ // https://tc39.es/ecma262/#sec-samevalue
1033
+ var sameValue = Object.is || function is(x, y) {
1034
+ // eslint-disable-next-line no-self-compare -- NaN check
1035
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
1036
+ };
1037
+
1038
+ // `RegExpExec` abstract operation
1039
+ // https://tc39.es/ecma262/#sec-regexpexec
1040
+ var regexpExecAbstract = function (R, S) {
1041
+ var exec = R.exec;
1042
+ if (typeof exec === 'function') {
1043
+ var result = exec.call(R, S);
1044
+ if (typeof result !== 'object') {
1045
+ throw TypeError('RegExp exec method returned something other than an Object or null');
1046
+ }
1047
+ return result;
1048
+ }
1049
+
1050
+ if (classofRaw(R) !== 'RegExp') {
1051
+ throw TypeError('RegExp#exec called on incompatible receiver');
1052
+ }
1053
+
1054
+ return regexpExec.call(R, S);
1055
+ };
1056
+
1057
+ // @@search logic
1058
+ fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
1059
+ return [
1060
+ // `String.prototype.search` method
1061
+ // https://tc39.es/ecma262/#sec-string.prototype.search
1062
+ function search(regexp) {
1063
+ var O = requireObjectCoercible(this);
1064
+ var searcher = regexp == undefined ? undefined : regexp[SEARCH];
1065
+ return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
1066
+ },
1067
+ // `RegExp.prototype[@@search]` method
1068
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
1069
+ function (regexp) {
1070
+ var res = maybeCallNative(nativeSearch, regexp, this);
1071
+ if (res.done) return res.value;
1072
+
1073
+ var rx = anObject(regexp);
1074
+ var S = String(this);
1075
+
1076
+ var previousLastIndex = rx.lastIndex;
1077
+ if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
1078
+ var result = regexpExecAbstract(rx, S);
1079
+ if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
1080
+ return result === null ? -1 : result.index;
1081
+ }
1082
+ ];
1083
+ });
1084
+
1085
+ var aPossiblePrototype = function (it) {
1086
+ if (!isObject(it) && it !== null) {
1087
+ throw TypeError("Can't set " + String(it) + ' as a prototype');
1088
+ } return it;
1089
+ };
1090
+
1091
+ /* eslint-disable no-proto -- safe */
1092
+
1093
+
1094
+
1095
+ // `Object.setPrototypeOf` method
1096
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
1097
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
1098
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
1099
+ var CORRECT_SETTER = false;
1100
+ var test = {};
1101
+ var setter;
1102
+ try {
1103
+ setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
1104
+ setter.call(test, []);
1105
+ CORRECT_SETTER = test instanceof Array;
1106
+ } catch (error) { /* empty */ }
1107
+ return function setPrototypeOf(O, proto) {
1108
+ anObject(O);
1109
+ aPossiblePrototype(proto);
1110
+ if (CORRECT_SETTER) setter.call(O, proto);
1111
+ else O.__proto__ = proto;
1112
+ return O;
1113
+ };
1114
+ }() : undefined);
1115
+
1116
+ // makes subclassing work correct for wrapped built-ins
1117
+ var inheritIfRequired = function ($this, dummy, Wrapper) {
1118
+ var NewTarget, NewTargetPrototype;
1119
+ if (
1120
+ // it can work only with native `setPrototypeOf`
1121
+ objectSetPrototypeOf &&
1122
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
1123
+ typeof (NewTarget = dummy.constructor) == 'function' &&
1124
+ NewTarget !== Wrapper &&
1125
+ isObject(NewTargetPrototype = NewTarget.prototype) &&
1126
+ NewTargetPrototype !== Wrapper.prototype
1127
+ ) objectSetPrototypeOf($this, NewTargetPrototype);
1128
+ return $this;
1129
+ };
1130
+
1131
+ var MATCH$1 = wellKnownSymbol('match');
1132
+
1133
+ // `IsRegExp` abstract operation
1134
+ // https://tc39.es/ecma262/#sec-isregexp
1135
+ var isRegexp = function (it) {
1136
+ var isRegExp;
1137
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1138
+ };
1139
+
1140
+ var SPECIES$2 = wellKnownSymbol('species');
1141
+
1142
+ var setSpecies = function (CONSTRUCTOR_NAME) {
1143
+ var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
1144
+ var defineProperty = objectDefineProperty.f;
1145
+
1146
+ if (descriptors && Constructor && !Constructor[SPECIES$2]) {
1147
+ defineProperty(Constructor, SPECIES$2, {
1148
+ configurable: true,
1149
+ get: function () { return this; }
1150
+ });
1151
+ }
1152
+ };
1153
+
1154
+ var defineProperty = objectDefineProperty.f;
1155
+ var getOwnPropertyNames = objectGetOwnPropertyNames.f;
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+ var setInternalState = internalState.set;
1162
+
1163
+
1164
+
1165
+ var MATCH = wellKnownSymbol('match');
1166
+ var NativeRegExp = global_1.RegExp;
1167
+ var RegExpPrototype$1 = NativeRegExp.prototype;
1168
+ var re1 = /a/g;
1169
+ var re2 = /a/g;
1170
+
1171
+ // "new" should create a new object, old webkit bug
1172
+ var CORRECT_NEW = new NativeRegExp(re1) !== re1;
1173
+
1174
+ var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
1175
+
1176
+ var FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
1177
+ re2[MATCH] = false;
1178
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
1179
+ return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
1180
+ })));
1181
+
1182
+ // `RegExp` constructor
1183
+ // https://tc39.es/ecma262/#sec-regexp-constructor
1184
+ if (FORCED$1) {
1185
+ var RegExpWrapper = function RegExp(pattern, flags) {
1186
+ var thisIsRegExp = this instanceof RegExpWrapper;
1187
+ var patternIsRegExp = isRegexp(pattern);
1188
+ var flagsAreUndefined = flags === undefined;
1189
+ var sticky;
1190
+
1191
+ if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
1192
+ return pattern;
1193
+ }
1194
+
1195
+ if (CORRECT_NEW) {
1196
+ if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
1197
+ } else if (pattern instanceof RegExpWrapper) {
1198
+ if (flagsAreUndefined) flags = regexpFlags.call(pattern);
1199
+ pattern = pattern.source;
1200
+ }
1201
+
1202
+ if (UNSUPPORTED_Y) {
1203
+ sticky = !!flags && flags.indexOf('y') > -1;
1204
+ if (sticky) flags = flags.replace(/y/g, '');
1205
+ }
1206
+
1207
+ var result = inheritIfRequired(
1208
+ CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
1209
+ thisIsRegExp ? this : RegExpPrototype$1,
1210
+ RegExpWrapper
1211
+ );
1212
+
1213
+ if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });
1214
+
1215
+ return result;
1216
+ };
1217
+ var proxy = function (key) {
1218
+ key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
1219
+ configurable: true,
1220
+ get: function () { return NativeRegExp[key]; },
1221
+ set: function (it) { NativeRegExp[key] = it; }
1222
+ });
1223
+ };
1224
+ var keys = getOwnPropertyNames(NativeRegExp);
1225
+ var index = 0;
1226
+ while (keys.length > index) proxy(keys[index++]);
1227
+ RegExpPrototype$1.constructor = RegExpWrapper;
1228
+ RegExpWrapper.prototype = RegExpPrototype$1;
1229
+ redefine(global_1, 'RegExp', RegExpWrapper);
1230
+ }
1231
+
1232
+ // https://tc39.es/ecma262/#sec-get-regexp-@@species
1233
+ setSpecies('RegExp');
1234
+
1235
+ var TO_STRING = 'toString';
1236
+ var RegExpPrototype = RegExp.prototype;
1237
+ var nativeToString = RegExpPrototype[TO_STRING];
1238
+
1239
+ var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
1240
+ // FF44- RegExp#toString has a wrong name
1241
+ var INCORRECT_NAME = nativeToString.name != TO_STRING;
1242
+
1243
+ // `RegExp.prototype.toString` method
1244
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
1245
+ if (NOT_GENERIC || INCORRECT_NAME) {
1246
+ redefine(RegExp.prototype, TO_STRING, function toString() {
1247
+ var R = anObject(this);
1248
+ var p = String(R.source);
1249
+ var rf = R.flags;
1250
+ var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
1251
+ return '/' + p + '/' + f;
1252
+ }, { unsafe: true });
1253
+ }
1254
+
1255
+ // `String.prototype.{ codePointAt, at }` methods implementation
1256
+ var createMethod$1 = function (CONVERT_TO_STRING) {
1257
+ return function ($this, pos) {
1258
+ var S = String(requireObjectCoercible($this));
1259
+ var position = toInteger(pos);
1260
+ var size = S.length;
1261
+ var first, second;
1262
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1263
+ first = S.charCodeAt(position);
1264
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
1265
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1266
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
1267
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1268
+ };
1269
+ };
1270
+
1271
+ var stringMultibyte = {
1272
+ // `String.prototype.codePointAt` method
1273
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
1274
+ codeAt: createMethod$1(false),
1275
+ // `String.prototype.at` method
1276
+ // https://github.com/mathiasbynens/String.prototype.at
1277
+ charAt: createMethod$1(true)
1278
+ };
1279
+
1280
+ var charAt = stringMultibyte.charAt;
1281
+
1282
+ // `AdvanceStringIndex` abstract operation
1283
+ // https://tc39.es/ecma262/#sec-advancestringindex
1284
+ var advanceStringIndex = function (S, index, unicode) {
1285
+ return index + (unicode ? charAt(S, index).length : 1);
1286
+ };
1287
+
1288
+ // @@match logic
1289
+ fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
1290
+ return [
1291
+ // `String.prototype.match` method
1292
+ // https://tc39.es/ecma262/#sec-string.prototype.match
1293
+ function match(regexp) {
1294
+ var O = requireObjectCoercible(this);
1295
+ var matcher = regexp == undefined ? undefined : regexp[MATCH];
1296
+ return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
1297
+ },
1298
+ // `RegExp.prototype[@@match]` method
1299
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
1300
+ function (regexp) {
1301
+ var res = maybeCallNative(nativeMatch, regexp, this);
1302
+ if (res.done) return res.value;
1303
+
1304
+ var rx = anObject(regexp);
1305
+ var S = String(this);
1306
+
1307
+ if (!rx.global) return regexpExecAbstract(rx, S);
1308
+
1309
+ var fullUnicode = rx.unicode;
1310
+ rx.lastIndex = 0;
1311
+ var A = [];
1312
+ var n = 0;
1313
+ var result;
1314
+ while ((result = regexpExecAbstract(rx, S)) !== null) {
1315
+ var matchStr = String(result[0]);
1316
+ A[n] = matchStr;
1317
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1318
+ n++;
1319
+ }
1320
+ return n === 0 ? null : A;
1321
+ }
1322
+ ];
1323
+ });
1324
+
1325
+ // `Object.keys` method
1326
+ // https://tc39.es/ecma262/#sec-object.keys
1327
+ var objectKeys = Object.keys || function keys(O) {
1328
+ return objectKeysInternal(O, enumBugKeys);
1329
+ };
1330
+
1331
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
1332
+
1333
+ // `Object.{ entries, values }` methods implementation
1334
+ var createMethod = function (TO_ENTRIES) {
1335
+ return function (it) {
1336
+ var O = toIndexedObject(it);
1337
+ var keys = objectKeys(O);
1338
+ var length = keys.length;
1339
+ var i = 0;
1340
+ var result = [];
1341
+ var key;
1342
+ while (length > i) {
1343
+ key = keys[i++];
1344
+ if (!descriptors || propertyIsEnumerable.call(O, key)) {
1345
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
1346
+ }
1347
+ }
1348
+ return result;
1349
+ };
1350
+ };
1351
+
1352
+ var objectToArray = {
1353
+ // `Object.entries` method
1354
+ // https://tc39.es/ecma262/#sec-object.entries
1355
+ entries: createMethod(true),
1356
+ // `Object.values` method
1357
+ // https://tc39.es/ecma262/#sec-object.values
1358
+ values: createMethod(false)
1359
+ };
1360
+
1361
+ var $entries = objectToArray.entries;
1362
+
1363
+ // `Object.entries` method
1364
+ // https://tc39.es/ecma262/#sec-object.entries
1365
+ _export({ target: 'Object', stat: true }, {
1366
+ entries: function entries(O) {
1367
+ return $entries(O);
1368
+ }
1369
+ });
1370
+
1371
+ // `IsArray` abstract operation
1372
+ // https://tc39.es/ecma262/#sec-isarray
1373
+ var isArray = Array.isArray || function isArray(arg) {
1374
+ return classofRaw(arg) == 'Array';
1375
+ };
1376
+
1377
+ // `ToObject` abstract operation
1378
+ // https://tc39.es/ecma262/#sec-toobject
1379
+ var toObject = function (argument) {
1380
+ return Object(requireObjectCoercible(argument));
1381
+ };
1382
+
1383
+ var createProperty = function (object, key, value) {
1384
+ var propertyKey = toPrimitive(key);
1385
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
1386
+ else object[propertyKey] = value;
1387
+ };
1388
+
1389
+ var SPECIES$1 = wellKnownSymbol('species');
1390
+
1391
+ // `ArraySpeciesCreate` abstract operation
1392
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
1393
+ var arraySpeciesCreate = function (originalArray, length) {
1394
+ var C;
1395
+ if (isArray(originalArray)) {
1396
+ C = originalArray.constructor;
1397
+ // cross-realm fallback
1398
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
1399
+ else if (isObject(C)) {
1400
+ C = C[SPECIES$1];
1401
+ if (C === null) C = undefined;
1402
+ }
1403
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
1404
+ };
1405
+
1406
+ var SPECIES = wellKnownSymbol('species');
1407
+
1408
+ var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
1409
+ // We can't use this feature detection in V8 since it causes
1410
+ // deoptimization and serious performance degradation
1411
+ // https://github.com/zloirock/core-js/issues/677
1412
+ return engineV8Version >= 51 || !fails(function () {
1413
+ var array = [];
1414
+ var constructor = array.constructor = {};
1415
+ constructor[SPECIES] = function () {
1416
+ return { foo: 1 };
1417
+ };
1418
+ return array[METHOD_NAME](Boolean).foo !== 1;
1419
+ });
1420
+ };
1421
+
1422
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1423
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1424
+ var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1425
+
1426
+ // We can't use this feature detection in V8 since it causes
1427
+ // deoptimization and serious performance degradation
1428
+ // https://github.com/zloirock/core-js/issues/679
1429
+ var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
1430
+ var array = [];
1431
+ array[IS_CONCAT_SPREADABLE] = false;
1432
+ return array.concat()[0] !== array;
1433
+ });
1434
+
1435
+ var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
1436
+
1437
+ var isConcatSpreadable = function (O) {
1438
+ if (!isObject(O)) return false;
1439
+ var spreadable = O[IS_CONCAT_SPREADABLE];
1440
+ return spreadable !== undefined ? !!spreadable : isArray(O);
1441
+ };
1442
+
1443
+ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1444
+
1445
+ // `Array.prototype.concat` method
1446
+ // https://tc39.es/ecma262/#sec-array.prototype.concat
1447
+ // with adding support of @@isConcatSpreadable and @@species
1448
+ _export({ target: 'Array', proto: true, forced: FORCED }, {
1449
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
1450
+ concat: function concat(arg) {
1451
+ var O = toObject(this);
1452
+ var A = arraySpeciesCreate(O, 0);
1453
+ var n = 0;
1454
+ var i, k, length, len, E;
1455
+ for (i = -1, length = arguments.length; i < length; i++) {
1456
+ E = i === -1 ? O : arguments[i];
1457
+ if (isConcatSpreadable(E)) {
1458
+ len = toLength(E.length);
1459
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1460
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1461
+ } else {
1462
+ if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1463
+ createProperty(A, n++, E);
1464
+ }
1465
+ }
1466
+ A.length = n;
1467
+ return A;
1468
+ }
1469
+ });
1470
+
1471
+ var floor = Math.floor;
1472
+ var replace = ''.replace;
1473
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1474
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1475
+
1476
+ // https://tc39.es/ecma262/#sec-getsubstitution
1477
+ var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
1478
+ var tailPos = position + matched.length;
1479
+ var m = captures.length;
1480
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1481
+ if (namedCaptures !== undefined) {
1482
+ namedCaptures = toObject(namedCaptures);
1483
+ symbols = SUBSTITUTION_SYMBOLS;
1484
+ }
1485
+ return replace.call(replacement, symbols, function (match, ch) {
1486
+ var capture;
1487
+ switch (ch.charAt(0)) {
1488
+ case '$': return '$';
1489
+ case '&': return matched;
1490
+ case '`': return str.slice(0, position);
1491
+ case "'": return str.slice(tailPos);
1492
+ case '<':
1493
+ capture = namedCaptures[ch.slice(1, -1)];
1494
+ break;
1495
+ default: // \d\d?
1496
+ var n = +ch;
1497
+ if (n === 0) return match;
1498
+ if (n > m) {
1499
+ var f = floor(n / 10);
1500
+ if (f === 0) return match;
1501
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1502
+ return match;
1503
+ }
1504
+ capture = captures[n - 1];
1505
+ }
1506
+ return capture === undefined ? '' : capture;
1507
+ });
1508
+ };
1509
+
1510
+ var max = Math.max;
1511
+ var min = Math.min;
1512
+
1513
+ var maybeToString = function (it) {
1514
+ return it === undefined ? it : String(it);
1515
+ };
1516
+
1517
+ // @@replace logic
1518
+ fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1519
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1520
+ var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1521
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1522
+
1523
+ return [
1524
+ // `String.prototype.replace` method
1525
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
1526
+ function replace(searchValue, replaceValue) {
1527
+ var O = requireObjectCoercible(this);
1528
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1529
+ return replacer !== undefined
1530
+ ? replacer.call(searchValue, O, replaceValue)
1531
+ : nativeReplace.call(String(O), searchValue, replaceValue);
1532
+ },
1533
+ // `RegExp.prototype[@@replace]` method
1534
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
1535
+ function (regexp, replaceValue) {
1536
+ if (
1537
+ (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1538
+ (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
1539
+ ) {
1540
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1541
+ if (res.done) return res.value;
1542
+ }
1543
+
1544
+ var rx = anObject(regexp);
1545
+ var S = String(this);
1546
+
1547
+ var functionalReplace = typeof replaceValue === 'function';
1548
+ if (!functionalReplace) replaceValue = String(replaceValue);
1549
+
1550
+ var global = rx.global;
1551
+ if (global) {
1552
+ var fullUnicode = rx.unicode;
1553
+ rx.lastIndex = 0;
1554
+ }
1555
+ var results = [];
1556
+ while (true) {
1557
+ var result = regexpExecAbstract(rx, S);
1558
+ if (result === null) break;
1559
+
1560
+ results.push(result);
1561
+ if (!global) break;
1562
+
1563
+ var matchStr = String(result[0]);
1564
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1565
+ }
1566
+
1567
+ var accumulatedResult = '';
1568
+ var nextSourcePosition = 0;
1569
+ for (var i = 0; i < results.length; i++) {
1570
+ result = results[i];
1571
+
1572
+ var matched = String(result[0]);
1573
+ var position = max(min(toInteger(result.index), S.length), 0);
1574
+ var captures = [];
1575
+ // NOTE: This is equivalent to
1576
+ // captures = result.slice(1).map(maybeToString)
1577
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1578
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1579
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1580
+ for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1581
+ var namedCaptures = result.groups;
1582
+ if (functionalReplace) {
1583
+ var replacerArgs = [matched].concat(captures, position, S);
1584
+ if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1585
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
1586
+ } else {
1587
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1588
+ }
1589
+ if (position >= nextSourcePosition) {
1590
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1591
+ nextSourcePosition = position + matched.length;
1592
+ }
1593
+ }
1594
+ return accumulatedResult + S.slice(nextSourcePosition);
1595
+ }
1596
+ ];
1597
+ });
1598
+
1599
+ /**
1600
+ * @author: general
1601
+ * @website: note.generals.space
1602
+ * @email: generals.space@gmail.com
1603
+ * @github: https://github.com/generals-space/bootstrap-table-addrbar
1604
+ * @update: zhixin wen <wenzhixin2010@gmail.com>
1605
+ */
1606
+
1607
+ /*
1608
+ * function: 获取浏览器地址栏中的指定参数.
1609
+ * key: 参数名
1610
+ * url: 默认为当前地址栏
1611
+ */
1612
+
1613
+ function _GET(key) {
1614
+ var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
1615
+
1616
+ /*
1617
+ * 注意这里正则表达式的书写方法
1618
+ * (^|&)key匹配: 直接以key开始或以&key开始的字符串
1619
+ * 同理(&|$)表示以&结束或是直接结束的字符串
1620
+ * ...当然, 我并不知道这种用法.
1621
+ */
1622
+ var reg = new RegExp("(^|&)".concat(key, "=([^&]*)(&|$)"));
1623
+ var result = url.substr(1).match(reg);
1624
+
1625
+ if (result) {
1626
+ return decodeURIComponent(result[2]);
1627
+ }
1628
+
1629
+ return null;
1630
+ }
1631
+ /*
1632
+ * function: 根据给定参数生成url地址
1633
+ * var dic = {name: 'genreal', age: 24}
1634
+ * var url = 'https://www.baidu.com?age=22';
1635
+ * _buildUrl(dic, url);
1636
+ * 将得到"https://www.baidu.com?age=24&name=genreal"
1637
+ * 哦, 忽略先后顺序吧...
1638
+ *
1639
+ * 补充: 可以参考浏览器URLSearchParams对象, 更加方便和强大.
1640
+ * 考虑到兼容性, 暂时不使用这个工具.
1641
+ */
1642
+
1643
+
1644
+ function _buildUrl(dict) {
1645
+ var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
1646
+
1647
+ for (var _i = 0, _Object$entries = Object.entries(dict); _i < _Object$entries.length; _i++) {
1648
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
1649
+ key = _Object$entries$_i[0],
1650
+ val = _Object$entries$_i[1];
1651
+
1652
+ // 搜索name=general这种形式的字符串(&是分隔符)
1653
+ var pattern = "".concat(key, "=([^&]*)");
1654
+ var targetStr = "".concat(key, "=").concat(val);
1655
+ if (val === undefined) continue;
1656
+ /*
1657
+ * 如果目标url中包含了key键, 我们需要将它替换成我们自己的val
1658
+ * 不然就直接添加好了.
1659
+ */
1660
+
1661
+ if (url.match(pattern)) {
1662
+ var tmp = new RegExp("(".concat(key, "=)([^&]*)"), 'gi');
1663
+ url = url.replace(tmp, targetStr);
1664
+ } else {
1665
+ var seperator = url.match('[?]') ? '&' : '?';
1666
+ url = url + seperator + targetStr;
1667
+ }
1668
+ }
1669
+
1670
+ if (location.hash) {
1671
+ url += location.hash;
1672
+ }
1673
+
1674
+ return url;
1675
+ }
1676
+ /*
1677
+ * function: _updateHistoryState
1678
+ * var _prefix = this.options.addrPrefix || ''
1679
+ * var table = this
1680
+ * _updateHistoryState( table,_prefix)
1681
+ * returns void
1682
+ */
1683
+
1684
+
1685
+ function _updateHistoryState(table, _prefix) {
1686
+ var params = {};
1687
+ params["".concat(_prefix, "page")] = table.options.pageNumber;
1688
+ params["".concat(_prefix, "size")] = table.options.pageSize;
1689
+ params["".concat(_prefix, "order")] = table.options.sortOrder;
1690
+ params["".concat(_prefix, "sort")] = table.options.sortName;
1691
+ params["".concat(_prefix, "search")] = table.options.searchText;
1692
+ window.history.pushState({}, '', _buildUrl(params));
1693
+ }
1694
+
1695
+ $__default['default'].extend($__default['default'].fn.bootstrapTable.defaults, {
1696
+ addrbar: false,
1697
+ addrPrefix: ''
1698
+ });
1699
+
1700
+ $__default['default'].BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) {
1701
+ _inherits(_class, _$$BootstrapTable);
1702
+
1703
+ var _super = _createSuper(_class);
1704
+
1705
+ function _class() {
1706
+ _classCallCheck(this, _class);
1707
+
1708
+ return _super.apply(this, arguments);
1709
+ }
1710
+
1711
+ _createClass(_class, [{
1712
+ key: "init",
1713
+ value: function init() {
1714
+ var _this = this,
1715
+ _get2;
1716
+
1717
+ if (this.options.pagination && this.options.addrbar) {
1718
+ // 标志位, 初始加载后关闭
1719
+ this.addrbarInit = true;
1720
+ this.options.pageNumber = +this.getDefaultOptionValue('pageNumber', 'page');
1721
+ this.options.pageSize = +this.getDefaultOptionValue('pageSize', 'size');
1722
+ this.options.sortOrder = this.getDefaultOptionValue('sortOrder', 'order');
1723
+ this.options.sortName = this.getDefaultOptionValue('sortName', 'sort');
1724
+ this.options.searchText = this.getDefaultOptionValue('searchText', 'search');
1725
+
1726
+ var _prefix = this.options.addrPrefix || '';
1727
+
1728
+ var _onLoadSuccess = this.options.onLoadSuccess;
1729
+ var _onPageChange = this.options.onPageChange;
1730
+
1731
+ this.options.onLoadSuccess = function (data) {
1732
+ if (_this.addrbarInit) {
1733
+ _this.addrbarInit = false;
1734
+ } else {
1735
+ _updateHistoryState(_this, _prefix);
1736
+ }
1737
+
1738
+ if (_onLoadSuccess) {
1739
+ _onLoadSuccess.call(_this, data);
1740
+ }
1741
+ };
1742
+
1743
+ this.options.onPageChange = function (number, size) {
1744
+ _updateHistoryState(_this, _prefix);
1745
+
1746
+ if (_onPageChange) {
1747
+ _onPageChange.call(_this, number, size);
1748
+ }
1749
+ };
1750
+ }
1751
+
1752
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1753
+ args[_key] = arguments[_key];
1754
+ }
1755
+
1756
+ (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
1757
+ }
1758
+ /*
1759
+ * Priority order:
1760
+ * The value specified by the user has the highest priority.
1761
+ * If it is not specified, it will be obtained from the address bar.
1762
+ * If it is not obtained, the default value will be used.
1763
+ */
1764
+
1765
+ }, {
1766
+ key: "getDefaultOptionValue",
1767
+ value: function getDefaultOptionValue(optionName, prefixName) {
1768
+ if (this.options[optionName] !== $__default['default'].BootstrapTable.DEFAULTS[optionName]) {
1769
+ return this.options[optionName];
1770
+ }
1771
+
1772
+ return _GET("".concat(this.options.addrPrefix || '').concat(prefixName)) || $__default['default'].BootstrapTable.DEFAULTS[optionName];
1773
+ }
1774
+ }]);
1775
+
1776
+ return _class;
1777
+ }($__default['default'].BootstrapTable);
1650
1778
 
1651
1779
  })));