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