jquery.dgtable 0.5.48 → 0.5.52

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * jquery.dgtable 0.5.48
2
+ * jquery.dgtable 0.5.52
3
3
  * git://github.com/danielgindi/jquery.dgtable.git
4
4
  */
5
5
  import jQuery from 'jquery';
@@ -13,7 +13,7 @@ var check = function (it) {
13
13
  };
14
14
 
15
15
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
16
- var global$b =
16
+ var global$o =
17
17
  // eslint-disable-next-line es/no-global-this -- safe
18
18
  check(typeof globalThis == 'object' && globalThis) ||
19
19
  check(typeof window == 'object' && window) ||
@@ -25,7 +25,7 @@ var global$b =
25
25
 
26
26
  var objectGetOwnPropertyDescriptor = {};
27
27
 
28
- var fails$7 = function (exec) {
28
+ var fails$8 = function (exec) {
29
29
  try {
30
30
  return !!exec();
31
31
  } catch (error) {
@@ -33,14 +33,20 @@ var fails$7 = function (exec) {
33
33
  }
34
34
  };
35
35
 
36
- var fails$6 = fails$7;
36
+ var fails$7 = fails$8;
37
37
 
38
38
  // Detect IE8's incomplete defineProperty implementation
39
- var descriptors = !fails$6(function () {
39
+ var descriptors = !fails$7(function () {
40
40
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
41
41
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
42
42
  });
43
43
 
44
+ var call$4 = Function.prototype.call;
45
+
46
+ var functionCall = call$4.bind ? call$4.bind(call$4) : function () {
47
+ return call$4.apply(call$4, arguments);
48
+ };
49
+
44
50
  var objectPropertyIsEnumerable = {};
45
51
 
46
52
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
@@ -57,7 +63,7 @@ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
57
63
  return !!descriptor && descriptor.enumerable;
58
64
  } : $propertyIsEnumerable;
59
65
 
60
- var createPropertyDescriptor$2 = function (bitmap, value) {
66
+ var createPropertyDescriptor$3 = function (bitmap, value) {
61
67
  return {
62
68
  enumerable: !(bitmap & 1),
63
69
  configurable: !(bitmap & 2),
@@ -66,30 +72,53 @@ var createPropertyDescriptor$2 = function (bitmap, value) {
66
72
  };
67
73
  };
68
74
 
69
- var toString$2 = {}.toString;
75
+ var FunctionPrototype$1 = Function.prototype;
76
+ var bind = FunctionPrototype$1.bind;
77
+ var call$3 = FunctionPrototype$1.call;
78
+ var uncurryThis$a = bind && bind.bind(call$3, call$3);
70
79
 
71
- var classofRaw = function (it) {
72
- return toString$2.call(it).slice(8, -1);
80
+ var functionUncurryThis = bind ? function (fn) {
81
+ return fn && uncurryThis$a(fn);
82
+ } : function (fn) {
83
+ return fn && function () {
84
+ return call$3.apply(fn, arguments);
85
+ };
73
86
  };
74
87
 
75
- var fails$5 = fails$7;
76
- var classof = classofRaw;
88
+ var uncurryThis$9 = functionUncurryThis;
77
89
 
78
- var split = ''.split;
90
+ var toString$3 = uncurryThis$9({}.toString);
91
+ var stringSlice = uncurryThis$9(''.slice);
92
+
93
+ var classofRaw$1 = function (it) {
94
+ return stringSlice(toString$3(it), 8, -1);
95
+ };
96
+
97
+ var global$n = global$o;
98
+ var uncurryThis$8 = functionUncurryThis;
99
+ var fails$6 = fails$8;
100
+ var classof$2 = classofRaw$1;
101
+
102
+ var Object$4 = global$n.Object;
103
+ var split = uncurryThis$8(''.split);
79
104
 
80
105
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
81
- var indexedObject = fails$5(function () {
106
+ var indexedObject = fails$6(function () {
82
107
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
83
108
  // eslint-disable-next-line no-prototype-builtins -- safe
84
- return !Object('z').propertyIsEnumerable(0);
109
+ return !Object$4('z').propertyIsEnumerable(0);
85
110
  }) ? function (it) {
86
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
87
- } : Object;
111
+ return classof$2(it) == 'String' ? split(it, '') : Object$4(it);
112
+ } : Object$4;
113
+
114
+ var global$m = global$o;
115
+
116
+ var TypeError$7 = global$m.TypeError;
88
117
 
89
118
  // `RequireObjectCoercible` abstract operation
90
119
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
91
120
  var requireObjectCoercible$2 = function (it) {
92
- if (it == undefined) throw TypeError("Can't call method on " + it);
121
+ if (it == undefined) throw TypeError$7("Can't call method on " + it);
93
122
  return it;
94
123
  };
95
124
 
@@ -101,53 +130,72 @@ var toIndexedObject$3 = function (it) {
101
130
  return IndexedObject(requireObjectCoercible$1(it));
102
131
  };
103
132
 
133
+ // `IsCallable` abstract operation
134
+ // https://tc39.es/ecma262/#sec-iscallable
135
+ var isCallable$a = function (argument) {
136
+ return typeof argument == 'function';
137
+ };
138
+
139
+ var isCallable$9 = isCallable$a;
140
+
104
141
  var isObject$5 = function (it) {
105
- return typeof it === 'object' ? it !== null : typeof it === 'function';
142
+ return typeof it == 'object' ? it !== null : isCallable$9(it);
106
143
  };
107
144
 
108
- var global$a = global$b;
145
+ var global$l = global$o;
146
+ var isCallable$8 = isCallable$a;
109
147
 
110
- var aFunction$2 = function (variable) {
111
- return typeof variable == 'function' ? variable : undefined;
148
+ var aFunction = function (argument) {
149
+ return isCallable$8(argument) ? argument : undefined;
112
150
  };
113
151
 
114
152
  var getBuiltIn$3 = function (namespace, method) {
115
- return arguments.length < 2 ? aFunction$2(global$a[namespace]) : global$a[namespace] && global$a[namespace][method];
153
+ return arguments.length < 2 ? aFunction(global$l[namespace]) : global$l[namespace] && global$l[namespace][method];
116
154
  };
117
155
 
156
+ var uncurryThis$7 = functionUncurryThis;
157
+
158
+ var objectIsPrototypeOf = uncurryThis$7({}.isPrototypeOf);
159
+
118
160
  var getBuiltIn$2 = getBuiltIn$3;
119
161
 
120
162
  var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || '';
121
163
 
122
- var global$9 = global$b;
164
+ var global$k = global$o;
123
165
  var userAgent$3 = engineUserAgent;
124
166
 
125
- var process = global$9.process;
126
- var Deno = global$9.Deno;
167
+ var process = global$k.process;
168
+ var Deno = global$k.Deno;
127
169
  var versions = process && process.versions || Deno && Deno.version;
128
170
  var v8 = versions && versions.v8;
129
171
  var match, version;
130
172
 
131
173
  if (v8) {
132
174
  match = v8.split('.');
133
- version = match[0] < 4 ? 1 : match[0] + match[1];
134
- } else if (userAgent$3) {
175
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
176
+ // but their correct versions are not interesting for us
177
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
178
+ }
179
+
180
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
181
+ // so check `userAgent` even if `.v8` exists, but 0
182
+ if (!version && userAgent$3) {
135
183
  match = userAgent$3.match(/Edge\/(\d+)/);
136
184
  if (!match || match[1] >= 74) {
137
185
  match = userAgent$3.match(/Chrome\/(\d+)/);
138
- if (match) version = match[1];
186
+ if (match) version = +match[1];
139
187
  }
140
188
  }
141
189
 
142
- var engineV8Version = version && +version;
190
+ var engineV8Version = version;
143
191
 
144
192
  /* eslint-disable es/no-symbol -- required for testing */
145
193
 
146
194
  var V8_VERSION = engineV8Version;
147
- var fails$4 = fails$7;
195
+ var fails$5 = fails$8;
148
196
 
149
197
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
150
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$4(function () {
198
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$5(function () {
151
199
  var symbol = Symbol();
152
200
  // Chrome 38 Symbol has incorrect toString conversion
153
201
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -164,46 +212,91 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
164
212
  && !Symbol.sham
165
213
  && typeof Symbol.iterator == 'symbol';
166
214
 
215
+ var global$j = global$o;
167
216
  var getBuiltIn$1 = getBuiltIn$3;
217
+ var isCallable$7 = isCallable$a;
218
+ var isPrototypeOf = objectIsPrototypeOf;
168
219
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
169
220
 
170
- var isSymbol$3 = USE_SYMBOL_AS_UID$1 ? function (it) {
221
+ var Object$3 = global$j.Object;
222
+
223
+ var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
171
224
  return typeof it == 'symbol';
172
225
  } : function (it) {
173
226
  var $Symbol = getBuiltIn$1('Symbol');
174
- return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;
227
+ return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
175
228
  };
176
229
 
230
+ var global$i = global$o;
231
+
232
+ var String$3 = global$i.String;
233
+
234
+ var tryToString$1 = function (argument) {
235
+ try {
236
+ return String$3(argument);
237
+ } catch (error) {
238
+ return 'Object';
239
+ }
240
+ };
241
+
242
+ var global$h = global$o;
243
+ var isCallable$6 = isCallable$a;
244
+ var tryToString = tryToString$1;
245
+
246
+ var TypeError$6 = global$h.TypeError;
247
+
248
+ // `Assert: IsCallable(argument) is true`
249
+ var aCallable$2 = function (argument) {
250
+ if (isCallable$6(argument)) return argument;
251
+ throw TypeError$6(tryToString(argument) + ' is not a function');
252
+ };
253
+
254
+ var aCallable$1 = aCallable$2;
255
+
256
+ // `GetMethod` abstract operation
257
+ // https://tc39.es/ecma262/#sec-getmethod
258
+ var getMethod$1 = function (V, P) {
259
+ var func = V[P];
260
+ return func == null ? undefined : aCallable$1(func);
261
+ };
262
+
263
+ var global$g = global$o;
264
+ var call$2 = functionCall;
265
+ var isCallable$5 = isCallable$a;
177
266
  var isObject$4 = isObject$5;
178
267
 
268
+ var TypeError$5 = global$g.TypeError;
269
+
179
270
  // `OrdinaryToPrimitive` abstract operation
180
271
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
181
272
  var ordinaryToPrimitive$1 = function (input, pref) {
182
273
  var fn, val;
183
- if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject$4(val = fn.call(input))) return val;
184
- if (typeof (fn = input.valueOf) == 'function' && !isObject$4(val = fn.call(input))) return val;
185
- if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject$4(val = fn.call(input))) return val;
186
- throw TypeError("Can't convert object to primitive value");
274
+ if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
275
+ if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$2(fn, input))) return val;
276
+ if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
277
+ throw TypeError$5("Can't convert object to primitive value");
187
278
  };
188
279
 
189
280
  var shared$3 = {exports: {}};
190
281
 
191
- var global$8 = global$b;
282
+ var global$f = global$o;
283
+
284
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
285
+ var defineProperty = Object.defineProperty;
192
286
 
193
287
  var setGlobal$3 = function (key, value) {
194
288
  try {
195
- // eslint-disable-next-line es/no-object-defineproperty -- safe
196
- Object.defineProperty(global$8, key, { value: value, configurable: true, writable: true });
289
+ defineProperty(global$f, key, { value: value, configurable: true, writable: true });
197
290
  } catch (error) {
198
- global$8[key] = value;
291
+ global$f[key] = value;
199
292
  } return value;
200
293
  };
201
294
 
202
- var global$7 = global$b;
295
+ var global$e = global$o;
203
296
  var setGlobal$2 = setGlobal$3;
204
297
 
205
298
  var SHARED = '__core-js_shared__';
206
- var store$3 = global$7[SHARED] || setGlobal$2(SHARED, {});
299
+ var store$3 = global$e[SHARED] || setGlobal$2(SHARED, {});
207
300
 
208
301
  var sharedStore = store$3;
209
302
 
@@ -212,171 +305,229 @@ var store$2 = sharedStore;
212
305
  (shared$3.exports = function (key, value) {
213
306
  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
214
307
  })('versions', []).push({
215
- version: '3.16.1',
308
+ version: '3.20.2',
216
309
  mode: 'global',
217
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
310
+ copyright: '© 2022 Denis Pushkarev (zloirock.ru)'
218
311
  });
219
312
 
313
+ var global$d = global$o;
220
314
  var requireObjectCoercible = requireObjectCoercible$2;
221
315
 
316
+ var Object$2 = global$d.Object;
317
+
222
318
  // `ToObject` abstract operation
223
319
  // https://tc39.es/ecma262/#sec-toobject
224
320
  var toObject$2 = function (argument) {
225
- return Object(requireObjectCoercible(argument));
321
+ return Object$2(requireObjectCoercible(argument));
226
322
  };
227
323
 
324
+ var uncurryThis$6 = functionUncurryThis;
228
325
  var toObject$1 = toObject$2;
229
326
 
230
- var hasOwnProperty$1 = {}.hasOwnProperty;
327
+ var hasOwnProperty$1 = uncurryThis$6({}.hasOwnProperty);
231
328
 
232
- var has$6 = Object.hasOwn || function hasOwn(it, key) {
233
- return hasOwnProperty$1.call(toObject$1(it), key);
329
+ // `HasOwnProperty` abstract operation
330
+ // https://tc39.es/ecma262/#sec-hasownproperty
331
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
332
+ return hasOwnProperty$1(toObject$1(it), key);
234
333
  };
235
334
 
335
+ var uncurryThis$5 = functionUncurryThis;
336
+
236
337
  var id = 0;
237
338
  var postfix = Math.random();
339
+ var toString$2 = uncurryThis$5(1.0.toString);
238
340
 
239
341
  var uid$2 = function (key) {
240
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
342
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36);
241
343
  };
242
344
 
243
- var global$6 = global$b;
345
+ var global$c = global$o;
244
346
  var shared$2 = shared$3.exports;
245
- var has$5 = has$6;
347
+ var hasOwn$6 = hasOwnProperty_1;
246
348
  var uid$1 = uid$2;
247
349
  var NATIVE_SYMBOL = nativeSymbol;
248
350
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
249
351
 
250
352
  var WellKnownSymbolsStore = shared$2('wks');
251
- var Symbol$1 = global$6.Symbol;
353
+ var Symbol$1 = global$c.Symbol;
354
+ var symbolFor = Symbol$1 && Symbol$1['for'];
252
355
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
253
356
 
254
- var wellKnownSymbol$1 = function (name) {
255
- if (!has$5(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
256
- if (NATIVE_SYMBOL && has$5(Symbol$1, name)) {
357
+ var wellKnownSymbol$3 = function (name) {
358
+ if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
359
+ var description = 'Symbol.' + name;
360
+ if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
257
361
  WellKnownSymbolsStore[name] = Symbol$1[name];
362
+ } else if (USE_SYMBOL_AS_UID && symbolFor) {
363
+ WellKnownSymbolsStore[name] = symbolFor(description);
258
364
  } else {
259
- WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
365
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
260
366
  }
261
367
  } return WellKnownSymbolsStore[name];
262
368
  };
263
369
 
370
+ var global$b = global$o;
371
+ var call$1 = functionCall;
264
372
  var isObject$3 = isObject$5;
265
- var isSymbol$2 = isSymbol$3;
373
+ var isSymbol$1 = isSymbol$2;
374
+ var getMethod = getMethod$1;
266
375
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
267
- var wellKnownSymbol = wellKnownSymbol$1;
376
+ var wellKnownSymbol$2 = wellKnownSymbol$3;
268
377
 
269
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
378
+ var TypeError$4 = global$b.TypeError;
379
+ var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive');
270
380
 
271
381
  // `ToPrimitive` abstract operation
272
382
  // https://tc39.es/ecma262/#sec-toprimitive
273
383
  var toPrimitive$1 = function (input, pref) {
274
- if (!isObject$3(input) || isSymbol$2(input)) return input;
275
- var exoticToPrim = input[TO_PRIMITIVE];
384
+ if (!isObject$3(input) || isSymbol$1(input)) return input;
385
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
276
386
  var result;
277
- if (exoticToPrim !== undefined) {
387
+ if (exoticToPrim) {
278
388
  if (pref === undefined) pref = 'default';
279
- result = exoticToPrim.call(input, pref);
280
- if (!isObject$3(result) || isSymbol$2(result)) return result;
281
- throw TypeError("Can't convert object to primitive value");
389
+ result = call$1(exoticToPrim, input, pref);
390
+ if (!isObject$3(result) || isSymbol$1(result)) return result;
391
+ throw TypeError$4("Can't convert object to primitive value");
282
392
  }
283
393
  if (pref === undefined) pref = 'number';
284
394
  return ordinaryToPrimitive(input, pref);
285
395
  };
286
396
 
287
397
  var toPrimitive = toPrimitive$1;
288
- var isSymbol$1 = isSymbol$3;
398
+ var isSymbol = isSymbol$2;
289
399
 
290
400
  // `ToPropertyKey` abstract operation
291
401
  // https://tc39.es/ecma262/#sec-topropertykey
292
- var toPropertyKey$2 = function (argument) {
402
+ var toPropertyKey$3 = function (argument) {
293
403
  var key = toPrimitive(argument, 'string');
294
- return isSymbol$1(key) ? key : String(key);
404
+ return isSymbol(key) ? key : key + '';
295
405
  };
296
406
 
297
- var global$5 = global$b;
407
+ var global$a = global$o;
298
408
  var isObject$2 = isObject$5;
299
409
 
300
- var document$1 = global$5.document;
410
+ var document$1 = global$a.document;
301
411
  // typeof document.createElement is 'object' in old IE
302
- var EXISTS = isObject$2(document$1) && isObject$2(document$1.createElement);
412
+ var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement);
303
413
 
304
414
  var documentCreateElement = function (it) {
305
- return EXISTS ? document$1.createElement(it) : {};
415
+ return EXISTS$1 ? document$1.createElement(it) : {};
306
416
  };
307
417
 
308
- var DESCRIPTORS$3 = descriptors;
309
- var fails$3 = fails$7;
418
+ var DESCRIPTORS$5 = descriptors;
419
+ var fails$4 = fails$8;
310
420
  var createElement$1 = documentCreateElement;
311
421
 
312
422
  // Thank's IE8 for his funny defineProperty
313
- var ie8DomDefine = !DESCRIPTORS$3 && !fails$3(function () {
314
- // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
423
+ var ie8DomDefine = !DESCRIPTORS$5 && !fails$4(function () {
424
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
315
425
  return Object.defineProperty(createElement$1('div'), 'a', {
316
426
  get: function () { return 7; }
317
427
  }).a != 7;
318
428
  });
319
429
 
320
- var DESCRIPTORS$2 = descriptors;
430
+ var DESCRIPTORS$4 = descriptors;
431
+ var call = functionCall;
321
432
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
322
- var createPropertyDescriptor$1 = createPropertyDescriptor$2;
433
+ var createPropertyDescriptor$2 = createPropertyDescriptor$3;
323
434
  var toIndexedObject$2 = toIndexedObject$3;
324
- var toPropertyKey$1 = toPropertyKey$2;
325
- var has$4 = has$6;
435
+ var toPropertyKey$2 = toPropertyKey$3;
436
+ var hasOwn$5 = hasOwnProperty_1;
326
437
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
327
438
 
328
439
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
329
- var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
440
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
330
441
 
331
442
  // `Object.getOwnPropertyDescriptor` method
332
443
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
333
- objectGetOwnPropertyDescriptor.f = DESCRIPTORS$2 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
444
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$4 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
334
445
  O = toIndexedObject$2(O);
335
- P = toPropertyKey$1(P);
446
+ P = toPropertyKey$2(P);
336
447
  if (IE8_DOM_DEFINE$1) try {
337
- return $getOwnPropertyDescriptor(O, P);
448
+ return $getOwnPropertyDescriptor$1(O, P);
338
449
  } catch (error) { /* empty */ }
339
- if (has$4(O, P)) return createPropertyDescriptor$1(!propertyIsEnumerableModule.f.call(O, P), O[P]);
450
+ if (hasOwn$5(O, P)) return createPropertyDescriptor$2(!call(propertyIsEnumerableModule.f, O, P), O[P]);
340
451
  };
341
452
 
342
453
  var objectDefineProperty = {};
343
454
 
455
+ var DESCRIPTORS$3 = descriptors;
456
+ var fails$3 = fails$8;
457
+
458
+ // V8 ~ Chrome 36-
459
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
460
+ var v8PrototypeDefineBug = DESCRIPTORS$3 && fails$3(function () {
461
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
462
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
463
+ value: 42,
464
+ writable: false
465
+ }).prototype != 42;
466
+ });
467
+
468
+ var global$9 = global$o;
344
469
  var isObject$1 = isObject$5;
345
470
 
346
- var anObject$2 = function (it) {
347
- if (!isObject$1(it)) {
348
- throw TypeError(String(it) + ' is not an object');
349
- } return it;
471
+ var String$2 = global$9.String;
472
+ var TypeError$3 = global$9.TypeError;
473
+
474
+ // `Assert: Type(argument) is Object`
475
+ var anObject$2 = function (argument) {
476
+ if (isObject$1(argument)) return argument;
477
+ throw TypeError$3(String$2(argument) + ' is not an object');
350
478
  };
351
479
 
352
- var DESCRIPTORS$1 = descriptors;
480
+ var global$8 = global$o;
481
+ var DESCRIPTORS$2 = descriptors;
353
482
  var IE8_DOM_DEFINE = ie8DomDefine;
483
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
354
484
  var anObject$1 = anObject$2;
355
- var toPropertyKey = toPropertyKey$2;
485
+ var toPropertyKey$1 = toPropertyKey$3;
356
486
 
487
+ var TypeError$2 = global$8.TypeError;
357
488
  // eslint-disable-next-line es/no-object-defineproperty -- safe
358
489
  var $defineProperty = Object.defineProperty;
490
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
491
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
492
+ var ENUMERABLE = 'enumerable';
493
+ var CONFIGURABLE$1 = 'configurable';
494
+ var WRITABLE = 'writable';
359
495
 
360
496
  // `Object.defineProperty` method
361
497
  // https://tc39.es/ecma262/#sec-object.defineproperty
362
- objectDefineProperty.f = DESCRIPTORS$1 ? $defineProperty : function defineProperty(O, P, Attributes) {
498
+ objectDefineProperty.f = DESCRIPTORS$2 ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
499
+ anObject$1(O);
500
+ P = toPropertyKey$1(P);
501
+ anObject$1(Attributes);
502
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
503
+ var current = $getOwnPropertyDescriptor(O, P);
504
+ if (current && current[WRITABLE]) {
505
+ O[P] = Attributes.value;
506
+ Attributes = {
507
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
508
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
509
+ writable: false
510
+ };
511
+ }
512
+ } return $defineProperty(O, P, Attributes);
513
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
363
514
  anObject$1(O);
364
- P = toPropertyKey(P);
515
+ P = toPropertyKey$1(P);
365
516
  anObject$1(Attributes);
366
517
  if (IE8_DOM_DEFINE) try {
367
518
  return $defineProperty(O, P, Attributes);
368
519
  } catch (error) { /* empty */ }
369
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
520
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
370
521
  if ('value' in Attributes) O[P] = Attributes.value;
371
522
  return O;
372
523
  };
373
524
 
374
- var DESCRIPTORS = descriptors;
375
- var definePropertyModule$1 = objectDefineProperty;
376
- var createPropertyDescriptor = createPropertyDescriptor$2;
525
+ var DESCRIPTORS$1 = descriptors;
526
+ var definePropertyModule$2 = objectDefineProperty;
527
+ var createPropertyDescriptor$1 = createPropertyDescriptor$3;
377
528
 
378
- var createNonEnumerableProperty$3 = DESCRIPTORS ? function (object, key, value) {
379
- return definePropertyModule$1.f(object, key, createPropertyDescriptor(1, value));
529
+ var createNonEnumerableProperty$3 = DESCRIPTORS$1 ? function (object, key, value) {
530
+ return definePropertyModule$2.f(object, key, createPropertyDescriptor$1(1, value));
380
531
  } : function (object, key, value) {
381
532
  object[key] = value;
382
533
  return object;
@@ -384,25 +535,28 @@ var createNonEnumerableProperty$3 = DESCRIPTORS ? function (object, key, value)
384
535
 
385
536
  var redefine$1 = {exports: {}};
386
537
 
538
+ var uncurryThis$4 = functionUncurryThis;
539
+ var isCallable$4 = isCallable$a;
387
540
  var store$1 = sharedStore;
388
541
 
389
- var functionToString = Function.toString;
542
+ var functionToString = uncurryThis$4(Function.toString);
390
543
 
391
544
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
392
- if (typeof store$1.inspectSource != 'function') {
545
+ if (!isCallable$4(store$1.inspectSource)) {
393
546
  store$1.inspectSource = function (it) {
394
- return functionToString.call(it);
547
+ return functionToString(it);
395
548
  };
396
549
  }
397
550
 
398
551
  var inspectSource$2 = store$1.inspectSource;
399
552
 
400
- var global$4 = global$b;
553
+ var global$7 = global$o;
554
+ var isCallable$3 = isCallable$a;
401
555
  var inspectSource$1 = inspectSource$2;
402
556
 
403
- var WeakMap$1 = global$4.WeakMap;
557
+ var WeakMap$1 = global$7.WeakMap;
404
558
 
405
- var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource$1(WeakMap$1));
559
+ var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1));
406
560
 
407
561
  var shared$1 = shared$3.exports;
408
562
  var uid = uid$2;
@@ -416,79 +570,101 @@ var sharedKey$1 = function (key) {
416
570
  var hiddenKeys$3 = {};
417
571
 
418
572
  var NATIVE_WEAK_MAP = nativeWeakMap;
419
- var global$3 = global$b;
573
+ var global$6 = global$o;
574
+ var uncurryThis$3 = functionUncurryThis;
420
575
  var isObject = isObject$5;
421
576
  var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
422
- var objectHas = has$6;
577
+ var hasOwn$4 = hasOwnProperty_1;
423
578
  var shared = sharedStore;
424
579
  var sharedKey = sharedKey$1;
425
580
  var hiddenKeys$2 = hiddenKeys$3;
426
581
 
427
582
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
428
- var WeakMap = global$3.WeakMap;
429
- var set, get, has$3;
583
+ var TypeError$1 = global$6.TypeError;
584
+ var WeakMap = global$6.WeakMap;
585
+ var set, get, has;
430
586
 
431
587
  var enforce = function (it) {
432
- return has$3(it) ? get(it) : set(it, {});
588
+ return has(it) ? get(it) : set(it, {});
433
589
  };
434
590
 
435
591
  var getterFor = function (TYPE) {
436
592
  return function (it) {
437
593
  var state;
438
594
  if (!isObject(it) || (state = get(it)).type !== TYPE) {
439
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
595
+ throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
440
596
  } return state;
441
597
  };
442
598
  };
443
599
 
444
600
  if (NATIVE_WEAK_MAP || shared.state) {
445
601
  var store = shared.state || (shared.state = new WeakMap());
446
- var wmget = store.get;
447
- var wmhas = store.has;
448
- var wmset = store.set;
602
+ var wmget = uncurryThis$3(store.get);
603
+ var wmhas = uncurryThis$3(store.has);
604
+ var wmset = uncurryThis$3(store.set);
449
605
  set = function (it, metadata) {
450
- if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
606
+ if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
451
607
  metadata.facade = it;
452
- wmset.call(store, it, metadata);
608
+ wmset(store, it, metadata);
453
609
  return metadata;
454
610
  };
455
611
  get = function (it) {
456
- return wmget.call(store, it) || {};
612
+ return wmget(store, it) || {};
457
613
  };
458
- has$3 = function (it) {
459
- return wmhas.call(store, it);
614
+ has = function (it) {
615
+ return wmhas(store, it);
460
616
  };
461
617
  } else {
462
618
  var STATE = sharedKey('state');
463
619
  hiddenKeys$2[STATE] = true;
464
620
  set = function (it, metadata) {
465
- if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
621
+ if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
466
622
  metadata.facade = it;
467
623
  createNonEnumerableProperty$2(it, STATE, metadata);
468
624
  return metadata;
469
625
  };
470
626
  get = function (it) {
471
- return objectHas(it, STATE) ? it[STATE] : {};
627
+ return hasOwn$4(it, STATE) ? it[STATE] : {};
472
628
  };
473
- has$3 = function (it) {
474
- return objectHas(it, STATE);
629
+ has = function (it) {
630
+ return hasOwn$4(it, STATE);
475
631
  };
476
632
  }
477
633
 
478
634
  var internalState = {
479
635
  set: set,
480
636
  get: get,
481
- has: has$3,
637
+ has: has,
482
638
  enforce: enforce,
483
639
  getterFor: getterFor
484
640
  };
485
641
 
486
- var global$2 = global$b;
642
+ var DESCRIPTORS = descriptors;
643
+ var hasOwn$3 = hasOwnProperty_1;
644
+
645
+ var FunctionPrototype = Function.prototype;
646
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
647
+ var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
648
+
649
+ var EXISTS = hasOwn$3(FunctionPrototype, 'name');
650
+ // additional protection from minified / mangled / dropped function names
651
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
652
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
653
+
654
+ var functionName = {
655
+ EXISTS: EXISTS,
656
+ PROPER: PROPER,
657
+ CONFIGURABLE: CONFIGURABLE
658
+ };
659
+
660
+ var global$5 = global$o;
661
+ var isCallable$2 = isCallable$a;
662
+ var hasOwn$2 = hasOwnProperty_1;
487
663
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
488
- var has$2 = has$6;
489
664
  var setGlobal$1 = setGlobal$3;
490
665
  var inspectSource = inspectSource$2;
491
666
  var InternalStateModule = internalState;
667
+ var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
492
668
 
493
669
  var getInternalState = InternalStateModule.get;
494
670
  var enforceInternalState = InternalStateModule.enforce;
@@ -498,17 +674,21 @@ var TEMPLATE = String(String).split('String');
498
674
  var unsafe = options ? !!options.unsafe : false;
499
675
  var simple = options ? !!options.enumerable : false;
500
676
  var noTargetGet = options ? !!options.noTargetGet : false;
677
+ var name = options && options.name !== undefined ? options.name : key;
501
678
  var state;
502
- if (typeof value == 'function') {
503
- if (typeof key == 'string' && !has$2(value, 'name')) {
504
- createNonEnumerableProperty$1(value, 'name', key);
679
+ if (isCallable$2(value)) {
680
+ if (String(name).slice(0, 7) === 'Symbol(') {
681
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
682
+ }
683
+ if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
684
+ createNonEnumerableProperty$1(value, 'name', name);
505
685
  }
506
686
  state = enforceInternalState(value);
507
687
  if (!state.source) {
508
- state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
688
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
509
689
  }
510
690
  }
511
- if (O === global$2) {
691
+ if (O === global$5) {
512
692
  if (simple) O[key] = value;
513
693
  else setGlobal$1(key, value);
514
694
  return;
@@ -521,7 +701,7 @@ var TEMPLATE = String(String).split('String');
521
701
  else createNonEnumerableProperty$1(O, key, value);
522
702
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
523
703
  })(Function.prototype, 'toString', function toString() {
524
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
704
+ return isCallable$2(this) && getInternalState(this).source || inspectSource(this);
525
705
  });
526
706
 
527
707
  var objectGetOwnPropertyNames = {};
@@ -529,45 +709,55 @@ var objectGetOwnPropertyNames = {};
529
709
  var ceil = Math.ceil;
530
710
  var floor$1 = Math.floor;
531
711
 
532
- // `ToInteger` abstract operation
533
- // https://tc39.es/ecma262/#sec-tointeger
534
- var toInteger$2 = function (argument) {
535
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
712
+ // `ToIntegerOrInfinity` abstract operation
713
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
714
+ var toIntegerOrInfinity$2 = function (argument) {
715
+ var number = +argument;
716
+ // eslint-disable-next-line no-self-compare -- safe
717
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number);
536
718
  };
537
719
 
538
- var toInteger$1 = toInteger$2;
720
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
539
721
 
722
+ var max$1 = Math.max;
540
723
  var min$1 = Math.min;
541
724
 
542
- // `ToLength` abstract operation
543
- // https://tc39.es/ecma262/#sec-tolength
544
- var toLength$2 = function (argument) {
545
- return argument > 0 ? min$1(toInteger$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
725
+ // Helper for a popular repeating case of the spec:
726
+ // Let integer be ? ToInteger(index).
727
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
728
+ var toAbsoluteIndex$2 = function (index, length) {
729
+ var integer = toIntegerOrInfinity$1(index);
730
+ return integer < 0 ? max$1(integer + length, 0) : min$1(integer, length);
546
731
  };
547
732
 
548
- var toInteger = toInteger$2;
733
+ var toIntegerOrInfinity = toIntegerOrInfinity$2;
549
734
 
550
- var max = Math.max;
551
735
  var min = Math.min;
552
736
 
553
- // Helper for a popular repeating case of the spec:
554
- // Let integer be ? ToInteger(index).
555
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
556
- var toAbsoluteIndex$1 = function (index, length) {
557
- var integer = toInteger(index);
558
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
737
+ // `ToLength` abstract operation
738
+ // https://tc39.es/ecma262/#sec-tolength
739
+ var toLength$1 = function (argument) {
740
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
741
+ };
742
+
743
+ var toLength = toLength$1;
744
+
745
+ // `LengthOfArrayLike` abstract operation
746
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
747
+ var lengthOfArrayLike$3 = function (obj) {
748
+ return toLength(obj.length);
559
749
  };
560
750
 
561
751
  var toIndexedObject$1 = toIndexedObject$3;
562
- var toLength$1 = toLength$2;
563
- var toAbsoluteIndex = toAbsoluteIndex$1;
752
+ var toAbsoluteIndex$1 = toAbsoluteIndex$2;
753
+ var lengthOfArrayLike$2 = lengthOfArrayLike$3;
564
754
 
565
755
  // `Array.prototype.{ indexOf, includes }` methods implementation
566
756
  var createMethod = function (IS_INCLUDES) {
567
757
  return function ($this, el, fromIndex) {
568
758
  var O = toIndexedObject$1($this);
569
- var length = toLength$1(O.length);
570
- var index = toAbsoluteIndex(fromIndex, length);
759
+ var length = lengthOfArrayLike$2(O);
760
+ var index = toAbsoluteIndex$1(fromIndex, length);
571
761
  var value;
572
762
  // Array#includes uses SameValueZero equality algorithm
573
763
  // eslint-disable-next-line no-self-compare -- NaN check
@@ -591,20 +781,23 @@ var arrayIncludes = {
591
781
  indexOf: createMethod(false)
592
782
  };
593
783
 
594
- var has$1 = has$6;
784
+ var uncurryThis$2 = functionUncurryThis;
785
+ var hasOwn$1 = hasOwnProperty_1;
595
786
  var toIndexedObject = toIndexedObject$3;
596
787
  var indexOf$1 = arrayIncludes.indexOf;
597
788
  var hiddenKeys$1 = hiddenKeys$3;
598
789
 
790
+ var push$1 = uncurryThis$2([].push);
791
+
599
792
  var objectKeysInternal = function (object, names) {
600
793
  var O = toIndexedObject(object);
601
794
  var i = 0;
602
795
  var result = [];
603
796
  var key;
604
- for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
797
+ for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push$1(result, key);
605
798
  // Don't enum bug & hidden keys
606
- while (names.length > i) if (has$1(O, key = names[i++])) {
607
- ~indexOf$1(result, key) || result.push(key);
799
+ while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
800
+ ~indexOf$1(result, key) || push$1(result, key);
608
801
  }
609
802
  return result;
610
803
  };
@@ -638,33 +831,39 @@ var objectGetOwnPropertySymbols = {};
638
831
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
639
832
 
640
833
  var getBuiltIn = getBuiltIn$3;
834
+ var uncurryThis$1 = functionUncurryThis;
641
835
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
642
836
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
643
837
  var anObject = anObject$2;
644
838
 
839
+ var concat = uncurryThis$1([].concat);
840
+
645
841
  // all object keys, includes non-enumerable and symbols
646
842
  var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
647
843
  var keys = getOwnPropertyNamesModule.f(anObject(it));
648
844
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
649
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
845
+ return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
650
846
  };
651
847
 
652
- var has = has$6;
848
+ var hasOwn = hasOwnProperty_1;
653
849
  var ownKeys = ownKeys$1;
654
850
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
655
- var definePropertyModule = objectDefineProperty;
851
+ var definePropertyModule$1 = objectDefineProperty;
656
852
 
657
- var copyConstructorProperties$1 = function (target, source) {
853
+ var copyConstructorProperties$1 = function (target, source, exceptions) {
658
854
  var keys = ownKeys(source);
659
- var defineProperty = definePropertyModule.f;
855
+ var defineProperty = definePropertyModule$1.f;
660
856
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
661
857
  for (var i = 0; i < keys.length; i++) {
662
858
  var key = keys[i];
663
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
859
+ if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
860
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
861
+ }
664
862
  }
665
863
  };
666
864
 
667
- var fails$2 = fails$7;
865
+ var fails$2 = fails$8;
866
+ var isCallable$1 = isCallable$a;
668
867
 
669
868
  var replacement = /#|\.prototype\./;
670
869
 
@@ -672,7 +871,7 @@ var isForced$1 = function (feature, detection) {
672
871
  var value = data[normalize(feature)];
673
872
  return value == POLYFILL ? true
674
873
  : value == NATIVE ? false
675
- : typeof detection == 'function' ? fails$2(detection)
874
+ : isCallable$1(detection) ? fails$2(detection)
676
875
  : !!detection;
677
876
  };
678
877
 
@@ -686,7 +885,7 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
686
885
 
687
886
  var isForced_1 = isForced$1;
688
887
 
689
- var global$1 = global$b;
888
+ var global$4 = global$o;
690
889
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
691
890
  var createNonEnumerableProperty = createNonEnumerableProperty$3;
692
891
  var redefine = redefine$1.exports;
@@ -707,6 +906,7 @@ var isForced = isForced_1;
707
906
  options.sham - add a flag to not completely full polyfills
708
907
  options.enumerable - export as enumerable property
709
908
  options.noTargetGet - prevent calling a getter on target
909
+ options.name - the .name of the function if it does not match the key
710
910
  */
711
911
  var _export = function (options, source) {
712
912
  var TARGET = options.target;
@@ -714,11 +914,11 @@ var _export = function (options, source) {
714
914
  var STATIC = options.stat;
715
915
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
716
916
  if (GLOBAL) {
717
- target = global$1;
917
+ target = global$4;
718
918
  } else if (STATIC) {
719
- target = global$1[TARGET] || setGlobal(TARGET, {});
919
+ target = global$4[TARGET] || setGlobal(TARGET, {});
720
920
  } else {
721
- target = (global$1[TARGET] || {}).prototype;
921
+ target = (global$4[TARGET] || {}).prototype;
722
922
  }
723
923
  if (target) for (key in source) {
724
924
  sourceProperty = source[key];
@@ -729,7 +929,7 @@ var _export = function (options, source) {
729
929
  FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
730
930
  // contained in target
731
931
  if (!FORCED && targetProperty !== undefined) {
732
- if (typeof sourceProperty === typeof targetProperty) continue;
932
+ if (typeof sourceProperty == typeof targetProperty) continue;
733
933
  copyConstructorProperties(sourceProperty, targetProperty);
734
934
  }
735
935
  // add a flag to not completely full polyfills
@@ -741,28 +941,95 @@ var _export = function (options, source) {
741
941
  }
742
942
  };
743
943
 
744
- var aFunction$1 = function (it) {
745
- if (typeof it != 'function') {
746
- throw TypeError(String(it) + ' is not a function');
747
- } return it;
944
+ var wellKnownSymbol$1 = wellKnownSymbol$3;
945
+
946
+ var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
947
+ var test$1 = {};
948
+
949
+ test$1[TO_STRING_TAG$1] = 'z';
950
+
951
+ var toStringTagSupport = String(test$1) === '[object z]';
952
+
953
+ var global$3 = global$o;
954
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
955
+ var isCallable = isCallable$a;
956
+ var classofRaw = classofRaw$1;
957
+ var wellKnownSymbol = wellKnownSymbol$3;
958
+
959
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
960
+ var Object$1 = global$3.Object;
961
+
962
+ // ES3 wrong here
963
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
964
+
965
+ // fallback for IE11 Script Access Denied error
966
+ var tryGet = function (it, key) {
967
+ try {
968
+ return it[key];
969
+ } catch (error) { /* empty */ }
748
970
  };
749
971
 
750
- var isSymbol = isSymbol$3;
972
+ // getting tag from ES6+ `Object.prototype.toString`
973
+ var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
974
+ var O, tag, result;
975
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
976
+ // @@toStringTag case
977
+ : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag
978
+ // builtinTag case
979
+ : CORRECT_ARGUMENTS ? classofRaw(O)
980
+ // ES3 arguments fallback
981
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
982
+ };
983
+
984
+ var global$2 = global$o;
985
+ var classof = classof$1;
986
+
987
+ var String$1 = global$2.String;
751
988
 
752
989
  var toString$1 = function (argument) {
753
- if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');
754
- return String(argument);
990
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
991
+ return String$1(argument);
755
992
  };
756
993
 
757
- // TODO: use something more complex like timsort?
994
+ var toPropertyKey = toPropertyKey$3;
995
+ var definePropertyModule = objectDefineProperty;
996
+ var createPropertyDescriptor = createPropertyDescriptor$3;
997
+
998
+ var createProperty$1 = function (object, key, value) {
999
+ var propertyKey = toPropertyKey(key);
1000
+ if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
1001
+ else object[propertyKey] = value;
1002
+ };
1003
+
1004
+ var global$1 = global$o;
1005
+ var toAbsoluteIndex = toAbsoluteIndex$2;
1006
+ var lengthOfArrayLike$1 = lengthOfArrayLike$3;
1007
+ var createProperty = createProperty$1;
1008
+
1009
+ var Array$1 = global$1.Array;
1010
+ var max = Math.max;
1011
+
1012
+ var arraySliceSimple = function (O, start, end) {
1013
+ var length = lengthOfArrayLike$1(O);
1014
+ var k = toAbsoluteIndex(start, length);
1015
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1016
+ var result = Array$1(max(fin - k, 0));
1017
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
1018
+ result.length = n;
1019
+ return result;
1020
+ };
1021
+
1022
+ var arraySlice = arraySliceSimple;
1023
+
758
1024
  var floor = Math.floor;
759
1025
 
760
1026
  var mergeSort = function (array, comparefn) {
761
1027
  var length = array.length;
762
1028
  var middle = floor(length / 2);
763
1029
  return length < 8 ? insertionSort(array, comparefn) : merge(
764
- mergeSort(array.slice(0, middle), comparefn),
765
- mergeSort(array.slice(middle), comparefn),
1030
+ array,
1031
+ mergeSort(arraySlice(array, 0, middle), comparefn),
1032
+ mergeSort(arraySlice(array, middle), comparefn),
766
1033
  comparefn
767
1034
  );
768
1035
  };
@@ -782,25 +1049,22 @@ var insertionSort = function (array, comparefn) {
782
1049
  } return array;
783
1050
  };
784
1051
 
785
- var merge = function (left, right, comparefn) {
1052
+ var merge = function (array, left, right, comparefn) {
786
1053
  var llength = left.length;
787
1054
  var rlength = right.length;
788
1055
  var lindex = 0;
789
1056
  var rindex = 0;
790
- var result = [];
791
1057
 
792
1058
  while (lindex < llength || rindex < rlength) {
793
- if (lindex < llength && rindex < rlength) {
794
- result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);
795
- } else {
796
- result.push(lindex < llength ? left[lindex++] : right[rindex++]);
797
- }
798
- } return result;
1059
+ array[lindex + rindex] = (lindex < llength && rindex < rlength)
1060
+ ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
1061
+ : lindex < llength ? left[lindex++] : right[rindex++];
1062
+ } return array;
799
1063
  };
800
1064
 
801
1065
  var arraySort = mergeSort;
802
1066
 
803
- var fails$1 = fails$7;
1067
+ var fails$1 = fails$8;
804
1068
 
805
1069
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
806
1070
  var method = [][METHOD_NAME];
@@ -827,11 +1091,12 @@ var webkit = userAgent$1.match(/AppleWebKit\/(\d+)\./);
827
1091
  var engineWebkitVersion = !!webkit && +webkit[1];
828
1092
 
829
1093
  var $$1 = _export;
830
- var aFunction = aFunction$1;
1094
+ var uncurryThis = functionUncurryThis;
1095
+ var aCallable = aCallable$2;
831
1096
  var toObject = toObject$2;
832
- var toLength = toLength$2;
1097
+ var lengthOfArrayLike = lengthOfArrayLike$3;
833
1098
  var toString = toString$1;
834
- var fails = fails$7;
1099
+ var fails = fails$8;
835
1100
  var internalSort = arraySort;
836
1101
  var arrayMethodIsStrict = arrayMethodIsStrict$1;
837
1102
  var FF = engineFfVersion;
@@ -840,7 +1105,8 @@ var V8 = engineV8Version;
840
1105
  var WEBKIT = engineWebkitVersion;
841
1106
 
842
1107
  var test = [];
843
- var nativeSort$1 = test.sort;
1108
+ var un$Sort = uncurryThis(test.sort);
1109
+ var push = uncurryThis(test.push);
844
1110
 
845
1111
  // IE8-
846
1112
  var FAILS_ON_UNDEFINED = fails(function () {
@@ -903,21 +1169,22 @@ var getSortCompare = function (comparefn) {
903
1169
  // https://tc39.es/ecma262/#sec-array.prototype.sort
904
1170
  $$1({ target: 'Array', proto: true, forced: FORCED }, {
905
1171
  sort: function sort(comparefn) {
906
- if (comparefn !== undefined) aFunction(comparefn);
1172
+ if (comparefn !== undefined) aCallable(comparefn);
907
1173
 
908
1174
  var array = toObject(this);
909
1175
 
910
- if (STABLE_SORT) return comparefn === undefined ? nativeSort$1.call(array) : nativeSort$1.call(array, comparefn);
1176
+ if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
911
1177
 
912
1178
  var items = [];
913
- var arrayLength = toLength(array.length);
1179
+ var arrayLength = lengthOfArrayLike(array);
914
1180
  var itemsLength, index;
915
1181
 
916
1182
  for (index = 0; index < arrayLength; index++) {
917
- if (index in array) items.push(array[index]);
1183
+ if (index in array) push(items, array[index]);
918
1184
  }
919
1185
 
920
- items = internalSort(items, getSortCompare(comparefn));
1186
+ internalSort(items, getSortCompare(comparefn));
1187
+
921
1188
  itemsLength = items.length;
922
1189
  index = 0;
923
1190
 
@@ -1034,7 +1301,7 @@ RowCollection.prototype.filteredCollection = function (filterFunc, args) {
1034
1301
  };
1035
1302
 
1036
1303
  /**
1037
- * @type {Function|null|undefined}
1304
+ * @type {function(columnName: string, descending: boolean, defaultComparator: function(a,b):number)|null|undefined}
1038
1305
  */
1039
1306
  RowCollection.prototype.onComparatorRequired = null;
1040
1307
 
@@ -1083,11 +1350,12 @@ RowCollection.prototype.sort = function (silent) {
1083
1350
 
1084
1351
  for (i = 0; i < this.sortColumn.length; i++) {
1085
1352
  comparator = null;
1353
+ const defaultComparator = getDefaultComparator(this.sortColumn[i], this.sortColumn[i].descending);
1086
1354
  if (this.onComparatorRequired) {
1087
- comparator = this.onComparatorRequired(this.sortColumn[i].column, this.sortColumn[i].descending);
1355
+ comparator = this.onComparatorRequired(this.sortColumn[i].column, this.sortColumn[i].descending, defaultComparator);
1088
1356
  }
1089
1357
  if (!comparator) {
1090
- comparator = getDefaultComparator(this.sortColumn[i], this.sortColumn[i].descending);
1358
+ comparator = defaultComparator;
1091
1359
  }
1092
1360
  comparators.push(comparator.bind(this));
1093
1361
  }
@@ -1384,6 +1652,8 @@ let hasIeDragAndDropBug = ieVersion && ieVersion < 10;
1384
1652
  let createElement = document.createElement.bind(document);
1385
1653
  const hasOwnProperty = Object.prototype.hasOwnProperty;
1386
1654
 
1655
+ const IsSafeSymbol = 'safe';
1656
+
1387
1657
  function webkitRenderBugfix(el) {
1388
1658
  // BUGFIX: WebKit has a bug where it does not relayout, and this affects us because scrollbars
1389
1659
  // are still calculated even though they are not there yet. This is the last resort.
@@ -1577,7 +1847,7 @@ DGTable.prototype.initialize = function (options) {
1577
1847
 
1578
1848
  /**
1579
1849
  * @private
1580
- * @field {Function(String,Boolean)Function(a,b)Boolean} onComparatorRequired */
1850
+ * @field {function(columnName: string, descending: boolean, defaultComparator: function(a,b):number):(function(a,b):number)} onComparatorRequired */
1581
1851
  o.onComparatorRequired = options.onComparatorRequired === undefined ? null : options.onComparatorRequired;
1582
1852
  if (!o.onComparatorRequired && typeof options['comparatorCallback'] === 'function') {
1583
1853
  o.onComparatorRequired = options['comparatorCallback'];
@@ -1642,9 +1912,9 @@ DGTable.prototype.initialize = function (options) {
1642
1912
 
1643
1913
  /** @field {RowCollection} _rows */
1644
1914
  p.rows = new RowCollection({ sortColumn: sortColumns });
1645
- p.rows.onComparatorRequired = function (column, descending) {
1915
+ p.rows.onComparatorRequired = (column, descending, defaultComparator) => {
1646
1916
  if (o.onComparatorRequired) {
1647
- return o.onComparatorRequired(column, descending);
1917
+ return o.onComparatorRequired(column, descending, defaultComparator);
1648
1918
  }
1649
1919
  };
1650
1920
 
@@ -2471,12 +2741,15 @@ DGTable.prototype.removeColumn = function (column, render) {
2471
2741
  * @returns {DGTable} self
2472
2742
  */
2473
2743
  DGTable.prototype.setCellFormatter = function (formatter) {
2744
+ if (!formatter) {
2745
+ formatter = (val) => typeof val === 'string' ? htmlEncode(val) : val;
2746
+ formatter[IsSafeSymbol] = true;
2747
+ }
2748
+
2474
2749
  /**
2475
2750
  * @private
2476
2751
  * @field {Function} cellFormatter */
2477
- this.o.cellFormatter = formatter || function (val) {
2478
- return typeof val === 'string' ? htmlEncode(val) : val;
2479
- };
2752
+ this.o.cellFormatter = formatter;
2480
2753
 
2481
2754
  return this;
2482
2755
  };
@@ -2991,7 +3264,7 @@ DGTable.prototype.getResizableColumns = function () {
2991
3264
  /**
2992
3265
  * @public
2993
3266
  * @expose
2994
- * @param {{function(string,boolean):{function(a:*,b:*):boolean}}} comparatorCallback a callback function that returns the comparator for a specific column
3267
+ * @param {{function(columnName: string, descending: boolean, defaultComparator: function(a,b):number):{function(a,b):number}}} comparatorCallback a callback function that returns the comparator for a specific column
2995
3268
  * @returns {DGTable} self
2996
3269
  */
2997
3270
  DGTable.prototype.setComparatorCallback = function (comparatorCallback) {
@@ -3156,7 +3429,21 @@ DGTable.prototype._getHtmlForCell = function (rowData, column) {
3156
3429
  colValue = colValue && colValue[dataPath[dataPathIndex]];
3157
3430
  }
3158
3431
 
3159
- let content = this.o.cellFormatter(colValue, column.name, rowData);
3432
+ const formatter = this.o.cellFormatter;
3433
+ let content;
3434
+
3435
+ if (formatter[IsSafeSymbol]) {
3436
+ content = formatter(colValue, column.name, rowData);
3437
+ } else {
3438
+ try {
3439
+ content = formatter(colValue, column.name, rowData);
3440
+ } catch (err) {
3441
+ content = '[ERROR]';
3442
+ // eslint-disable-next-line no-console
3443
+ console.error('Failed to generate content for cell ' + column.name, err);
3444
+ }
3445
+ }
3446
+
3160
3447
  if (content === undefined || content === null) {
3161
3448
  content = '';
3162
3449
  }
@@ -5335,25 +5622,10 @@ DGTable.prototype._cellMouseOverEvent = function (el) {
5335
5622
  p._bindCellHoverOut(el);
5336
5623
  p._bindCellHoverOut(previewCell);
5337
5624
 
5338
- $previewCell.on('mousewheel', (event) => {
5339
- let originalEvent = event.originalEvent;
5340
- let xy = originalEvent.wheelDelta || -originalEvent.detail,
5341
- x = originalEvent.wheelDeltaX || (originalEvent.axis === 1 ? xy : 0),
5342
- y = originalEvent.wheelDeltaY || (originalEvent.axis === 2 ? xy : 0);
5343
-
5344
- if (xy) {
5345
- this.hideCellPreview();
5346
- }
5347
-
5348
- if (y && p.table.scrollHeight > p.table.clientHeight) {
5349
- let scrollTop = y * -1 + p.$table.scrollTop();
5350
- p.$table.scrollTop(scrollTop);
5351
- }
5352
-
5353
- if (x && p.table.scrollWidth > p.table.clientWidth) {
5354
- let scrollLeft = x * -1 + p.$table.scrollLeft();
5355
- p.$table.scrollLeft(scrollLeft);
5356
- }
5625
+ // Avoid interfering with wheel scrolling the table
5626
+ $previewCell.on('wheel', () => {
5627
+ // Let the table naturally scroll with the wheel
5628
+ this.hideCellPreview();
5357
5629
  });
5358
5630
  }
5359
5631
  };