bootstrap-table-rails 1.18.2 → 1.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bootstrap-table-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +151 -144
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +453 -552
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +1378 -1479
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +3 -2
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +7404 -7422
  8. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1774 -1758
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +1206 -1213
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +2541 -2567
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +1232 -1252
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +1251 -1272
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +864 -857
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1899 -1915
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +2227 -2251
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +3135 -3163
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/utils.js +2429 -2457
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +1605 -1627
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +1599 -1631
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +1 -1
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1461 -1477
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1290 -1318
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +1787 -1814
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +1118 -1137
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +283 -307
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +1641 -1679
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +1472 -1495
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +1035 -1055
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +914 -907
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +1246 -1236
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +2032 -2056
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +1186 -1206
  33. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +109 -102
  34. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +109 -102
  35. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +109 -102
  36. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +109 -102
  37. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +109 -102
  38. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +109 -102
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +109 -102
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +109 -102
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +109 -102
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +109 -102
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +109 -102
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +109 -102
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +109 -102
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +109 -102
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +109 -102
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +109 -102
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +109 -102
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +109 -102
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +128 -121
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +109 -102
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +109 -102
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +109 -102
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +109 -102
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +109 -102
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +109 -102
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +109 -102
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +109 -102
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +109 -102
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +109 -102
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +109 -102
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +109 -102
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +109 -102
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +109 -102
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +109 -102
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +109 -102
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +109 -102
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +109 -102
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +109 -102
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +132 -125
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +109 -102
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +109 -102
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +109 -102
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +109 -102
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +109 -102
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +109 -102
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +109 -102
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +109 -102
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +109 -102
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +109 -102
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +109 -102
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +109 -102
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +109 -102
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +109 -102
  86. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +2 -1
  87. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +1119 -1123
  88. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +2 -1
  89. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +1111 -1115
  90. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +6 -1
  91. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +1127 -1131
  92. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +6 -1
  93. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +1120 -1124
  94. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +2 -1
  95. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +1088 -1092
  96. metadata +1 -1
@@ -20,12 +20,12 @@
20
20
 
21
21
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
22
22
  var global_1 =
23
- // eslint-disable-next-line no-undef
23
+ /* global globalThis -- safe */
24
24
  check(typeof globalThis == 'object' && globalThis) ||
25
25
  check(typeof window == 'object' && window) ||
26
26
  check(typeof self == 'object' && self) ||
27
27
  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
28
- // eslint-disable-next-line no-new-func
28
+ // eslint-disable-next-line no-new-func -- fallback
29
29
  (function () { return this; })() || Function('return this')();
30
30
 
31
31
  var fails = function (exec) {
@@ -36,26 +36,26 @@
36
36
  }
37
37
  };
38
38
 
39
- // Thank's IE8 for his funny defineProperty
39
+ // Detect IE8's incomplete defineProperty implementation
40
40
  var descriptors = !fails(function () {
41
41
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
42
42
  });
43
43
 
44
44
  var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
45
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
45
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
46
46
 
47
47
  // Nashorn ~ JDK8 bug
48
- var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
48
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
49
49
 
50
50
  // `Object.prototype.propertyIsEnumerable` method implementation
51
- // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
52
- var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
53
- var descriptor = getOwnPropertyDescriptor(this, V);
51
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
52
+ var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
53
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
54
54
  return !!descriptor && descriptor.enumerable;
55
55
  } : nativePropertyIsEnumerable;
56
56
 
57
57
  var objectPropertyIsEnumerable = {
58
- f: f
58
+ f: f$4
59
59
  };
60
60
 
61
61
  var createPropertyDescriptor = function (bitmap, value) {
@@ -78,14 +78,14 @@
78
78
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
79
79
  var indexedObject = fails(function () {
80
80
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
81
- // eslint-disable-next-line no-prototype-builtins
81
+ // eslint-disable-next-line no-prototype-builtins -- safe
82
82
  return !Object('z').propertyIsEnumerable(0);
83
83
  }) ? function (it) {
84
84
  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
85
85
  } : Object;
86
86
 
87
87
  // `RequireObjectCoercible` abstract operation
88
- // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
88
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
89
89
  var requireObjectCoercible = function (it) {
90
90
  if (it == undefined) throw TypeError("Can't call method on " + it);
91
91
  return it;
@@ -104,7 +104,7 @@
104
104
  };
105
105
 
106
106
  // `ToPrimitive` abstract operation
107
- // https://tc39.github.io/ecma262/#sec-toprimitive
107
+ // https://tc39.es/ecma262/#sec-toprimitive
108
108
  // instead of the ES6 spec version, we didn't implement @@toPrimitive case
109
109
  // and the second argument - flag - preferred type is a string
110
110
  var toPrimitive = function (input, PREFERRED_STRING) {
@@ -118,7 +118,7 @@
118
118
 
119
119
  var hasOwnProperty = {}.hasOwnProperty;
120
120
 
121
- var has = function (it, key) {
121
+ var has$1 = function (it, key) {
122
122
  return hasOwnProperty.call(it, key);
123
123
  };
124
124
 
@@ -140,18 +140,18 @@
140
140
  var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
141
141
 
142
142
  // `Object.getOwnPropertyDescriptor` method
143
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
144
- var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
143
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
144
+ var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
145
145
  O = toIndexedObject(O);
146
146
  P = toPrimitive(P, true);
147
147
  if (ie8DomDefine) try {
148
148
  return nativeGetOwnPropertyDescriptor(O, P);
149
149
  } catch (error) { /* empty */ }
150
- if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
150
+ if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
151
151
  };
152
152
 
153
153
  var objectGetOwnPropertyDescriptor = {
154
- f: f$1
154
+ f: f$3
155
155
  };
156
156
 
157
157
  var anObject = function (it) {
@@ -163,7 +163,7 @@
163
163
  var nativeDefineProperty = Object.defineProperty;
164
164
 
165
165
  // `Object.defineProperty` method
166
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
166
+ // https://tc39.es/ecma262/#sec-object.defineproperty
167
167
  var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
168
168
  anObject(O);
169
169
  P = toPrimitive(P, true);
@@ -196,9 +196,9 @@
196
196
  };
197
197
 
198
198
  var SHARED = '__core-js_shared__';
199
- var store = global_1[SHARED] || setGlobal(SHARED, {});
199
+ var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
200
200
 
201
- var sharedStore = store;
201
+ var sharedStore = store$1;
202
202
 
203
203
  var functionToString = Function.toString;
204
204
 
@@ -211,17 +211,17 @@
211
211
 
212
212
  var inspectSource = sharedStore.inspectSource;
213
213
 
214
- var WeakMap = global_1.WeakMap;
214
+ var WeakMap$1 = global_1.WeakMap;
215
215
 
216
- var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
216
+ var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
217
217
 
218
218
  var shared = createCommonjsModule(function (module) {
219
219
  (module.exports = function (key, value) {
220
220
  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
221
221
  })('versions', []).push({
222
- version: '3.8.1',
223
- mode: 'global',
224
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
222
+ version: '3.9.1',
223
+ mode: 'global',
224
+ copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
225
225
  });
226
226
  });
227
227
 
@@ -238,13 +238,13 @@
238
238
  return keys[key] || (keys[key] = uid(key));
239
239
  };
240
240
 
241
- var hiddenKeys = {};
241
+ var hiddenKeys$1 = {};
242
242
 
243
- var WeakMap$1 = global_1.WeakMap;
244
- var set, get, has$1;
243
+ var WeakMap = global_1.WeakMap;
244
+ var set, get, has;
245
245
 
246
246
  var enforce = function (it) {
247
- return has$1(it) ? get(it) : set(it, {});
247
+ return has(it) ? get(it) : set(it, {});
248
248
  };
249
249
 
250
250
  var getterFor = function (TYPE) {
@@ -257,41 +257,41 @@
257
257
  };
258
258
 
259
259
  if (nativeWeakMap) {
260
- var store$1 = sharedStore.state || (sharedStore.state = new WeakMap$1());
261
- var wmget = store$1.get;
262
- var wmhas = store$1.has;
263
- var wmset = store$1.set;
260
+ var store = sharedStore.state || (sharedStore.state = new WeakMap());
261
+ var wmget = store.get;
262
+ var wmhas = store.has;
263
+ var wmset = store.set;
264
264
  set = function (it, metadata) {
265
265
  metadata.facade = it;
266
- wmset.call(store$1, it, metadata);
266
+ wmset.call(store, it, metadata);
267
267
  return metadata;
268
268
  };
269
269
  get = function (it) {
270
- return wmget.call(store$1, it) || {};
270
+ return wmget.call(store, it) || {};
271
271
  };
272
- has$1 = function (it) {
273
- return wmhas.call(store$1, it);
272
+ has = function (it) {
273
+ return wmhas.call(store, it);
274
274
  };
275
275
  } else {
276
276
  var STATE = sharedKey('state');
277
- hiddenKeys[STATE] = true;
277
+ hiddenKeys$1[STATE] = true;
278
278
  set = function (it, metadata) {
279
279
  metadata.facade = it;
280
280
  createNonEnumerableProperty(it, STATE, metadata);
281
281
  return metadata;
282
282
  };
283
283
  get = function (it) {
284
- return has(it, STATE) ? it[STATE] : {};
284
+ return has$1(it, STATE) ? it[STATE] : {};
285
285
  };
286
- has$1 = function (it) {
287
- return has(it, STATE);
286
+ has = function (it) {
287
+ return has$1(it, STATE);
288
288
  };
289
289
  }
290
290
 
291
291
  var internalState = {
292
292
  set: set,
293
293
  get: get,
294
- has: has$1,
294
+ has: has,
295
295
  enforce: enforce,
296
296
  getterFor: getterFor
297
297
  };
@@ -307,7 +307,7 @@
307
307
  var noTargetGet = options ? !!options.noTargetGet : false;
308
308
  var state;
309
309
  if (typeof value == 'function') {
310
- if (typeof key == 'string' && !has(value, 'name')) {
310
+ if (typeof key == 'string' && !has$1(value, 'name')) {
311
311
  createNonEnumerableProperty(value, 'name', key);
312
312
  }
313
313
  state = enforceInternalState(value);
@@ -334,12 +334,12 @@
334
334
 
335
335
  var path = global_1;
336
336
 
337
- var aFunction = function (variable) {
337
+ var aFunction$1 = function (variable) {
338
338
  return typeof variable == 'function' ? variable : undefined;
339
339
  };
340
340
 
341
341
  var getBuiltIn = function (namespace, method) {
342
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
342
+ return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global_1[namespace])
343
343
  : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
344
344
  };
345
345
 
@@ -347,42 +347,42 @@
347
347
  var floor = Math.floor;
348
348
 
349
349
  // `ToInteger` abstract operation
350
- // https://tc39.github.io/ecma262/#sec-tointeger
350
+ // https://tc39.es/ecma262/#sec-tointeger
351
351
  var toInteger = function (argument) {
352
352
  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
353
353
  };
354
354
 
355
- var min = Math.min;
355
+ var min$1 = Math.min;
356
356
 
357
357
  // `ToLength` abstract operation
358
- // https://tc39.github.io/ecma262/#sec-tolength
358
+ // https://tc39.es/ecma262/#sec-tolength
359
359
  var toLength = function (argument) {
360
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
360
+ return argument > 0 ? min$1(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
361
361
  };
362
362
 
363
- var max = Math.max;
364
- var min$1 = Math.min;
363
+ var max$1 = Math.max;
364
+ var min = Math.min;
365
365
 
366
366
  // Helper for a popular repeating case of the spec:
367
367
  // Let integer be ? ToInteger(index).
368
368
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
369
369
  var toAbsoluteIndex = function (index, length) {
370
370
  var integer = toInteger(index);
371
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
371
+ return integer < 0 ? max$1(integer + length, 0) : min(integer, length);
372
372
  };
373
373
 
374
374
  // `Array.prototype.{ indexOf, includes }` methods implementation
375
- var createMethod = function (IS_INCLUDES) {
375
+ var createMethod$2 = function (IS_INCLUDES) {
376
376
  return function ($this, el, fromIndex) {
377
377
  var O = toIndexedObject($this);
378
378
  var length = toLength(O.length);
379
379
  var index = toAbsoluteIndex(fromIndex, length);
380
380
  var value;
381
381
  // Array#includes uses SameValueZero equality algorithm
382
- // eslint-disable-next-line no-self-compare
382
+ // eslint-disable-next-line no-self-compare -- NaN check
383
383
  if (IS_INCLUDES && el != el) while (length > index) {
384
384
  value = O[index++];
385
- // eslint-disable-next-line no-self-compare
385
+ // eslint-disable-next-line no-self-compare -- NaN check
386
386
  if (value != value) return true;
387
387
  // Array#indexOf ignores holes, Array#includes - not
388
388
  } else for (;length > index; index++) {
@@ -393,11 +393,11 @@
393
393
 
394
394
  var arrayIncludes = {
395
395
  // `Array.prototype.includes` method
396
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
397
- includes: createMethod(true),
396
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
397
+ includes: createMethod$2(true),
398
398
  // `Array.prototype.indexOf` method
399
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
400
- indexOf: createMethod(false)
399
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
400
+ indexOf: createMethod$2(false)
401
401
  };
402
402
 
403
403
  var indexOf = arrayIncludes.indexOf;
@@ -408,9 +408,9 @@
408
408
  var i = 0;
409
409
  var result = [];
410
410
  var key;
411
- for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
411
+ for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
412
412
  // Don't enum bug & hidden keys
413
- while (names.length > i) if (has(O, key = names[i++])) {
413
+ while (names.length > i) if (has$1(O, key = names[i++])) {
414
414
  ~indexOf(result, key) || result.push(key);
415
415
  }
416
416
  return result;
@@ -427,22 +427,22 @@
427
427
  'valueOf'
428
428
  ];
429
429
 
430
- var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
430
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
431
431
 
432
432
  // `Object.getOwnPropertyNames` method
433
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
434
- var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
435
- return objectKeysInternal(O, hiddenKeys$1);
433
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
434
+ var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
435
+ return objectKeysInternal(O, hiddenKeys);
436
436
  };
437
437
 
438
438
  var objectGetOwnPropertyNames = {
439
- f: f$3
439
+ f: f$1
440
440
  };
441
441
 
442
- var f$4 = Object.getOwnPropertySymbols;
442
+ var f = Object.getOwnPropertySymbols;
443
443
 
444
444
  var objectGetOwnPropertySymbols = {
445
- f: f$4
445
+ f: f
446
446
  };
447
447
 
448
448
  // all object keys, includes non-enumerable and symbols
@@ -458,7 +458,7 @@
458
458
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
459
459
  for (var i = 0; i < keys.length; i++) {
460
460
  var key = keys[i];
461
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
461
+ if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
462
462
  }
463
463
  };
464
464
 
@@ -482,7 +482,7 @@
482
482
 
483
483
  var isForced_1 = isForced;
484
484
 
485
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
485
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
486
486
 
487
487
 
488
488
 
@@ -518,7 +518,7 @@
518
518
  if (target) for (key in source) {
519
519
  sourceProperty = source[key];
520
520
  if (options.noTargetGet) {
521
- descriptor = getOwnPropertyDescriptor$1(target, key);
521
+ descriptor = getOwnPropertyDescriptor(target, key);
522
522
  targetProperty = descriptor && descriptor.value;
523
523
  } else targetProperty = target[key];
524
524
  FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
@@ -536,153 +536,19 @@
536
536
  }
537
537
  };
538
538
 
539
- var aFunction$1 = function (it) {
540
- if (typeof it != 'function') {
541
- throw TypeError(String(it) + ' is not a function');
542
- } return it;
543
- };
544
-
545
- // optional / simple context binding
546
- var functionBindContext = function (fn, that, length) {
547
- aFunction$1(fn);
548
- if (that === undefined) return fn;
549
- switch (length) {
550
- case 0: return function () {
551
- return fn.call(that);
552
- };
553
- case 1: return function (a) {
554
- return fn.call(that, a);
555
- };
556
- case 2: return function (a, b) {
557
- return fn.call(that, a, b);
558
- };
559
- case 3: return function (a, b, c) {
560
- return fn.call(that, a, b, c);
561
- };
562
- }
563
- return function (/* ...args */) {
564
- return fn.apply(that, arguments);
565
- };
566
- };
567
-
568
- // `ToObject` abstract operation
569
- // https://tc39.github.io/ecma262/#sec-toobject
570
- var toObject = function (argument) {
571
- return Object(requireObjectCoercible(argument));
572
- };
573
-
574
539
  // `IsArray` abstract operation
575
- // https://tc39.github.io/ecma262/#sec-isarray
540
+ // https://tc39.es/ecma262/#sec-isarray
576
541
  var isArray = Array.isArray || function isArray(arg) {
577
542
  return classofRaw(arg) == 'Array';
578
543
  };
579
544
 
580
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
581
- // Chrome 38 Symbol has incorrect toString conversion
582
- // eslint-disable-next-line no-undef
583
- return !String(Symbol());
584
- });
585
-
586
- var useSymbolAsUid = nativeSymbol
587
- // eslint-disable-next-line no-undef
588
- && !Symbol.sham
589
- // eslint-disable-next-line no-undef
590
- && typeof Symbol.iterator == 'symbol';
591
-
592
- var WellKnownSymbolsStore = shared('wks');
593
- var Symbol$1 = global_1.Symbol;
594
- var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
595
-
596
- var wellKnownSymbol = function (name) {
597
- if (!has(WellKnownSymbolsStore, name)) {
598
- if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
599
- else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
600
- } return WellKnownSymbolsStore[name];
601
- };
602
-
603
- var SPECIES = wellKnownSymbol('species');
604
-
605
- // `ArraySpeciesCreate` abstract operation
606
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
607
- var arraySpeciesCreate = function (originalArray, length) {
608
- var C;
609
- if (isArray(originalArray)) {
610
- C = originalArray.constructor;
611
- // cross-realm fallback
612
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
613
- else if (isObject(C)) {
614
- C = C[SPECIES];
615
- if (C === null) C = undefined;
616
- }
617
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
618
- };
619
-
620
- var push = [].push;
621
-
622
- // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
623
- var createMethod$1 = function (TYPE) {
624
- var IS_MAP = TYPE == 1;
625
- var IS_FILTER = TYPE == 2;
626
- var IS_SOME = TYPE == 3;
627
- var IS_EVERY = TYPE == 4;
628
- var IS_FIND_INDEX = TYPE == 6;
629
- var IS_FILTER_OUT = TYPE == 7;
630
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
631
- return function ($this, callbackfn, that, specificCreate) {
632
- var O = toObject($this);
633
- var self = indexedObject(O);
634
- var boundFunction = functionBindContext(callbackfn, that, 3);
635
- var length = toLength(self.length);
636
- var index = 0;
637
- var create = specificCreate || arraySpeciesCreate;
638
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
639
- var value, result;
640
- for (;length > index; index++) if (NO_HOLES || index in self) {
641
- value = self[index];
642
- result = boundFunction(value, index, O);
643
- if (TYPE) {
644
- if (IS_MAP) target[index] = result; // map
645
- else if (result) switch (TYPE) {
646
- case 3: return true; // some
647
- case 5: return value; // find
648
- case 6: return index; // findIndex
649
- case 2: push.call(target, value); // filter
650
- } else switch (TYPE) {
651
- case 4: return false; // every
652
- case 7: push.call(target, value); // filterOut
653
- }
654
- }
655
- }
656
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
657
- };
545
+ var createProperty = function (object, key, value) {
546
+ var propertyKey = toPrimitive(key);
547
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
548
+ else object[propertyKey] = value;
658
549
  };
659
550
 
660
- var arrayIteration = {
661
- // `Array.prototype.forEach` method
662
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
663
- forEach: createMethod$1(0),
664
- // `Array.prototype.map` method
665
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
666
- map: createMethod$1(1),
667
- // `Array.prototype.filter` method
668
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
669
- filter: createMethod$1(2),
670
- // `Array.prototype.some` method
671
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
672
- some: createMethod$1(3),
673
- // `Array.prototype.every` method
674
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
675
- every: createMethod$1(4),
676
- // `Array.prototype.find` method
677
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
678
- find: createMethod$1(5),
679
- // `Array.prototype.findIndex` method
680
- // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
681
- findIndex: createMethod$1(6),
682
- // `Array.prototype.filterOut` method
683
- // https://github.com/tc39/proposal-array-filtering
684
- filterOut: createMethod$1(7)
685
- };
551
+ var engineIsNode = classofRaw(global_1.process) == 'process';
686
552
 
687
553
  var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
688
554
 
@@ -704,7 +570,34 @@
704
570
 
705
571
  var engineV8Version = version && +version;
706
572
 
707
- var SPECIES$1 = wellKnownSymbol('species');
573
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
574
+ /* global Symbol -- required for testing */
575
+ return !Symbol.sham &&
576
+ // Chrome 38 Symbol has incorrect toString conversion
577
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
578
+ (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
579
+ });
580
+
581
+ var useSymbolAsUid = nativeSymbol
582
+ /* global Symbol -- safe */
583
+ && !Symbol.sham
584
+ && typeof Symbol.iterator == 'symbol';
585
+
586
+ var WellKnownSymbolsStore = shared('wks');
587
+ var Symbol$1 = global_1.Symbol;
588
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
589
+
590
+ var wellKnownSymbol = function (name) {
591
+ if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
592
+ if (nativeSymbol && has$1(Symbol$1, name)) {
593
+ WellKnownSymbolsStore[name] = Symbol$1[name];
594
+ } else {
595
+ WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
596
+ }
597
+ } return WellKnownSymbolsStore[name];
598
+ };
599
+
600
+ var SPECIES$2 = wellKnownSymbol('species');
708
601
 
709
602
  var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
710
603
  // We can't use this feature detection in V8 since it causes
@@ -713,100 +606,23 @@
713
606
  return engineV8Version >= 51 || !fails(function () {
714
607
  var array = [];
715
608
  var constructor = array.constructor = {};
716
- constructor[SPECIES$1] = function () {
609
+ constructor[SPECIES$2] = function () {
717
610
  return { foo: 1 };
718
611
  };
719
612
  return array[METHOD_NAME](Boolean).foo !== 1;
720
613
  });
721
614
  };
722
615
 
723
- var defineProperty = Object.defineProperty;
724
- var cache = {};
725
-
726
- var thrower = function (it) { throw it; };
727
-
728
- var arrayMethodUsesToLength = function (METHOD_NAME, options) {
729
- if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
730
- if (!options) options = {};
731
- var method = [][METHOD_NAME];
732
- var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
733
- var argument0 = has(options, 0) ? options[0] : thrower;
734
- var argument1 = has(options, 1) ? options[1] : undefined;
735
-
736
- return cache[METHOD_NAME] = !!method && !fails(function () {
737
- if (ACCESSORS && !descriptors) return true;
738
- var O = { length: -1 };
739
-
740
- if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
741
- else O[1] = 1;
742
-
743
- method.call(O, argument0, argument1);
744
- });
745
- };
746
-
747
- var $filter = arrayIteration.filter;
748
-
749
-
750
-
751
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
752
- // Edge 14- issue
753
- var USES_TO_LENGTH = arrayMethodUsesToLength('filter');
754
-
755
- // `Array.prototype.filter` method
756
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
757
- // with adding support of @@species
758
- _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
759
- filter: function filter(callbackfn /* , thisArg */) {
760
- return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
761
- }
762
- });
763
-
764
- var arrayMethodIsStrict = function (METHOD_NAME, argument) {
765
- var method = [][METHOD_NAME];
766
- return !!method && fails(function () {
767
- // eslint-disable-next-line no-useless-call,no-throw-literal
768
- method.call(null, argument || function () { throw 1; }, 1);
769
- });
770
- };
771
-
772
- var $indexOf = arrayIncludes.indexOf;
773
-
774
-
775
-
776
- var nativeIndexOf = [].indexOf;
777
-
778
- var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
779
- var STRICT_METHOD = arrayMethodIsStrict('indexOf');
780
- var USES_TO_LENGTH$1 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
781
-
782
- // `Array.prototype.indexOf` method
783
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
784
- _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH$1 }, {
785
- indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
786
- return NEGATIVE_ZERO
787
- // convert -0 to +0
788
- ? nativeIndexOf.apply(this, arguments) || 0
789
- : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
790
- }
791
- });
792
-
793
- var createProperty = function (object, key, value) {
794
- var propertyKey = toPrimitive(key);
795
- if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
796
- else object[propertyKey] = value;
797
- };
798
-
799
616
  var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('slice');
800
- var USES_TO_LENGTH$2 = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });
801
617
 
802
- var SPECIES$2 = wellKnownSymbol('species');
618
+ var SPECIES$1 = wellKnownSymbol('species');
803
619
  var nativeSlice = [].slice;
804
- var max$1 = Math.max;
620
+ var max = Math.max;
805
621
 
806
622
  // `Array.prototype.slice` method
807
- // https://tc39.github.io/ecma262/#sec-array.prototype.slice
623
+ // https://tc39.es/ecma262/#sec-array.prototype.slice
808
624
  // fallback for not array-like ES3 strings and DOM objects
809
- _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$2 }, {
625
+ _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
810
626
  slice: function slice(start, end) {
811
627
  var O = toIndexedObject(this);
812
628
  var length = toLength(O.length);
@@ -820,14 +636,14 @@
820
636
  if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
821
637
  Constructor = undefined;
822
638
  } else if (isObject(Constructor)) {
823
- Constructor = Constructor[SPECIES$2];
639
+ Constructor = Constructor[SPECIES$1];
824
640
  if (Constructor === null) Constructor = undefined;
825
641
  }
826
642
  if (Constructor === Array || Constructor === undefined) {
827
643
  return nativeSlice.call(O, k, fin);
828
644
  }
829
645
  }
830
- result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
646
+ result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
831
647
  for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
832
648
  result.length = n;
833
649
  return result;
@@ -835,15 +651,15 @@
835
651
  });
836
652
 
837
653
  // a string of all valid unicode whitespaces
838
- // eslint-disable-next-line max-len
839
- var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
654
+ var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
655
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
840
656
 
841
657
  var whitespace = '[' + whitespaces + ']';
842
658
  var ltrim = RegExp('^' + whitespace + whitespace + '*');
843
659
  var rtrim = RegExp(whitespace + whitespace + '*$');
844
660
 
845
661
  // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
846
- var createMethod$2 = function (TYPE) {
662
+ var createMethod$1 = function (TYPE) {
847
663
  return function ($this) {
848
664
  var string = String(requireObjectCoercible($this));
849
665
  if (TYPE & 1) string = string.replace(ltrim, '');
@@ -854,14 +670,14 @@
854
670
 
855
671
  var stringTrim = {
856
672
  // `String.prototype.{ trimLeft, trimStart }` methods
857
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
858
- start: createMethod$2(1),
673
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
674
+ start: createMethod$1(1),
859
675
  // `String.prototype.{ trimRight, trimEnd }` methods
860
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
861
- end: createMethod$2(2),
676
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
677
+ end: createMethod$1(2),
862
678
  // `String.prototype.trim` method
863
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
864
- trim: createMethod$2(3)
679
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
680
+ trim: createMethod$1(3)
865
681
  };
866
682
 
867
683
  var trim = stringTrim.trim;
@@ -872,18 +688,178 @@
872
688
  var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
873
689
 
874
690
  // `parseInt` method
875
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
691
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
876
692
  var numberParseInt = FORCED ? function parseInt(string, radix) {
877
693
  var S = trim(String(string));
878
694
  return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
879
695
  } : $parseInt;
880
696
 
881
697
  // `parseInt` method
882
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
698
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
883
699
  _export({ global: true, forced: parseInt != numberParseInt }, {
884
700
  parseInt: numberParseInt
885
701
  });
886
702
 
703
+ var arrayMethodIsStrict = function (METHOD_NAME, argument) {
704
+ var method = [][METHOD_NAME];
705
+ return !!method && fails(function () {
706
+ // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
707
+ method.call(null, argument || function () { throw 1; }, 1);
708
+ });
709
+ };
710
+
711
+ var $indexOf = arrayIncludes.indexOf;
712
+
713
+
714
+ var nativeIndexOf = [].indexOf;
715
+
716
+ var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
717
+ var STRICT_METHOD = arrayMethodIsStrict('indexOf');
718
+
719
+ // `Array.prototype.indexOf` method
720
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
721
+ _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
722
+ indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
723
+ return NEGATIVE_ZERO
724
+ // convert -0 to +0
725
+ ? nativeIndexOf.apply(this, arguments) || 0
726
+ : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
727
+ }
728
+ });
729
+
730
+ var aFunction = function (it) {
731
+ if (typeof it != 'function') {
732
+ throw TypeError(String(it) + ' is not a function');
733
+ } return it;
734
+ };
735
+
736
+ // optional / simple context binding
737
+ var functionBindContext = function (fn, that, length) {
738
+ aFunction(fn);
739
+ if (that === undefined) return fn;
740
+ switch (length) {
741
+ case 0: return function () {
742
+ return fn.call(that);
743
+ };
744
+ case 1: return function (a) {
745
+ return fn.call(that, a);
746
+ };
747
+ case 2: return function (a, b) {
748
+ return fn.call(that, a, b);
749
+ };
750
+ case 3: return function (a, b, c) {
751
+ return fn.call(that, a, b, c);
752
+ };
753
+ }
754
+ return function (/* ...args */) {
755
+ return fn.apply(that, arguments);
756
+ };
757
+ };
758
+
759
+ // `ToObject` abstract operation
760
+ // https://tc39.es/ecma262/#sec-toobject
761
+ var toObject = function (argument) {
762
+ return Object(requireObjectCoercible(argument));
763
+ };
764
+
765
+ var SPECIES = wellKnownSymbol('species');
766
+
767
+ // `ArraySpeciesCreate` abstract operation
768
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
769
+ var arraySpeciesCreate = function (originalArray, length) {
770
+ var C;
771
+ if (isArray(originalArray)) {
772
+ C = originalArray.constructor;
773
+ // cross-realm fallback
774
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
775
+ else if (isObject(C)) {
776
+ C = C[SPECIES];
777
+ if (C === null) C = undefined;
778
+ }
779
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
780
+ };
781
+
782
+ var push = [].push;
783
+
784
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
785
+ var createMethod = function (TYPE) {
786
+ var IS_MAP = TYPE == 1;
787
+ var IS_FILTER = TYPE == 2;
788
+ var IS_SOME = TYPE == 3;
789
+ var IS_EVERY = TYPE == 4;
790
+ var IS_FIND_INDEX = TYPE == 6;
791
+ var IS_FILTER_OUT = TYPE == 7;
792
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
793
+ return function ($this, callbackfn, that, specificCreate) {
794
+ var O = toObject($this);
795
+ var self = indexedObject(O);
796
+ var boundFunction = functionBindContext(callbackfn, that, 3);
797
+ var length = toLength(self.length);
798
+ var index = 0;
799
+ var create = specificCreate || arraySpeciesCreate;
800
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
801
+ var value, result;
802
+ for (;length > index; index++) if (NO_HOLES || index in self) {
803
+ value = self[index];
804
+ result = boundFunction(value, index, O);
805
+ if (TYPE) {
806
+ if (IS_MAP) target[index] = result; // map
807
+ else if (result) switch (TYPE) {
808
+ case 3: return true; // some
809
+ case 5: return value; // find
810
+ case 6: return index; // findIndex
811
+ case 2: push.call(target, value); // filter
812
+ } else switch (TYPE) {
813
+ case 4: return false; // every
814
+ case 7: push.call(target, value); // filterOut
815
+ }
816
+ }
817
+ }
818
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
819
+ };
820
+ };
821
+
822
+ var arrayIteration = {
823
+ // `Array.prototype.forEach` method
824
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
825
+ forEach: createMethod(0),
826
+ // `Array.prototype.map` method
827
+ // https://tc39.es/ecma262/#sec-array.prototype.map
828
+ map: createMethod(1),
829
+ // `Array.prototype.filter` method
830
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
831
+ filter: createMethod(2),
832
+ // `Array.prototype.some` method
833
+ // https://tc39.es/ecma262/#sec-array.prototype.some
834
+ some: createMethod(3),
835
+ // `Array.prototype.every` method
836
+ // https://tc39.es/ecma262/#sec-array.prototype.every
837
+ every: createMethod(4),
838
+ // `Array.prototype.find` method
839
+ // https://tc39.es/ecma262/#sec-array.prototype.find
840
+ find: createMethod(5),
841
+ // `Array.prototype.findIndex` method
842
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
843
+ findIndex: createMethod(6),
844
+ // `Array.prototype.filterOut` method
845
+ // https://github.com/tc39/proposal-array-filtering
846
+ filterOut: createMethod(7)
847
+ };
848
+
849
+ var $filter = arrayIteration.filter;
850
+
851
+
852
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
853
+
854
+ // `Array.prototype.filter` method
855
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
856
+ // with adding support of @@species
857
+ _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
858
+ filter: function filter(callbackfn /* , thisArg */) {
859
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
860
+ }
861
+ });
862
+
887
863
  /**
888
864
  * @author doug-the-guy
889
865
  * @version v1.0.0