bootstrap-table-rails 1.18.2 → 1.18.3

Sign up to get free protection for your applications and to get access to all the features.
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