@tmagic/utils 1.8.0-manmanyu.26 → 1.8.0-manmanyu.28

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.
@@ -2,220 +2,6 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@tmagic/schema")) : typeof define === "function" && define.amd ? define(["exports", "@tmagic/schema"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.TMagicUtils = {}, global._tmagic_schema));
3
3
  })(this, function(exports, _tmagic_schema) {
4
4
  Object.defineProperty(exports, globalThis.Symbol.toStringTag, { value: "Module" });
5
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js
6
- /**
7
- * Removes all key-value entries from the list cache.
8
- *
9
- * @private
10
- * @name clear
11
- * @memberOf ListCache
12
- */
13
- function listCacheClear() {
14
- this.__data__ = [];
15
- this.size = 0;
16
- }
17
- //#endregion
18
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js
19
- /**
20
- * Performs a
21
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
22
- * comparison between two values to determine if they are equivalent.
23
- *
24
- * @static
25
- * @memberOf _
26
- * @since 4.0.0
27
- * @category Lang
28
- * @param {*} value The value to compare.
29
- * @param {*} other The other value to compare.
30
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
31
- * @example
32
- *
33
- * var object = { 'a': 1 };
34
- * var other = { 'a': 1 };
35
- *
36
- * _.eq(object, object);
37
- * // => true
38
- *
39
- * _.eq(object, other);
40
- * // => false
41
- *
42
- * _.eq('a', 'a');
43
- * // => true
44
- *
45
- * _.eq('a', Object('a'));
46
- * // => false
47
- *
48
- * _.eq(NaN, NaN);
49
- * // => true
50
- */
51
- function eq(value, other) {
52
- return value === other || value !== value && other !== other;
53
- }
54
- //#endregion
55
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js
56
- /**
57
- * Gets the index at which the `key` is found in `array` of key-value pairs.
58
- *
59
- * @private
60
- * @param {Array} array The array to inspect.
61
- * @param {*} key The key to search for.
62
- * @returns {number} Returns the index of the matched value, else `-1`.
63
- */
64
- function assocIndexOf(array, key) {
65
- var length = array.length;
66
- while (length--) if (eq(array[length][0], key)) return length;
67
- return -1;
68
- }
69
- //#endregion
70
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js
71
- /** Built-in value references. */
72
- var splice = Array.prototype.splice;
73
- /**
74
- * Removes `key` and its value from the list cache.
75
- *
76
- * @private
77
- * @name delete
78
- * @memberOf ListCache
79
- * @param {string} key The key of the value to remove.
80
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
81
- */
82
- function listCacheDelete(key) {
83
- var data = this.__data__, index = assocIndexOf(data, key);
84
- if (index < 0) return false;
85
- if (index == data.length - 1) data.pop();
86
- else splice.call(data, index, 1);
87
- --this.size;
88
- return true;
89
- }
90
- //#endregion
91
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js
92
- /**
93
- * Gets the list cache value for `key`.
94
- *
95
- * @private
96
- * @name get
97
- * @memberOf ListCache
98
- * @param {string} key The key of the value to get.
99
- * @returns {*} Returns the entry value.
100
- */
101
- function listCacheGet(key) {
102
- var data = this.__data__, index = assocIndexOf(data, key);
103
- return index < 0 ? void 0 : data[index][1];
104
- }
105
- //#endregion
106
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js
107
- /**
108
- * Checks if a list cache value for `key` exists.
109
- *
110
- * @private
111
- * @name has
112
- * @memberOf ListCache
113
- * @param {string} key The key of the entry to check.
114
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
115
- */
116
- function listCacheHas(key) {
117
- return assocIndexOf(this.__data__, key) > -1;
118
- }
119
- //#endregion
120
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js
121
- /**
122
- * Sets the list cache `key` to `value`.
123
- *
124
- * @private
125
- * @name set
126
- * @memberOf ListCache
127
- * @param {string} key The key of the value to set.
128
- * @param {*} value The value to set.
129
- * @returns {Object} Returns the list cache instance.
130
- */
131
- function listCacheSet(key, value) {
132
- var data = this.__data__, index = assocIndexOf(data, key);
133
- if (index < 0) {
134
- ++this.size;
135
- data.push([key, value]);
136
- } else data[index][1] = value;
137
- return this;
138
- }
139
- //#endregion
140
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js
141
- /**
142
- * Creates an list cache object.
143
- *
144
- * @private
145
- * @constructor
146
- * @param {Array} [entries] The key-value pairs to cache.
147
- */
148
- function ListCache(entries) {
149
- var index = -1, length = entries == null ? 0 : entries.length;
150
- this.clear();
151
- while (++index < length) {
152
- var entry = entries[index];
153
- this.set(entry[0], entry[1]);
154
- }
155
- }
156
- ListCache.prototype.clear = listCacheClear;
157
- ListCache.prototype["delete"] = listCacheDelete;
158
- ListCache.prototype.get = listCacheGet;
159
- ListCache.prototype.has = listCacheHas;
160
- ListCache.prototype.set = listCacheSet;
161
- //#endregion
162
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js
163
- /**
164
- * Removes all key-value entries from the stack.
165
- *
166
- * @private
167
- * @name clear
168
- * @memberOf Stack
169
- */
170
- function stackClear() {
171
- this.__data__ = new ListCache();
172
- this.size = 0;
173
- }
174
- //#endregion
175
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js
176
- /**
177
- * Removes `key` and its value from the stack.
178
- *
179
- * @private
180
- * @name delete
181
- * @memberOf Stack
182
- * @param {string} key The key of the value to remove.
183
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
184
- */
185
- function stackDelete(key) {
186
- var data = this.__data__, result = data["delete"](key);
187
- this.size = data.size;
188
- return result;
189
- }
190
- //#endregion
191
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js
192
- /**
193
- * Gets the stack value for `key`.
194
- *
195
- * @private
196
- * @name get
197
- * @memberOf Stack
198
- * @param {string} key The key of the value to get.
199
- * @returns {*} Returns the entry value.
200
- */
201
- function stackGet(key) {
202
- return this.__data__.get(key);
203
- }
204
- //#endregion
205
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js
206
- /**
207
- * Checks if a stack value for `key` exists.
208
- *
209
- * @private
210
- * @name has
211
- * @memberOf Stack
212
- * @param {string} key The key of the entry to check.
213
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
214
- */
215
- function stackHas(key) {
216
- return this.__data__.has(key);
217
- }
218
- //#endregion
219
5
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js
220
6
  /** Detect free variable `global` from Node.js. */
221
7
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
@@ -282,7 +68,8 @@
282
68
  //#endregion
283
69
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js
284
70
  /** `Object#toString` result references. */
285
- var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
71
+ var nullTag = "[object Null]";
72
+ var undefinedTag = "[object Undefined]";
286
73
  /** Built-in value references. */
287
74
  var symToStringTag = Symbol ? Symbol.toStringTag : void 0;
288
75
  /**
@@ -297,61 +84,181 @@
297
84
  return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
298
85
  }
299
86
  //#endregion
300
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js
87
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js
301
88
  /**
302
- * Checks if `value` is the
303
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
304
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
89
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
90
+ * and has a `typeof` result of "object".
305
91
  *
306
92
  * @static
307
93
  * @memberOf _
308
- * @since 0.1.0
94
+ * @since 4.0.0
309
95
  * @category Lang
310
96
  * @param {*} value The value to check.
311
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
97
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
312
98
  * @example
313
99
  *
314
- * _.isObject({});
100
+ * _.isObjectLike({});
315
101
  * // => true
316
102
  *
317
- * _.isObject([1, 2, 3]);
103
+ * _.isObjectLike([1, 2, 3]);
318
104
  * // => true
319
105
  *
320
- * _.isObject(_.noop);
321
- * // => true
106
+ * _.isObjectLike(_.noop);
107
+ * // => false
322
108
  *
323
- * _.isObject(null);
109
+ * _.isObjectLike(null);
324
110
  * // => false
325
111
  */
326
- function isObject$1(value) {
327
- var type = typeof value;
328
- return value != null && (type == "object" || type == "function");
112
+ function isObjectLike(value) {
113
+ return value != null && typeof value == "object";
329
114
  }
330
115
  //#endregion
331
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js
116
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js
332
117
  /** `Object#toString` result references. */
333
- var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
118
+ var symbolTag$2 = "[object Symbol]";
334
119
  /**
335
- * Checks if `value` is classified as a `Function` object.
120
+ * Checks if `value` is classified as a `Symbol` primitive or object.
336
121
  *
337
122
  * @static
338
123
  * @memberOf _
339
- * @since 0.1.0
124
+ * @since 4.0.0
340
125
  * @category Lang
341
126
  * @param {*} value The value to check.
342
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
127
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
343
128
  * @example
344
129
  *
345
- * _.isFunction(_);
130
+ * _.isSymbol(Symbol.iterator);
346
131
  * // => true
347
132
  *
348
- * _.isFunction(/abc/);
133
+ * _.isSymbol('abc');
349
134
  * // => false
350
135
  */
351
- function isFunction(value) {
352
- if (!isObject$1(value)) return false;
353
- var tag = baseGetTag(value);
354
- return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
136
+ function isSymbol(value) {
137
+ return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$2;
138
+ }
139
+ //#endregion
140
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js
141
+ /**
142
+ * A specialized version of `_.map` for arrays without support for iteratee
143
+ * shorthands.
144
+ *
145
+ * @private
146
+ * @param {Array} [array] The array to iterate over.
147
+ * @param {Function} iteratee The function invoked per iteration.
148
+ * @returns {Array} Returns the new mapped array.
149
+ */
150
+ function arrayMap(array, iteratee) {
151
+ var index = -1, length = array == null ? 0 : array.length, result = Array(length);
152
+ while (++index < length) result[index] = iteratee(array[index], index, array);
153
+ return result;
154
+ }
155
+ //#endregion
156
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js
157
+ /**
158
+ * Checks if `value` is classified as an `Array` object.
159
+ *
160
+ * @static
161
+ * @memberOf _
162
+ * @since 0.1.0
163
+ * @category Lang
164
+ * @param {*} value The value to check.
165
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
166
+ * @example
167
+ *
168
+ * _.isArray([1, 2, 3]);
169
+ * // => true
170
+ *
171
+ * _.isArray(document.body.children);
172
+ * // => false
173
+ *
174
+ * _.isArray('abc');
175
+ * // => false
176
+ *
177
+ * _.isArray(_.noop);
178
+ * // => false
179
+ */
180
+ var isArray = Array.isArray;
181
+ //#endregion
182
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js
183
+ /** Used as references for various `Number` constants. */
184
+ var INFINITY$1 = Infinity;
185
+ /** Used to convert symbols to primitives and strings. */
186
+ var symbolProto$1 = Symbol ? Symbol.prototype : void 0;
187
+ var symbolToString = symbolProto$1 ? symbolProto$1.toString : void 0;
188
+ /**
189
+ * The base implementation of `_.toString` which doesn't convert nullish
190
+ * values to empty strings.
191
+ *
192
+ * @private
193
+ * @param {*} value The value to process.
194
+ * @returns {string} Returns the string.
195
+ */
196
+ function baseToString(value) {
197
+ if (typeof value == "string") return value;
198
+ if (isArray(value)) return arrayMap(value, baseToString) + "";
199
+ if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : "";
200
+ var result = value + "";
201
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
202
+ }
203
+ //#endregion
204
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js
205
+ /**
206
+ * Checks if `value` is the
207
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
208
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
209
+ *
210
+ * @static
211
+ * @memberOf _
212
+ * @since 0.1.0
213
+ * @category Lang
214
+ * @param {*} value The value to check.
215
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
216
+ * @example
217
+ *
218
+ * _.isObject({});
219
+ * // => true
220
+ *
221
+ * _.isObject([1, 2, 3]);
222
+ * // => true
223
+ *
224
+ * _.isObject(_.noop);
225
+ * // => true
226
+ *
227
+ * _.isObject(null);
228
+ * // => false
229
+ */
230
+ function isObject$1(value) {
231
+ var type = typeof value;
232
+ return value != null && (type == "object" || type == "function");
233
+ }
234
+ //#endregion
235
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js
236
+ /** `Object#toString` result references. */
237
+ var asyncTag = "[object AsyncFunction]";
238
+ var funcTag$2 = "[object Function]";
239
+ var genTag$1 = "[object GeneratorFunction]";
240
+ var proxyTag = "[object Proxy]";
241
+ /**
242
+ * Checks if `value` is classified as a `Function` object.
243
+ *
244
+ * @static
245
+ * @memberOf _
246
+ * @since 0.1.0
247
+ * @category Lang
248
+ * @param {*} value The value to check.
249
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
250
+ * @example
251
+ *
252
+ * _.isFunction(_);
253
+ * // => true
254
+ *
255
+ * _.isFunction(/abc/);
256
+ * // => false
257
+ */
258
+ function isFunction(value) {
259
+ if (!isObject$1(value)) return false;
260
+ var tag = baseGetTag(value);
261
+ return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
355
262
  }
356
263
  //#endregion
357
264
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js
@@ -406,7 +313,8 @@
406
313
  /** Used to detect host constructors (Safari). */
407
314
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
408
315
  /** Used for built-in method references. */
409
- var funcProto = Function.prototype, objectProto$2 = Object.prototype;
316
+ var funcProto = Function.prototype;
317
+ var objectProto$2 = Object.prototype;
410
318
  /** Used to resolve the decompiled source of functions. */
411
319
  var funcToString = funcProto.toString;
412
320
  /** Used to check objects for own properties. */
@@ -453,239 +361,734 @@
453
361
  return baseIsNative(value) ? value : void 0;
454
362
  }
455
363
  //#endregion
456
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js
457
- var Map$1 = getNative(root, "Map");
458
- //#endregion
459
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js
460
- var nativeCreate = getNative(Object, "create");
364
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js
365
+ var WeakMap = getNative(root, "WeakMap");
461
366
  //#endregion
462
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js
367
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js
368
+ /** Built-in value references. */
369
+ var objectCreate = Object.create;
463
370
  /**
464
- * Removes all key-value entries from the hash.
371
+ * The base implementation of `_.create` without support for assigning
372
+ * properties to the created object.
465
373
  *
466
374
  * @private
467
- * @name clear
468
- * @memberOf Hash
375
+ * @param {Object} proto The object to inherit from.
376
+ * @returns {Object} Returns the new object.
469
377
  */
470
- function hashClear() {
471
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
472
- this.size = 0;
473
- }
378
+ var baseCreate = function() {
379
+ function object() {}
380
+ return function(proto) {
381
+ if (!isObject$1(proto)) return {};
382
+ if (objectCreate) return objectCreate(proto);
383
+ object.prototype = proto;
384
+ var result = new object();
385
+ object.prototype = void 0;
386
+ return result;
387
+ };
388
+ }();
474
389
  //#endregion
475
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js
390
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js
476
391
  /**
477
- * Removes `key` and its value from the hash.
392
+ * Copies the values of `source` to `array`.
478
393
  *
479
394
  * @private
480
- * @name delete
481
- * @memberOf Hash
482
- * @param {Object} hash The hash to modify.
483
- * @param {string} key The key of the value to remove.
484
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
395
+ * @param {Array} source The array to copy values from.
396
+ * @param {Array} [array=[]] The array to copy values to.
397
+ * @returns {Array} Returns `array`.
485
398
  */
486
- function hashDelete(key) {
487
- var result = this.has(key) && delete this.__data__[key];
488
- this.size -= result ? 1 : 0;
489
- return result;
399
+ function copyArray(source, array) {
400
+ var index = -1, length = source.length;
401
+ array || (array = Array(length));
402
+ while (++index < length) array[index] = source[index];
403
+ return array;
490
404
  }
491
405
  //#endregion
492
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js
493
- /** Used to stand-in for `undefined` hash values. */
494
- var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
495
- /** Used to check objects for own properties. */
496
- var hasOwnProperty$7 = Object.prototype.hasOwnProperty;
497
- /**
498
- * Gets the hash value for `key`.
499
- *
500
- * @private
501
- * @name get
502
- * @memberOf Hash
503
- * @param {string} key The key of the value to get.
504
- * @returns {*} Returns the entry value.
505
- */
506
- function hashGet(key) {
507
- var data = this.__data__;
508
- if (nativeCreate) {
509
- var result = data[key];
510
- return result === HASH_UNDEFINED$1 ? void 0 : result;
511
- }
512
- return hasOwnProperty$7.call(data, key) ? data[key] : void 0;
513
- }
406
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js
407
+ var defineProperty = function() {
408
+ try {
409
+ var func = getNative(Object, "defineProperty");
410
+ func({}, "", {});
411
+ return func;
412
+ } catch (e) {}
413
+ }();
514
414
  //#endregion
515
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js
516
- /** Used to check objects for own properties. */
517
- var hasOwnProperty$6 = Object.prototype.hasOwnProperty;
415
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js
518
416
  /**
519
- * Checks if a hash value for `key` exists.
417
+ * A specialized version of `_.forEach` for arrays without support for
418
+ * iteratee shorthands.
520
419
  *
521
420
  * @private
522
- * @name has
523
- * @memberOf Hash
524
- * @param {string} key The key of the entry to check.
525
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
421
+ * @param {Array} [array] The array to iterate over.
422
+ * @param {Function} iteratee The function invoked per iteration.
423
+ * @returns {Array} Returns `array`.
526
424
  */
527
- function hashHas(key) {
528
- var data = this.__data__;
529
- return nativeCreate ? data[key] !== void 0 : hasOwnProperty$6.call(data, key);
425
+ function arrayEach(array, iteratee) {
426
+ var index = -1, length = array == null ? 0 : array.length;
427
+ while (++index < length) if (iteratee(array[index], index, array) === false) break;
428
+ return array;
530
429
  }
531
430
  //#endregion
532
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js
533
- /** Used to stand-in for `undefined` hash values. */
534
- var HASH_UNDEFINED = "__lodash_hash_undefined__";
431
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js
432
+ /** Used as references for various `Number` constants. */
433
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
434
+ /** Used to detect unsigned integer values. */
435
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
535
436
  /**
536
- * Sets the hash `key` to `value`.
437
+ * Checks if `value` is a valid array-like index.
537
438
  *
538
439
  * @private
539
- * @name set
540
- * @memberOf Hash
541
- * @param {string} key The key of the value to set.
542
- * @param {*} value The value to set.
543
- * @returns {Object} Returns the hash instance.
440
+ * @param {*} value The value to check.
441
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
442
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
544
443
  */
545
- function hashSet(key, value) {
546
- var data = this.__data__;
547
- this.size += this.has(key) ? 0 : 1;
548
- data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
549
- return this;
444
+ function isIndex(value, length) {
445
+ var type = typeof value;
446
+ length = length == null ? MAX_SAFE_INTEGER$1 : length;
447
+ return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
550
448
  }
551
449
  //#endregion
552
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js
450
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js
553
451
  /**
554
- * Creates a hash object.
452
+ * The base implementation of `assignValue` and `assignMergeValue` without
453
+ * value checks.
555
454
  *
556
455
  * @private
557
- * @constructor
558
- * @param {Array} [entries] The key-value pairs to cache.
559
- */
560
- function Hash(entries) {
561
- var index = -1, length = entries == null ? 0 : entries.length;
562
- this.clear();
456
+ * @param {Object} object The object to modify.
457
+ * @param {string} key The key of the property to assign.
458
+ * @param {*} value The value to assign.
459
+ */
460
+ function baseAssignValue(object, key, value) {
461
+ if (key == "__proto__" && defineProperty) defineProperty(object, key, {
462
+ "configurable": true,
463
+ "enumerable": true,
464
+ "value": value,
465
+ "writable": true
466
+ });
467
+ else object[key] = value;
468
+ }
469
+ //#endregion
470
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js
471
+ /**
472
+ * Performs a
473
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
474
+ * comparison between two values to determine if they are equivalent.
475
+ *
476
+ * @static
477
+ * @memberOf _
478
+ * @since 4.0.0
479
+ * @category Lang
480
+ * @param {*} value The value to compare.
481
+ * @param {*} other The other value to compare.
482
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
483
+ * @example
484
+ *
485
+ * var object = { 'a': 1 };
486
+ * var other = { 'a': 1 };
487
+ *
488
+ * _.eq(object, object);
489
+ * // => true
490
+ *
491
+ * _.eq(object, other);
492
+ * // => false
493
+ *
494
+ * _.eq('a', 'a');
495
+ * // => true
496
+ *
497
+ * _.eq('a', Object('a'));
498
+ * // => false
499
+ *
500
+ * _.eq(NaN, NaN);
501
+ * // => true
502
+ */
503
+ function eq(value, other) {
504
+ return value === other || value !== value && other !== other;
505
+ }
506
+ //#endregion
507
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js
508
+ /** Used to check objects for own properties. */
509
+ var hasOwnProperty$7 = Object.prototype.hasOwnProperty;
510
+ /**
511
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
512
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
513
+ * for equality comparisons.
514
+ *
515
+ * @private
516
+ * @param {Object} object The object to modify.
517
+ * @param {string} key The key of the property to assign.
518
+ * @param {*} value The value to assign.
519
+ */
520
+ function assignValue(object, key, value) {
521
+ var objValue = object[key];
522
+ if (!(hasOwnProperty$7.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
523
+ }
524
+ //#endregion
525
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js
526
+ /**
527
+ * Copies properties of `source` to `object`.
528
+ *
529
+ * @private
530
+ * @param {Object} source The object to copy properties from.
531
+ * @param {Array} props The property identifiers to copy.
532
+ * @param {Object} [object={}] The object to copy properties to.
533
+ * @param {Function} [customizer] The function to customize copied values.
534
+ * @returns {Object} Returns `object`.
535
+ */
536
+ function copyObject(source, props, object, customizer) {
537
+ var isNew = !object;
538
+ object || (object = {});
539
+ var index = -1, length = props.length;
563
540
  while (++index < length) {
564
- var entry = entries[index];
565
- this.set(entry[0], entry[1]);
541
+ var key = props[index];
542
+ var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
543
+ if (newValue === void 0) newValue = source[key];
544
+ if (isNew) baseAssignValue(object, key, newValue);
545
+ else assignValue(object, key, newValue);
566
546
  }
547
+ return object;
567
548
  }
568
- Hash.prototype.clear = hashClear;
569
- Hash.prototype["delete"] = hashDelete;
570
- Hash.prototype.get = hashGet;
571
- Hash.prototype.has = hashHas;
572
- Hash.prototype.set = hashSet;
573
549
  //#endregion
574
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js
550
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js
551
+ /** Used as references for various `Number` constants. */
552
+ var MAX_SAFE_INTEGER = 9007199254740991;
575
553
  /**
576
- * Removes all key-value entries from the map.
554
+ * Checks if `value` is a valid array-like length.
555
+ *
556
+ * **Note:** This method is loosely based on
557
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
558
+ *
559
+ * @static
560
+ * @memberOf _
561
+ * @since 4.0.0
562
+ * @category Lang
563
+ * @param {*} value The value to check.
564
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
565
+ * @example
566
+ *
567
+ * _.isLength(3);
568
+ * // => true
569
+ *
570
+ * _.isLength(Number.MIN_VALUE);
571
+ * // => false
572
+ *
573
+ * _.isLength(Infinity);
574
+ * // => false
575
+ *
576
+ * _.isLength('3');
577
+ * // => false
578
+ */
579
+ function isLength(value) {
580
+ return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
581
+ }
582
+ //#endregion
583
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js
584
+ /**
585
+ * Checks if `value` is array-like. A value is considered array-like if it's
586
+ * not a function and has a `value.length` that's an integer greater than or
587
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
588
+ *
589
+ * @static
590
+ * @memberOf _
591
+ * @since 4.0.0
592
+ * @category Lang
593
+ * @param {*} value The value to check.
594
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
595
+ * @example
596
+ *
597
+ * _.isArrayLike([1, 2, 3]);
598
+ * // => true
599
+ *
600
+ * _.isArrayLike(document.body.children);
601
+ * // => true
602
+ *
603
+ * _.isArrayLike('abc');
604
+ * // => true
605
+ *
606
+ * _.isArrayLike(_.noop);
607
+ * // => false
608
+ */
609
+ function isArrayLike(value) {
610
+ return value != null && isLength(value.length) && !isFunction(value);
611
+ }
612
+ //#endregion
613
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js
614
+ /** Used for built-in method references. */
615
+ var objectProto$1 = Object.prototype;
616
+ /**
617
+ * Checks if `value` is likely a prototype object.
577
618
  *
578
619
  * @private
579
- * @name clear
580
- * @memberOf MapCache
620
+ * @param {*} value The value to check.
621
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
622
+ */
623
+ function isPrototype(value) {
624
+ var Ctor = value && value.constructor;
625
+ return value === (typeof Ctor == "function" && Ctor.prototype || objectProto$1);
626
+ }
627
+ //#endregion
628
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js
629
+ /**
630
+ * The base implementation of `_.times` without support for iteratee shorthands
631
+ * or max array length checks.
632
+ *
633
+ * @private
634
+ * @param {number} n The number of times to invoke `iteratee`.
635
+ * @param {Function} iteratee The function invoked per iteration.
636
+ * @returns {Array} Returns the array of results.
637
+ */
638
+ function baseTimes(n, iteratee) {
639
+ var index = -1, result = Array(n);
640
+ while (++index < n) result[index] = iteratee(index);
641
+ return result;
642
+ }
643
+ //#endregion
644
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js
645
+ /** `Object#toString` result references. */
646
+ var argsTag$2 = "[object Arguments]";
647
+ /**
648
+ * The base implementation of `_.isArguments`.
649
+ *
650
+ * @private
651
+ * @param {*} value The value to check.
652
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
653
+ */
654
+ function baseIsArguments(value) {
655
+ return isObjectLike(value) && baseGetTag(value) == argsTag$2;
656
+ }
657
+ //#endregion
658
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js
659
+ /** Used for built-in method references. */
660
+ var objectProto = Object.prototype;
661
+ /** Used to check objects for own properties. */
662
+ var hasOwnProperty$6 = objectProto.hasOwnProperty;
663
+ /** Built-in value references. */
664
+ var propertyIsEnumerable$1 = objectProto.propertyIsEnumerable;
665
+ /**
666
+ * Checks if `value` is likely an `arguments` object.
667
+ *
668
+ * @static
669
+ * @memberOf _
670
+ * @since 0.1.0
671
+ * @category Lang
672
+ * @param {*} value The value to check.
673
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
674
+ * else `false`.
675
+ * @example
676
+ *
677
+ * _.isArguments(function() { return arguments; }());
678
+ * // => true
679
+ *
680
+ * _.isArguments([1, 2, 3]);
681
+ * // => false
682
+ */
683
+ var isArguments = baseIsArguments(function() {
684
+ return arguments;
685
+ }()) ? baseIsArguments : function(value) {
686
+ return isObjectLike(value) && hasOwnProperty$6.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
687
+ };
688
+ //#endregion
689
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js
690
+ /**
691
+ * This method returns `false`.
692
+ *
693
+ * @static
694
+ * @memberOf _
695
+ * @since 4.13.0
696
+ * @category Util
697
+ * @returns {boolean} Returns `false`.
698
+ * @example
699
+ *
700
+ * _.times(2, _.stubFalse);
701
+ * // => [false, false]
702
+ */
703
+ function stubFalse() {
704
+ return false;
705
+ }
706
+ //#endregion
707
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js
708
+ /** Detect free variable `exports`. */
709
+ var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports;
710
+ /** Detect free variable `module`. */
711
+ var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module;
712
+ /** Built-in value references. */
713
+ var Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? root.Buffer : void 0;
714
+ /**
715
+ * Checks if `value` is a buffer.
716
+ *
717
+ * @static
718
+ * @memberOf _
719
+ * @since 4.3.0
720
+ * @category Lang
721
+ * @param {*} value The value to check.
722
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
723
+ * @example
724
+ *
725
+ * _.isBuffer(new Buffer(2));
726
+ * // => true
727
+ *
728
+ * _.isBuffer(new Uint8Array(2));
729
+ * // => false
730
+ */
731
+ var isBuffer = (Buffer$1 ? Buffer$1.isBuffer : void 0) || stubFalse;
732
+ //#endregion
733
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js
734
+ /** `Object#toString` result references. */
735
+ var argsTag$1 = "[object Arguments]";
736
+ var arrayTag$1 = "[object Array]";
737
+ var boolTag$2 = "[object Boolean]";
738
+ var dateTag$2 = "[object Date]";
739
+ var errorTag$1 = "[object Error]";
740
+ var funcTag$1 = "[object Function]";
741
+ var mapTag$4 = "[object Map]";
742
+ var numberTag$2 = "[object Number]";
743
+ var objectTag$2 = "[object Object]";
744
+ var regexpTag$2 = "[object RegExp]";
745
+ var setTag$4 = "[object Set]";
746
+ var stringTag$2 = "[object String]";
747
+ var weakMapTag$2 = "[object WeakMap]";
748
+ var arrayBufferTag$2 = "[object ArrayBuffer]";
749
+ var dataViewTag$3 = "[object DataView]";
750
+ var float32Tag$2 = "[object Float32Array]";
751
+ var float64Tag$2 = "[object Float64Array]";
752
+ var int8Tag$2 = "[object Int8Array]";
753
+ var int16Tag$2 = "[object Int16Array]";
754
+ var int32Tag$2 = "[object Int32Array]";
755
+ var uint8Tag$2 = "[object Uint8Array]";
756
+ var uint8ClampedTag$2 = "[object Uint8ClampedArray]";
757
+ var uint16Tag$2 = "[object Uint16Array]";
758
+ var uint32Tag$2 = "[object Uint32Array]";
759
+ /** Used to identify `toStringTag` values of typed arrays. */
760
+ var typedArrayTags = {};
761
+ typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
762
+ typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$2] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$4] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$4] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
763
+ /**
764
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
765
+ *
766
+ * @private
767
+ * @param {*} value The value to check.
768
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
769
+ */
770
+ function baseIsTypedArray(value) {
771
+ return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
772
+ }
773
+ //#endregion
774
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js
775
+ /**
776
+ * The base implementation of `_.unary` without support for storing metadata.
777
+ *
778
+ * @private
779
+ * @param {Function} func The function to cap arguments for.
780
+ * @returns {Function} Returns the new capped function.
781
+ */
782
+ function baseUnary(func) {
783
+ return function(value) {
784
+ return func(value);
785
+ };
786
+ }
787
+ //#endregion
788
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js
789
+ /** Detect free variable `exports`. */
790
+ var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
791
+ /** Detect free variable `module`. */
792
+ var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
793
+ /** Detect free variable `process` from Node.js. */
794
+ var freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && freeGlobal.process;
795
+ /** Used to access faster Node.js helpers. */
796
+ var nodeUtil = function() {
797
+ try {
798
+ var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types;
799
+ if (types) return types;
800
+ return freeProcess && freeProcess.binding && freeProcess.binding("util");
801
+ } catch (e) {}
802
+ }();
803
+ //#endregion
804
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js
805
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
806
+ /**
807
+ * Checks if `value` is classified as a typed array.
808
+ *
809
+ * @static
810
+ * @memberOf _
811
+ * @since 3.0.0
812
+ * @category Lang
813
+ * @param {*} value The value to check.
814
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
815
+ * @example
816
+ *
817
+ * _.isTypedArray(new Uint8Array);
818
+ * // => true
819
+ *
820
+ * _.isTypedArray([]);
821
+ * // => false
822
+ */
823
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
824
+ //#endregion
825
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js
826
+ /** Used to check objects for own properties. */
827
+ var hasOwnProperty$5 = Object.prototype.hasOwnProperty;
828
+ /**
829
+ * Creates an array of the enumerable property names of the array-like `value`.
830
+ *
831
+ * @private
832
+ * @param {*} value The value to query.
833
+ * @param {boolean} inherited Specify returning inherited property names.
834
+ * @returns {Array} Returns the array of property names.
835
+ */
836
+ function arrayLikeKeys(value, inherited) {
837
+ var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
838
+ for (var key in value) if ((inherited || hasOwnProperty$5.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) result.push(key);
839
+ return result;
840
+ }
841
+ //#endregion
842
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js
843
+ /**
844
+ * Creates a unary function that invokes `func` with its argument transformed.
845
+ *
846
+ * @private
847
+ * @param {Function} func The function to wrap.
848
+ * @param {Function} transform The argument transform.
849
+ * @returns {Function} Returns the new function.
850
+ */
851
+ function overArg(func, transform) {
852
+ return function(arg) {
853
+ return func(transform(arg));
854
+ };
855
+ }
856
+ //#endregion
857
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js
858
+ var nativeKeys = overArg(Object.keys, Object);
859
+ //#endregion
860
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js
861
+ /** Used to check objects for own properties. */
862
+ var hasOwnProperty$4 = Object.prototype.hasOwnProperty;
863
+ /**
864
+ * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
865
+ *
866
+ * @private
867
+ * @param {Object} object The object to query.
868
+ * @returns {Array} Returns the array of property names.
869
+ */
870
+ function baseKeys(object) {
871
+ if (!isPrototype(object)) return nativeKeys(object);
872
+ var result = [];
873
+ for (var key in Object(object)) if (hasOwnProperty$4.call(object, key) && key != "constructor") result.push(key);
874
+ return result;
875
+ }
876
+ //#endregion
877
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js
878
+ /**
879
+ * Creates an array of the own enumerable property names of `object`.
880
+ *
881
+ * **Note:** Non-object values are coerced to objects. See the
882
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
883
+ * for more details.
884
+ *
885
+ * @static
886
+ * @since 0.1.0
887
+ * @memberOf _
888
+ * @category Object
889
+ * @param {Object} object The object to query.
890
+ * @returns {Array} Returns the array of property names.
891
+ * @example
892
+ *
893
+ * function Foo() {
894
+ * this.a = 1;
895
+ * this.b = 2;
896
+ * }
897
+ *
898
+ * Foo.prototype.c = 3;
899
+ *
900
+ * _.keys(new Foo);
901
+ * // => ['a', 'b'] (iteration order is not guaranteed)
902
+ *
903
+ * _.keys('hi');
904
+ * // => ['0', '1']
905
+ */
906
+ function keys(object) {
907
+ return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
908
+ }
909
+ //#endregion
910
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js
911
+ /**
912
+ * This function is like
913
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
914
+ * except that it includes inherited enumerable properties.
915
+ *
916
+ * @private
917
+ * @param {Object} object The object to query.
918
+ * @returns {Array} Returns the array of property names.
919
+ */
920
+ function nativeKeysIn(object) {
921
+ var result = [];
922
+ if (object != null) for (var key in Object(object)) result.push(key);
923
+ return result;
924
+ }
925
+ //#endregion
926
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js
927
+ /** Used to check objects for own properties. */
928
+ var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
929
+ /**
930
+ * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
931
+ *
932
+ * @private
933
+ * @param {Object} object The object to query.
934
+ * @returns {Array} Returns the array of property names.
935
+ */
936
+ function baseKeysIn(object) {
937
+ if (!isObject$1(object)) return nativeKeysIn(object);
938
+ var isProto = isPrototype(object), result = [];
939
+ for (var key in object) if (!(key == "constructor" && (isProto || !hasOwnProperty$3.call(object, key)))) result.push(key);
940
+ return result;
941
+ }
942
+ //#endregion
943
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js
944
+ /**
945
+ * Creates an array of the own and inherited enumerable property names of `object`.
946
+ *
947
+ * **Note:** Non-object values are coerced to objects.
948
+ *
949
+ * @static
950
+ * @memberOf _
951
+ * @since 3.0.0
952
+ * @category Object
953
+ * @param {Object} object The object to query.
954
+ * @returns {Array} Returns the array of property names.
955
+ * @example
956
+ *
957
+ * function Foo() {
958
+ * this.a = 1;
959
+ * this.b = 2;
960
+ * }
961
+ *
962
+ * Foo.prototype.c = 3;
963
+ *
964
+ * _.keysIn(new Foo);
965
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
581
966
  */
582
- function mapCacheClear() {
583
- this.size = 0;
584
- this.__data__ = {
585
- "hash": new Hash(),
586
- "map": new (Map$1 || ListCache)(),
587
- "string": new Hash()
588
- };
967
+ function keysIn(object) {
968
+ return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
589
969
  }
590
970
  //#endregion
591
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js
971
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js
972
+ /** Used to match property names within property paths. */
973
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
974
+ var reIsPlainProp = /^\w*$/;
592
975
  /**
593
- * Checks if `value` is suitable for use as unique object key.
976
+ * Checks if `value` is a property name and not a property path.
594
977
  *
595
978
  * @private
596
979
  * @param {*} value The value to check.
597
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
980
+ * @param {Object} [object] The object to query keys on.
981
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
598
982
  */
599
- function isKeyable(value) {
983
+ function isKey(value, object) {
984
+ if (isArray(value)) return false;
600
985
  var type = typeof value;
601
- return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
986
+ if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) return true;
987
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
602
988
  }
603
989
  //#endregion
604
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js
990
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js
991
+ var nativeCreate = getNative(Object, "create");
992
+ //#endregion
993
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js
605
994
  /**
606
- * Gets the data for `map`.
995
+ * Removes all key-value entries from the hash.
607
996
  *
608
997
  * @private
609
- * @param {Object} map The map to query.
610
- * @param {string} key The reference key.
611
- * @returns {*} Returns the map data.
998
+ * @name clear
999
+ * @memberOf Hash
612
1000
  */
613
- function getMapData(map, key) {
614
- var data = map.__data__;
615
- return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
1001
+ function hashClear() {
1002
+ this.__data__ = nativeCreate ? nativeCreate(null) : {};
1003
+ this.size = 0;
616
1004
  }
617
1005
  //#endregion
618
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js
1006
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js
619
1007
  /**
620
- * Removes `key` and its value from the map.
1008
+ * Removes `key` and its value from the hash.
621
1009
  *
622
1010
  * @private
623
1011
  * @name delete
624
- * @memberOf MapCache
1012
+ * @memberOf Hash
1013
+ * @param {Object} hash The hash to modify.
625
1014
  * @param {string} key The key of the value to remove.
626
1015
  * @returns {boolean} Returns `true` if the entry was removed, else `false`.
627
1016
  */
628
- function mapCacheDelete(key) {
629
- var result = getMapData(this, key)["delete"](key);
1017
+ function hashDelete(key) {
1018
+ var result = this.has(key) && delete this.__data__[key];
630
1019
  this.size -= result ? 1 : 0;
631
1020
  return result;
632
1021
  }
633
1022
  //#endregion
634
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js
1023
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js
1024
+ /** Used to stand-in for `undefined` hash values. */
1025
+ var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
1026
+ /** Used to check objects for own properties. */
1027
+ var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
635
1028
  /**
636
- * Gets the map value for `key`.
1029
+ * Gets the hash value for `key`.
637
1030
  *
638
1031
  * @private
639
1032
  * @name get
640
- * @memberOf MapCache
1033
+ * @memberOf Hash
641
1034
  * @param {string} key The key of the value to get.
642
1035
  * @returns {*} Returns the entry value.
643
1036
  */
644
- function mapCacheGet(key) {
645
- return getMapData(this, key).get(key);
1037
+ function hashGet(key) {
1038
+ var data = this.__data__;
1039
+ if (nativeCreate) {
1040
+ var result = data[key];
1041
+ return result === HASH_UNDEFINED$1 ? void 0 : result;
1042
+ }
1043
+ return hasOwnProperty$2.call(data, key) ? data[key] : void 0;
646
1044
  }
647
1045
  //#endregion
648
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js
1046
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js
1047
+ /** Used to check objects for own properties. */
1048
+ var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
649
1049
  /**
650
- * Checks if a map value for `key` exists.
1050
+ * Checks if a hash value for `key` exists.
651
1051
  *
652
1052
  * @private
653
1053
  * @name has
654
- * @memberOf MapCache
1054
+ * @memberOf Hash
655
1055
  * @param {string} key The key of the entry to check.
656
1056
  * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
657
1057
  */
658
- function mapCacheHas(key) {
659
- return getMapData(this, key).has(key);
1058
+ function hashHas(key) {
1059
+ var data = this.__data__;
1060
+ return nativeCreate ? data[key] !== void 0 : hasOwnProperty$1.call(data, key);
660
1061
  }
661
1062
  //#endregion
662
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js
1063
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js
1064
+ /** Used to stand-in for `undefined` hash values. */
1065
+ var HASH_UNDEFINED = "__lodash_hash_undefined__";
663
1066
  /**
664
- * Sets the map `key` to `value`.
1067
+ * Sets the hash `key` to `value`.
665
1068
  *
666
1069
  * @private
667
1070
  * @name set
668
- * @memberOf MapCache
1071
+ * @memberOf Hash
669
1072
  * @param {string} key The key of the value to set.
670
1073
  * @param {*} value The value to set.
671
- * @returns {Object} Returns the map cache instance.
1074
+ * @returns {Object} Returns the hash instance.
672
1075
  */
673
- function mapCacheSet(key, value) {
674
- var data = getMapData(this, key), size = data.size;
675
- data.set(key, value);
676
- this.size += data.size == size ? 0 : 1;
1076
+ function hashSet(key, value) {
1077
+ var data = this.__data__;
1078
+ this.size += this.has(key) ? 0 : 1;
1079
+ data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
677
1080
  return this;
678
1081
  }
679
1082
  //#endregion
680
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js
1083
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js
681
1084
  /**
682
- * Creates a map cache object to store key-value pairs.
1085
+ * Creates a hash object.
683
1086
  *
684
1087
  * @private
685
1088
  * @constructor
686
1089
  * @param {Array} [entries] The key-value pairs to cache.
687
1090
  */
688
- function MapCache(entries) {
1091
+ function Hash(entries) {
689
1092
  var index = -1, length = entries == null ? 0 : entries.length;
690
1093
  this.clear();
691
1094
  while (++index < length) {
@@ -693,632 +1096,603 @@
693
1096
  this.set(entry[0], entry[1]);
694
1097
  }
695
1098
  }
696
- MapCache.prototype.clear = mapCacheClear;
697
- MapCache.prototype["delete"] = mapCacheDelete;
698
- MapCache.prototype.get = mapCacheGet;
699
- MapCache.prototype.has = mapCacheHas;
700
- MapCache.prototype.set = mapCacheSet;
1099
+ Hash.prototype.clear = hashClear;
1100
+ Hash.prototype["delete"] = hashDelete;
1101
+ Hash.prototype.get = hashGet;
1102
+ Hash.prototype.has = hashHas;
1103
+ Hash.prototype.set = hashSet;
701
1104
  //#endregion
702
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js
703
- /** Used as the size to enable large array optimizations. */
704
- var LARGE_ARRAY_SIZE = 200;
1105
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js
705
1106
  /**
706
- * Sets the stack `key` to `value`.
1107
+ * Removes all key-value entries from the list cache.
707
1108
  *
708
1109
  * @private
709
- * @name set
710
- * @memberOf Stack
711
- * @param {string} key The key of the value to set.
712
- * @param {*} value The value to set.
713
- * @returns {Object} Returns the stack cache instance.
1110
+ * @name clear
1111
+ * @memberOf ListCache
714
1112
  */
715
- function stackSet(key, value) {
716
- var data = this.__data__;
717
- if (data instanceof ListCache) {
718
- var pairs = data.__data__;
719
- if (!Map$1 || pairs.length < LARGE_ARRAY_SIZE - 1) {
720
- pairs.push([key, value]);
721
- this.size = ++data.size;
722
- return this;
723
- }
724
- data = this.__data__ = new MapCache(pairs);
725
- }
726
- data.set(key, value);
727
- this.size = data.size;
728
- return this;
1113
+ function listCacheClear() {
1114
+ this.__data__ = [];
1115
+ this.size = 0;
729
1116
  }
730
1117
  //#endregion
731
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js
1118
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js
732
1119
  /**
733
- * Creates a stack cache object to store key-value pairs.
1120
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
734
1121
  *
735
1122
  * @private
736
- * @constructor
737
- * @param {Array} [entries] The key-value pairs to cache.
1123
+ * @param {Array} array The array to inspect.
1124
+ * @param {*} key The key to search for.
1125
+ * @returns {number} Returns the index of the matched value, else `-1`.
738
1126
  */
739
- function Stack(entries) {
740
- var data = this.__data__ = new ListCache(entries);
741
- this.size = data.size;
1127
+ function assocIndexOf(array, key) {
1128
+ var length = array.length;
1129
+ while (length--) if (eq(array[length][0], key)) return length;
1130
+ return -1;
742
1131
  }
743
- Stack.prototype.clear = stackClear;
744
- Stack.prototype["delete"] = stackDelete;
745
- Stack.prototype.get = stackGet;
746
- Stack.prototype.has = stackHas;
747
- Stack.prototype.set = stackSet;
748
1132
  //#endregion
749
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js
1133
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js
1134
+ /** Built-in value references. */
1135
+ var splice = Array.prototype.splice;
750
1136
  /**
751
- * A specialized version of `_.forEach` for arrays without support for
752
- * iteratee shorthands.
1137
+ * Removes `key` and its value from the list cache.
753
1138
  *
754
1139
  * @private
755
- * @param {Array} [array] The array to iterate over.
756
- * @param {Function} iteratee The function invoked per iteration.
757
- * @returns {Array} Returns `array`.
1140
+ * @name delete
1141
+ * @memberOf ListCache
1142
+ * @param {string} key The key of the value to remove.
1143
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
758
1144
  */
759
- function arrayEach(array, iteratee) {
760
- var index = -1, length = array == null ? 0 : array.length;
761
- while (++index < length) if (iteratee(array[index], index, array) === false) break;
762
- return array;
1145
+ function listCacheDelete(key) {
1146
+ var data = this.__data__, index = assocIndexOf(data, key);
1147
+ if (index < 0) return false;
1148
+ if (index == data.length - 1) data.pop();
1149
+ else splice.call(data, index, 1);
1150
+ --this.size;
1151
+ return true;
763
1152
  }
764
1153
  //#endregion
765
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js
766
- var defineProperty = function() {
767
- try {
768
- var func = getNative(Object, "defineProperty");
769
- func({}, "", {});
770
- return func;
771
- } catch (e) {}
772
- }();
773
- //#endregion
774
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js
1154
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js
775
1155
  /**
776
- * The base implementation of `assignValue` and `assignMergeValue` without
777
- * value checks.
1156
+ * Gets the list cache value for `key`.
778
1157
  *
779
1158
  * @private
780
- * @param {Object} object The object to modify.
781
- * @param {string} key The key of the property to assign.
782
- * @param {*} value The value to assign.
1159
+ * @name get
1160
+ * @memberOf ListCache
1161
+ * @param {string} key The key of the value to get.
1162
+ * @returns {*} Returns the entry value.
783
1163
  */
784
- function baseAssignValue(object, key, value) {
785
- if (key == "__proto__" && defineProperty) defineProperty(object, key, {
786
- "configurable": true,
787
- "enumerable": true,
788
- "value": value,
789
- "writable": true
790
- });
791
- else object[key] = value;
1164
+ function listCacheGet(key) {
1165
+ var data = this.__data__, index = assocIndexOf(data, key);
1166
+ return index < 0 ? void 0 : data[index][1];
792
1167
  }
793
1168
  //#endregion
794
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js
795
- /** Used to check objects for own properties. */
796
- var hasOwnProperty$5 = Object.prototype.hasOwnProperty;
1169
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js
797
1170
  /**
798
- * Assigns `value` to `key` of `object` if the existing value is not equivalent
799
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
800
- * for equality comparisons.
1171
+ * Checks if a list cache value for `key` exists.
801
1172
  *
802
1173
  * @private
803
- * @param {Object} object The object to modify.
804
- * @param {string} key The key of the property to assign.
805
- * @param {*} value The value to assign.
1174
+ * @name has
1175
+ * @memberOf ListCache
1176
+ * @param {string} key The key of the entry to check.
1177
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
806
1178
  */
807
- function assignValue(object, key, value) {
808
- var objValue = object[key];
809
- if (!(hasOwnProperty$5.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
1179
+ function listCacheHas(key) {
1180
+ return assocIndexOf(this.__data__, key) > -1;
1181
+ }
1182
+ //#endregion
1183
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js
1184
+ /**
1185
+ * Sets the list cache `key` to `value`.
1186
+ *
1187
+ * @private
1188
+ * @name set
1189
+ * @memberOf ListCache
1190
+ * @param {string} key The key of the value to set.
1191
+ * @param {*} value The value to set.
1192
+ * @returns {Object} Returns the list cache instance.
1193
+ */
1194
+ function listCacheSet(key, value) {
1195
+ var data = this.__data__, index = assocIndexOf(data, key);
1196
+ if (index < 0) {
1197
+ ++this.size;
1198
+ data.push([key, value]);
1199
+ } else data[index][1] = value;
1200
+ return this;
810
1201
  }
811
1202
  //#endregion
812
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js
1203
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js
813
1204
  /**
814
- * Copies properties of `source` to `object`.
1205
+ * Creates an list cache object.
815
1206
  *
816
1207
  * @private
817
- * @param {Object} source The object to copy properties from.
818
- * @param {Array} props The property identifiers to copy.
819
- * @param {Object} [object={}] The object to copy properties to.
820
- * @param {Function} [customizer] The function to customize copied values.
821
- * @returns {Object} Returns `object`.
1208
+ * @constructor
1209
+ * @param {Array} [entries] The key-value pairs to cache.
822
1210
  */
823
- function copyObject(source, props, object, customizer) {
824
- var isNew = !object;
825
- object || (object = {});
826
- var index = -1, length = props.length;
1211
+ function ListCache(entries) {
1212
+ var index = -1, length = entries == null ? 0 : entries.length;
1213
+ this.clear();
827
1214
  while (++index < length) {
828
- var key = props[index];
829
- var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
830
- if (newValue === void 0) newValue = source[key];
831
- if (isNew) baseAssignValue(object, key, newValue);
832
- else assignValue(object, key, newValue);
1215
+ var entry = entries[index];
1216
+ this.set(entry[0], entry[1]);
833
1217
  }
834
- return object;
835
1218
  }
1219
+ ListCache.prototype.clear = listCacheClear;
1220
+ ListCache.prototype["delete"] = listCacheDelete;
1221
+ ListCache.prototype.get = listCacheGet;
1222
+ ListCache.prototype.has = listCacheHas;
1223
+ ListCache.prototype.set = listCacheSet;
836
1224
  //#endregion
837
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js
1225
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js
1226
+ var Map$1 = getNative(root, "Map");
1227
+ //#endregion
1228
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js
838
1229
  /**
839
- * The base implementation of `_.times` without support for iteratee shorthands
840
- * or max array length checks.
1230
+ * Removes all key-value entries from the map.
841
1231
  *
842
1232
  * @private
843
- * @param {number} n The number of times to invoke `iteratee`.
844
- * @param {Function} iteratee The function invoked per iteration.
845
- * @returns {Array} Returns the array of results.
1233
+ * @name clear
1234
+ * @memberOf MapCache
846
1235
  */
847
- function baseTimes(n, iteratee) {
848
- var index = -1, result = Array(n);
849
- while (++index < n) result[index] = iteratee(index);
850
- return result;
1236
+ function mapCacheClear() {
1237
+ this.size = 0;
1238
+ this.__data__ = {
1239
+ "hash": new Hash(),
1240
+ "map": new (Map$1 || ListCache)(),
1241
+ "string": new Hash()
1242
+ };
851
1243
  }
852
1244
  //#endregion
853
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js
1245
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js
854
1246
  /**
855
- * Checks if `value` is object-like. A value is object-like if it's not `null`
856
- * and has a `typeof` result of "object".
1247
+ * Checks if `value` is suitable for use as unique object key.
857
1248
  *
858
- * @static
859
- * @memberOf _
860
- * @since 4.0.0
861
- * @category Lang
1249
+ * @private
862
1250
  * @param {*} value The value to check.
863
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
864
- * @example
865
- *
866
- * _.isObjectLike({});
867
- * // => true
868
- *
869
- * _.isObjectLike([1, 2, 3]);
870
- * // => true
871
- *
872
- * _.isObjectLike(_.noop);
873
- * // => false
874
- *
875
- * _.isObjectLike(null);
876
- * // => false
1251
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
877
1252
  */
878
- function isObjectLike(value) {
879
- return value != null && typeof value == "object";
1253
+ function isKeyable(value) {
1254
+ var type = typeof value;
1255
+ return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
880
1256
  }
881
1257
  //#endregion
882
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js
883
- /** `Object#toString` result references. */
884
- var argsTag$2 = "[object Arguments]";
1258
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js
885
1259
  /**
886
- * The base implementation of `_.isArguments`.
1260
+ * Gets the data for `map`.
887
1261
  *
888
1262
  * @private
889
- * @param {*} value The value to check.
890
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
1263
+ * @param {Object} map The map to query.
1264
+ * @param {string} key The reference key.
1265
+ * @returns {*} Returns the map data.
891
1266
  */
892
- function baseIsArguments(value) {
893
- return isObjectLike(value) && baseGetTag(value) == argsTag$2;
1267
+ function getMapData(map, key) {
1268
+ var data = map.__data__;
1269
+ return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
894
1270
  }
895
1271
  //#endregion
896
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js
897
- /** Used for built-in method references. */
898
- var objectProto$1 = Object.prototype;
899
- /** Used to check objects for own properties. */
900
- var hasOwnProperty$4 = objectProto$1.hasOwnProperty;
901
- /** Built-in value references. */
902
- var propertyIsEnumerable$1 = objectProto$1.propertyIsEnumerable;
1272
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js
903
1273
  /**
904
- * Checks if `value` is likely an `arguments` object.
905
- *
906
- * @static
907
- * @memberOf _
908
- * @since 0.1.0
909
- * @category Lang
910
- * @param {*} value The value to check.
911
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
912
- * else `false`.
913
- * @example
914
- *
915
- * _.isArguments(function() { return arguments; }());
916
- * // => true
1274
+ * Removes `key` and its value from the map.
917
1275
  *
918
- * _.isArguments([1, 2, 3]);
919
- * // => false
1276
+ * @private
1277
+ * @name delete
1278
+ * @memberOf MapCache
1279
+ * @param {string} key The key of the value to remove.
1280
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
920
1281
  */
921
- var isArguments = baseIsArguments(function() {
922
- return arguments;
923
- }()) ? baseIsArguments : function(value) {
924
- return isObjectLike(value) && hasOwnProperty$4.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
925
- };
1282
+ function mapCacheDelete(key) {
1283
+ var result = getMapData(this, key)["delete"](key);
1284
+ this.size -= result ? 1 : 0;
1285
+ return result;
1286
+ }
926
1287
  //#endregion
927
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js
1288
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js
928
1289
  /**
929
- * Checks if `value` is classified as an `Array` object.
930
- *
931
- * @static
932
- * @memberOf _
933
- * @since 0.1.0
934
- * @category Lang
935
- * @param {*} value The value to check.
936
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
937
- * @example
938
- *
939
- * _.isArray([1, 2, 3]);
940
- * // => true
941
- *
942
- * _.isArray(document.body.children);
943
- * // => false
944
- *
945
- * _.isArray('abc');
946
- * // => false
1290
+ * Gets the map value for `key`.
947
1291
  *
948
- * _.isArray(_.noop);
949
- * // => false
1292
+ * @private
1293
+ * @name get
1294
+ * @memberOf MapCache
1295
+ * @param {string} key The key of the value to get.
1296
+ * @returns {*} Returns the entry value.
950
1297
  */
951
- var isArray = Array.isArray;
1298
+ function mapCacheGet(key) {
1299
+ return getMapData(this, key).get(key);
1300
+ }
952
1301
  //#endregion
953
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js
1302
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js
954
1303
  /**
955
- * This method returns `false`.
956
- *
957
- * @static
958
- * @memberOf _
959
- * @since 4.13.0
960
- * @category Util
961
- * @returns {boolean} Returns `false`.
962
- * @example
1304
+ * Checks if a map value for `key` exists.
963
1305
  *
964
- * _.times(2, _.stubFalse);
965
- * // => [false, false]
1306
+ * @private
1307
+ * @name has
1308
+ * @memberOf MapCache
1309
+ * @param {string} key The key of the entry to check.
1310
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
966
1311
  */
967
- function stubFalse() {
968
- return false;
1312
+ function mapCacheHas(key) {
1313
+ return getMapData(this, key).has(key);
969
1314
  }
970
1315
  //#endregion
971
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js
972
- /** Detect free variable `exports`. */
973
- var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports;
974
- /** Detect free variable `module`. */
975
- var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module;
976
- /** Built-in value references. */
977
- var Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? root.Buffer : void 0;
1316
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js
978
1317
  /**
979
- * Checks if `value` is a buffer.
980
- *
981
- * @static
982
- * @memberOf _
983
- * @since 4.3.0
984
- * @category Lang
985
- * @param {*} value The value to check.
986
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
987
- * @example
988
- *
989
- * _.isBuffer(new Buffer(2));
990
- * // => true
1318
+ * Sets the map `key` to `value`.
991
1319
  *
992
- * _.isBuffer(new Uint8Array(2));
993
- * // => false
1320
+ * @private
1321
+ * @name set
1322
+ * @memberOf MapCache
1323
+ * @param {string} key The key of the value to set.
1324
+ * @param {*} value The value to set.
1325
+ * @returns {Object} Returns the map cache instance.
994
1326
  */
995
- var isBuffer = (Buffer$1 ? Buffer$1.isBuffer : void 0) || stubFalse;
1327
+ function mapCacheSet(key, value) {
1328
+ var data = getMapData(this, key), size = data.size;
1329
+ data.set(key, value);
1330
+ this.size += data.size == size ? 0 : 1;
1331
+ return this;
1332
+ }
996
1333
  //#endregion
997
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js
998
- /** Used as references for various `Number` constants. */
999
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
1000
- /** Used to detect unsigned integer values. */
1001
- var reIsUint = /^(?:0|[1-9]\d*)$/;
1334
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js
1002
1335
  /**
1003
- * Checks if `value` is a valid array-like index.
1336
+ * Creates a map cache object to store key-value pairs.
1004
1337
  *
1005
1338
  * @private
1006
- * @param {*} value The value to check.
1007
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1008
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1339
+ * @constructor
1340
+ * @param {Array} [entries] The key-value pairs to cache.
1009
1341
  */
1010
- function isIndex(value, length) {
1011
- var type = typeof value;
1012
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
1013
- return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
1342
+ function MapCache(entries) {
1343
+ var index = -1, length = entries == null ? 0 : entries.length;
1344
+ this.clear();
1345
+ while (++index < length) {
1346
+ var entry = entries[index];
1347
+ this.set(entry[0], entry[1]);
1348
+ }
1014
1349
  }
1350
+ MapCache.prototype.clear = mapCacheClear;
1351
+ MapCache.prototype["delete"] = mapCacheDelete;
1352
+ MapCache.prototype.get = mapCacheGet;
1353
+ MapCache.prototype.has = mapCacheHas;
1354
+ MapCache.prototype.set = mapCacheSet;
1015
1355
  //#endregion
1016
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js
1017
- /** Used as references for various `Number` constants. */
1018
- var MAX_SAFE_INTEGER = 9007199254740991;
1356
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js
1357
+ /** Error message constants. */
1358
+ var FUNC_ERROR_TEXT = "Expected a function";
1019
1359
  /**
1020
- * Checks if `value` is a valid array-like length.
1360
+ * Creates a function that memoizes the result of `func`. If `resolver` is
1361
+ * provided, it determines the cache key for storing the result based on the
1362
+ * arguments provided to the memoized function. By default, the first argument
1363
+ * provided to the memoized function is used as the map cache key. The `func`
1364
+ * is invoked with the `this` binding of the memoized function.
1021
1365
  *
1022
- * **Note:** This method is loosely based on
1023
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
1366
+ * **Note:** The cache is exposed as the `cache` property on the memoized
1367
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
1368
+ * constructor with one whose instances implement the
1369
+ * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
1370
+ * method interface of `clear`, `delete`, `get`, `has`, and `set`.
1024
1371
  *
1025
1372
  * @static
1026
1373
  * @memberOf _
1027
- * @since 4.0.0
1028
- * @category Lang
1029
- * @param {*} value The value to check.
1030
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
1374
+ * @since 0.1.0
1375
+ * @category Function
1376
+ * @param {Function} func The function to have its output memoized.
1377
+ * @param {Function} [resolver] The function to resolve the cache key.
1378
+ * @returns {Function} Returns the new memoized function.
1031
1379
  * @example
1032
1380
  *
1033
- * _.isLength(3);
1034
- * // => true
1381
+ * var object = { 'a': 1, 'b': 2 };
1382
+ * var other = { 'c': 3, 'd': 4 };
1035
1383
  *
1036
- * _.isLength(Number.MIN_VALUE);
1037
- * // => false
1384
+ * var values = _.memoize(_.values);
1385
+ * values(object);
1386
+ * // => [1, 2]
1038
1387
  *
1039
- * _.isLength(Infinity);
1040
- * // => false
1388
+ * values(other);
1389
+ * // => [3, 4]
1041
1390
  *
1042
- * _.isLength('3');
1043
- * // => false
1391
+ * object.a = 2;
1392
+ * values(object);
1393
+ * // => [1, 2]
1394
+ *
1395
+ * // Modify the result cache.
1396
+ * values.cache.set(object, ['a', 'b']);
1397
+ * values(object);
1398
+ * // => ['a', 'b']
1399
+ *
1400
+ * // Replace `_.memoize.Cache`.
1401
+ * _.memoize.Cache = WeakMap;
1044
1402
  */
1045
- function isLength(value) {
1046
- return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
1403
+ function memoize(func, resolver) {
1404
+ if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT);
1405
+ var memoized = function() {
1406
+ var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
1407
+ if (cache.has(key)) return cache.get(key);
1408
+ var result = func.apply(this, args);
1409
+ memoized.cache = cache.set(key, result) || cache;
1410
+ return result;
1411
+ };
1412
+ memoized.cache = new (memoize.Cache || MapCache)();
1413
+ return memoized;
1047
1414
  }
1415
+ memoize.Cache = MapCache;
1048
1416
  //#endregion
1049
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js
1050
- /** `Object#toString` result references. */
1051
- var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", errorTag$1 = "[object Error]", funcTag$1 = "[object Function]", mapTag$4 = "[object Map]", numberTag$2 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$2 = "[object String]", weakMapTag$2 = "[object WeakMap]";
1052
- var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$3 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
1053
- /** Used to identify `toStringTag` values of typed arrays. */
1054
- var typedArrayTags = {};
1055
- typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
1056
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$2] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$4] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$4] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
1417
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js
1418
+ /** Used as the maximum memoize cache size. */
1419
+ var MAX_MEMOIZE_SIZE = 500;
1057
1420
  /**
1058
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
1421
+ * A specialized version of `_.memoize` which clears the memoized function's
1422
+ * cache when it exceeds `MAX_MEMOIZE_SIZE`.
1059
1423
  *
1060
1424
  * @private
1061
- * @param {*} value The value to check.
1062
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1425
+ * @param {Function} func The function to have its output memoized.
1426
+ * @returns {Function} Returns the new memoized function.
1063
1427
  */
1064
- function baseIsTypedArray(value) {
1065
- return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
1428
+ function memoizeCapped(func) {
1429
+ var result = memoize(func, function(key) {
1430
+ if (cache.size === MAX_MEMOIZE_SIZE) cache.clear();
1431
+ return key;
1432
+ });
1433
+ var cache = result.cache;
1434
+ return result;
1066
1435
  }
1067
1436
  //#endregion
1068
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js
1437
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js
1438
+ /** Used to match property names within property paths. */
1439
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
1440
+ /** Used to match backslashes in property paths. */
1441
+ var reEscapeChar = /\\(\\)?/g;
1069
1442
  /**
1070
- * The base implementation of `_.unary` without support for storing metadata.
1443
+ * Converts `string` to a property path array.
1071
1444
  *
1072
1445
  * @private
1073
- * @param {Function} func The function to cap arguments for.
1074
- * @returns {Function} Returns the new capped function.
1446
+ * @param {string} string The string to convert.
1447
+ * @returns {Array} Returns the property path array.
1075
1448
  */
1076
- function baseUnary(func) {
1077
- return function(value) {
1078
- return func(value);
1079
- };
1080
- }
1081
- //#endregion
1082
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js
1083
- /** Detect free variable `exports`. */
1084
- var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
1085
- /** Detect free variable `module`. */
1086
- var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
1087
- /** Detect free variable `process` from Node.js. */
1088
- var freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && freeGlobal.process;
1089
- /** Used to access faster Node.js helpers. */
1090
- var nodeUtil = function() {
1091
- try {
1092
- var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types;
1093
- if (types) return types;
1094
- return freeProcess && freeProcess.binding && freeProcess.binding("util");
1095
- } catch (e) {}
1096
- }();
1449
+ var stringToPath = memoizeCapped(function(string) {
1450
+ var result = [];
1451
+ if (string.charCodeAt(0) === 46) result.push("");
1452
+ string.replace(rePropName, function(match, number, quote, subString) {
1453
+ result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
1454
+ });
1455
+ return result;
1456
+ });
1097
1457
  //#endregion
1098
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js
1099
- var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
1458
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js
1100
1459
  /**
1101
- * Checks if `value` is classified as a typed array.
1460
+ * Converts `value` to a string. An empty string is returned for `null`
1461
+ * and `undefined` values. The sign of `-0` is preserved.
1102
1462
  *
1103
1463
  * @static
1104
1464
  * @memberOf _
1105
- * @since 3.0.0
1465
+ * @since 4.0.0
1106
1466
  * @category Lang
1107
- * @param {*} value The value to check.
1108
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1467
+ * @param {*} value The value to convert.
1468
+ * @returns {string} Returns the converted string.
1109
1469
  * @example
1110
1470
  *
1111
- * _.isTypedArray(new Uint8Array);
1112
- * // => true
1471
+ * _.toString(null);
1472
+ * // => ''
1113
1473
  *
1114
- * _.isTypedArray([]);
1115
- * // => false
1116
- */
1117
- var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
1118
- //#endregion
1119
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js
1120
- /** Used to check objects for own properties. */
1121
- var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
1122
- /**
1123
- * Creates an array of the enumerable property names of the array-like `value`.
1474
+ * _.toString(-0);
1475
+ * // => '-0'
1124
1476
  *
1125
- * @private
1126
- * @param {*} value The value to query.
1127
- * @param {boolean} inherited Specify returning inherited property names.
1128
- * @returns {Array} Returns the array of property names.
1477
+ * _.toString([1, 2, 3]);
1478
+ * // => '1,2,3'
1129
1479
  */
1130
- function arrayLikeKeys(value, inherited) {
1131
- var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
1132
- for (var key in value) if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) result.push(key);
1133
- return result;
1480
+ function toString(value) {
1481
+ return value == null ? "" : baseToString(value);
1134
1482
  }
1135
1483
  //#endregion
1136
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js
1137
- /** Used for built-in method references. */
1138
- var objectProto = Object.prototype;
1484
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js
1139
1485
  /**
1140
- * Checks if `value` is likely a prototype object.
1486
+ * Casts `value` to a path array if it's not one.
1141
1487
  *
1142
1488
  * @private
1143
- * @param {*} value The value to check.
1144
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
1489
+ * @param {*} value The value to inspect.
1490
+ * @param {Object} [object] The object to query keys on.
1491
+ * @returns {Array} Returns the cast property path array.
1145
1492
  */
1146
- function isPrototype(value) {
1147
- var Ctor = value && value.constructor;
1148
- return value === (typeof Ctor == "function" && Ctor.prototype || objectProto);
1493
+ function castPath(value, object) {
1494
+ if (isArray(value)) return value;
1495
+ return isKey(value, object) ? [value] : stringToPath(toString(value));
1149
1496
  }
1150
1497
  //#endregion
1151
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js
1498
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js
1499
+ /** Used as references for various `Number` constants. */
1500
+ var INFINITY = Infinity;
1152
1501
  /**
1153
- * Creates a unary function that invokes `func` with its argument transformed.
1502
+ * Converts `value` to a string key if it's not a string or symbol.
1154
1503
  *
1155
1504
  * @private
1156
- * @param {Function} func The function to wrap.
1157
- * @param {Function} transform The argument transform.
1158
- * @returns {Function} Returns the new function.
1505
+ * @param {*} value The value to inspect.
1506
+ * @returns {string|symbol} Returns the key.
1159
1507
  */
1160
- function overArg(func, transform) {
1161
- return function(arg) {
1162
- return func(transform(arg));
1163
- };
1508
+ function toKey(value) {
1509
+ if (typeof value == "string" || isSymbol(value)) return value;
1510
+ var result = value + "";
1511
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
1164
1512
  }
1165
1513
  //#endregion
1166
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js
1167
- var nativeKeys = overArg(Object.keys, Object);
1168
- //#endregion
1169
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js
1170
- /** Used to check objects for own properties. */
1171
- var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
1514
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.js
1172
1515
  /**
1173
- * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
1516
+ * The base implementation of `_.get` without support for default values.
1174
1517
  *
1175
1518
  * @private
1176
1519
  * @param {Object} object The object to query.
1177
- * @returns {Array} Returns the array of property names.
1178
- */
1179
- function baseKeys(object) {
1180
- if (!isPrototype(object)) return nativeKeys(object);
1181
- var result = [];
1182
- for (var key in Object(object)) if (hasOwnProperty$2.call(object, key) && key != "constructor") result.push(key);
1183
- return result;
1184
- }
1185
- //#endregion
1186
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js
1187
- /**
1188
- * Checks if `value` is array-like. A value is considered array-like if it's
1189
- * not a function and has a `value.length` that's an integer greater than or
1190
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
1191
- *
1192
- * @static
1193
- * @memberOf _
1194
- * @since 4.0.0
1195
- * @category Lang
1196
- * @param {*} value The value to check.
1197
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
1198
- * @example
1199
- *
1200
- * _.isArrayLike([1, 2, 3]);
1201
- * // => true
1202
- *
1203
- * _.isArrayLike(document.body.children);
1204
- * // => true
1205
- *
1206
- * _.isArrayLike('abc');
1207
- * // => true
1208
- *
1209
- * _.isArrayLike(_.noop);
1210
- * // => false
1520
+ * @param {Array|string} path The path of the property to get.
1521
+ * @returns {*} Returns the resolved value.
1211
1522
  */
1212
- function isArrayLike(value) {
1213
- return value != null && isLength(value.length) && !isFunction(value);
1523
+ function baseGet(object, path) {
1524
+ path = castPath(path, object);
1525
+ var index = 0, length = path.length;
1526
+ while (object != null && index < length) object = object[toKey(path[index++])];
1527
+ return index && index == length ? object : void 0;
1214
1528
  }
1215
1529
  //#endregion
1216
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js
1530
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js
1217
1531
  /**
1218
- * Creates an array of the own enumerable property names of `object`.
1219
- *
1220
- * **Note:** Non-object values are coerced to objects. See the
1221
- * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1222
- * for more details.
1532
+ * Gets the value at `path` of `object`. If the resolved value is
1533
+ * `undefined`, the `defaultValue` is returned in its place.
1223
1534
  *
1224
1535
  * @static
1225
- * @since 0.1.0
1226
1536
  * @memberOf _
1537
+ * @since 3.7.0
1227
1538
  * @category Object
1228
1539
  * @param {Object} object The object to query.
1229
- * @returns {Array} Returns the array of property names.
1540
+ * @param {Array|string} path The path of the property to get.
1541
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
1542
+ * @returns {*} Returns the resolved value.
1230
1543
  * @example
1231
1544
  *
1232
- * function Foo() {
1233
- * this.a = 1;
1234
- * this.b = 2;
1235
- * }
1545
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
1236
1546
  *
1237
- * Foo.prototype.c = 3;
1547
+ * _.get(object, 'a[0].b.c');
1548
+ * // => 3
1238
1549
  *
1239
- * _.keys(new Foo);
1240
- * // => ['a', 'b'] (iteration order is not guaranteed)
1550
+ * _.get(object, ['a', '0', 'b', 'c']);
1551
+ * // => 3
1241
1552
  *
1242
- * _.keys('hi');
1243
- * // => ['0', '1']
1553
+ * _.get(object, 'a.b.c', 'default');
1554
+ * // => 'default'
1244
1555
  */
1245
- function keys(object) {
1246
- return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
1556
+ function get(object, path, defaultValue) {
1557
+ var result = object == null ? void 0 : baseGet(object, path);
1558
+ return result === void 0 ? defaultValue : result;
1247
1559
  }
1248
1560
  //#endregion
1249
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js
1561
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js
1250
1562
  /**
1251
- * The base implementation of `_.assign` without support for multiple sources
1252
- * or `customizer` functions.
1563
+ * Appends the elements of `values` to `array`.
1253
1564
  *
1254
1565
  * @private
1255
- * @param {Object} object The destination object.
1256
- * @param {Object} source The source object.
1257
- * @returns {Object} Returns `object`.
1566
+ * @param {Array} array The array to modify.
1567
+ * @param {Array} values The values to append.
1568
+ * @returns {Array} Returns `array`.
1258
1569
  */
1259
- function baseAssign(object, source) {
1260
- return object && copyObject(source, keys(source), object);
1570
+ function arrayPush(array, values) {
1571
+ var index = -1, length = values.length, offset = array.length;
1572
+ while (++index < length) array[offset + index] = values[index];
1573
+ return array;
1261
1574
  }
1262
1575
  //#endregion
1263
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js
1576
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js
1577
+ /** Built-in value references. */
1578
+ var getPrototype = overArg(Object.getPrototypeOf, Object);
1579
+ //#endregion
1580
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js
1264
1581
  /**
1265
- * This function is like
1266
- * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1267
- * except that it includes inherited enumerable properties.
1582
+ * Removes all key-value entries from the stack.
1268
1583
  *
1269
1584
  * @private
1270
- * @param {Object} object The object to query.
1271
- * @returns {Array} Returns the array of property names.
1585
+ * @name clear
1586
+ * @memberOf Stack
1272
1587
  */
1273
- function nativeKeysIn(object) {
1274
- var result = [];
1275
- if (object != null) for (var key in Object(object)) result.push(key);
1276
- return result;
1588
+ function stackClear() {
1589
+ this.__data__ = new ListCache();
1590
+ this.size = 0;
1277
1591
  }
1278
1592
  //#endregion
1279
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js
1280
- /** Used to check objects for own properties. */
1281
- var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
1593
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js
1282
1594
  /**
1283
- * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
1595
+ * Removes `key` and its value from the stack.
1284
1596
  *
1285
1597
  * @private
1286
- * @param {Object} object The object to query.
1287
- * @returns {Array} Returns the array of property names.
1598
+ * @name delete
1599
+ * @memberOf Stack
1600
+ * @param {string} key The key of the value to remove.
1601
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
1288
1602
  */
1289
- function baseKeysIn(object) {
1290
- if (!isObject$1(object)) return nativeKeysIn(object);
1291
- var isProto = isPrototype(object), result = [];
1292
- for (var key in object) if (!(key == "constructor" && (isProto || !hasOwnProperty$1.call(object, key)))) result.push(key);
1603
+ function stackDelete(key) {
1604
+ var data = this.__data__, result = data["delete"](key);
1605
+ this.size = data.size;
1293
1606
  return result;
1294
1607
  }
1295
1608
  //#endregion
1296
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js
1609
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js
1297
1610
  /**
1298
- * Creates an array of the own and inherited enumerable property names of `object`.
1611
+ * Gets the stack value for `key`.
1299
1612
  *
1300
- * **Note:** Non-object values are coerced to objects.
1613
+ * @private
1614
+ * @name get
1615
+ * @memberOf Stack
1616
+ * @param {string} key The key of the value to get.
1617
+ * @returns {*} Returns the entry value.
1618
+ */
1619
+ function stackGet(key) {
1620
+ return this.__data__.get(key);
1621
+ }
1622
+ //#endregion
1623
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js
1624
+ /**
1625
+ * Checks if a stack value for `key` exists.
1301
1626
  *
1302
- * @static
1303
- * @memberOf _
1304
- * @since 3.0.0
1305
- * @category Object
1306
- * @param {Object} object The object to query.
1307
- * @returns {Array} Returns the array of property names.
1308
- * @example
1627
+ * @private
1628
+ * @name has
1629
+ * @memberOf Stack
1630
+ * @param {string} key The key of the entry to check.
1631
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
1632
+ */
1633
+ function stackHas(key) {
1634
+ return this.__data__.has(key);
1635
+ }
1636
+ //#endregion
1637
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js
1638
+ /** Used as the size to enable large array optimizations. */
1639
+ var LARGE_ARRAY_SIZE = 200;
1640
+ /**
1641
+ * Sets the stack `key` to `value`.
1309
1642
  *
1310
- * function Foo() {
1311
- * this.a = 1;
1312
- * this.b = 2;
1313
- * }
1643
+ * @private
1644
+ * @name set
1645
+ * @memberOf Stack
1646
+ * @param {string} key The key of the value to set.
1647
+ * @param {*} value The value to set.
1648
+ * @returns {Object} Returns the stack cache instance.
1649
+ */
1650
+ function stackSet(key, value) {
1651
+ var data = this.__data__;
1652
+ if (data instanceof ListCache) {
1653
+ var pairs = data.__data__;
1654
+ if (!Map$1 || pairs.length < LARGE_ARRAY_SIZE - 1) {
1655
+ pairs.push([key, value]);
1656
+ this.size = ++data.size;
1657
+ return this;
1658
+ }
1659
+ data = this.__data__ = new MapCache(pairs);
1660
+ }
1661
+ data.set(key, value);
1662
+ this.size = data.size;
1663
+ return this;
1664
+ }
1665
+ //#endregion
1666
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js
1667
+ /**
1668
+ * Creates a stack cache object to store key-value pairs.
1314
1669
  *
1315
- * Foo.prototype.c = 3;
1670
+ * @private
1671
+ * @constructor
1672
+ * @param {Array} [entries] The key-value pairs to cache.
1673
+ */
1674
+ function Stack(entries) {
1675
+ var data = this.__data__ = new ListCache(entries);
1676
+ this.size = data.size;
1677
+ }
1678
+ Stack.prototype.clear = stackClear;
1679
+ Stack.prototype["delete"] = stackDelete;
1680
+ Stack.prototype.get = stackGet;
1681
+ Stack.prototype.has = stackHas;
1682
+ Stack.prototype.set = stackSet;
1683
+ //#endregion
1684
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js
1685
+ /**
1686
+ * The base implementation of `_.assign` without support for multiple sources
1687
+ * or `customizer` functions.
1316
1688
  *
1317
- * _.keysIn(new Foo);
1318
- * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
1689
+ * @private
1690
+ * @param {Object} object The destination object.
1691
+ * @param {Object} source The source object.
1692
+ * @returns {Object} Returns `object`.
1319
1693
  */
1320
- function keysIn(object) {
1321
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
1694
+ function baseAssign(object, source) {
1695
+ return object && copyObject(source, keys(source), object);
1322
1696
  }
1323
1697
  //#endregion
1324
1698
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignIn.js
@@ -1341,7 +1715,8 @@
1341
1715
  /** Detect free variable `module`. */
1342
1716
  var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
1343
1717
  /** Built-in value references. */
1344
- var Buffer = freeModule && freeModule.exports === freeExports ? root.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
1718
+ var Buffer = freeModule && freeModule.exports === freeExports ? root.Buffer : void 0;
1719
+ var allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
1345
1720
  /**
1346
1721
  * Creates a clone of `buffer`.
1347
1722
  *
@@ -1357,22 +1732,6 @@
1357
1732
  return result;
1358
1733
  }
1359
1734
  //#endregion
1360
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js
1361
- /**
1362
- * Copies the values of `source` to `array`.
1363
- *
1364
- * @private
1365
- * @param {Array} source The array to copy values from.
1366
- * @param {Array} [array=[]] The array to copy values to.
1367
- * @returns {Array} Returns `array`.
1368
- */
1369
- function copyArray(source, array) {
1370
- var index = -1, length = source.length;
1371
- array || (array = Array(length));
1372
- while (++index < length) array[index] = source[index];
1373
- return array;
1374
- }
1375
- //#endregion
1376
1735
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js
1377
1736
  /**
1378
1737
  * A specialized version of `_.filter` for arrays without support for
@@ -1447,25 +1806,6 @@
1447
1806
  return copyObject(source, getSymbols(source), object);
1448
1807
  }
1449
1808
  //#endregion
1450
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js
1451
- /**
1452
- * Appends the elements of `values` to `array`.
1453
- *
1454
- * @private
1455
- * @param {Array} array The array to modify.
1456
- * @param {Array} values The values to append.
1457
- * @returns {Array} Returns `array`.
1458
- */
1459
- function arrayPush(array, values) {
1460
- var index = -1, length = values.length, offset = array.length;
1461
- while (++index < length) array[offset + index] = values[index];
1462
- return array;
1463
- }
1464
- //#endregion
1465
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js
1466
- /** Built-in value references. */
1467
- var getPrototype = overArg(Object.getPrototypeOf, Object);
1468
- //#endregion
1469
1809
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbolsIn.js
1470
1810
  /**
1471
1811
  * Creates an array of the own and inherited enumerable symbols of `object`.
@@ -1547,15 +1887,20 @@
1547
1887
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.js
1548
1888
  var Set$1 = getNative(root, "Set");
1549
1889
  //#endregion
1550
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js
1551
- var WeakMap = getNative(root, "WeakMap");
1552
- //#endregion
1553
1890
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.js
1554
1891
  /** `Object#toString` result references. */
1555
- var mapTag$3 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$3 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
1892
+ var mapTag$3 = "[object Map]";
1893
+ var objectTag$1 = "[object Object]";
1894
+ var promiseTag = "[object Promise]";
1895
+ var setTag$3 = "[object Set]";
1896
+ var weakMapTag$1 = "[object WeakMap]";
1556
1897
  var dataViewTag$2 = "[object DataView]";
1557
1898
  /** Used to detect maps, sets, and weakmaps. */
1558
- var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap);
1899
+ var dataViewCtorString = toSource(DataView);
1900
+ var mapCtorString = toSource(Map$1);
1901
+ var promiseCtorString = toSource(Promise$1);
1902
+ var setCtorString = toSource(Set$1);
1903
+ var weakMapCtorString = toSource(WeakMap);
1559
1904
  /**
1560
1905
  * Gets the `toStringTag` of `value`.
1561
1906
  *
@@ -1646,7 +1991,8 @@
1646
1991
  //#endregion
1647
1992
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.js
1648
1993
  /** Used to convert symbols to primitives and strings. */
1649
- var symbolProto$1 = Symbol ? Symbol.prototype : void 0, symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : void 0;
1994
+ var symbolProto = Symbol ? Symbol.prototype : void 0;
1995
+ var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
1650
1996
  /**
1651
1997
  * Creates a clone of the `symbol` object.
1652
1998
  *
@@ -1674,8 +2020,25 @@
1674
2020
  //#endregion
1675
2021
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.js
1676
2022
  /** `Object#toString` result references. */
1677
- var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$2 = "[object Symbol]";
1678
- var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
2023
+ var boolTag$1 = "[object Boolean]";
2024
+ var dateTag$1 = "[object Date]";
2025
+ var mapTag$2 = "[object Map]";
2026
+ var numberTag$1 = "[object Number]";
2027
+ var regexpTag$1 = "[object RegExp]";
2028
+ var setTag$2 = "[object Set]";
2029
+ var stringTag$1 = "[object String]";
2030
+ var symbolTag$1 = "[object Symbol]";
2031
+ var arrayBufferTag$1 = "[object ArrayBuffer]";
2032
+ var dataViewTag$1 = "[object DataView]";
2033
+ var float32Tag$1 = "[object Float32Array]";
2034
+ var float64Tag$1 = "[object Float64Array]";
2035
+ var int8Tag$1 = "[object Int8Array]";
2036
+ var int16Tag$1 = "[object Int16Array]";
2037
+ var int32Tag$1 = "[object Int32Array]";
2038
+ var uint8Tag$1 = "[object Uint8Array]";
2039
+ var uint8ClampedTag$1 = "[object Uint8ClampedArray]";
2040
+ var uint16Tag$1 = "[object Uint16Array]";
2041
+ var uint32Tag$1 = "[object Uint32Array]";
1679
2042
  /**
1680
2043
  * Initializes an object clone based on its `toStringTag`.
1681
2044
  *
@@ -1695,46 +2058,23 @@
1695
2058
  case boolTag$1:
1696
2059
  case dateTag$1: return new Ctor(+object);
1697
2060
  case dataViewTag$1: return cloneDataView(object, isDeep);
1698
- case float32Tag$1:
1699
- case float64Tag$1:
1700
- case int8Tag$1:
1701
- case int16Tag$1:
1702
- case int32Tag$1:
1703
- case uint8Tag$1:
1704
- case uint8ClampedTag$1:
1705
- case uint16Tag$1:
1706
- case uint32Tag$1: return cloneTypedArray(object, isDeep);
1707
- case mapTag$2: return new Ctor();
1708
- case numberTag$1:
1709
- case stringTag$1: return new Ctor(object);
1710
- case regexpTag$1: return cloneRegExp(object);
1711
- case setTag$2: return new Ctor();
1712
- case symbolTag$2: return cloneSymbol(object);
1713
- }
1714
- }
1715
- //#endregion
1716
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js
1717
- /** Built-in value references. */
1718
- var objectCreate = Object.create;
1719
- /**
1720
- * The base implementation of `_.create` without support for assigning
1721
- * properties to the created object.
1722
- *
1723
- * @private
1724
- * @param {Object} proto The object to inherit from.
1725
- * @returns {Object} Returns the new object.
1726
- */
1727
- var baseCreate = function() {
1728
- function object() {}
1729
- return function(proto) {
1730
- if (!isObject$1(proto)) return {};
1731
- if (objectCreate) return objectCreate(proto);
1732
- object.prototype = proto;
1733
- var result = new object();
1734
- object.prototype = void 0;
1735
- return result;
1736
- };
1737
- }();
2061
+ case float32Tag$1:
2062
+ case float64Tag$1:
2063
+ case int8Tag$1:
2064
+ case int16Tag$1:
2065
+ case int32Tag$1:
2066
+ case uint8Tag$1:
2067
+ case uint8ClampedTag$1:
2068
+ case uint16Tag$1:
2069
+ case uint32Tag$1: return cloneTypedArray(object, isDeep);
2070
+ case mapTag$2: return new Ctor();
2071
+ case numberTag$1:
2072
+ case stringTag$1: return new Ctor(object);
2073
+ case regexpTag$1: return cloneRegExp(object);
2074
+ case setTag$2: return new Ctor();
2075
+ case symbolTag$1: return cloneSymbol(object);
2076
+ }
2077
+ }
1738
2078
  //#endregion
1739
2079
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js
1740
2080
  /**
@@ -1820,13 +2160,39 @@
1820
2160
  //#endregion
1821
2161
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.js
1822
2162
  /** Used to compose bitmasks for cloning. */
1823
- var CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4;
2163
+ var CLONE_DEEP_FLAG$1 = 1;
2164
+ var CLONE_FLAT_FLAG = 2;
2165
+ var CLONE_SYMBOLS_FLAG$1 = 4;
1824
2166
  /** `Object#toString` result references. */
1825
- var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag$1 = "[object Symbol]", weakMapTag = "[object WeakMap]";
1826
- var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
2167
+ var argsTag = "[object Arguments]";
2168
+ var arrayTag = "[object Array]";
2169
+ var boolTag = "[object Boolean]";
2170
+ var dateTag = "[object Date]";
2171
+ var errorTag = "[object Error]";
2172
+ var funcTag = "[object Function]";
2173
+ var genTag = "[object GeneratorFunction]";
2174
+ var mapTag = "[object Map]";
2175
+ var numberTag = "[object Number]";
2176
+ var objectTag = "[object Object]";
2177
+ var regexpTag = "[object RegExp]";
2178
+ var setTag = "[object Set]";
2179
+ var stringTag = "[object String]";
2180
+ var symbolTag = "[object Symbol]";
2181
+ var weakMapTag = "[object WeakMap]";
2182
+ var arrayBufferTag = "[object ArrayBuffer]";
2183
+ var dataViewTag = "[object DataView]";
2184
+ var float32Tag = "[object Float32Array]";
2185
+ var float64Tag = "[object Float64Array]";
2186
+ var int8Tag = "[object Int8Array]";
2187
+ var int16Tag = "[object Int16Array]";
2188
+ var int32Tag = "[object Int32Array]";
2189
+ var uint8Tag = "[object Uint8Array]";
2190
+ var uint8ClampedTag = "[object Uint8ClampedArray]";
2191
+ var uint16Tag = "[object Uint16Array]";
2192
+ var uint32Tag = "[object Uint32Array]";
1827
2193
  /** Used to identify `toStringTag` values supported by `_.clone`. */
1828
2194
  var cloneableTags = {};
1829
- cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
2195
+ cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
1830
2196
  cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
1831
2197
  /**
1832
2198
  * The base implementation of `_.clone` and `_.cloneDeep` which tracks
@@ -1887,7 +2253,8 @@
1887
2253
  //#endregion
1888
2254
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js
1889
2255
  /** Used to compose bitmasks for cloning. */
1890
- var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4;
2256
+ var CLONE_DEEP_FLAG = 1;
2257
+ var CLONE_SYMBOLS_FLAG = 4;
1891
2258
  /**
1892
2259
  * This method is like `_.clone` except that it recursively clones `value`.
1893
2260
  *
@@ -1910,243 +2277,6 @@
1910
2277
  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
1911
2278
  }
1912
2279
  //#endregion
1913
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js
1914
- /** `Object#toString` result references. */
1915
- var symbolTag = "[object Symbol]";
1916
- /**
1917
- * Checks if `value` is classified as a `Symbol` primitive or object.
1918
- *
1919
- * @static
1920
- * @memberOf _
1921
- * @since 4.0.0
1922
- * @category Lang
1923
- * @param {*} value The value to check.
1924
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
1925
- * @example
1926
- *
1927
- * _.isSymbol(Symbol.iterator);
1928
- * // => true
1929
- *
1930
- * _.isSymbol('abc');
1931
- * // => false
1932
- */
1933
- function isSymbol(value) {
1934
- return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
1935
- }
1936
- //#endregion
1937
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js
1938
- /** Used to match property names within property paths. */
1939
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
1940
- /**
1941
- * Checks if `value` is a property name and not a property path.
1942
- *
1943
- * @private
1944
- * @param {*} value The value to check.
1945
- * @param {Object} [object] The object to query keys on.
1946
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
1947
- */
1948
- function isKey(value, object) {
1949
- if (isArray(value)) return false;
1950
- var type = typeof value;
1951
- if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) return true;
1952
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
1953
- }
1954
- //#endregion
1955
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js
1956
- /** Error message constants. */
1957
- var FUNC_ERROR_TEXT = "Expected a function";
1958
- /**
1959
- * Creates a function that memoizes the result of `func`. If `resolver` is
1960
- * provided, it determines the cache key for storing the result based on the
1961
- * arguments provided to the memoized function. By default, the first argument
1962
- * provided to the memoized function is used as the map cache key. The `func`
1963
- * is invoked with the `this` binding of the memoized function.
1964
- *
1965
- * **Note:** The cache is exposed as the `cache` property on the memoized
1966
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
1967
- * constructor with one whose instances implement the
1968
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
1969
- * method interface of `clear`, `delete`, `get`, `has`, and `set`.
1970
- *
1971
- * @static
1972
- * @memberOf _
1973
- * @since 0.1.0
1974
- * @category Function
1975
- * @param {Function} func The function to have its output memoized.
1976
- * @param {Function} [resolver] The function to resolve the cache key.
1977
- * @returns {Function} Returns the new memoized function.
1978
- * @example
1979
- *
1980
- * var object = { 'a': 1, 'b': 2 };
1981
- * var other = { 'c': 3, 'd': 4 };
1982
- *
1983
- * var values = _.memoize(_.values);
1984
- * values(object);
1985
- * // => [1, 2]
1986
- *
1987
- * values(other);
1988
- * // => [3, 4]
1989
- *
1990
- * object.a = 2;
1991
- * values(object);
1992
- * // => [1, 2]
1993
- *
1994
- * // Modify the result cache.
1995
- * values.cache.set(object, ['a', 'b']);
1996
- * values(object);
1997
- * // => ['a', 'b']
1998
- *
1999
- * // Replace `_.memoize.Cache`.
2000
- * _.memoize.Cache = WeakMap;
2001
- */
2002
- function memoize(func, resolver) {
2003
- if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT);
2004
- var memoized = function() {
2005
- var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
2006
- if (cache.has(key)) return cache.get(key);
2007
- var result = func.apply(this, args);
2008
- memoized.cache = cache.set(key, result) || cache;
2009
- return result;
2010
- };
2011
- memoized.cache = new (memoize.Cache || MapCache)();
2012
- return memoized;
2013
- }
2014
- memoize.Cache = MapCache;
2015
- //#endregion
2016
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js
2017
- /** Used as the maximum memoize cache size. */
2018
- var MAX_MEMOIZE_SIZE = 500;
2019
- /**
2020
- * A specialized version of `_.memoize` which clears the memoized function's
2021
- * cache when it exceeds `MAX_MEMOIZE_SIZE`.
2022
- *
2023
- * @private
2024
- * @param {Function} func The function to have its output memoized.
2025
- * @returns {Function} Returns the new memoized function.
2026
- */
2027
- function memoizeCapped(func) {
2028
- var result = memoize(func, function(key) {
2029
- if (cache.size === MAX_MEMOIZE_SIZE) cache.clear();
2030
- return key;
2031
- });
2032
- var cache = result.cache;
2033
- return result;
2034
- }
2035
- //#endregion
2036
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js
2037
- /** Used to match property names within property paths. */
2038
- var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
2039
- /** Used to match backslashes in property paths. */
2040
- var reEscapeChar = /\\(\\)?/g;
2041
- /**
2042
- * Converts `string` to a property path array.
2043
- *
2044
- * @private
2045
- * @param {string} string The string to convert.
2046
- * @returns {Array} Returns the property path array.
2047
- */
2048
- var stringToPath = memoizeCapped(function(string) {
2049
- var result = [];
2050
- if (string.charCodeAt(0) === 46) result.push("");
2051
- string.replace(rePropName, function(match, number, quote, subString) {
2052
- result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
2053
- });
2054
- return result;
2055
- });
2056
- //#endregion
2057
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js
2058
- /**
2059
- * A specialized version of `_.map` for arrays without support for iteratee
2060
- * shorthands.
2061
- *
2062
- * @private
2063
- * @param {Array} [array] The array to iterate over.
2064
- * @param {Function} iteratee The function invoked per iteration.
2065
- * @returns {Array} Returns the new mapped array.
2066
- */
2067
- function arrayMap(array, iteratee) {
2068
- var index = -1, length = array == null ? 0 : array.length, result = Array(length);
2069
- while (++index < length) result[index] = iteratee(array[index], index, array);
2070
- return result;
2071
- }
2072
- //#endregion
2073
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js
2074
- /** Used as references for various `Number` constants. */
2075
- var INFINITY$1 = Infinity;
2076
- /** Used to convert symbols to primitives and strings. */
2077
- var symbolProto = Symbol ? Symbol.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
2078
- /**
2079
- * The base implementation of `_.toString` which doesn't convert nullish
2080
- * values to empty strings.
2081
- *
2082
- * @private
2083
- * @param {*} value The value to process.
2084
- * @returns {string} Returns the string.
2085
- */
2086
- function baseToString(value) {
2087
- if (typeof value == "string") return value;
2088
- if (isArray(value)) return arrayMap(value, baseToString) + "";
2089
- if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : "";
2090
- var result = value + "";
2091
- return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
2092
- }
2093
- //#endregion
2094
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js
2095
- /**
2096
- * Converts `value` to a string. An empty string is returned for `null`
2097
- * and `undefined` values. The sign of `-0` is preserved.
2098
- *
2099
- * @static
2100
- * @memberOf _
2101
- * @since 4.0.0
2102
- * @category Lang
2103
- * @param {*} value The value to convert.
2104
- * @returns {string} Returns the converted string.
2105
- * @example
2106
- *
2107
- * _.toString(null);
2108
- * // => ''
2109
- *
2110
- * _.toString(-0);
2111
- * // => '-0'
2112
- *
2113
- * _.toString([1, 2, 3]);
2114
- * // => '1,2,3'
2115
- */
2116
- function toString(value) {
2117
- return value == null ? "" : baseToString(value);
2118
- }
2119
- //#endregion
2120
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js
2121
- /**
2122
- * Casts `value` to a path array if it's not one.
2123
- *
2124
- * @private
2125
- * @param {*} value The value to inspect.
2126
- * @param {Object} [object] The object to query keys on.
2127
- * @returns {Array} Returns the cast property path array.
2128
- */
2129
- function castPath(value, object) {
2130
- if (isArray(value)) return value;
2131
- return isKey(value, object) ? [value] : stringToPath(toString(value));
2132
- }
2133
- //#endregion
2134
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js
2135
- /** Used as references for various `Number` constants. */
2136
- var INFINITY = Infinity;
2137
- /**
2138
- * Converts `value` to a string key if it's not a string or symbol.
2139
- *
2140
- * @private
2141
- * @param {*} value The value to inspect.
2142
- * @returns {string|symbol} Returns the key.
2143
- */
2144
- function toKey(value) {
2145
- if (typeof value == "string" || isSymbol(value)) return value;
2146
- var result = value + "";
2147
- return result == "0" && 1 / value == -INFINITY ? "-0" : result;
2148
- }
2149
- //#endregion
2150
2280
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSet.js
2151
2281
  /**
2152
2282
  * The base implementation of `_.set`.
@@ -2484,6 +2614,12 @@
2484
2614
  return (c === "x" ? r : r & 3 | 8).toString(16);
2485
2615
  });
2486
2616
  var getKeysArray = (keys) => `${keys}`.replace(/\[(\d+)\]/g, ".$1").split(".");
2617
+ /**
2618
+ * 判断某一层 key 是否为数组下标(纯数字)
2619
+ * @param key 单层 key
2620
+ * @returns 是否为数组下标
2621
+ */
2622
+ var isArrayIndex = (key) => /^\d+$/.test(`${key}`);
2487
2623
  var getValueByKeyPath = (keys = "", data = {}) => {
2488
2624
  return (Array.isArray(keys) ? keys : getKeysArray(keys)).reduce((accumulator, currentValue) => {
2489
2625
  if (isObject(accumulator)) return accumulator[currentValue];
@@ -2491,7 +2627,18 @@
2491
2627
  throw new Error(`${data}中不存在${keys}`);
2492
2628
  }, data);
2493
2629
  };
2494
- var setValueByKeyPath = (keys, value, data = {}) => set(data, keys, value);
2630
+ var setValueByKeyPath = (keys, value, data = {}) => {
2631
+ if (typeof value === "undefined") {
2632
+ const keyArray = getKeysArray(keys);
2633
+ const lastKey = keyArray[keyArray.length - 1];
2634
+ if (keyArray.length > 1 && isArrayIndex(lastKey)) {
2635
+ const parentPath = keyArray.slice(0, -1).join(".");
2636
+ if (typeof get(data, parentPath) === "undefined") set(data, parentPath, []);
2637
+ return data;
2638
+ }
2639
+ }
2640
+ return set(data, keys, value);
2641
+ };
2495
2642
  var getNodes = (ids, data = []) => {
2496
2643
  const nodes = [];
2497
2644
  const get = function(ids, data) {
@@ -2720,6 +2867,7 @@
2720
2867
  exports.getValueByKeyPath = getValueByKeyPath;
2721
2868
  exports.guid = guid;
2722
2869
  exports.injectStyle = injectStyle;
2870
+ exports.isArrayIndex = isArrayIndex;
2723
2871
  exports.isDslNode = isDslNode;
2724
2872
  exports.isNumber = isNumber;
2725
2873
  exports.isObject = isObject;