@fmdevui/fm-dev 1.0.8 → 1.0.10
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.
- package/README.md +5 -0
- package/es/core/hook/useVxeTableOptionsHook.d.ts +3362 -0
- package/es/core/index.d.ts +2 -0
- package/es/core/ui/loading/index.d.ts +9 -0
- package/es/index.mjs +2 -0
- package/es/packages/core/hook/useVxeTableOptionsHook.mjs +83 -0
- package/es/packages/core/index.mjs +2 -0
- package/es/packages/core/ui/loading/index.mjs +40 -0
- package/index.js +2383 -182
- package/index.min.js +37 -23
- package/index.min.mjs +37 -23
- package/index.mjs +2384 -185
- package/lib/core/hook/useVxeTableOptionsHook.d.ts +3362 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/core/ui/loading/index.d.ts +9 -0
- package/lib/index.js +45 -41
- package/lib/packages/core/hook/useVxeTableOptionsHook.js +85 -0
- package/lib/packages/core/index.js +45 -41
- package/lib/packages/core/ui/loading/index.js +42 -0
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! fm-dev v1.0.
|
|
1
|
+
/*! fm-dev v1.0.10 */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('crypto'), require('url'), require('http'), require('https'), require('util'), require('stream'), require('assert'), require('zlib'), require('element-plus')) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports', 'vue', 'crypto', 'url', 'http', 'https', 'util', 'stream', 'assert', 'zlib', 'element-plus'], factory) :
|
|
@@ -46,6 +46,43 @@
|
|
|
46
46
|
|
|
47
47
|
var installer = makeInstaller([...plugins]);
|
|
48
48
|
|
|
49
|
+
const NextLoading = {
|
|
50
|
+
// 创建 loading
|
|
51
|
+
start: () => {
|
|
52
|
+
const bodys = document.body;
|
|
53
|
+
const div = document.createElement("div");
|
|
54
|
+
div.setAttribute("class", "loading-next");
|
|
55
|
+
const htmls = `
|
|
56
|
+
<div class="loading-next-box">
|
|
57
|
+
<div class="loading-next-box-warp">
|
|
58
|
+
<div class="loading-next-box-item"></div>
|
|
59
|
+
<div class="loading-next-box-item"></div>
|
|
60
|
+
<div class="loading-next-box-item"></div>
|
|
61
|
+
<div class="loading-next-box-item"></div>
|
|
62
|
+
<div class="loading-next-box-item"></div>
|
|
63
|
+
<div class="loading-next-box-item"></div>
|
|
64
|
+
<div class="loading-next-box-item"></div>
|
|
65
|
+
<div class="loading-next-box-item"></div>
|
|
66
|
+
<div class="loading-next-box-item"></div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
`;
|
|
70
|
+
div.innerHTML = htmls;
|
|
71
|
+
bodys.insertBefore(div, bodys.childNodes[0]);
|
|
72
|
+
window.nextLoading = true;
|
|
73
|
+
},
|
|
74
|
+
// 移除 loading
|
|
75
|
+
done: (time = 0) => {
|
|
76
|
+
vue.nextTick(() => {
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
window.nextLoading = false;
|
|
79
|
+
const el = document.querySelector(".loading-next");
|
|
80
|
+
el?.parentNode?.removeChild(el);
|
|
81
|
+
}, time);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
49
86
|
function bind(fn, thisArg) {
|
|
50
87
|
return function wrap() {
|
|
51
88
|
return fn.apply(thisArg, arguments);
|
|
@@ -77,7 +114,7 @@
|
|
|
77
114
|
*
|
|
78
115
|
* @returns {boolean} True if value is an Array, otherwise false
|
|
79
116
|
*/
|
|
80
|
-
const {isArray: isArray$
|
|
117
|
+
const {isArray: isArray$3} = Array;
|
|
81
118
|
|
|
82
119
|
/**
|
|
83
120
|
* Determine if a value is undefined
|
|
@@ -95,9 +132,9 @@
|
|
|
95
132
|
*
|
|
96
133
|
* @returns {boolean} True if value is a Buffer, otherwise false
|
|
97
134
|
*/
|
|
98
|
-
function isBuffer(val) {
|
|
135
|
+
function isBuffer$1(val) {
|
|
99
136
|
return val !== null && !isUndefined$1(val) && val.constructor !== null && !isUndefined$1(val.constructor)
|
|
100
|
-
&& isFunction$
|
|
137
|
+
&& isFunction$2(val.constructor.isBuffer) && val.constructor.isBuffer(val);
|
|
101
138
|
}
|
|
102
139
|
|
|
103
140
|
/**
|
|
@@ -142,7 +179,7 @@
|
|
|
142
179
|
* @param {*} val The value to test
|
|
143
180
|
* @returns {boolean} True if value is a Function, otherwise false
|
|
144
181
|
*/
|
|
145
|
-
const isFunction$
|
|
182
|
+
const isFunction$2 = typeOfTest('function');
|
|
146
183
|
|
|
147
184
|
/**
|
|
148
185
|
* Determine if a value is a Number
|
|
@@ -160,7 +197,7 @@
|
|
|
160
197
|
*
|
|
161
198
|
* @returns {boolean} True if value is an Object, otherwise false
|
|
162
199
|
*/
|
|
163
|
-
const isObject$
|
|
200
|
+
const isObject$2 = (thing) => thing !== null && typeof thing === 'object';
|
|
164
201
|
|
|
165
202
|
/**
|
|
166
203
|
* Determine if a value is a Boolean
|
|
@@ -177,7 +214,7 @@
|
|
|
177
214
|
*
|
|
178
215
|
* @returns {boolean} True if value is a plain Object, otherwise false
|
|
179
216
|
*/
|
|
180
|
-
const isPlainObject$
|
|
217
|
+
const isPlainObject$3 = (val) => {
|
|
181
218
|
if (kindOf(val) !== 'object') {
|
|
182
219
|
return false;
|
|
183
220
|
}
|
|
@@ -229,7 +266,7 @@
|
|
|
229
266
|
*
|
|
230
267
|
* @returns {boolean} True if value is a Stream, otherwise false
|
|
231
268
|
*/
|
|
232
|
-
const isStream = (val) => isObject$
|
|
269
|
+
const isStream = (val) => isObject$2(val) && isFunction$2(val.pipe);
|
|
233
270
|
|
|
234
271
|
/**
|
|
235
272
|
* Determine if a value is a FormData
|
|
@@ -242,10 +279,10 @@
|
|
|
242
279
|
let kind;
|
|
243
280
|
return thing && (
|
|
244
281
|
(typeof FormData === 'function' && thing instanceof FormData) || (
|
|
245
|
-
isFunction$
|
|
282
|
+
isFunction$2(thing.append) && (
|
|
246
283
|
(kind = kindOf(thing)) === 'formdata' ||
|
|
247
284
|
// detect form-data instance
|
|
248
|
-
(kind === 'object' && isFunction$
|
|
285
|
+
(kind === 'object' && isFunction$2(thing.toString) && thing.toString() === '[object FormData]')
|
|
249
286
|
)
|
|
250
287
|
)
|
|
251
288
|
)
|
|
@@ -302,7 +339,7 @@
|
|
|
302
339
|
obj = [obj];
|
|
303
340
|
}
|
|
304
341
|
|
|
305
|
-
if (isArray$
|
|
342
|
+
if (isArray$3(obj)) {
|
|
306
343
|
// Iterate over array values
|
|
307
344
|
for (i = 0, l = obj.length; i < l; i++) {
|
|
308
345
|
fn.call(null, obj[i], i, obj);
|
|
@@ -360,16 +397,16 @@
|
|
|
360
397
|
*
|
|
361
398
|
* @returns {Object} Result of all merge properties
|
|
362
399
|
*/
|
|
363
|
-
function merge(/* obj1, obj2, obj3, ... */) {
|
|
400
|
+
function merge$1(/* obj1, obj2, obj3, ... */) {
|
|
364
401
|
const {caseless} = isContextDefined(this) && this || {};
|
|
365
402
|
const result = {};
|
|
366
403
|
const assignValue = (val, key) => {
|
|
367
404
|
const targetKey = caseless && findKey(result, key) || key;
|
|
368
|
-
if (isPlainObject$
|
|
369
|
-
result[targetKey] = merge(result[targetKey], val);
|
|
370
|
-
} else if (isPlainObject$
|
|
371
|
-
result[targetKey] = merge({}, val);
|
|
372
|
-
} else if (isArray$
|
|
405
|
+
if (isPlainObject$3(result[targetKey]) && isPlainObject$3(val)) {
|
|
406
|
+
result[targetKey] = merge$1(result[targetKey], val);
|
|
407
|
+
} else if (isPlainObject$3(val)) {
|
|
408
|
+
result[targetKey] = merge$1({}, val);
|
|
409
|
+
} else if (isArray$3(val)) {
|
|
373
410
|
result[targetKey] = val.slice();
|
|
374
411
|
} else {
|
|
375
412
|
result[targetKey] = val;
|
|
@@ -394,7 +431,7 @@
|
|
|
394
431
|
*/
|
|
395
432
|
const extend = (a, b, thisArg, {allOwnKeys}= {}) => {
|
|
396
433
|
forEach$1(b, (val, key) => {
|
|
397
|
-
if (thisArg && isFunction$
|
|
434
|
+
if (thisArg && isFunction$2(val)) {
|
|
398
435
|
a[key] = bind(val, thisArg);
|
|
399
436
|
} else {
|
|
400
437
|
a[key] = val;
|
|
@@ -499,7 +536,7 @@
|
|
|
499
536
|
*/
|
|
500
537
|
const toArray = (thing) => {
|
|
501
538
|
if (!thing) return null;
|
|
502
|
-
if (isArray$
|
|
539
|
+
if (isArray$3(thing)) return thing;
|
|
503
540
|
let i = thing.length;
|
|
504
541
|
if (!isNumber$2(i)) return null;
|
|
505
542
|
const arr = new Array(i);
|
|
@@ -518,7 +555,7 @@
|
|
|
518
555
|
* @returns {Array}
|
|
519
556
|
*/
|
|
520
557
|
// eslint-disable-next-line func-names
|
|
521
|
-
const isTypedArray$
|
|
558
|
+
const isTypedArray$2 = (TypedArray => {
|
|
522
559
|
// eslint-disable-next-line func-names
|
|
523
560
|
return thing => {
|
|
524
561
|
return TypedArray && thing instanceof TypedArray;
|
|
@@ -577,7 +614,7 @@
|
|
|
577
614
|
};
|
|
578
615
|
|
|
579
616
|
/* Creating a function that will check if an object has a property. */
|
|
580
|
-
const hasOwnProperty$
|
|
617
|
+
const hasOwnProperty$9 = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
|
|
581
618
|
|
|
582
619
|
/**
|
|
583
620
|
* Determine if a value is a RegExp object
|
|
@@ -610,13 +647,13 @@
|
|
|
610
647
|
const freezeMethods = (obj) => {
|
|
611
648
|
reduceDescriptors(obj, (descriptor, name) => {
|
|
612
649
|
// skip restricted props in strict mode
|
|
613
|
-
if (isFunction$
|
|
650
|
+
if (isFunction$2(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
|
|
614
651
|
return false;
|
|
615
652
|
}
|
|
616
653
|
|
|
617
654
|
const value = obj[name];
|
|
618
655
|
|
|
619
|
-
if (!isFunction$
|
|
656
|
+
if (!isFunction$2(value)) return;
|
|
620
657
|
|
|
621
658
|
descriptor.enumerable = false;
|
|
622
659
|
|
|
@@ -642,7 +679,7 @@
|
|
|
642
679
|
});
|
|
643
680
|
};
|
|
644
681
|
|
|
645
|
-
isArray$
|
|
682
|
+
isArray$3(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
|
|
646
683
|
|
|
647
684
|
return obj;
|
|
648
685
|
};
|
|
@@ -661,7 +698,7 @@
|
|
|
661
698
|
* @returns {boolean}
|
|
662
699
|
*/
|
|
663
700
|
function isSpecCompliantForm(thing) {
|
|
664
|
-
return !!(thing && isFunction$
|
|
701
|
+
return !!(thing && isFunction$2(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
|
|
665
702
|
}
|
|
666
703
|
|
|
667
704
|
const toJSONObject = (obj) => {
|
|
@@ -669,14 +706,14 @@
|
|
|
669
706
|
|
|
670
707
|
const visit = (source, i) => {
|
|
671
708
|
|
|
672
|
-
if (isObject$
|
|
709
|
+
if (isObject$2(source)) {
|
|
673
710
|
if (stack.indexOf(source) >= 0) {
|
|
674
711
|
return;
|
|
675
712
|
}
|
|
676
713
|
|
|
677
714
|
if(!('toJSON' in source)) {
|
|
678
715
|
stack[i] = source;
|
|
679
|
-
const target = isArray$
|
|
716
|
+
const target = isArray$3(source) ? [] : {};
|
|
680
717
|
|
|
681
718
|
forEach$1(source, (value, key) => {
|
|
682
719
|
const reducedValue = visit(value, i + 1);
|
|
@@ -698,7 +735,7 @@
|
|
|
698
735
|
const isAsyncFn = kindOfTest('AsyncFunction');
|
|
699
736
|
|
|
700
737
|
const isThenable = (thing) =>
|
|
701
|
-
thing && (isObject$
|
|
738
|
+
thing && (isObject$2(thing) || isFunction$2(thing)) && isFunction$2(thing.then) && isFunction$2(thing.catch);
|
|
702
739
|
|
|
703
740
|
// original code
|
|
704
741
|
// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
|
|
@@ -722,7 +759,7 @@
|
|
|
722
759
|
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
|
|
723
760
|
})(
|
|
724
761
|
typeof setImmediate === 'function',
|
|
725
|
-
isFunction$
|
|
762
|
+
isFunction$2(_global$1.postMessage)
|
|
726
763
|
);
|
|
727
764
|
|
|
728
765
|
const asap = typeof queueMicrotask !== 'undefined' ?
|
|
@@ -731,20 +768,20 @@
|
|
|
731
768
|
// *********************
|
|
732
769
|
|
|
733
770
|
|
|
734
|
-
const isIterable = (thing) => thing != null && isFunction$
|
|
771
|
+
const isIterable = (thing) => thing != null && isFunction$2(thing[iterator]);
|
|
735
772
|
|
|
736
773
|
|
|
737
774
|
var utils$1 = {
|
|
738
|
-
isArray: isArray$
|
|
775
|
+
isArray: isArray$3,
|
|
739
776
|
isArrayBuffer,
|
|
740
|
-
isBuffer,
|
|
777
|
+
isBuffer: isBuffer$1,
|
|
741
778
|
isFormData,
|
|
742
779
|
isArrayBufferView,
|
|
743
780
|
isString: isString$2,
|
|
744
781
|
isNumber: isNumber$2,
|
|
745
782
|
isBoolean: isBoolean$2,
|
|
746
|
-
isObject: isObject$
|
|
747
|
-
isPlainObject: isPlainObject$
|
|
783
|
+
isObject: isObject$2,
|
|
784
|
+
isPlainObject: isPlainObject$3,
|
|
748
785
|
isReadableStream,
|
|
749
786
|
isRequest,
|
|
750
787
|
isResponse,
|
|
@@ -754,13 +791,13 @@
|
|
|
754
791
|
isFile,
|
|
755
792
|
isBlob,
|
|
756
793
|
isRegExp: isRegExp$2,
|
|
757
|
-
isFunction: isFunction$
|
|
794
|
+
isFunction: isFunction$2,
|
|
758
795
|
isStream,
|
|
759
796
|
isURLSearchParams,
|
|
760
|
-
isTypedArray: isTypedArray$
|
|
797
|
+
isTypedArray: isTypedArray$2,
|
|
761
798
|
isFileList,
|
|
762
799
|
forEach: forEach$1,
|
|
763
|
-
merge,
|
|
800
|
+
merge: merge$1,
|
|
764
801
|
extend,
|
|
765
802
|
trim,
|
|
766
803
|
stripBOM,
|
|
@@ -773,8 +810,8 @@
|
|
|
773
810
|
forEachEntry,
|
|
774
811
|
matchAll,
|
|
775
812
|
isHTMLForm,
|
|
776
|
-
hasOwnProperty: hasOwnProperty$
|
|
777
|
-
hasOwnProp: hasOwnProperty$
|
|
813
|
+
hasOwnProperty: hasOwnProperty$9,
|
|
814
|
+
hasOwnProp: hasOwnProperty$9, // an alias to avoid ESLint no-prototype-builtins detection
|
|
778
815
|
reduceDescriptors,
|
|
779
816
|
freezeMethods,
|
|
780
817
|
toObjectSet,
|
|
@@ -16092,7 +16129,7 @@
|
|
|
16092
16129
|
const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g;
|
|
16093
16130
|
/* eslint-disable */
|
|
16094
16131
|
function format$1(message, ...args) {
|
|
16095
|
-
if (args.length === 1 && isObject(args[0])) {
|
|
16132
|
+
if (args.length === 1 && isObject$1(args[0])) {
|
|
16096
16133
|
args = args[0];
|
|
16097
16134
|
}
|
|
16098
16135
|
if (!args || !args.hasOwnProperty) {
|
|
@@ -16111,7 +16148,7 @@
|
|
|
16111
16148
|
const isNumber$1 = (val) => typeof val === 'number' && isFinite(val);
|
|
16112
16149
|
const isDate$1 = (val) => toTypeString(val) === '[object Date]';
|
|
16113
16150
|
const isRegExp$1 = (val) => toTypeString(val) === '[object RegExp]';
|
|
16114
|
-
const isEmptyObject$1 = (val) => isPlainObject$
|
|
16151
|
+
const isEmptyObject$1 = (val) => isPlainObject$2(val) && Object.keys(val).length === 0;
|
|
16115
16152
|
const assign$2 = Object.assign;
|
|
16116
16153
|
const _create = Object.create;
|
|
16117
16154
|
const create$1 = (obj = null) => _create(obj);
|
|
@@ -16137,9 +16174,9 @@
|
|
|
16137
16174
|
.replace(/"/g, '"')
|
|
16138
16175
|
.replace(/'/g, ''');
|
|
16139
16176
|
}
|
|
16140
|
-
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
16177
|
+
const hasOwnProperty$8 = Object.prototype.hasOwnProperty;
|
|
16141
16178
|
function hasOwn(obj, key) {
|
|
16142
|
-
return hasOwnProperty.call(obj, key);
|
|
16179
|
+
return hasOwnProperty$8.call(obj, key);
|
|
16143
16180
|
}
|
|
16144
16181
|
/* eslint-enable */
|
|
16145
16182
|
/**
|
|
@@ -16149,24 +16186,24 @@
|
|
|
16149
16186
|
* https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts
|
|
16150
16187
|
* https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts
|
|
16151
16188
|
*/
|
|
16152
|
-
const isArray$
|
|
16153
|
-
const isFunction = (val) => typeof val === 'function';
|
|
16189
|
+
const isArray$2 = Array.isArray;
|
|
16190
|
+
const isFunction$1 = (val) => typeof val === 'function';
|
|
16154
16191
|
const isString$1 = (val) => typeof val === 'string';
|
|
16155
16192
|
const isBoolean$1 = (val) => typeof val === 'boolean';
|
|
16156
16193
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16157
|
-
const isObject = (val) => val !== null && typeof val === 'object';
|
|
16194
|
+
const isObject$1 = (val) => val !== null && typeof val === 'object';
|
|
16158
16195
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16159
16196
|
const isPromise = (val) => {
|
|
16160
|
-
return isObject(val) && isFunction(val.then) && isFunction(val.catch);
|
|
16197
|
+
return isObject$1(val) && isFunction$1(val.then) && isFunction$1(val.catch);
|
|
16161
16198
|
};
|
|
16162
|
-
const objectToString = Object.prototype.toString;
|
|
16163
|
-
const toTypeString = (value) => objectToString.call(value);
|
|
16164
|
-
const isPlainObject$
|
|
16199
|
+
const objectToString$1 = Object.prototype.toString;
|
|
16200
|
+
const toTypeString = (value) => objectToString$1.call(value);
|
|
16201
|
+
const isPlainObject$2 = (val) => toTypeString(val) === '[object Object]';
|
|
16165
16202
|
// for converting list and named values to displayed strings.
|
|
16166
16203
|
const toDisplayString = (val) => {
|
|
16167
16204
|
return val == null
|
|
16168
16205
|
? ''
|
|
16169
|
-
: isArray$
|
|
16206
|
+
: isArray$2(val) || (isPlainObject$2(val) && val.toString === objectToString$1)
|
|
16170
16207
|
? JSON.stringify(val, null, 2)
|
|
16171
16208
|
: String(val);
|
|
16172
16209
|
};
|
|
@@ -16265,7 +16302,7 @@
|
|
|
16265
16302
|
return emitter;
|
|
16266
16303
|
}
|
|
16267
16304
|
|
|
16268
|
-
const isNotObjectOrIsArray = (val) => !isObject(val) || isArray$
|
|
16305
|
+
const isNotObjectOrIsArray = (val) => !isObject$1(val) || isArray$2(val);
|
|
16269
16306
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16270
16307
|
function deepCopy(src, des) {
|
|
16271
16308
|
// src and des should both be objects, and none of them can be a array
|
|
@@ -16282,7 +16319,7 @@
|
|
|
16282
16319
|
}
|
|
16283
16320
|
// if src[key] is an object/array, set des[key]
|
|
16284
16321
|
// to empty object/array to prevent setting by reference
|
|
16285
|
-
if (isObject(src[key]) && !isObject(des[key])) {
|
|
16322
|
+
if (isObject$1(src[key]) && !isObject$1(des[key])) {
|
|
16286
16323
|
des[key] = Array.isArray(src[key]) ? [] : create$1();
|
|
16287
16324
|
}
|
|
16288
16325
|
if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {
|
|
@@ -17825,7 +17862,7 @@
|
|
|
17825
17862
|
}
|
|
17826
17863
|
|
|
17827
17864
|
function isMessageAST(val) {
|
|
17828
|
-
return (isObject(val) &&
|
|
17865
|
+
return (isObject$1(val) &&
|
|
17829
17866
|
resolveType(val) === 0 &&
|
|
17830
17867
|
(hasOwn(val, 'b') || hasOwn(val, 'body')));
|
|
17831
17868
|
}
|
|
@@ -18106,7 +18143,7 @@
|
|
|
18106
18143
|
return locale;
|
|
18107
18144
|
}
|
|
18108
18145
|
else {
|
|
18109
|
-
if (isFunction(locale)) {
|
|
18146
|
+
if (isFunction$1(locale)) {
|
|
18110
18147
|
if (locale.resolvedOnce && _resolveLocale != null) {
|
|
18111
18148
|
return _resolveLocale;
|
|
18112
18149
|
}
|
|
@@ -18146,9 +18183,9 @@
|
|
|
18146
18183
|
// prettier-ignore
|
|
18147
18184
|
return [...new Set([
|
|
18148
18185
|
start,
|
|
18149
|
-
...(isArray$
|
|
18186
|
+
...(isArray$2(fallback)
|
|
18150
18187
|
? fallback
|
|
18151
|
-
: isObject(fallback)
|
|
18188
|
+
: isObject$1(fallback)
|
|
18152
18189
|
? Object.keys(fallback)
|
|
18153
18190
|
: isString$1(fallback)
|
|
18154
18191
|
? [fallback]
|
|
@@ -18183,19 +18220,19 @@
|
|
|
18183
18220
|
// first block defined by start
|
|
18184
18221
|
let block = [start];
|
|
18185
18222
|
// while any intervening block found
|
|
18186
|
-
while (isArray$
|
|
18223
|
+
while (isArray$2(block)) {
|
|
18187
18224
|
block = appendBlockToChain(chain, block, fallback);
|
|
18188
18225
|
}
|
|
18189
18226
|
// prettier-ignore
|
|
18190
18227
|
// last block defined by default
|
|
18191
|
-
const defaults = isArray$
|
|
18228
|
+
const defaults = isArray$2(fallback) || !isPlainObject$2(fallback)
|
|
18192
18229
|
? fallback
|
|
18193
18230
|
: fallback['default']
|
|
18194
18231
|
? fallback['default']
|
|
18195
18232
|
: null;
|
|
18196
18233
|
// convert defaults to array
|
|
18197
18234
|
block = isString$1(defaults) ? [defaults] : defaults;
|
|
18198
|
-
if (isArray$
|
|
18235
|
+
if (isArray$2(block)) {
|
|
18199
18236
|
appendBlockToChain(chain, block, false);
|
|
18200
18237
|
}
|
|
18201
18238
|
context.__localeChainCache.set(startLocale, chain);
|
|
@@ -18230,7 +18267,7 @@
|
|
|
18230
18267
|
follow = target[target.length - 1] !== '!';
|
|
18231
18268
|
const locale = target.replace(/!/g, '');
|
|
18232
18269
|
chain.push(locale);
|
|
18233
|
-
if ((isArray$
|
|
18270
|
+
if ((isArray$2(blocks) || isPlainObject$2(blocks)) &&
|
|
18234
18271
|
blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
18235
18272
|
) {
|
|
18236
18273
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -18459,7 +18496,7 @@
|
|
|
18459
18496
|
* @VueI18nGeneral
|
|
18460
18497
|
*/
|
|
18461
18498
|
function resolveWithKeyValue(obj, path) {
|
|
18462
|
-
return isObject(obj) ? obj[path] : null;
|
|
18499
|
+
return isObject$1(obj) ? obj[path] : null;
|
|
18463
18500
|
}
|
|
18464
18501
|
/**
|
|
18465
18502
|
* message resolver
|
|
@@ -18476,7 +18513,7 @@
|
|
|
18476
18513
|
*/
|
|
18477
18514
|
function resolveValue(obj, path) {
|
|
18478
18515
|
// check object
|
|
18479
|
-
if (!isObject(obj)) {
|
|
18516
|
+
if (!isObject$1(obj)) {
|
|
18480
18517
|
return null;
|
|
18481
18518
|
}
|
|
18482
18519
|
// parse path
|
|
@@ -18509,7 +18546,7 @@
|
|
|
18509
18546
|
if (val === undefined) {
|
|
18510
18547
|
return null;
|
|
18511
18548
|
}
|
|
18512
|
-
if (isFunction(last)) {
|
|
18549
|
+
if (isFunction$1(last)) {
|
|
18513
18550
|
return null;
|
|
18514
18551
|
}
|
|
18515
18552
|
last = val;
|
|
@@ -18558,7 +18595,7 @@
|
|
|
18558
18595
|
// prettier-ignore
|
|
18559
18596
|
return type === 'text' && isString$1(val)
|
|
18560
18597
|
? val.toUpperCase()
|
|
18561
|
-
: type === 'vnode' && isObject(val) && '__v_isVNode' in val
|
|
18598
|
+
: type === 'vnode' && isObject$1(val) && '__v_isVNode' in val
|
|
18562
18599
|
? val.children.toUpperCase()
|
|
18563
18600
|
: val;
|
|
18564
18601
|
},
|
|
@@ -18566,7 +18603,7 @@
|
|
|
18566
18603
|
// prettier-ignore
|
|
18567
18604
|
return type === 'text' && isString$1(val)
|
|
18568
18605
|
? val.toLowerCase()
|
|
18569
|
-
: type === 'vnode' && isObject(val) && '__v_isVNode' in val
|
|
18606
|
+
: type === 'vnode' && isObject$1(val) && '__v_isVNode' in val
|
|
18570
18607
|
? val.children.toLowerCase()
|
|
18571
18608
|
: val;
|
|
18572
18609
|
},
|
|
@@ -18574,7 +18611,7 @@
|
|
|
18574
18611
|
// prettier-ignore
|
|
18575
18612
|
return (type === 'text' && isString$1(val)
|
|
18576
18613
|
? capitalize(val)
|
|
18577
|
-
: type === 'vnode' && isObject(val) && '__v_isVNode' in val
|
|
18614
|
+
: type === 'vnode' && isObject$1(val) && '__v_isVNode' in val
|
|
18578
18615
|
? capitalize(val.children)
|
|
18579
18616
|
: val);
|
|
18580
18617
|
}
|
|
@@ -18623,32 +18660,32 @@
|
|
|
18623
18660
|
let _cid = 0;
|
|
18624
18661
|
function createCoreContext(options = {}) {
|
|
18625
18662
|
// setup options
|
|
18626
|
-
const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
|
|
18663
|
+
const onWarn = isFunction$1(options.onWarn) ? options.onWarn : warn;
|
|
18627
18664
|
const version = isString$1(options.version) ? options.version : VERSION$1;
|
|
18628
|
-
const locale = isString$1(options.locale) || isFunction(options.locale)
|
|
18665
|
+
const locale = isString$1(options.locale) || isFunction$1(options.locale)
|
|
18629
18666
|
? options.locale
|
|
18630
18667
|
: DEFAULT_LOCALE;
|
|
18631
|
-
const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
|
|
18632
|
-
const fallbackLocale = isArray$
|
|
18633
|
-
isPlainObject$
|
|
18668
|
+
const _locale = isFunction$1(locale) ? DEFAULT_LOCALE : locale;
|
|
18669
|
+
const fallbackLocale = isArray$2(options.fallbackLocale) ||
|
|
18670
|
+
isPlainObject$2(options.fallbackLocale) ||
|
|
18634
18671
|
isString$1(options.fallbackLocale) ||
|
|
18635
18672
|
options.fallbackLocale === false
|
|
18636
18673
|
? options.fallbackLocale
|
|
18637
18674
|
: _locale;
|
|
18638
|
-
const messages = isPlainObject$
|
|
18675
|
+
const messages = isPlainObject$2(options.messages)
|
|
18639
18676
|
? options.messages
|
|
18640
18677
|
: createResources(_locale);
|
|
18641
|
-
const datetimeFormats = isPlainObject$
|
|
18678
|
+
const datetimeFormats = isPlainObject$2(options.datetimeFormats)
|
|
18642
18679
|
? options.datetimeFormats
|
|
18643
18680
|
: createResources(_locale)
|
|
18644
18681
|
;
|
|
18645
|
-
const numberFormats = isPlainObject$
|
|
18682
|
+
const numberFormats = isPlainObject$2(options.numberFormats)
|
|
18646
18683
|
? options.numberFormats
|
|
18647
18684
|
: createResources(_locale)
|
|
18648
18685
|
;
|
|
18649
18686
|
const modifiers = assign$2(create$1(), options.modifiers, getDefaultLinkedModifiers());
|
|
18650
18687
|
const pluralRules = options.pluralRules || create$1();
|
|
18651
|
-
const missing = isFunction(options.missing) ? options.missing : null;
|
|
18688
|
+
const missing = isFunction$1(options.missing) ? options.missing : null;
|
|
18652
18689
|
const missingWarn = isBoolean$1(options.missingWarn) || isRegExp$1(options.missingWarn)
|
|
18653
18690
|
? options.missingWarn
|
|
18654
18691
|
: true;
|
|
@@ -18657,43 +18694,43 @@
|
|
|
18657
18694
|
: true;
|
|
18658
18695
|
const fallbackFormat = !!options.fallbackFormat;
|
|
18659
18696
|
const unresolving = !!options.unresolving;
|
|
18660
|
-
const postTranslation = isFunction(options.postTranslation)
|
|
18697
|
+
const postTranslation = isFunction$1(options.postTranslation)
|
|
18661
18698
|
? options.postTranslation
|
|
18662
18699
|
: null;
|
|
18663
|
-
const processor = isPlainObject$
|
|
18700
|
+
const processor = isPlainObject$2(options.processor) ? options.processor : null;
|
|
18664
18701
|
const warnHtmlMessage = isBoolean$1(options.warnHtmlMessage)
|
|
18665
18702
|
? options.warnHtmlMessage
|
|
18666
18703
|
: true;
|
|
18667
18704
|
const escapeParameter = !!options.escapeParameter;
|
|
18668
|
-
const messageCompiler = isFunction(options.messageCompiler)
|
|
18705
|
+
const messageCompiler = isFunction$1(options.messageCompiler)
|
|
18669
18706
|
? options.messageCompiler
|
|
18670
18707
|
: _compiler;
|
|
18671
18708
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
18672
18709
|
true &&
|
|
18673
18710
|
true &&
|
|
18674
|
-
isFunction(options.messageCompiler)) {
|
|
18711
|
+
isFunction$1(options.messageCompiler)) {
|
|
18675
18712
|
warnOnce(getWarnMessage$1(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));
|
|
18676
18713
|
}
|
|
18677
|
-
const messageResolver = isFunction(options.messageResolver)
|
|
18714
|
+
const messageResolver = isFunction$1(options.messageResolver)
|
|
18678
18715
|
? options.messageResolver
|
|
18679
18716
|
: _resolver || resolveWithKeyValue;
|
|
18680
|
-
const localeFallbacker = isFunction(options.localeFallbacker)
|
|
18717
|
+
const localeFallbacker = isFunction$1(options.localeFallbacker)
|
|
18681
18718
|
? options.localeFallbacker
|
|
18682
18719
|
: _fallbacker || fallbackWithSimple;
|
|
18683
|
-
const fallbackContext = isObject(options.fallbackContext)
|
|
18720
|
+
const fallbackContext = isObject$1(options.fallbackContext)
|
|
18684
18721
|
? options.fallbackContext
|
|
18685
18722
|
: undefined;
|
|
18686
18723
|
// setup internal options
|
|
18687
18724
|
const internalOptions = options;
|
|
18688
|
-
const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)
|
|
18725
|
+
const __datetimeFormatters = isObject$1(internalOptions.__datetimeFormatters)
|
|
18689
18726
|
? internalOptions.__datetimeFormatters
|
|
18690
18727
|
: new Map()
|
|
18691
18728
|
;
|
|
18692
|
-
const __numberFormatters = isObject(internalOptions.__numberFormatters)
|
|
18729
|
+
const __numberFormatters = isObject$1(internalOptions.__numberFormatters)
|
|
18693
18730
|
? internalOptions.__numberFormatters
|
|
18694
18731
|
: new Map()
|
|
18695
18732
|
;
|
|
18696
|
-
const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};
|
|
18733
|
+
const __meta = isObject$1(internalOptions.__meta) ? internalOptions.__meta : {};
|
|
18697
18734
|
_cid++;
|
|
18698
18735
|
const context = {
|
|
18699
18736
|
version,
|
|
@@ -18861,13 +18898,13 @@
|
|
|
18861
18898
|
datetimeFormat =
|
|
18862
18899
|
datetimeFormats[targetLocale] || {};
|
|
18863
18900
|
format = datetimeFormat[key];
|
|
18864
|
-
if (isPlainObject$
|
|
18901
|
+
if (isPlainObject$2(format))
|
|
18865
18902
|
break;
|
|
18866
18903
|
handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
18867
18904
|
from = to;
|
|
18868
18905
|
}
|
|
18869
18906
|
// checking format and target locale
|
|
18870
|
-
if (!isPlainObject$
|
|
18907
|
+
if (!isPlainObject$2(format) || !isString$1(targetLocale)) {
|
|
18871
18908
|
return unresolving ? NOT_REOSLVED : key;
|
|
18872
18909
|
}
|
|
18873
18910
|
let id = `${targetLocale}__${key}`;
|
|
@@ -18948,7 +18985,7 @@
|
|
|
18948
18985
|
if (isString$1(arg2)) {
|
|
18949
18986
|
options.key = arg2;
|
|
18950
18987
|
}
|
|
18951
|
-
else if (isPlainObject$
|
|
18988
|
+
else if (isPlainObject$2(arg2)) {
|
|
18952
18989
|
Object.keys(arg2).forEach(key => {
|
|
18953
18990
|
if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {
|
|
18954
18991
|
overrides[key] = arg2[key];
|
|
@@ -18961,10 +18998,10 @@
|
|
|
18961
18998
|
if (isString$1(arg3)) {
|
|
18962
18999
|
options.locale = arg3;
|
|
18963
19000
|
}
|
|
18964
|
-
else if (isPlainObject$
|
|
19001
|
+
else if (isPlainObject$2(arg3)) {
|
|
18965
19002
|
overrides = arg3;
|
|
18966
19003
|
}
|
|
18967
|
-
if (isPlainObject$
|
|
19004
|
+
if (isPlainObject$2(arg4)) {
|
|
18968
19005
|
overrides = arg4;
|
|
18969
19006
|
}
|
|
18970
19007
|
return [options.key || '', value, options, overrides];
|
|
@@ -19036,13 +19073,13 @@
|
|
|
19036
19073
|
numberFormat =
|
|
19037
19074
|
numberFormats[targetLocale] || {};
|
|
19038
19075
|
format = numberFormat[key];
|
|
19039
|
-
if (isPlainObject$
|
|
19076
|
+
if (isPlainObject$2(format))
|
|
19040
19077
|
break;
|
|
19041
19078
|
handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
19042
19079
|
from = to;
|
|
19043
19080
|
}
|
|
19044
19081
|
// checking format and target locale
|
|
19045
|
-
if (!isPlainObject$
|
|
19082
|
+
if (!isPlainObject$2(format) || !isString$1(targetLocale)) {
|
|
19046
19083
|
return unresolving ? NOT_REOSLVED : key;
|
|
19047
19084
|
}
|
|
19048
19085
|
let id = `${targetLocale}__${key}`;
|
|
@@ -19091,7 +19128,7 @@
|
|
|
19091
19128
|
if (isString$1(arg2)) {
|
|
19092
19129
|
options.key = arg2;
|
|
19093
19130
|
}
|
|
19094
|
-
else if (isPlainObject$
|
|
19131
|
+
else if (isPlainObject$2(arg2)) {
|
|
19095
19132
|
Object.keys(arg2).forEach(key => {
|
|
19096
19133
|
if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {
|
|
19097
19134
|
overrides[key] = arg2[key];
|
|
@@ -19104,10 +19141,10 @@
|
|
|
19104
19141
|
if (isString$1(arg3)) {
|
|
19105
19142
|
options.locale = arg3;
|
|
19106
19143
|
}
|
|
19107
|
-
else if (isPlainObject$
|
|
19144
|
+
else if (isPlainObject$2(arg3)) {
|
|
19108
19145
|
overrides = arg3;
|
|
19109
19146
|
}
|
|
19110
|
-
if (isPlainObject$
|
|
19147
|
+
if (isPlainObject$2(arg4)) {
|
|
19111
19148
|
overrides = arg4;
|
|
19112
19149
|
}
|
|
19113
19150
|
return [options.key || '', value, options, overrides];
|
|
@@ -19166,14 +19203,14 @@
|
|
|
19166
19203
|
function createMessageContext(options = {}) {
|
|
19167
19204
|
const locale = options.locale;
|
|
19168
19205
|
const pluralIndex = getPluralIndex(options);
|
|
19169
|
-
const pluralRule = isObject(options.pluralRules) &&
|
|
19206
|
+
const pluralRule = isObject$1(options.pluralRules) &&
|
|
19170
19207
|
isString$1(locale) &&
|
|
19171
|
-
isFunction(options.pluralRules[locale])
|
|
19208
|
+
isFunction$1(options.pluralRules[locale])
|
|
19172
19209
|
? options.pluralRules[locale]
|
|
19173
19210
|
: pluralDefault;
|
|
19174
|
-
const orgPluralRule = isObject(options.pluralRules) &&
|
|
19211
|
+
const orgPluralRule = isObject$1(options.pluralRules) &&
|
|
19175
19212
|
isString$1(locale) &&
|
|
19176
|
-
isFunction(options.pluralRules[locale])
|
|
19213
|
+
isFunction$1(options.pluralRules[locale])
|
|
19177
19214
|
? pluralDefault
|
|
19178
19215
|
: undefined;
|
|
19179
19216
|
const plural = (messages) => {
|
|
@@ -19187,9 +19224,9 @@
|
|
|
19187
19224
|
const named = (key) => _named[key];
|
|
19188
19225
|
function message(key, useLinked) {
|
|
19189
19226
|
// prettier-ignore
|
|
19190
|
-
const msg = isFunction(options.messages)
|
|
19227
|
+
const msg = isFunction$1(options.messages)
|
|
19191
19228
|
? options.messages(key, !!useLinked)
|
|
19192
|
-
: isObject(options.messages)
|
|
19229
|
+
: isObject$1(options.messages)
|
|
19193
19230
|
? options.messages[key]
|
|
19194
19231
|
: false;
|
|
19195
19232
|
return !msg
|
|
@@ -19201,14 +19238,14 @@
|
|
|
19201
19238
|
const _modifier = (name) => options.modifiers
|
|
19202
19239
|
? options.modifiers[name]
|
|
19203
19240
|
: DEFAULT_MODIFIER;
|
|
19204
|
-
const normalize = isPlainObject$
|
|
19241
|
+
const normalize = isPlainObject$2(options.processor) && isFunction$1(options.processor.normalize)
|
|
19205
19242
|
? options.processor.normalize
|
|
19206
19243
|
: DEFAULT_NORMALIZE;
|
|
19207
|
-
const interpolate = isPlainObject$
|
|
19208
|
-
isFunction(options.processor.interpolate)
|
|
19244
|
+
const interpolate = isPlainObject$2(options.processor) &&
|
|
19245
|
+
isFunction$1(options.processor.interpolate)
|
|
19209
19246
|
? options.processor.interpolate
|
|
19210
19247
|
: DEFAULT_INTERPOLATE;
|
|
19211
|
-
const type = isPlainObject$
|
|
19248
|
+
const type = isPlainObject$2(options.processor) && isString$1(options.processor.type)
|
|
19212
19249
|
? options.processor.type
|
|
19213
19250
|
: DEFAULT_MESSAGE_DATA_TYPE;
|
|
19214
19251
|
const linked = (key, ...args) => {
|
|
@@ -19216,7 +19253,7 @@
|
|
|
19216
19253
|
let type = 'text';
|
|
19217
19254
|
let modifier = '';
|
|
19218
19255
|
if (args.length === 1) {
|
|
19219
|
-
if (isObject(arg1)) {
|
|
19256
|
+
if (isObject$1(arg1)) {
|
|
19220
19257
|
modifier = arg1.modifier || modifier;
|
|
19221
19258
|
type = arg1.type || type;
|
|
19222
19259
|
}
|
|
@@ -19235,7 +19272,7 @@
|
|
|
19235
19272
|
const ret = message(key, true)(ctx);
|
|
19236
19273
|
const msg =
|
|
19237
19274
|
// The message in vnode resolved with linked are returned as an array by processor.nomalize
|
|
19238
|
-
type === 'vnode' && isArray$
|
|
19275
|
+
type === 'vnode' && isArray$2(ret) && modifier
|
|
19239
19276
|
? ret[0]
|
|
19240
19277
|
: ret;
|
|
19241
19278
|
return modifier ? _modifier(modifier)(msg, type) : msg;
|
|
@@ -19255,7 +19292,7 @@
|
|
|
19255
19292
|
}
|
|
19256
19293
|
|
|
19257
19294
|
const NOOP_MESSAGE_FUNCTION = () => '';
|
|
19258
|
-
const isMessageFunction = (val) => isFunction(val);
|
|
19295
|
+
const isMessageFunction = (val) => isFunction$1(val);
|
|
19259
19296
|
// implementation of `translate` function
|
|
19260
19297
|
function translate(context, ...args) {
|
|
19261
19298
|
const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;
|
|
@@ -19280,7 +19317,7 @@
|
|
|
19280
19317
|
: null;
|
|
19281
19318
|
const enableDefaultMsg = fallbackFormat ||
|
|
19282
19319
|
(defaultMsgOrKey != null &&
|
|
19283
|
-
(isString$1(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));
|
|
19320
|
+
(isString$1(defaultMsgOrKey) || isFunction$1(defaultMsgOrKey)));
|
|
19284
19321
|
const locale = getLocale(context, options);
|
|
19285
19322
|
// escape params
|
|
19286
19323
|
escapeParameter && escapeParams(options);
|
|
@@ -19373,10 +19410,10 @@
|
|
|
19373
19410
|
return ret;
|
|
19374
19411
|
}
|
|
19375
19412
|
function escapeParams(options) {
|
|
19376
|
-
if (isArray$
|
|
19413
|
+
if (isArray$2(options.list)) {
|
|
19377
19414
|
options.list = options.list.map(item => isString$1(item) ? escapeHtml(item) : item);
|
|
19378
19415
|
}
|
|
19379
|
-
else if (isObject(options.named)) {
|
|
19416
|
+
else if (isObject$1(options.named)) {
|
|
19380
19417
|
Object.keys(options.named).forEach(key => {
|
|
19381
19418
|
if (isString$1(options.named[key])) {
|
|
19382
19419
|
options.named[key] = escapeHtml(options.named[key]);
|
|
@@ -19565,10 +19602,10 @@
|
|
|
19565
19602
|
else if (isString$1(arg2)) {
|
|
19566
19603
|
options.default = arg2;
|
|
19567
19604
|
}
|
|
19568
|
-
else if (isPlainObject$
|
|
19605
|
+
else if (isPlainObject$2(arg2) && !isEmptyObject$1(arg2)) {
|
|
19569
19606
|
options.named = arg2;
|
|
19570
19607
|
}
|
|
19571
|
-
else if (isArray$
|
|
19608
|
+
else if (isArray$2(arg2)) {
|
|
19572
19609
|
options.list = arg2;
|
|
19573
19610
|
}
|
|
19574
19611
|
if (isNumber$1(arg3)) {
|
|
@@ -19577,7 +19614,7 @@
|
|
|
19577
19614
|
else if (isString$1(arg3)) {
|
|
19578
19615
|
options.default = arg3;
|
|
19579
19616
|
}
|
|
19580
|
-
else if (isPlainObject$
|
|
19617
|
+
else if (isPlainObject$2(arg3)) {
|
|
19581
19618
|
assign$2(options, arg3);
|
|
19582
19619
|
}
|
|
19583
19620
|
return [key, options];
|
|
@@ -19964,7 +20001,7 @@
|
|
|
19964
20001
|
*/
|
|
19965
20002
|
function handleFlatJson(obj) {
|
|
19966
20003
|
// check obj
|
|
19967
|
-
if (!isObject(obj)) {
|
|
20004
|
+
if (!isObject$1(obj)) {
|
|
19968
20005
|
return obj;
|
|
19969
20006
|
}
|
|
19970
20007
|
if (isMessageAST(obj)) {
|
|
@@ -19978,7 +20015,7 @@
|
|
|
19978
20015
|
// handle for normal json
|
|
19979
20016
|
if (!key.includes('.')) {
|
|
19980
20017
|
// recursive process value if value is also a object
|
|
19981
|
-
if (isObject(obj[key])) {
|
|
20018
|
+
if (isObject$1(obj[key])) {
|
|
19982
20019
|
handleFlatJson(obj[key]);
|
|
19983
20020
|
}
|
|
19984
20021
|
}
|
|
@@ -19996,7 +20033,7 @@
|
|
|
19996
20033
|
if (!(subKeys[i] in currentObj)) {
|
|
19997
20034
|
currentObj[subKeys[i]] = create$1();
|
|
19998
20035
|
}
|
|
19999
|
-
if (!isObject(currentObj[subKeys[i]])) {
|
|
20036
|
+
if (!isObject$1(currentObj[subKeys[i]])) {
|
|
20000
20037
|
(process.env.NODE_ENV !== 'production') &&
|
|
20001
20038
|
warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {
|
|
20002
20039
|
key: subKeys[i]
|
|
@@ -20025,7 +20062,7 @@
|
|
|
20025
20062
|
// recursive process value if value is also a object
|
|
20026
20063
|
if (!isMessageAST(currentObj)) {
|
|
20027
20064
|
const target = currentObj[subKeys[lastIndex]];
|
|
20028
|
-
if (isObject(target)) {
|
|
20065
|
+
if (isObject$1(target)) {
|
|
20029
20066
|
handleFlatJson(target);
|
|
20030
20067
|
}
|
|
20031
20068
|
}
|
|
@@ -20036,13 +20073,13 @@
|
|
|
20036
20073
|
function getLocaleMessages(locale, options) {
|
|
20037
20074
|
const { messages, __i18n, messageResolver, flatJson } = options;
|
|
20038
20075
|
// prettier-ignore
|
|
20039
|
-
const ret = (isPlainObject$
|
|
20076
|
+
const ret = (isPlainObject$2(messages)
|
|
20040
20077
|
? messages
|
|
20041
|
-
: isArray$
|
|
20078
|
+
: isArray$2(__i18n)
|
|
20042
20079
|
? create$1()
|
|
20043
20080
|
: { [locale]: create$1() });
|
|
20044
20081
|
// merge locale messages of i18n custom block
|
|
20045
|
-
if (isArray$
|
|
20082
|
+
if (isArray$2(__i18n)) {
|
|
20046
20083
|
__i18n.forEach(custom => {
|
|
20047
20084
|
if ('locale' in custom && 'resource' in custom) {
|
|
20048
20085
|
const { locale, resource } = custom;
|
|
@@ -20074,7 +20111,7 @@
|
|
|
20074
20111
|
}
|
|
20075
20112
|
function adjustI18nResources(gl, options, componentOptions) {
|
|
20076
20113
|
// prettier-ignore
|
|
20077
|
-
let messages = isObject(options.messages)
|
|
20114
|
+
let messages = isObject$1(options.messages)
|
|
20078
20115
|
? options.messages
|
|
20079
20116
|
: create$1();
|
|
20080
20117
|
if ('__i18nGlobal' in componentOptions) {
|
|
@@ -20092,7 +20129,7 @@
|
|
|
20092
20129
|
}
|
|
20093
20130
|
{
|
|
20094
20131
|
// merge datetime formats
|
|
20095
|
-
if (isObject(options.datetimeFormats)) {
|
|
20132
|
+
if (isObject$1(options.datetimeFormats)) {
|
|
20096
20133
|
const locales = Object.keys(options.datetimeFormats);
|
|
20097
20134
|
if (locales.length) {
|
|
20098
20135
|
locales.forEach(locale => {
|
|
@@ -20101,7 +20138,7 @@
|
|
|
20101
20138
|
}
|
|
20102
20139
|
}
|
|
20103
20140
|
// merge number formats
|
|
20104
|
-
if (isObject(options.numberFormats)) {
|
|
20141
|
+
if (isObject$1(options.numberFormats)) {
|
|
20105
20142
|
const locales = Object.keys(options.numberFormats);
|
|
20106
20143
|
if (locales.length) {
|
|
20107
20144
|
locales.forEach(locale => {
|
|
@@ -20160,19 +20197,19 @@
|
|
|
20160
20197
|
__root && _inheritLocale
|
|
20161
20198
|
? __root.fallbackLocale.value
|
|
20162
20199
|
: isString$1(options.fallbackLocale) ||
|
|
20163
|
-
isArray$
|
|
20164
|
-
isPlainObject$
|
|
20200
|
+
isArray$2(options.fallbackLocale) ||
|
|
20201
|
+
isPlainObject$2(options.fallbackLocale) ||
|
|
20165
20202
|
options.fallbackLocale === false
|
|
20166
20203
|
? options.fallbackLocale
|
|
20167
20204
|
: _locale.value);
|
|
20168
20205
|
const _messages = _ref(getLocaleMessages(_locale.value, options));
|
|
20169
20206
|
// prettier-ignore
|
|
20170
|
-
const _datetimeFormats = _ref(isPlainObject$
|
|
20207
|
+
const _datetimeFormats = _ref(isPlainObject$2(options.datetimeFormats)
|
|
20171
20208
|
? options.datetimeFormats
|
|
20172
20209
|
: { [_locale.value]: {} })
|
|
20173
20210
|
;
|
|
20174
20211
|
// prettier-ignore
|
|
20175
|
-
const _numberFormats = _ref(isPlainObject$
|
|
20212
|
+
const _numberFormats = _ref(isPlainObject$2(options.numberFormats)
|
|
20176
20213
|
? options.numberFormats
|
|
20177
20214
|
: { [_locale.value]: {} })
|
|
20178
20215
|
;
|
|
@@ -20198,12 +20235,12 @@
|
|
|
20198
20235
|
// configure fall back to root
|
|
20199
20236
|
let _fallbackFormat = !!options.fallbackFormat;
|
|
20200
20237
|
// runtime missing
|
|
20201
|
-
let _missing = isFunction(options.missing) ? options.missing : null;
|
|
20202
|
-
let _runtimeMissing = isFunction(options.missing)
|
|
20238
|
+
let _missing = isFunction$1(options.missing) ? options.missing : null;
|
|
20239
|
+
let _runtimeMissing = isFunction$1(options.missing)
|
|
20203
20240
|
? defineCoreMissingHandler(options.missing)
|
|
20204
20241
|
: null;
|
|
20205
20242
|
// postTranslation handler
|
|
20206
|
-
let _postTranslation = isFunction(options.postTranslation)
|
|
20243
|
+
let _postTranslation = isFunction$1(options.postTranslation)
|
|
20207
20244
|
? options.postTranslation
|
|
20208
20245
|
: null;
|
|
20209
20246
|
// prettier-ignore
|
|
@@ -20217,7 +20254,7 @@
|
|
|
20217
20254
|
// prettier-ignore
|
|
20218
20255
|
const _modifiers = __root
|
|
20219
20256
|
? __root.modifiers
|
|
20220
|
-
: isPlainObject$
|
|
20257
|
+
: isPlainObject$2(options.modifiers)
|
|
20221
20258
|
? options.modifiers
|
|
20222
20259
|
: {};
|
|
20223
20260
|
// pluralRules
|
|
@@ -20249,15 +20286,15 @@
|
|
|
20249
20286
|
{
|
|
20250
20287
|
ctxOptions.datetimeFormats = _datetimeFormats.value;
|
|
20251
20288
|
ctxOptions.numberFormats = _numberFormats.value;
|
|
20252
|
-
ctxOptions.__datetimeFormatters = isPlainObject$
|
|
20289
|
+
ctxOptions.__datetimeFormatters = isPlainObject$2(_context)
|
|
20253
20290
|
? _context.__datetimeFormatters
|
|
20254
20291
|
: undefined;
|
|
20255
|
-
ctxOptions.__numberFormatters = isPlainObject$
|
|
20292
|
+
ctxOptions.__numberFormatters = isPlainObject$2(_context)
|
|
20256
20293
|
? _context.__numberFormatters
|
|
20257
20294
|
: undefined;
|
|
20258
20295
|
}
|
|
20259
20296
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
20260
|
-
ctxOptions.__v_emitter = isPlainObject$
|
|
20297
|
+
ctxOptions.__v_emitter = isPlainObject$2(_context)
|
|
20261
20298
|
? _context.__v_emitter
|
|
20262
20299
|
: undefined;
|
|
20263
20300
|
}
|
|
@@ -20303,7 +20340,7 @@
|
|
|
20303
20340
|
const numberFormats = /* #__PURE__*/ vue.computed(() => _numberFormats.value);
|
|
20304
20341
|
// getPostTranslationHandler
|
|
20305
20342
|
function getPostTranslationHandler() {
|
|
20306
|
-
return isFunction(_postTranslation) ? _postTranslation : null;
|
|
20343
|
+
return isFunction$1(_postTranslation) ? _postTranslation : null;
|
|
20307
20344
|
}
|
|
20308
20345
|
// setPostTranslationHandler
|
|
20309
20346
|
function setPostTranslationHandler(handler) {
|
|
@@ -20396,18 +20433,18 @@
|
|
|
20396
20433
|
// rt
|
|
20397
20434
|
function rt(...args) {
|
|
20398
20435
|
const [arg1, arg2, arg3] = args;
|
|
20399
|
-
if (arg3 && !isObject(arg3)) {
|
|
20436
|
+
if (arg3 && !isObject$1(arg3)) {
|
|
20400
20437
|
throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
|
|
20401
20438
|
}
|
|
20402
20439
|
return t(...[arg1, arg2, assign$2({ resolvedMessage: true }, arg3 || {})]);
|
|
20403
20440
|
}
|
|
20404
20441
|
// d
|
|
20405
20442
|
function d(...args) {
|
|
20406
|
-
return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString$1(val) || isArray$
|
|
20443
|
+
return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString$1(val) || isArray$2(val));
|
|
20407
20444
|
}
|
|
20408
20445
|
// n
|
|
20409
20446
|
function n(...args) {
|
|
20410
|
-
return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString$1(val) || isArray$
|
|
20447
|
+
return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString$1(val) || isArray$2(val));
|
|
20411
20448
|
}
|
|
20412
20449
|
// for custom processor
|
|
20413
20450
|
function normalize(values) {
|
|
@@ -20434,15 +20471,15 @@
|
|
|
20434
20471
|
_context.processor = null;
|
|
20435
20472
|
}
|
|
20436
20473
|
return ret;
|
|
20437
|
-
}, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray$
|
|
20474
|
+
}, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray$2(val));
|
|
20438
20475
|
}
|
|
20439
20476
|
// numberParts, using for `i18n-n` component
|
|
20440
20477
|
function numberParts(...args) {
|
|
20441
|
-
return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString$1(val) || isArray$
|
|
20478
|
+
return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString$1(val) || isArray$2(val));
|
|
20442
20479
|
}
|
|
20443
20480
|
// datetimeParts, using for `i18n-d` component
|
|
20444
20481
|
function datetimeParts(...args) {
|
|
20445
|
-
return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString$1(val) || isArray$
|
|
20482
|
+
return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString$1(val) || isArray$2(val));
|
|
20446
20483
|
}
|
|
20447
20484
|
function setPluralRules(rules) {
|
|
20448
20485
|
_pluralRules = rules;
|
|
@@ -20857,13 +20894,13 @@
|
|
|
20857
20894
|
const value = {};
|
|
20858
20895
|
Object.keys(messages).forEach((key) => {
|
|
20859
20896
|
const v = messages[key];
|
|
20860
|
-
if (isFunction(v) && 'source' in v) {
|
|
20897
|
+
if (isFunction$1(v) && 'source' in v) {
|
|
20861
20898
|
value[key] = getMessageFunctionDetails(v);
|
|
20862
20899
|
}
|
|
20863
20900
|
else if (isMessageAST(v) && v.loc && v.loc.source) {
|
|
20864
20901
|
value[key] = v.loc.source;
|
|
20865
20902
|
}
|
|
20866
|
-
else if (isObject(v)) {
|
|
20903
|
+
else if (isObject$1(v)) {
|
|
20867
20904
|
value[key] = getLocaleMessageValue(v);
|
|
20868
20905
|
}
|
|
20869
20906
|
else {
|
|
@@ -21055,8 +21092,8 @@
|
|
|
21055
21092
|
}
|
|
21056
21093
|
else if (field === 'fallbackLocale' &&
|
|
21057
21094
|
(isString$1(payload.state.value) ||
|
|
21058
|
-
isArray$
|
|
21059
|
-
isObject(payload.state.value))) {
|
|
21095
|
+
isArray$2(payload.state.value) ||
|
|
21096
|
+
isObject$1(payload.state.value))) {
|
|
21060
21097
|
composer.fallbackLocale.value = payload.state.value;
|
|
21061
21098
|
}
|
|
21062
21099
|
else if (field === 'inheritLocale' && isBoolean$1(payload.state.value)) {
|
|
@@ -21074,12 +21111,12 @@
|
|
|
21074
21111
|
function convertComposerOptions(options) {
|
|
21075
21112
|
const locale = isString$1(options.locale) ? options.locale : DEFAULT_LOCALE;
|
|
21076
21113
|
const fallbackLocale = isString$1(options.fallbackLocale) ||
|
|
21077
|
-
isArray$
|
|
21078
|
-
isPlainObject$
|
|
21114
|
+
isArray$2(options.fallbackLocale) ||
|
|
21115
|
+
isPlainObject$2(options.fallbackLocale) ||
|
|
21079
21116
|
options.fallbackLocale === false
|
|
21080
21117
|
? options.fallbackLocale
|
|
21081
21118
|
: locale;
|
|
21082
|
-
const missing = isFunction(options.missing) ? options.missing : undefined;
|
|
21119
|
+
const missing = isFunction$1(options.missing) ? options.missing : undefined;
|
|
21083
21120
|
const missingWarn = isBoolean$1(options.silentTranslationWarn) ||
|
|
21084
21121
|
isRegExp$1(options.silentTranslationWarn)
|
|
21085
21122
|
? !options.silentTranslationWarn
|
|
@@ -21092,9 +21129,9 @@
|
|
|
21092
21129
|
? options.fallbackRoot
|
|
21093
21130
|
: true;
|
|
21094
21131
|
const fallbackFormat = !!options.formatFallbackMessages;
|
|
21095
|
-
const modifiers = isPlainObject$
|
|
21132
|
+
const modifiers = isPlainObject$2(options.modifiers) ? options.modifiers : {};
|
|
21096
21133
|
const pluralizationRules = options.pluralizationRules;
|
|
21097
|
-
const postTranslation = isFunction(options.postTranslation)
|
|
21134
|
+
const postTranslation = isFunction$1(options.postTranslation)
|
|
21098
21135
|
? options.postTranslation
|
|
21099
21136
|
: undefined;
|
|
21100
21137
|
const warnHtmlMessage = isString$1(options.warnHtmlInMessage)
|
|
@@ -21103,7 +21140,7 @@
|
|
|
21103
21140
|
const escapeParameter = !!options.escapeParameterHtml;
|
|
21104
21141
|
const inheritLocale = isBoolean$1(options.sync) ? options.sync : true;
|
|
21105
21142
|
let messages = options.messages;
|
|
21106
|
-
if (isPlainObject$
|
|
21143
|
+
if (isPlainObject$2(options.sharedMessages)) {
|
|
21107
21144
|
const sharedMessages = options.sharedMessages;
|
|
21108
21145
|
const locales = Object.keys(sharedMessages);
|
|
21109
21146
|
messages = locales.reduce((messages, locale) => {
|
|
@@ -21567,7 +21604,7 @@
|
|
|
21567
21604
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21568
21605
|
const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);
|
|
21569
21606
|
const assignedAttrs = assign$2(create$1(), attrs);
|
|
21570
|
-
const tag = isString$1(props.tag) || isObject(props.tag)
|
|
21607
|
+
const tag = isString$1(props.tag) || isObject$1(props.tag)
|
|
21571
21608
|
? props.tag
|
|
21572
21609
|
: getFragmentableTag();
|
|
21573
21610
|
return vue.h(tag, assignedAttrs, children);
|
|
@@ -21630,7 +21667,7 @@
|
|
|
21630
21667
|
const Translation = TranslationImpl;
|
|
21631
21668
|
|
|
21632
21669
|
function isVNode(target) {
|
|
21633
|
-
return isArray$
|
|
21670
|
+
return isArray$2(target) && !isString$1(target[0]);
|
|
21634
21671
|
}
|
|
21635
21672
|
function renderFormatter(props, context, slotKeys, partFormatter) {
|
|
21636
21673
|
const { slots, attrs } = context;
|
|
@@ -21643,7 +21680,7 @@
|
|
|
21643
21680
|
if (isString$1(props.format)) {
|
|
21644
21681
|
options.key = props.format;
|
|
21645
21682
|
}
|
|
21646
|
-
else if (isObject(props.format)) {
|
|
21683
|
+
else if (isObject$1(props.format)) {
|
|
21647
21684
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21648
21685
|
if (isString$1(props.format.key)) {
|
|
21649
21686
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -21658,7 +21695,7 @@
|
|
|
21658
21695
|
}
|
|
21659
21696
|
const parts = partFormatter(...[props.value, options, overrides]);
|
|
21660
21697
|
let children = [options.key];
|
|
21661
|
-
if (isArray$
|
|
21698
|
+
if (isArray$2(parts)) {
|
|
21662
21699
|
children = parts.map((part, index) => {
|
|
21663
21700
|
const slot = slots[part.type];
|
|
21664
21701
|
const node = slot
|
|
@@ -21674,7 +21711,7 @@
|
|
|
21674
21711
|
children = [parts];
|
|
21675
21712
|
}
|
|
21676
21713
|
const assignedAttrs = assign$2(create$1(), attrs);
|
|
21677
|
-
const tag = isString$1(props.tag) || isObject(props.tag)
|
|
21714
|
+
const tag = isString$1(props.tag) || isObject$1(props.tag)
|
|
21678
21715
|
? props.tag
|
|
21679
21716
|
: getFragmentableTag();
|
|
21680
21717
|
return vue.h(tag, assignedAttrs, children);
|
|
@@ -21807,7 +21844,7 @@
|
|
|
21807
21844
|
if (isString$1(value)) {
|
|
21808
21845
|
return { path: value };
|
|
21809
21846
|
}
|
|
21810
|
-
else if (isPlainObject$
|
|
21847
|
+
else if (isPlainObject$2(value)) {
|
|
21811
21848
|
if (!('path' in value)) {
|
|
21812
21849
|
throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');
|
|
21813
21850
|
}
|
|
@@ -21833,8 +21870,8 @@
|
|
|
21833
21870
|
return [path, named, options];
|
|
21834
21871
|
}
|
|
21835
21872
|
|
|
21836
|
-
function apply(app, i18n, ...options) {
|
|
21837
|
-
const pluginOptions = isPlainObject$
|
|
21873
|
+
function apply$1(app, i18n, ...options) {
|
|
21874
|
+
const pluginOptions = isPlainObject$2(options[0])
|
|
21838
21875
|
? options[0]
|
|
21839
21876
|
: {};
|
|
21840
21877
|
const globalInstall = isBoolean$1(pluginOptions.globalInstall)
|
|
@@ -21903,7 +21940,7 @@
|
|
|
21903
21940
|
app.__VUE_I18N_SYMBOL__ = symbol;
|
|
21904
21941
|
app.provide(app.__VUE_I18N_SYMBOL__, i18n);
|
|
21905
21942
|
// set composer & vuei18n extend hook options from plugin options
|
|
21906
|
-
if (isPlainObject$
|
|
21943
|
+
if (isPlainObject$2(options[0])) {
|
|
21907
21944
|
const opts = options[0];
|
|
21908
21945
|
i18n.__composerExtend =
|
|
21909
21946
|
opts.__composerExtend;
|
|
@@ -21917,7 +21954,7 @@
|
|
|
21917
21954
|
}
|
|
21918
21955
|
// install built-in components and directive
|
|
21919
21956
|
if (__VUE_I18N_FULL_INSTALL__) {
|
|
21920
|
-
apply(app, i18n, ...options);
|
|
21957
|
+
apply$1(app, i18n, ...options);
|
|
21921
21958
|
}
|
|
21922
21959
|
// setup mixin for Legacy API
|
|
21923
21960
|
if (__VUE_I18N_LEGACY_API__ && __legacyMode) {
|
|
@@ -26615,7 +26652,7 @@
|
|
|
26615
26652
|
return Object.getPrototypeOf(payload) === Object.prototype;
|
|
26616
26653
|
};
|
|
26617
26654
|
var isEmptyObject = (payload) => isPlainObject2(payload) && Object.keys(payload).length === 0;
|
|
26618
|
-
var isArray = (payload) => Array.isArray(payload);
|
|
26655
|
+
var isArray$1 = (payload) => Array.isArray(payload);
|
|
26619
26656
|
var isString = (payload) => typeof payload === "string";
|
|
26620
26657
|
var isNumber = (payload) => typeof payload === "number" && !isNaN(payload);
|
|
26621
26658
|
var isBoolean = (payload) => typeof payload === "boolean";
|
|
@@ -26629,7 +26666,7 @@
|
|
|
26629
26666
|
var isPrimitive2 = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
|
|
26630
26667
|
var isBigint = (payload) => typeof payload === "bigint";
|
|
26631
26668
|
var isInfinite = (payload) => payload === Infinity || payload === -Infinity;
|
|
26632
|
-
var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
|
|
26669
|
+
var isTypedArray$1 = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
|
|
26633
26670
|
var isURL = (payload) => payload instanceof URL;
|
|
26634
26671
|
|
|
26635
26672
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js
|
|
@@ -26765,7 +26802,7 @@
|
|
|
26765
26802
|
obj[ctor.name] = ctor;
|
|
26766
26803
|
return obj;
|
|
26767
26804
|
}, {});
|
|
26768
|
-
var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => {
|
|
26805
|
+
var typedArrayRule = compositeTransformation(isTypedArray$1, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => {
|
|
26769
26806
|
const ctor = constructorToName[a[1]];
|
|
26770
26807
|
if (!ctor) {
|
|
26771
26808
|
throw new Error("Trying to deserialize unknown typed array");
|
|
@@ -26837,7 +26874,7 @@
|
|
|
26837
26874
|
simpleRulesByAnnotation[rule.annotation] = rule;
|
|
26838
26875
|
});
|
|
26839
26876
|
var untransformValue = (json, type, superJson) => {
|
|
26840
|
-
if (isArray(type)) {
|
|
26877
|
+
if (isArray$1(type)) {
|
|
26841
26878
|
switch (type[0]) {
|
|
26842
26879
|
case "symbol":
|
|
26843
26880
|
return symbolRule.untransform(json, type, superJson);
|
|
@@ -26914,7 +26951,7 @@
|
|
|
26914
26951
|
let parent = object;
|
|
26915
26952
|
for (let i = 0; i < path.length - 1; i++) {
|
|
26916
26953
|
const key = path[i];
|
|
26917
|
-
if (isArray(parent)) {
|
|
26954
|
+
if (isArray$1(parent)) {
|
|
26918
26955
|
const index = +key;
|
|
26919
26956
|
parent = parent[index];
|
|
26920
26957
|
} else if (isPlainObject2(parent)) {
|
|
@@ -26941,7 +26978,7 @@
|
|
|
26941
26978
|
}
|
|
26942
26979
|
}
|
|
26943
26980
|
const lastKey = path[path.length - 1];
|
|
26944
|
-
if (isArray(parent)) {
|
|
26981
|
+
if (isArray$1(parent)) {
|
|
26945
26982
|
parent[+lastKey] = mapper(parent[+lastKey]);
|
|
26946
26983
|
} else if (isPlainObject2(parent)) {
|
|
26947
26984
|
parent[lastKey] = mapper(parent[lastKey]);
|
|
@@ -26981,7 +27018,7 @@
|
|
|
26981
27018
|
if (!tree) {
|
|
26982
27019
|
return;
|
|
26983
27020
|
}
|
|
26984
|
-
if (!isArray(tree)) {
|
|
27021
|
+
if (!isArray$1(tree)) {
|
|
26985
27022
|
forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)]));
|
|
26986
27023
|
return;
|
|
26987
27024
|
}
|
|
@@ -27006,7 +27043,7 @@
|
|
|
27006
27043
|
plain = setDeep(plain, identicalObjectPath, () => object);
|
|
27007
27044
|
});
|
|
27008
27045
|
}
|
|
27009
|
-
if (isArray(annotations)) {
|
|
27046
|
+
if (isArray$1(annotations)) {
|
|
27010
27047
|
const [root, other] = annotations;
|
|
27011
27048
|
root.forEach((identicalPath) => {
|
|
27012
27049
|
plain = setDeep(plain, parsePath(identicalPath), () => plain);
|
|
@@ -27019,7 +27056,7 @@
|
|
|
27019
27056
|
}
|
|
27020
27057
|
return plain;
|
|
27021
27058
|
}
|
|
27022
|
-
var isDeep = (object, superJson) => isPlainObject2(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);
|
|
27059
|
+
var isDeep = (object, superJson) => isPlainObject2(object) || isArray$1(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);
|
|
27023
27060
|
function addIdentity(object, path, identities) {
|
|
27024
27061
|
const existingSet = identities.get(object);
|
|
27025
27062
|
if (existingSet) {
|
|
@@ -27087,7 +27124,7 @@
|
|
|
27087
27124
|
}
|
|
27088
27125
|
const transformationResult = transformValue(object, superJson);
|
|
27089
27126
|
const transformed = (_a25 = transformationResult == null ? void 0 : transformationResult.value) != null ? _a25 : object;
|
|
27090
|
-
const transformedValue = isArray(transformed) ? [] : {};
|
|
27127
|
+
const transformedValue = isArray$1(transformed) ? [] : {};
|
|
27091
27128
|
const innerAnnotations = {};
|
|
27092
27129
|
forEach(transformed, (value, index) => {
|
|
27093
27130
|
if (index === "__proto__" || index === "constructor" || index === "prototype") {
|
|
@@ -27095,7 +27132,7 @@
|
|
|
27095
27132
|
}
|
|
27096
27133
|
const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);
|
|
27097
27134
|
transformedValue[index] = recursiveResult.transformedValue;
|
|
27098
|
-
if (isArray(recursiveResult.annotations)) {
|
|
27135
|
+
if (isArray$1(recursiveResult.annotations)) {
|
|
27099
27136
|
innerAnnotations[index] = recursiveResult.annotations;
|
|
27100
27137
|
} else if (isPlainObject2(recursiveResult.annotations)) {
|
|
27101
27138
|
forEach(recursiveResult.annotations, (tree, key) => {
|
|
@@ -27372,7 +27409,7 @@
|
|
|
27372
27409
|
const setActivePinia = (pinia) => (activePinia = pinia);
|
|
27373
27410
|
const piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());
|
|
27374
27411
|
|
|
27375
|
-
function isPlainObject(
|
|
27412
|
+
function isPlainObject$1(
|
|
27376
27413
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27377
27414
|
o) {
|
|
27378
27415
|
return (o &&
|
|
@@ -28388,8 +28425,8 @@
|
|
|
28388
28425
|
continue;
|
|
28389
28426
|
}
|
|
28390
28427
|
const targetValue = newState[key];
|
|
28391
|
-
if (isPlainObject(targetValue) &&
|
|
28392
|
-
isPlainObject(subPatch) &&
|
|
28428
|
+
if (isPlainObject$1(targetValue) &&
|
|
28429
|
+
isPlainObject$1(subPatch) &&
|
|
28393
28430
|
!vue.isRef(subPatch) &&
|
|
28394
28431
|
!vue.isReactive(subPatch)) {
|
|
28395
28432
|
newState[key] = patchObject(targetValue, subPatch);
|
|
@@ -28450,8 +28487,8 @@
|
|
|
28450
28487
|
continue;
|
|
28451
28488
|
const subPatch = patchToApply[key];
|
|
28452
28489
|
const targetValue = target[key];
|
|
28453
|
-
if (isPlainObject(targetValue) &&
|
|
28454
|
-
isPlainObject(subPatch) &&
|
|
28490
|
+
if (isPlainObject$1(targetValue) &&
|
|
28491
|
+
isPlainObject$1(subPatch) &&
|
|
28455
28492
|
target.hasOwnProperty(key) &&
|
|
28456
28493
|
!vue.isRef(subPatch) &&
|
|
28457
28494
|
!vue.isReactive(subPatch)) {
|
|
@@ -28477,7 +28514,7 @@
|
|
|
28477
28514
|
* @returns true if `obj` should be hydrated
|
|
28478
28515
|
*/
|
|
28479
28516
|
function shouldHydrate(obj) {
|
|
28480
|
-
return (!isPlainObject(obj) ||
|
|
28517
|
+
return (!isPlainObject$1(obj) ||
|
|
28481
28518
|
!Object.prototype.hasOwnProperty.call(obj, skipHydrateSymbol));
|
|
28482
28519
|
}
|
|
28483
28520
|
const { assign } = Object;
|
|
@@ -28816,8 +28853,8 @@
|
|
|
28816
28853
|
const newStateTarget = newStore.$state[stateKey];
|
|
28817
28854
|
const oldStateSource = store.$state[stateKey];
|
|
28818
28855
|
if (typeof newStateTarget === 'object' &&
|
|
28819
|
-
isPlainObject(newStateTarget) &&
|
|
28820
|
-
isPlainObject(oldStateSource)) {
|
|
28856
|
+
isPlainObject$1(newStateTarget) &&
|
|
28857
|
+
isPlainObject$1(oldStateSource)) {
|
|
28821
28858
|
patchObject(newStateTarget, oldStateSource);
|
|
28822
28859
|
}
|
|
28823
28860
|
else {
|
|
@@ -42821,12 +42858,2175 @@
|
|
|
42821
42858
|
];
|
|
42822
42859
|
};
|
|
42823
42860
|
|
|
42861
|
+
/** Detect free variable `global` from Node.js. */
|
|
42862
|
+
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
|
|
42863
|
+
|
|
42864
|
+
/** Detect free variable `self`. */
|
|
42865
|
+
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
42866
|
+
|
|
42867
|
+
/** Used as a reference to the global object. */
|
|
42868
|
+
var root = freeGlobal || freeSelf || Function('return this')();
|
|
42869
|
+
|
|
42870
|
+
/** Built-in value references. */
|
|
42871
|
+
var Symbol$1 = root.Symbol;
|
|
42872
|
+
|
|
42873
|
+
/** Used for built-in method references. */
|
|
42874
|
+
var objectProto$9 = Object.prototype;
|
|
42875
|
+
|
|
42876
|
+
/** Used to check objects for own properties. */
|
|
42877
|
+
var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
|
|
42878
|
+
|
|
42879
|
+
/**
|
|
42880
|
+
* Used to resolve the
|
|
42881
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
42882
|
+
* of values.
|
|
42883
|
+
*/
|
|
42884
|
+
var nativeObjectToString$1 = objectProto$9.toString;
|
|
42885
|
+
|
|
42886
|
+
/** Built-in value references. */
|
|
42887
|
+
var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
42888
|
+
|
|
42889
|
+
/**
|
|
42890
|
+
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
42891
|
+
*
|
|
42892
|
+
* @private
|
|
42893
|
+
* @param {*} value The value to query.
|
|
42894
|
+
* @returns {string} Returns the raw `toStringTag`.
|
|
42895
|
+
*/
|
|
42896
|
+
function getRawTag(value) {
|
|
42897
|
+
var isOwn = hasOwnProperty$7.call(value, symToStringTag$1),
|
|
42898
|
+
tag = value[symToStringTag$1];
|
|
42899
|
+
|
|
42900
|
+
try {
|
|
42901
|
+
value[symToStringTag$1] = undefined;
|
|
42902
|
+
var unmasked = true;
|
|
42903
|
+
} catch (e) {}
|
|
42904
|
+
|
|
42905
|
+
var result = nativeObjectToString$1.call(value);
|
|
42906
|
+
if (unmasked) {
|
|
42907
|
+
if (isOwn) {
|
|
42908
|
+
value[symToStringTag$1] = tag;
|
|
42909
|
+
} else {
|
|
42910
|
+
delete value[symToStringTag$1];
|
|
42911
|
+
}
|
|
42912
|
+
}
|
|
42913
|
+
return result;
|
|
42914
|
+
}
|
|
42915
|
+
|
|
42916
|
+
/** Used for built-in method references. */
|
|
42917
|
+
var objectProto$8 = Object.prototype;
|
|
42918
|
+
|
|
42919
|
+
/**
|
|
42920
|
+
* Used to resolve the
|
|
42921
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
42922
|
+
* of values.
|
|
42923
|
+
*/
|
|
42924
|
+
var nativeObjectToString = objectProto$8.toString;
|
|
42925
|
+
|
|
42926
|
+
/**
|
|
42927
|
+
* Converts `value` to a string using `Object.prototype.toString`.
|
|
42928
|
+
*
|
|
42929
|
+
* @private
|
|
42930
|
+
* @param {*} value The value to convert.
|
|
42931
|
+
* @returns {string} Returns the converted string.
|
|
42932
|
+
*/
|
|
42933
|
+
function objectToString(value) {
|
|
42934
|
+
return nativeObjectToString.call(value);
|
|
42935
|
+
}
|
|
42936
|
+
|
|
42937
|
+
/** `Object#toString` result references. */
|
|
42938
|
+
var nullTag = '[object Null]',
|
|
42939
|
+
undefinedTag = '[object Undefined]';
|
|
42940
|
+
|
|
42941
|
+
/** Built-in value references. */
|
|
42942
|
+
var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
42943
|
+
|
|
42944
|
+
/**
|
|
42945
|
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
42946
|
+
*
|
|
42947
|
+
* @private
|
|
42948
|
+
* @param {*} value The value to query.
|
|
42949
|
+
* @returns {string} Returns the `toStringTag`.
|
|
42950
|
+
*/
|
|
42951
|
+
function baseGetTag(value) {
|
|
42952
|
+
if (value == null) {
|
|
42953
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
42954
|
+
}
|
|
42955
|
+
return (symToStringTag && symToStringTag in Object(value))
|
|
42956
|
+
? getRawTag(value)
|
|
42957
|
+
: objectToString(value);
|
|
42958
|
+
}
|
|
42959
|
+
|
|
42960
|
+
/**
|
|
42961
|
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
42962
|
+
* and has a `typeof` result of "object".
|
|
42963
|
+
*
|
|
42964
|
+
* @static
|
|
42965
|
+
* @memberOf _
|
|
42966
|
+
* @since 4.0.0
|
|
42967
|
+
* @category Lang
|
|
42968
|
+
* @param {*} value The value to check.
|
|
42969
|
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
42970
|
+
* @example
|
|
42971
|
+
*
|
|
42972
|
+
* _.isObjectLike({});
|
|
42973
|
+
* // => true
|
|
42974
|
+
*
|
|
42975
|
+
* _.isObjectLike([1, 2, 3]);
|
|
42976
|
+
* // => true
|
|
42977
|
+
*
|
|
42978
|
+
* _.isObjectLike(_.noop);
|
|
42979
|
+
* // => false
|
|
42980
|
+
*
|
|
42981
|
+
* _.isObjectLike(null);
|
|
42982
|
+
* // => false
|
|
42983
|
+
*/
|
|
42984
|
+
function isObjectLike(value) {
|
|
42985
|
+
return value != null && typeof value == 'object';
|
|
42986
|
+
}
|
|
42987
|
+
|
|
42988
|
+
/**
|
|
42989
|
+
* Checks if `value` is classified as an `Array` object.
|
|
42990
|
+
*
|
|
42991
|
+
* @static
|
|
42992
|
+
* @memberOf _
|
|
42993
|
+
* @since 0.1.0
|
|
42994
|
+
* @category Lang
|
|
42995
|
+
* @param {*} value The value to check.
|
|
42996
|
+
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
|
42997
|
+
* @example
|
|
42998
|
+
*
|
|
42999
|
+
* _.isArray([1, 2, 3]);
|
|
43000
|
+
* // => true
|
|
43001
|
+
*
|
|
43002
|
+
* _.isArray(document.body.children);
|
|
43003
|
+
* // => false
|
|
43004
|
+
*
|
|
43005
|
+
* _.isArray('abc');
|
|
43006
|
+
* // => false
|
|
43007
|
+
*
|
|
43008
|
+
* _.isArray(_.noop);
|
|
43009
|
+
* // => false
|
|
43010
|
+
*/
|
|
43011
|
+
var isArray = Array.isArray;
|
|
43012
|
+
|
|
43013
|
+
/**
|
|
43014
|
+
* Checks if `value` is the
|
|
43015
|
+
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
|
43016
|
+
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
|
43017
|
+
*
|
|
43018
|
+
* @static
|
|
43019
|
+
* @memberOf _
|
|
43020
|
+
* @since 0.1.0
|
|
43021
|
+
* @category Lang
|
|
43022
|
+
* @param {*} value The value to check.
|
|
43023
|
+
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
|
43024
|
+
* @example
|
|
43025
|
+
*
|
|
43026
|
+
* _.isObject({});
|
|
43027
|
+
* // => true
|
|
43028
|
+
*
|
|
43029
|
+
* _.isObject([1, 2, 3]);
|
|
43030
|
+
* // => true
|
|
43031
|
+
*
|
|
43032
|
+
* _.isObject(_.noop);
|
|
43033
|
+
* // => true
|
|
43034
|
+
*
|
|
43035
|
+
* _.isObject(null);
|
|
43036
|
+
* // => false
|
|
43037
|
+
*/
|
|
43038
|
+
function isObject(value) {
|
|
43039
|
+
var type = typeof value;
|
|
43040
|
+
return value != null && (type == 'object' || type == 'function');
|
|
43041
|
+
}
|
|
43042
|
+
|
|
43043
|
+
/**
|
|
43044
|
+
* This method returns the first argument it receives.
|
|
43045
|
+
*
|
|
43046
|
+
* @static
|
|
43047
|
+
* @since 0.1.0
|
|
43048
|
+
* @memberOf _
|
|
43049
|
+
* @category Util
|
|
43050
|
+
* @param {*} value Any value.
|
|
43051
|
+
* @returns {*} Returns `value`.
|
|
43052
|
+
* @example
|
|
43053
|
+
*
|
|
43054
|
+
* var object = { 'a': 1 };
|
|
43055
|
+
*
|
|
43056
|
+
*
|
|
43057
|
+
* // => true
|
|
43058
|
+
*/
|
|
43059
|
+
function identity(value) {
|
|
43060
|
+
return value;
|
|
43061
|
+
}
|
|
43062
|
+
|
|
43063
|
+
/** `Object#toString` result references. */
|
|
43064
|
+
var asyncTag = '[object AsyncFunction]',
|
|
43065
|
+
funcTag$1 = '[object Function]',
|
|
43066
|
+
genTag = '[object GeneratorFunction]',
|
|
43067
|
+
proxyTag = '[object Proxy]';
|
|
43068
|
+
|
|
43069
|
+
/**
|
|
43070
|
+
* Checks if `value` is classified as a `Function` object.
|
|
43071
|
+
*
|
|
43072
|
+
* @static
|
|
43073
|
+
* @memberOf _
|
|
43074
|
+
* @since 0.1.0
|
|
43075
|
+
* @category Lang
|
|
43076
|
+
* @param {*} value The value to check.
|
|
43077
|
+
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
|
43078
|
+
* @example
|
|
43079
|
+
*
|
|
43080
|
+
* _.isFunction(_);
|
|
43081
|
+
* // => true
|
|
43082
|
+
*
|
|
43083
|
+
* _.isFunction(/abc/);
|
|
43084
|
+
* // => false
|
|
43085
|
+
*/
|
|
43086
|
+
function isFunction(value) {
|
|
43087
|
+
if (!isObject(value)) {
|
|
43088
|
+
return false;
|
|
43089
|
+
}
|
|
43090
|
+
// The use of `Object#toString` avoids issues with the `typeof` operator
|
|
43091
|
+
// in Safari 9 which returns 'object' for typed arrays and other constructors.
|
|
43092
|
+
var tag = baseGetTag(value);
|
|
43093
|
+
return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
|
|
43094
|
+
}
|
|
43095
|
+
|
|
43096
|
+
/** Used to detect overreaching core-js shims. */
|
|
43097
|
+
var coreJsData = root['__core-js_shared__'];
|
|
43098
|
+
|
|
43099
|
+
/** Used to detect methods masquerading as native. */
|
|
43100
|
+
var maskSrcKey = (function() {
|
|
43101
|
+
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
|
|
43102
|
+
return uid ? ('Symbol(src)_1.' + uid) : '';
|
|
43103
|
+
}());
|
|
43104
|
+
|
|
43105
|
+
/**
|
|
43106
|
+
* Checks if `func` has its source masked.
|
|
43107
|
+
*
|
|
43108
|
+
* @private
|
|
43109
|
+
* @param {Function} func The function to check.
|
|
43110
|
+
* @returns {boolean} Returns `true` if `func` is masked, else `false`.
|
|
43111
|
+
*/
|
|
43112
|
+
function isMasked(func) {
|
|
43113
|
+
return !!maskSrcKey && (maskSrcKey in func);
|
|
43114
|
+
}
|
|
43115
|
+
|
|
43116
|
+
/** Used for built-in method references. */
|
|
43117
|
+
var funcProto$2 = Function.prototype;
|
|
43118
|
+
|
|
43119
|
+
/** Used to resolve the decompiled source of functions. */
|
|
43120
|
+
var funcToString$2 = funcProto$2.toString;
|
|
43121
|
+
|
|
43122
|
+
/**
|
|
43123
|
+
* Converts `func` to its source code.
|
|
43124
|
+
*
|
|
43125
|
+
* @private
|
|
43126
|
+
* @param {Function} func The function to convert.
|
|
43127
|
+
* @returns {string} Returns the source code.
|
|
43128
|
+
*/
|
|
43129
|
+
function toSource(func) {
|
|
43130
|
+
if (func != null) {
|
|
43131
|
+
try {
|
|
43132
|
+
return funcToString$2.call(func);
|
|
43133
|
+
} catch (e) {}
|
|
43134
|
+
try {
|
|
43135
|
+
return (func + '');
|
|
43136
|
+
} catch (e) {}
|
|
43137
|
+
}
|
|
43138
|
+
return '';
|
|
43139
|
+
}
|
|
43140
|
+
|
|
43141
|
+
/**
|
|
43142
|
+
* Used to match `RegExp`
|
|
43143
|
+
* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
|
|
43144
|
+
*/
|
|
43145
|
+
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
43146
|
+
|
|
43147
|
+
/** Used to detect host constructors (Safari). */
|
|
43148
|
+
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
43149
|
+
|
|
43150
|
+
/** Used for built-in method references. */
|
|
43151
|
+
var funcProto$1 = Function.prototype,
|
|
43152
|
+
objectProto$7 = Object.prototype;
|
|
43153
|
+
|
|
43154
|
+
/** Used to resolve the decompiled source of functions. */
|
|
43155
|
+
var funcToString$1 = funcProto$1.toString;
|
|
43156
|
+
|
|
43157
|
+
/** Used to check objects for own properties. */
|
|
43158
|
+
var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
|
|
43159
|
+
|
|
43160
|
+
/** Used to detect if a method is native. */
|
|
43161
|
+
var reIsNative = RegExp('^' +
|
|
43162
|
+
funcToString$1.call(hasOwnProperty$6).replace(reRegExpChar, '\\$&')
|
|
43163
|
+
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
|
43164
|
+
);
|
|
43165
|
+
|
|
43166
|
+
/**
|
|
43167
|
+
* The base implementation of `_.isNative` without bad shim checks.
|
|
43168
|
+
*
|
|
43169
|
+
* @private
|
|
43170
|
+
* @param {*} value The value to check.
|
|
43171
|
+
* @returns {boolean} Returns `true` if `value` is a native function,
|
|
43172
|
+
* else `false`.
|
|
43173
|
+
*/
|
|
43174
|
+
function baseIsNative(value) {
|
|
43175
|
+
if (!isObject(value) || isMasked(value)) {
|
|
43176
|
+
return false;
|
|
43177
|
+
}
|
|
43178
|
+
var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
|
|
43179
|
+
return pattern.test(toSource(value));
|
|
43180
|
+
}
|
|
43181
|
+
|
|
43182
|
+
/**
|
|
43183
|
+
* Gets the value at `key` of `object`.
|
|
43184
|
+
*
|
|
43185
|
+
* @private
|
|
43186
|
+
* @param {Object} [object] The object to query.
|
|
43187
|
+
* @param {string} key The key of the property to get.
|
|
43188
|
+
* @returns {*} Returns the property value.
|
|
43189
|
+
*/
|
|
43190
|
+
function getValue(object, key) {
|
|
43191
|
+
return object == null ? undefined : object[key];
|
|
43192
|
+
}
|
|
43193
|
+
|
|
43194
|
+
/**
|
|
43195
|
+
* Gets the native function at `key` of `object`.
|
|
43196
|
+
*
|
|
43197
|
+
* @private
|
|
43198
|
+
* @param {Object} object The object to query.
|
|
43199
|
+
* @param {string} key The key of the method to get.
|
|
43200
|
+
* @returns {*} Returns the function if it's native, else `undefined`.
|
|
43201
|
+
*/
|
|
43202
|
+
function getNative(object, key) {
|
|
43203
|
+
var value = getValue(object, key);
|
|
43204
|
+
return baseIsNative(value) ? value : undefined;
|
|
43205
|
+
}
|
|
43206
|
+
|
|
43207
|
+
/** Built-in value references. */
|
|
43208
|
+
var objectCreate = Object.create;
|
|
43209
|
+
|
|
43210
|
+
/**
|
|
43211
|
+
* The base implementation of `_.create` without support for assigning
|
|
43212
|
+
* properties to the created object.
|
|
43213
|
+
*
|
|
43214
|
+
* @private
|
|
43215
|
+
* @param {Object} proto The object to inherit from.
|
|
43216
|
+
* @returns {Object} Returns the new object.
|
|
43217
|
+
*/
|
|
43218
|
+
var baseCreate = (function() {
|
|
43219
|
+
function object() {}
|
|
43220
|
+
return function(proto) {
|
|
43221
|
+
if (!isObject(proto)) {
|
|
43222
|
+
return {};
|
|
43223
|
+
}
|
|
43224
|
+
if (objectCreate) {
|
|
43225
|
+
return objectCreate(proto);
|
|
43226
|
+
}
|
|
43227
|
+
object.prototype = proto;
|
|
43228
|
+
var result = new object;
|
|
43229
|
+
object.prototype = undefined;
|
|
43230
|
+
return result;
|
|
43231
|
+
};
|
|
43232
|
+
}());
|
|
43233
|
+
|
|
43234
|
+
/**
|
|
43235
|
+
* A faster alternative to `Function#apply`, this function invokes `func`
|
|
43236
|
+
* with the `this` binding of `thisArg` and the arguments of `args`.
|
|
43237
|
+
*
|
|
43238
|
+
* @private
|
|
43239
|
+
* @param {Function} func The function to invoke.
|
|
43240
|
+
* @param {*} thisArg The `this` binding of `func`.
|
|
43241
|
+
* @param {Array} args The arguments to invoke `func` with.
|
|
43242
|
+
* @returns {*} Returns the result of `func`.
|
|
43243
|
+
*/
|
|
43244
|
+
function apply(func, thisArg, args) {
|
|
43245
|
+
switch (args.length) {
|
|
43246
|
+
case 0: return func.call(thisArg);
|
|
43247
|
+
case 1: return func.call(thisArg, args[0]);
|
|
43248
|
+
case 2: return func.call(thisArg, args[0], args[1]);
|
|
43249
|
+
case 3: return func.call(thisArg, args[0], args[1], args[2]);
|
|
43250
|
+
}
|
|
43251
|
+
return func.apply(thisArg, args);
|
|
43252
|
+
}
|
|
43253
|
+
|
|
43254
|
+
/**
|
|
43255
|
+
* Copies the values of `source` to `array`.
|
|
43256
|
+
*
|
|
43257
|
+
* @private
|
|
43258
|
+
* @param {Array} source The array to copy values from.
|
|
43259
|
+
* @param {Array} [array=[]] The array to copy values to.
|
|
43260
|
+
* @returns {Array} Returns `array`.
|
|
43261
|
+
*/
|
|
43262
|
+
function copyArray(source, array) {
|
|
43263
|
+
var index = -1,
|
|
43264
|
+
length = source.length;
|
|
43265
|
+
|
|
43266
|
+
array || (array = Array(length));
|
|
43267
|
+
while (++index < length) {
|
|
43268
|
+
array[index] = source[index];
|
|
43269
|
+
}
|
|
43270
|
+
return array;
|
|
43271
|
+
}
|
|
43272
|
+
|
|
43273
|
+
/** Used to detect hot functions by number of calls within a span of milliseconds. */
|
|
43274
|
+
var HOT_COUNT = 800,
|
|
43275
|
+
HOT_SPAN = 16;
|
|
43276
|
+
|
|
43277
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
43278
|
+
var nativeNow = Date.now;
|
|
43279
|
+
|
|
43280
|
+
/**
|
|
43281
|
+
* Creates a function that'll short out and invoke `identity` instead
|
|
43282
|
+
* of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
|
|
43283
|
+
* milliseconds.
|
|
43284
|
+
*
|
|
43285
|
+
* @private
|
|
43286
|
+
* @param {Function} func The function to restrict.
|
|
43287
|
+
* @returns {Function} Returns the new shortable function.
|
|
43288
|
+
*/
|
|
43289
|
+
function shortOut(func) {
|
|
43290
|
+
var count = 0,
|
|
43291
|
+
lastCalled = 0;
|
|
43292
|
+
|
|
43293
|
+
return function() {
|
|
43294
|
+
var stamp = nativeNow(),
|
|
43295
|
+
remaining = HOT_SPAN - (stamp - lastCalled);
|
|
43296
|
+
|
|
43297
|
+
lastCalled = stamp;
|
|
43298
|
+
if (remaining > 0) {
|
|
43299
|
+
if (++count >= HOT_COUNT) {
|
|
43300
|
+
return arguments[0];
|
|
43301
|
+
}
|
|
43302
|
+
} else {
|
|
43303
|
+
count = 0;
|
|
43304
|
+
}
|
|
43305
|
+
return func.apply(undefined, arguments);
|
|
43306
|
+
};
|
|
43307
|
+
}
|
|
43308
|
+
|
|
43309
|
+
/**
|
|
43310
|
+
* Creates a function that returns `value`.
|
|
43311
|
+
*
|
|
43312
|
+
* @static
|
|
43313
|
+
* @memberOf _
|
|
43314
|
+
* @since 2.4.0
|
|
43315
|
+
* @category Util
|
|
43316
|
+
* @param {*} value The value to return from the new function.
|
|
43317
|
+
* @returns {Function} Returns the new constant function.
|
|
43318
|
+
* @example
|
|
43319
|
+
*
|
|
43320
|
+
* var objects = _.times(2, _.constant({ 'a': 1 }));
|
|
43321
|
+
*
|
|
43322
|
+
*
|
|
43323
|
+
* // => [{ 'a': 1 }, { 'a': 1 }]
|
|
43324
|
+
*
|
|
43325
|
+
*
|
|
43326
|
+
* // => true
|
|
43327
|
+
*/
|
|
43328
|
+
function constant(value) {
|
|
43329
|
+
return function() {
|
|
43330
|
+
return value;
|
|
43331
|
+
};
|
|
43332
|
+
}
|
|
43333
|
+
|
|
43334
|
+
var defineProperty = (function() {
|
|
43335
|
+
try {
|
|
43336
|
+
var func = getNative(Object, 'defineProperty');
|
|
43337
|
+
func({}, '', {});
|
|
43338
|
+
return func;
|
|
43339
|
+
} catch (e) {}
|
|
43340
|
+
}());
|
|
43341
|
+
|
|
43342
|
+
/**
|
|
43343
|
+
* The base implementation of `setToString` without support for hot loop shorting.
|
|
43344
|
+
*
|
|
43345
|
+
* @private
|
|
43346
|
+
* @param {Function} func The function to modify.
|
|
43347
|
+
* @param {Function} string The `toString` result.
|
|
43348
|
+
* @returns {Function} Returns `func`.
|
|
43349
|
+
*/
|
|
43350
|
+
var baseSetToString = !defineProperty ? identity : function(func, string) {
|
|
43351
|
+
return defineProperty(func, 'toString', {
|
|
43352
|
+
'configurable': true,
|
|
43353
|
+
'enumerable': false,
|
|
43354
|
+
'value': constant(string),
|
|
43355
|
+
'writable': true
|
|
43356
|
+
});
|
|
43357
|
+
};
|
|
43358
|
+
|
|
43359
|
+
/**
|
|
43360
|
+
* Sets the `toString` method of `func` to return `string`.
|
|
43361
|
+
*
|
|
43362
|
+
* @private
|
|
43363
|
+
* @param {Function} func The function to modify.
|
|
43364
|
+
* @param {Function} string The `toString` result.
|
|
43365
|
+
* @returns {Function} Returns `func`.
|
|
43366
|
+
*/
|
|
43367
|
+
var setToString = shortOut(baseSetToString);
|
|
43368
|
+
|
|
43369
|
+
/** Used as references for various `Number` constants. */
|
|
43370
|
+
var MAX_SAFE_INTEGER$1 = 9007199254740991;
|
|
43371
|
+
|
|
43372
|
+
/** Used to detect unsigned integer values. */
|
|
43373
|
+
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
43374
|
+
|
|
43375
|
+
/**
|
|
43376
|
+
* Checks if `value` is a valid array-like index.
|
|
43377
|
+
*
|
|
43378
|
+
* @private
|
|
43379
|
+
* @param {*} value The value to check.
|
|
43380
|
+
* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
|
|
43381
|
+
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
|
|
43382
|
+
*/
|
|
43383
|
+
function isIndex(value, length) {
|
|
43384
|
+
var type = typeof value;
|
|
43385
|
+
length = length == null ? MAX_SAFE_INTEGER$1 : length;
|
|
43386
|
+
|
|
43387
|
+
return !!length &&
|
|
43388
|
+
(type == 'number' ||
|
|
43389
|
+
(type != 'symbol' && reIsUint.test(value))) &&
|
|
43390
|
+
(value > -1 && value % 1 == 0 && value < length);
|
|
43391
|
+
}
|
|
43392
|
+
|
|
43393
|
+
/**
|
|
43394
|
+
* The base implementation of `assignValue` and `assignMergeValue` without
|
|
43395
|
+
* value checks.
|
|
43396
|
+
*
|
|
43397
|
+
* @private
|
|
43398
|
+
* @param {Object} object The object to modify.
|
|
43399
|
+
* @param {string} key The key of the property to assign.
|
|
43400
|
+
* @param {*} value The value to assign.
|
|
43401
|
+
*/
|
|
43402
|
+
function baseAssignValue(object, key, value) {
|
|
43403
|
+
if (key == '__proto__' && defineProperty) {
|
|
43404
|
+
defineProperty(object, key, {
|
|
43405
|
+
'configurable': true,
|
|
43406
|
+
'enumerable': true,
|
|
43407
|
+
'value': value,
|
|
43408
|
+
'writable': true
|
|
43409
|
+
});
|
|
43410
|
+
} else {
|
|
43411
|
+
object[key] = value;
|
|
43412
|
+
}
|
|
43413
|
+
}
|
|
43414
|
+
|
|
43415
|
+
/**
|
|
43416
|
+
* Performs a
|
|
43417
|
+
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|
43418
|
+
* comparison between two values to determine if they are equivalent.
|
|
43419
|
+
*
|
|
43420
|
+
* @static
|
|
43421
|
+
* @memberOf _
|
|
43422
|
+
* @since 4.0.0
|
|
43423
|
+
* @category Lang
|
|
43424
|
+
* @param {*} value The value to compare.
|
|
43425
|
+
* @param {*} other The other value to compare.
|
|
43426
|
+
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
|
43427
|
+
* @example
|
|
43428
|
+
*
|
|
43429
|
+
* var object = { 'a': 1 };
|
|
43430
|
+
* var other = { 'a': 1 };
|
|
43431
|
+
*
|
|
43432
|
+
* _.eq(object, object);
|
|
43433
|
+
* // => true
|
|
43434
|
+
*
|
|
43435
|
+
* _.eq(object, other);
|
|
43436
|
+
* // => false
|
|
43437
|
+
*
|
|
43438
|
+
* _.eq('a', 'a');
|
|
43439
|
+
* // => true
|
|
43440
|
+
*
|
|
43441
|
+
* _.eq('a', Object('a'));
|
|
43442
|
+
* // => false
|
|
43443
|
+
*
|
|
43444
|
+
* _.eq(NaN, NaN);
|
|
43445
|
+
* // => true
|
|
43446
|
+
*/
|
|
43447
|
+
function eq(value, other) {
|
|
43448
|
+
return value === other || (value !== value && other !== other);
|
|
43449
|
+
}
|
|
43450
|
+
|
|
43451
|
+
/** Used for built-in method references. */
|
|
43452
|
+
var objectProto$6 = Object.prototype;
|
|
43453
|
+
|
|
43454
|
+
/** Used to check objects for own properties. */
|
|
43455
|
+
var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
|
|
43456
|
+
|
|
43457
|
+
/**
|
|
43458
|
+
* Assigns `value` to `key` of `object` if the existing value is not equivalent
|
|
43459
|
+
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|
43460
|
+
* for equality comparisons.
|
|
43461
|
+
*
|
|
43462
|
+
* @private
|
|
43463
|
+
* @param {Object} object The object to modify.
|
|
43464
|
+
* @param {string} key The key of the property to assign.
|
|
43465
|
+
* @param {*} value The value to assign.
|
|
43466
|
+
*/
|
|
43467
|
+
function assignValue(object, key, value) {
|
|
43468
|
+
var objValue = object[key];
|
|
43469
|
+
if (!(hasOwnProperty$5.call(object, key) && eq(objValue, value)) ||
|
|
43470
|
+
(value === undefined && !(key in object))) {
|
|
43471
|
+
baseAssignValue(object, key, value);
|
|
43472
|
+
}
|
|
43473
|
+
}
|
|
43474
|
+
|
|
43475
|
+
/**
|
|
43476
|
+
* Copies properties of `source` to `object`.
|
|
43477
|
+
*
|
|
43478
|
+
* @private
|
|
43479
|
+
* @param {Object} source The object to copy properties from.
|
|
43480
|
+
* @param {Array} props The property identifiers to copy.
|
|
43481
|
+
* @param {Object} [object={}] The object to copy properties to.
|
|
43482
|
+
* @param {Function} [customizer] The function to customize copied values.
|
|
43483
|
+
* @returns {Object} Returns `object`.
|
|
43484
|
+
*/
|
|
43485
|
+
function copyObject(source, props, object, customizer) {
|
|
43486
|
+
var isNew = !object;
|
|
43487
|
+
object || (object = {});
|
|
43488
|
+
|
|
43489
|
+
var index = -1,
|
|
43490
|
+
length = props.length;
|
|
43491
|
+
|
|
43492
|
+
while (++index < length) {
|
|
43493
|
+
var key = props[index];
|
|
43494
|
+
|
|
43495
|
+
var newValue = undefined;
|
|
43496
|
+
|
|
43497
|
+
if (newValue === undefined) {
|
|
43498
|
+
newValue = source[key];
|
|
43499
|
+
}
|
|
43500
|
+
if (isNew) {
|
|
43501
|
+
baseAssignValue(object, key, newValue);
|
|
43502
|
+
} else {
|
|
43503
|
+
assignValue(object, key, newValue);
|
|
43504
|
+
}
|
|
43505
|
+
}
|
|
43506
|
+
return object;
|
|
43507
|
+
}
|
|
43508
|
+
|
|
43509
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
43510
|
+
var nativeMax = Math.max;
|
|
43511
|
+
|
|
43512
|
+
/**
|
|
43513
|
+
* A specialized version of `baseRest` which transforms the rest array.
|
|
43514
|
+
*
|
|
43515
|
+
* @private
|
|
43516
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
43517
|
+
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
|
43518
|
+
* @param {Function} transform The rest array transform.
|
|
43519
|
+
* @returns {Function} Returns the new function.
|
|
43520
|
+
*/
|
|
43521
|
+
function overRest(func, start, transform) {
|
|
43522
|
+
start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
|
|
43523
|
+
return function() {
|
|
43524
|
+
var args = arguments,
|
|
43525
|
+
index = -1,
|
|
43526
|
+
length = nativeMax(args.length - start, 0),
|
|
43527
|
+
array = Array(length);
|
|
43528
|
+
|
|
43529
|
+
while (++index < length) {
|
|
43530
|
+
array[index] = args[start + index];
|
|
43531
|
+
}
|
|
43532
|
+
index = -1;
|
|
43533
|
+
var otherArgs = Array(start + 1);
|
|
43534
|
+
while (++index < start) {
|
|
43535
|
+
otherArgs[index] = args[index];
|
|
43536
|
+
}
|
|
43537
|
+
otherArgs[start] = transform(array);
|
|
43538
|
+
return apply(func, this, otherArgs);
|
|
43539
|
+
};
|
|
43540
|
+
}
|
|
43541
|
+
|
|
43542
|
+
/**
|
|
43543
|
+
* The base implementation of `_.rest` which doesn't validate or coerce arguments.
|
|
43544
|
+
*
|
|
43545
|
+
* @private
|
|
43546
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
43547
|
+
* @param {number} [start=func.length-1] The start position of the rest parameter.
|
|
43548
|
+
* @returns {Function} Returns the new function.
|
|
43549
|
+
*/
|
|
43550
|
+
function baseRest(func, start) {
|
|
43551
|
+
return setToString(overRest(func, start, identity), func + '');
|
|
43552
|
+
}
|
|
43553
|
+
|
|
43554
|
+
/** Used as references for various `Number` constants. */
|
|
43555
|
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
43556
|
+
|
|
43557
|
+
/**
|
|
43558
|
+
* Checks if `value` is a valid array-like length.
|
|
43559
|
+
*
|
|
43560
|
+
* **Note:** This method is loosely based on
|
|
43561
|
+
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
|
43562
|
+
*
|
|
43563
|
+
* @static
|
|
43564
|
+
* @memberOf _
|
|
43565
|
+
* @since 4.0.0
|
|
43566
|
+
* @category Lang
|
|
43567
|
+
* @param {*} value The value to check.
|
|
43568
|
+
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
|
43569
|
+
* @example
|
|
43570
|
+
*
|
|
43571
|
+
* _.isLength(3);
|
|
43572
|
+
* // => true
|
|
43573
|
+
*
|
|
43574
|
+
* _.isLength(Number.MIN_VALUE);
|
|
43575
|
+
* // => false
|
|
43576
|
+
*
|
|
43577
|
+
* _.isLength(Infinity);
|
|
43578
|
+
* // => false
|
|
43579
|
+
*
|
|
43580
|
+
* _.isLength('3');
|
|
43581
|
+
* // => false
|
|
43582
|
+
*/
|
|
43583
|
+
function isLength(value) {
|
|
43584
|
+
return typeof value == 'number' &&
|
|
43585
|
+
value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
43586
|
+
}
|
|
43587
|
+
|
|
43588
|
+
/**
|
|
43589
|
+
* Checks if `value` is array-like. A value is considered array-like if it's
|
|
43590
|
+
* not a function and has a `value.length` that's an integer greater than or
|
|
43591
|
+
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
|
43592
|
+
*
|
|
43593
|
+
* @static
|
|
43594
|
+
* @memberOf _
|
|
43595
|
+
* @since 4.0.0
|
|
43596
|
+
* @category Lang
|
|
43597
|
+
* @param {*} value The value to check.
|
|
43598
|
+
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
|
43599
|
+
* @example
|
|
43600
|
+
*
|
|
43601
|
+
* _.isArrayLike([1, 2, 3]);
|
|
43602
|
+
* // => true
|
|
43603
|
+
*
|
|
43604
|
+
* _.isArrayLike(document.body.children);
|
|
43605
|
+
* // => true
|
|
43606
|
+
*
|
|
43607
|
+
* _.isArrayLike('abc');
|
|
43608
|
+
* // => true
|
|
43609
|
+
*
|
|
43610
|
+
* _.isArrayLike(_.noop);
|
|
43611
|
+
* // => false
|
|
43612
|
+
*/
|
|
43613
|
+
function isArrayLike(value) {
|
|
43614
|
+
return value != null && isLength(value.length) && !isFunction(value);
|
|
43615
|
+
}
|
|
43616
|
+
|
|
43617
|
+
/**
|
|
43618
|
+
* Checks if the given arguments are from an iteratee call.
|
|
43619
|
+
*
|
|
43620
|
+
* @private
|
|
43621
|
+
* @param {*} value The potential iteratee value argument.
|
|
43622
|
+
* @param {*} index The potential iteratee index or key argument.
|
|
43623
|
+
* @param {*} object The potential iteratee object argument.
|
|
43624
|
+
* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
|
|
43625
|
+
* else `false`.
|
|
43626
|
+
*/
|
|
43627
|
+
function isIterateeCall(value, index, object) {
|
|
43628
|
+
if (!isObject(object)) {
|
|
43629
|
+
return false;
|
|
43630
|
+
}
|
|
43631
|
+
var type = typeof index;
|
|
43632
|
+
if (type == 'number'
|
|
43633
|
+
? (isArrayLike(object) && isIndex(index, object.length))
|
|
43634
|
+
: (type == 'string' && index in object)
|
|
43635
|
+
) {
|
|
43636
|
+
return eq(object[index], value);
|
|
43637
|
+
}
|
|
43638
|
+
return false;
|
|
43639
|
+
}
|
|
43640
|
+
|
|
43641
|
+
/**
|
|
43642
|
+
* Creates a function like `_.assign`.
|
|
43643
|
+
*
|
|
43644
|
+
* @private
|
|
43645
|
+
* @param {Function} assigner The function to assign values.
|
|
43646
|
+
* @returns {Function} Returns the new assigner function.
|
|
43647
|
+
*/
|
|
43648
|
+
function createAssigner(assigner) {
|
|
43649
|
+
return baseRest(function(object, sources) {
|
|
43650
|
+
var index = -1,
|
|
43651
|
+
length = sources.length,
|
|
43652
|
+
customizer = length > 1 ? sources[length - 1] : undefined,
|
|
43653
|
+
guard = length > 2 ? sources[2] : undefined;
|
|
43654
|
+
|
|
43655
|
+
customizer = (assigner.length > 3 && typeof customizer == 'function')
|
|
43656
|
+
? (length--, customizer)
|
|
43657
|
+
: undefined;
|
|
43658
|
+
|
|
43659
|
+
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
|
43660
|
+
customizer = length < 3 ? undefined : customizer;
|
|
43661
|
+
length = 1;
|
|
43662
|
+
}
|
|
43663
|
+
object = Object(object);
|
|
43664
|
+
while (++index < length) {
|
|
43665
|
+
var source = sources[index];
|
|
43666
|
+
if (source) {
|
|
43667
|
+
assigner(object, source, index, customizer);
|
|
43668
|
+
}
|
|
43669
|
+
}
|
|
43670
|
+
return object;
|
|
43671
|
+
});
|
|
43672
|
+
}
|
|
43673
|
+
|
|
43674
|
+
/** Used for built-in method references. */
|
|
43675
|
+
var objectProto$5 = Object.prototype;
|
|
43676
|
+
|
|
43677
|
+
/**
|
|
43678
|
+
* Checks if `value` is likely a prototype object.
|
|
43679
|
+
*
|
|
43680
|
+
* @private
|
|
43681
|
+
* @param {*} value The value to check.
|
|
43682
|
+
* @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
|
|
43683
|
+
*/
|
|
43684
|
+
function isPrototype(value) {
|
|
43685
|
+
var Ctor = value && value.constructor,
|
|
43686
|
+
proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$5;
|
|
43687
|
+
|
|
43688
|
+
return value === proto;
|
|
43689
|
+
}
|
|
43690
|
+
|
|
43691
|
+
/**
|
|
43692
|
+
* The base implementation of `_.times` without support for iteratee shorthands
|
|
43693
|
+
* or max array length checks.
|
|
43694
|
+
*
|
|
43695
|
+
* @private
|
|
43696
|
+
* @param {number} n The number of times to invoke `iteratee`.
|
|
43697
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
43698
|
+
* @returns {Array} Returns the array of results.
|
|
43699
|
+
*/
|
|
43700
|
+
function baseTimes(n, iteratee) {
|
|
43701
|
+
var index = -1,
|
|
43702
|
+
result = Array(n);
|
|
43703
|
+
|
|
43704
|
+
while (++index < n) {
|
|
43705
|
+
result[index] = iteratee(index);
|
|
43706
|
+
}
|
|
43707
|
+
return result;
|
|
43708
|
+
}
|
|
43709
|
+
|
|
43710
|
+
/** `Object#toString` result references. */
|
|
43711
|
+
var argsTag$1 = '[object Arguments]';
|
|
43712
|
+
|
|
43713
|
+
/**
|
|
43714
|
+
* The base implementation of `_.isArguments`.
|
|
43715
|
+
*
|
|
43716
|
+
* @private
|
|
43717
|
+
* @param {*} value The value to check.
|
|
43718
|
+
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
|
43719
|
+
*/
|
|
43720
|
+
function baseIsArguments(value) {
|
|
43721
|
+
return isObjectLike(value) && baseGetTag(value) == argsTag$1;
|
|
43722
|
+
}
|
|
43723
|
+
|
|
43724
|
+
/** Used for built-in method references. */
|
|
43725
|
+
var objectProto$4 = Object.prototype;
|
|
43726
|
+
|
|
43727
|
+
/** Used to check objects for own properties. */
|
|
43728
|
+
var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
|
|
43729
|
+
|
|
43730
|
+
/** Built-in value references. */
|
|
43731
|
+
var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
|
|
43732
|
+
|
|
43733
|
+
/**
|
|
43734
|
+
* Checks if `value` is likely an `arguments` object.
|
|
43735
|
+
*
|
|
43736
|
+
* @static
|
|
43737
|
+
* @memberOf _
|
|
43738
|
+
* @since 0.1.0
|
|
43739
|
+
* @category Lang
|
|
43740
|
+
* @param {*} value The value to check.
|
|
43741
|
+
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
|
43742
|
+
* else `false`.
|
|
43743
|
+
* @example
|
|
43744
|
+
*
|
|
43745
|
+
* _.isArguments(function() { return arguments; }());
|
|
43746
|
+
* // => true
|
|
43747
|
+
*
|
|
43748
|
+
* _.isArguments([1, 2, 3]);
|
|
43749
|
+
* // => false
|
|
43750
|
+
*/
|
|
43751
|
+
var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
|
|
43752
|
+
return isObjectLike(value) && hasOwnProperty$4.call(value, 'callee') &&
|
|
43753
|
+
!propertyIsEnumerable.call(value, 'callee');
|
|
43754
|
+
};
|
|
43755
|
+
|
|
43756
|
+
/**
|
|
43757
|
+
* This method returns `false`.
|
|
43758
|
+
*
|
|
43759
|
+
* @static
|
|
43760
|
+
* @memberOf _
|
|
43761
|
+
* @since 4.13.0
|
|
43762
|
+
* @category Util
|
|
43763
|
+
* @returns {boolean} Returns `false`.
|
|
43764
|
+
* @example
|
|
43765
|
+
*
|
|
43766
|
+
* _.times(2, _.stubFalse);
|
|
43767
|
+
* // => [false, false]
|
|
43768
|
+
*/
|
|
43769
|
+
function stubFalse() {
|
|
43770
|
+
return false;
|
|
43771
|
+
}
|
|
43772
|
+
|
|
43773
|
+
/** Detect free variable `exports`. */
|
|
43774
|
+
var freeExports$2 = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
|
43775
|
+
|
|
43776
|
+
/** Detect free variable `module`. */
|
|
43777
|
+
var freeModule$2 = freeExports$2 && typeof module == 'object' && module && !module.nodeType && module;
|
|
43778
|
+
|
|
43779
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
43780
|
+
var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;
|
|
43781
|
+
|
|
43782
|
+
/** Built-in value references. */
|
|
43783
|
+
var Buffer$2 = moduleExports$2 ? root.Buffer : undefined;
|
|
43784
|
+
|
|
43785
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
43786
|
+
var nativeIsBuffer = Buffer$2 ? Buffer$2.isBuffer : undefined;
|
|
43787
|
+
|
|
43788
|
+
/**
|
|
43789
|
+
* Checks if `value` is a buffer.
|
|
43790
|
+
*
|
|
43791
|
+
* @static
|
|
43792
|
+
* @memberOf _
|
|
43793
|
+
* @since 4.3.0
|
|
43794
|
+
* @category Lang
|
|
43795
|
+
* @param {*} value The value to check.
|
|
43796
|
+
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
|
43797
|
+
* @example
|
|
43798
|
+
*
|
|
43799
|
+
* _.isBuffer(new Buffer(2));
|
|
43800
|
+
* // => true
|
|
43801
|
+
*
|
|
43802
|
+
* _.isBuffer(new Uint8Array(2));
|
|
43803
|
+
* // => false
|
|
43804
|
+
*/
|
|
43805
|
+
var isBuffer = nativeIsBuffer || stubFalse;
|
|
43806
|
+
|
|
43807
|
+
/** `Object#toString` result references. */
|
|
43808
|
+
var argsTag = '[object Arguments]',
|
|
43809
|
+
arrayTag = '[object Array]',
|
|
43810
|
+
boolTag = '[object Boolean]',
|
|
43811
|
+
dateTag = '[object Date]',
|
|
43812
|
+
errorTag = '[object Error]',
|
|
43813
|
+
funcTag = '[object Function]',
|
|
43814
|
+
mapTag = '[object Map]',
|
|
43815
|
+
numberTag = '[object Number]',
|
|
43816
|
+
objectTag$1 = '[object Object]',
|
|
43817
|
+
regexpTag = '[object RegExp]',
|
|
43818
|
+
setTag = '[object Set]',
|
|
43819
|
+
stringTag = '[object String]',
|
|
43820
|
+
weakMapTag = '[object WeakMap]';
|
|
43821
|
+
|
|
43822
|
+
var arrayBufferTag = '[object ArrayBuffer]',
|
|
43823
|
+
dataViewTag = '[object DataView]',
|
|
43824
|
+
float32Tag = '[object Float32Array]',
|
|
43825
|
+
float64Tag = '[object Float64Array]',
|
|
43826
|
+
int8Tag = '[object Int8Array]',
|
|
43827
|
+
int16Tag = '[object Int16Array]',
|
|
43828
|
+
int32Tag = '[object Int32Array]',
|
|
43829
|
+
uint8Tag = '[object Uint8Array]',
|
|
43830
|
+
uint8ClampedTag = '[object Uint8ClampedArray]',
|
|
43831
|
+
uint16Tag = '[object Uint16Array]',
|
|
43832
|
+
uint32Tag = '[object Uint32Array]';
|
|
43833
|
+
|
|
43834
|
+
/** Used to identify `toStringTag` values of typed arrays. */
|
|
43835
|
+
var typedArrayTags = {};
|
|
43836
|
+
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
|
|
43837
|
+
typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
|
|
43838
|
+
typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
|
|
43839
|
+
typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
|
|
43840
|
+
typedArrayTags[uint32Tag] = true;
|
|
43841
|
+
typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
|
|
43842
|
+
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
|
|
43843
|
+
typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
|
|
43844
|
+
typedArrayTags[errorTag] = typedArrayTags[funcTag] =
|
|
43845
|
+
typedArrayTags[mapTag] = typedArrayTags[numberTag] =
|
|
43846
|
+
typedArrayTags[objectTag$1] = typedArrayTags[regexpTag] =
|
|
43847
|
+
typedArrayTags[setTag] = typedArrayTags[stringTag] =
|
|
43848
|
+
typedArrayTags[weakMapTag] = false;
|
|
43849
|
+
|
|
43850
|
+
/**
|
|
43851
|
+
* The base implementation of `_.isTypedArray` without Node.js optimizations.
|
|
43852
|
+
*
|
|
43853
|
+
* @private
|
|
43854
|
+
* @param {*} value The value to check.
|
|
43855
|
+
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
|
|
43856
|
+
*/
|
|
43857
|
+
function baseIsTypedArray(value) {
|
|
43858
|
+
return isObjectLike(value) &&
|
|
43859
|
+
isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
|
|
43860
|
+
}
|
|
43861
|
+
|
|
43862
|
+
/**
|
|
43863
|
+
* The base implementation of `_.unary` without support for storing metadata.
|
|
43864
|
+
*
|
|
43865
|
+
* @private
|
|
43866
|
+
* @param {Function} func The function to cap arguments for.
|
|
43867
|
+
* @returns {Function} Returns the new capped function.
|
|
43868
|
+
*/
|
|
43869
|
+
function baseUnary(func) {
|
|
43870
|
+
return function(value) {
|
|
43871
|
+
return func(value);
|
|
43872
|
+
};
|
|
43873
|
+
}
|
|
43874
|
+
|
|
43875
|
+
/** Detect free variable `exports`. */
|
|
43876
|
+
var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
|
43877
|
+
|
|
43878
|
+
/** Detect free variable `module`. */
|
|
43879
|
+
var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module;
|
|
43880
|
+
|
|
43881
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
43882
|
+
var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
|
|
43883
|
+
|
|
43884
|
+
/** Detect free variable `process` from Node.js. */
|
|
43885
|
+
var freeProcess = moduleExports$1 && freeGlobal.process;
|
|
43886
|
+
|
|
43887
|
+
/** Used to access faster Node.js helpers. */
|
|
43888
|
+
var nodeUtil = (function() {
|
|
43889
|
+
try {
|
|
43890
|
+
// Use `util.types` for Node.js 10+.
|
|
43891
|
+
var types = freeModule$1 && freeModule$1.require && freeModule$1.require('util').types;
|
|
43892
|
+
|
|
43893
|
+
if (types) {
|
|
43894
|
+
return types;
|
|
43895
|
+
}
|
|
43896
|
+
|
|
43897
|
+
// Legacy `process.binding('util')` for Node.js < 10.
|
|
43898
|
+
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
|
43899
|
+
} catch (e) {}
|
|
43900
|
+
}());
|
|
43901
|
+
|
|
43902
|
+
/* Node.js helper references. */
|
|
43903
|
+
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
|
43904
|
+
|
|
43905
|
+
/**
|
|
43906
|
+
* Checks if `value` is classified as a typed array.
|
|
43907
|
+
*
|
|
43908
|
+
* @static
|
|
43909
|
+
* @memberOf _
|
|
43910
|
+
* @since 3.0.0
|
|
43911
|
+
* @category Lang
|
|
43912
|
+
* @param {*} value The value to check.
|
|
43913
|
+
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
|
|
43914
|
+
* @example
|
|
43915
|
+
*
|
|
43916
|
+
* _.isTypedArray(new Uint8Array);
|
|
43917
|
+
* // => true
|
|
43918
|
+
*
|
|
43919
|
+
* _.isTypedArray([]);
|
|
43920
|
+
* // => false
|
|
43921
|
+
*/
|
|
43922
|
+
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
|
43923
|
+
|
|
43924
|
+
/**
|
|
43925
|
+
* Creates an array of the enumerable property names of the array-like `value`.
|
|
43926
|
+
*
|
|
43927
|
+
* @private
|
|
43928
|
+
* @param {*} value The value to query.
|
|
43929
|
+
* @param {boolean} inherited Specify returning inherited property names.
|
|
43930
|
+
* @returns {Array} Returns the array of property names.
|
|
43931
|
+
*/
|
|
43932
|
+
function arrayLikeKeys(value, inherited) {
|
|
43933
|
+
var isArr = isArray(value),
|
|
43934
|
+
isArg = !isArr && isArguments(value),
|
|
43935
|
+
isBuff = !isArr && !isArg && isBuffer(value),
|
|
43936
|
+
isType = !isArr && !isArg && !isBuff && isTypedArray(value),
|
|
43937
|
+
skipIndexes = isArr || isArg || isBuff || isType,
|
|
43938
|
+
result = skipIndexes ? baseTimes(value.length, String) : [],
|
|
43939
|
+
length = result.length;
|
|
43940
|
+
|
|
43941
|
+
for (var key in value) {
|
|
43942
|
+
if (!(skipIndexes && (
|
|
43943
|
+
// Safari 9 has enumerable `arguments.length` in strict mode.
|
|
43944
|
+
key == 'length' ||
|
|
43945
|
+
// Node.js 0.10 has enumerable non-index properties on buffers.
|
|
43946
|
+
(isBuff && (key == 'offset' || key == 'parent')) ||
|
|
43947
|
+
// PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
43948
|
+
(isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
|
|
43949
|
+
// Skip index properties.
|
|
43950
|
+
isIndex(key, length)
|
|
43951
|
+
))) {
|
|
43952
|
+
result.push(key);
|
|
43953
|
+
}
|
|
43954
|
+
}
|
|
43955
|
+
return result;
|
|
43956
|
+
}
|
|
43957
|
+
|
|
43958
|
+
/**
|
|
43959
|
+
* Creates a unary function that invokes `func` with its argument transformed.
|
|
43960
|
+
*
|
|
43961
|
+
* @private
|
|
43962
|
+
* @param {Function} func The function to wrap.
|
|
43963
|
+
* @param {Function} transform The argument transform.
|
|
43964
|
+
* @returns {Function} Returns the new function.
|
|
43965
|
+
*/
|
|
43966
|
+
function overArg(func, transform) {
|
|
43967
|
+
return function(arg) {
|
|
43968
|
+
return func(transform(arg));
|
|
43969
|
+
};
|
|
43970
|
+
}
|
|
43971
|
+
|
|
43972
|
+
/**
|
|
43973
|
+
* This function is like
|
|
43974
|
+
* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
|
|
43975
|
+
* except that it includes inherited enumerable properties.
|
|
43976
|
+
*
|
|
43977
|
+
* @private
|
|
43978
|
+
* @param {Object} object The object to query.
|
|
43979
|
+
* @returns {Array} Returns the array of property names.
|
|
43980
|
+
*/
|
|
43981
|
+
function nativeKeysIn(object) {
|
|
43982
|
+
var result = [];
|
|
43983
|
+
if (object != null) {
|
|
43984
|
+
for (var key in Object(object)) {
|
|
43985
|
+
result.push(key);
|
|
43986
|
+
}
|
|
43987
|
+
}
|
|
43988
|
+
return result;
|
|
43989
|
+
}
|
|
43990
|
+
|
|
43991
|
+
/** Used for built-in method references. */
|
|
43992
|
+
var objectProto$3 = Object.prototype;
|
|
43993
|
+
|
|
43994
|
+
/** Used to check objects for own properties. */
|
|
43995
|
+
var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
|
|
43996
|
+
|
|
43997
|
+
/**
|
|
43998
|
+
* The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
|
|
43999
|
+
*
|
|
44000
|
+
* @private
|
|
44001
|
+
* @param {Object} object The object to query.
|
|
44002
|
+
* @returns {Array} Returns the array of property names.
|
|
44003
|
+
*/
|
|
44004
|
+
function baseKeysIn(object) {
|
|
44005
|
+
if (!isObject(object)) {
|
|
44006
|
+
return nativeKeysIn(object);
|
|
44007
|
+
}
|
|
44008
|
+
var isProto = isPrototype(object),
|
|
44009
|
+
result = [];
|
|
44010
|
+
|
|
44011
|
+
for (var key in object) {
|
|
44012
|
+
if (!(key == 'constructor' && (isProto || !hasOwnProperty$3.call(object, key)))) {
|
|
44013
|
+
result.push(key);
|
|
44014
|
+
}
|
|
44015
|
+
}
|
|
44016
|
+
return result;
|
|
44017
|
+
}
|
|
44018
|
+
|
|
44019
|
+
/**
|
|
44020
|
+
* Creates an array of the own and inherited enumerable property names of `object`.
|
|
44021
|
+
*
|
|
44022
|
+
* **Note:** Non-object values are coerced to objects.
|
|
44023
|
+
*
|
|
44024
|
+
* @static
|
|
44025
|
+
* @memberOf _
|
|
44026
|
+
* @since 3.0.0
|
|
44027
|
+
* @category Object
|
|
44028
|
+
* @param {Object} object The object to query.
|
|
44029
|
+
* @returns {Array} Returns the array of property names.
|
|
44030
|
+
* @example
|
|
44031
|
+
*
|
|
44032
|
+
* function Foo() {
|
|
44033
|
+
* this.a = 1;
|
|
44034
|
+
* this.b = 2;
|
|
44035
|
+
* }
|
|
44036
|
+
*
|
|
44037
|
+
* Foo.prototype.c = 3;
|
|
44038
|
+
*
|
|
44039
|
+
* _.keysIn(new Foo);
|
|
44040
|
+
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
|
|
44041
|
+
*/
|
|
44042
|
+
function keysIn(object) {
|
|
44043
|
+
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeysIn(object);
|
|
44044
|
+
}
|
|
44045
|
+
|
|
44046
|
+
/* Built-in method references that are verified to be native. */
|
|
44047
|
+
var nativeCreate = getNative(Object, 'create');
|
|
44048
|
+
|
|
44049
|
+
/**
|
|
44050
|
+
* Removes all key-value entries from the hash.
|
|
44051
|
+
*
|
|
44052
|
+
* @private
|
|
44053
|
+
* @name clear
|
|
44054
|
+
* @memberOf Hash
|
|
44055
|
+
*/
|
|
44056
|
+
function hashClear() {
|
|
44057
|
+
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
|
44058
|
+
this.size = 0;
|
|
44059
|
+
}
|
|
44060
|
+
|
|
44061
|
+
/**
|
|
44062
|
+
* Removes `key` and its value from the hash.
|
|
44063
|
+
*
|
|
44064
|
+
* @private
|
|
44065
|
+
* @name delete
|
|
44066
|
+
* @memberOf Hash
|
|
44067
|
+
* @param {Object} hash The hash to modify.
|
|
44068
|
+
* @param {string} key The key of the value to remove.
|
|
44069
|
+
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
|
44070
|
+
*/
|
|
44071
|
+
function hashDelete(key) {
|
|
44072
|
+
var result = this.has(key) && delete this.__data__[key];
|
|
44073
|
+
this.size -= result ? 1 : 0;
|
|
44074
|
+
return result;
|
|
44075
|
+
}
|
|
44076
|
+
|
|
44077
|
+
/** Used to stand-in for `undefined` hash values. */
|
|
44078
|
+
var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
|
|
44079
|
+
|
|
44080
|
+
/** Used for built-in method references. */
|
|
44081
|
+
var objectProto$2 = Object.prototype;
|
|
44082
|
+
|
|
44083
|
+
/** Used to check objects for own properties. */
|
|
44084
|
+
var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
|
|
44085
|
+
|
|
44086
|
+
/**
|
|
44087
|
+
* Gets the hash value for `key`.
|
|
44088
|
+
*
|
|
44089
|
+
* @private
|
|
44090
|
+
* @name get
|
|
44091
|
+
* @memberOf Hash
|
|
44092
|
+
* @param {string} key The key of the value to get.
|
|
44093
|
+
* @returns {*} Returns the entry value.
|
|
44094
|
+
*/
|
|
44095
|
+
function hashGet(key) {
|
|
44096
|
+
var data = this.__data__;
|
|
44097
|
+
if (nativeCreate) {
|
|
44098
|
+
var result = data[key];
|
|
44099
|
+
return result === HASH_UNDEFINED$1 ? undefined : result;
|
|
44100
|
+
}
|
|
44101
|
+
return hasOwnProperty$2.call(data, key) ? data[key] : undefined;
|
|
44102
|
+
}
|
|
44103
|
+
|
|
44104
|
+
/** Used for built-in method references. */
|
|
44105
|
+
var objectProto$1 = Object.prototype;
|
|
44106
|
+
|
|
44107
|
+
/** Used to check objects for own properties. */
|
|
44108
|
+
var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
|
|
44109
|
+
|
|
44110
|
+
/**
|
|
44111
|
+
* Checks if a hash value for `key` exists.
|
|
44112
|
+
*
|
|
44113
|
+
* @private
|
|
44114
|
+
* @name has
|
|
44115
|
+
* @memberOf Hash
|
|
44116
|
+
* @param {string} key The key of the entry to check.
|
|
44117
|
+
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
44118
|
+
*/
|
|
44119
|
+
function hashHas(key) {
|
|
44120
|
+
var data = this.__data__;
|
|
44121
|
+
return nativeCreate ? (data[key] !== undefined) : hasOwnProperty$1.call(data, key);
|
|
44122
|
+
}
|
|
44123
|
+
|
|
44124
|
+
/** Used to stand-in for `undefined` hash values. */
|
|
44125
|
+
var HASH_UNDEFINED = '__lodash_hash_undefined__';
|
|
44126
|
+
|
|
44127
|
+
/**
|
|
44128
|
+
* Sets the hash `key` to `value`.
|
|
44129
|
+
*
|
|
44130
|
+
* @private
|
|
44131
|
+
* @name set
|
|
44132
|
+
* @memberOf Hash
|
|
44133
|
+
* @param {string} key The key of the value to set.
|
|
44134
|
+
* @param {*} value The value to set.
|
|
44135
|
+
* @returns {Object} Returns the hash instance.
|
|
44136
|
+
*/
|
|
44137
|
+
function hashSet(key, value) {
|
|
44138
|
+
var data = this.__data__;
|
|
44139
|
+
this.size += this.has(key) ? 0 : 1;
|
|
44140
|
+
data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
|
|
44141
|
+
return this;
|
|
44142
|
+
}
|
|
44143
|
+
|
|
44144
|
+
/**
|
|
44145
|
+
* Creates a hash object.
|
|
44146
|
+
*
|
|
44147
|
+
* @private
|
|
44148
|
+
* @constructor
|
|
44149
|
+
* @param {Array} [entries] The key-value pairs to cache.
|
|
44150
|
+
*/
|
|
44151
|
+
function Hash(entries) {
|
|
44152
|
+
var index = -1,
|
|
44153
|
+
length = entries == null ? 0 : entries.length;
|
|
44154
|
+
|
|
44155
|
+
this.clear();
|
|
44156
|
+
while (++index < length) {
|
|
44157
|
+
var entry = entries[index];
|
|
44158
|
+
this.set(entry[0], entry[1]);
|
|
44159
|
+
}
|
|
44160
|
+
}
|
|
44161
|
+
|
|
44162
|
+
// Add methods to `Hash`.
|
|
44163
|
+
Hash.prototype.clear = hashClear;
|
|
44164
|
+
Hash.prototype['delete'] = hashDelete;
|
|
44165
|
+
Hash.prototype.get = hashGet;
|
|
44166
|
+
Hash.prototype.has = hashHas;
|
|
44167
|
+
Hash.prototype.set = hashSet;
|
|
44168
|
+
|
|
44169
|
+
/**
|
|
44170
|
+
* Removes all key-value entries from the list cache.
|
|
44171
|
+
*
|
|
44172
|
+
* @private
|
|
44173
|
+
* @name clear
|
|
44174
|
+
* @memberOf ListCache
|
|
44175
|
+
*/
|
|
44176
|
+
function listCacheClear() {
|
|
44177
|
+
this.__data__ = [];
|
|
44178
|
+
this.size = 0;
|
|
44179
|
+
}
|
|
44180
|
+
|
|
44181
|
+
/**
|
|
44182
|
+
* Gets the index at which the `key` is found in `array` of key-value pairs.
|
|
44183
|
+
*
|
|
44184
|
+
* @private
|
|
44185
|
+
* @param {Array} array The array to inspect.
|
|
44186
|
+
* @param {*} key The key to search for.
|
|
44187
|
+
* @returns {number} Returns the index of the matched value, else `-1`.
|
|
44188
|
+
*/
|
|
44189
|
+
function assocIndexOf(array, key) {
|
|
44190
|
+
var length = array.length;
|
|
44191
|
+
while (length--) {
|
|
44192
|
+
if (eq(array[length][0], key)) {
|
|
44193
|
+
return length;
|
|
44194
|
+
}
|
|
44195
|
+
}
|
|
44196
|
+
return -1;
|
|
44197
|
+
}
|
|
44198
|
+
|
|
44199
|
+
/** Used for built-in method references. */
|
|
44200
|
+
var arrayProto = Array.prototype;
|
|
44201
|
+
|
|
44202
|
+
/** Built-in value references. */
|
|
44203
|
+
var splice = arrayProto.splice;
|
|
44204
|
+
|
|
44205
|
+
/**
|
|
44206
|
+
* Removes `key` and its value from the list cache.
|
|
44207
|
+
*
|
|
44208
|
+
* @private
|
|
44209
|
+
* @name delete
|
|
44210
|
+
* @memberOf ListCache
|
|
44211
|
+
* @param {string} key The key of the value to remove.
|
|
44212
|
+
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
|
44213
|
+
*/
|
|
44214
|
+
function listCacheDelete(key) {
|
|
44215
|
+
var data = this.__data__,
|
|
44216
|
+
index = assocIndexOf(data, key);
|
|
44217
|
+
|
|
44218
|
+
if (index < 0) {
|
|
44219
|
+
return false;
|
|
44220
|
+
}
|
|
44221
|
+
var lastIndex = data.length - 1;
|
|
44222
|
+
if (index == lastIndex) {
|
|
44223
|
+
data.pop();
|
|
44224
|
+
} else {
|
|
44225
|
+
splice.call(data, index, 1);
|
|
44226
|
+
}
|
|
44227
|
+
--this.size;
|
|
44228
|
+
return true;
|
|
44229
|
+
}
|
|
44230
|
+
|
|
44231
|
+
/**
|
|
44232
|
+
* Gets the list cache value for `key`.
|
|
44233
|
+
*
|
|
44234
|
+
* @private
|
|
44235
|
+
* @name get
|
|
44236
|
+
* @memberOf ListCache
|
|
44237
|
+
* @param {string} key The key of the value to get.
|
|
44238
|
+
* @returns {*} Returns the entry value.
|
|
44239
|
+
*/
|
|
44240
|
+
function listCacheGet(key) {
|
|
44241
|
+
var data = this.__data__,
|
|
44242
|
+
index = assocIndexOf(data, key);
|
|
44243
|
+
|
|
44244
|
+
return index < 0 ? undefined : data[index][1];
|
|
44245
|
+
}
|
|
44246
|
+
|
|
44247
|
+
/**
|
|
44248
|
+
* Checks if a list cache value for `key` exists.
|
|
44249
|
+
*
|
|
44250
|
+
* @private
|
|
44251
|
+
* @name has
|
|
44252
|
+
* @memberOf ListCache
|
|
44253
|
+
* @param {string} key The key of the entry to check.
|
|
44254
|
+
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
44255
|
+
*/
|
|
44256
|
+
function listCacheHas(key) {
|
|
44257
|
+
return assocIndexOf(this.__data__, key) > -1;
|
|
44258
|
+
}
|
|
44259
|
+
|
|
44260
|
+
/**
|
|
44261
|
+
* Sets the list cache `key` to `value`.
|
|
44262
|
+
*
|
|
44263
|
+
* @private
|
|
44264
|
+
* @name set
|
|
44265
|
+
* @memberOf ListCache
|
|
44266
|
+
* @param {string} key The key of the value to set.
|
|
44267
|
+
* @param {*} value The value to set.
|
|
44268
|
+
* @returns {Object} Returns the list cache instance.
|
|
44269
|
+
*/
|
|
44270
|
+
function listCacheSet(key, value) {
|
|
44271
|
+
var data = this.__data__,
|
|
44272
|
+
index = assocIndexOf(data, key);
|
|
44273
|
+
|
|
44274
|
+
if (index < 0) {
|
|
44275
|
+
++this.size;
|
|
44276
|
+
data.push([key, value]);
|
|
44277
|
+
} else {
|
|
44278
|
+
data[index][1] = value;
|
|
44279
|
+
}
|
|
44280
|
+
return this;
|
|
44281
|
+
}
|
|
44282
|
+
|
|
44283
|
+
/**
|
|
44284
|
+
* Creates an list cache object.
|
|
44285
|
+
*
|
|
44286
|
+
* @private
|
|
44287
|
+
* @constructor
|
|
44288
|
+
* @param {Array} [entries] The key-value pairs to cache.
|
|
44289
|
+
*/
|
|
44290
|
+
function ListCache(entries) {
|
|
44291
|
+
var index = -1,
|
|
44292
|
+
length = entries == null ? 0 : entries.length;
|
|
44293
|
+
|
|
44294
|
+
this.clear();
|
|
44295
|
+
while (++index < length) {
|
|
44296
|
+
var entry = entries[index];
|
|
44297
|
+
this.set(entry[0], entry[1]);
|
|
44298
|
+
}
|
|
44299
|
+
}
|
|
44300
|
+
|
|
44301
|
+
// Add methods to `ListCache`.
|
|
44302
|
+
ListCache.prototype.clear = listCacheClear;
|
|
44303
|
+
ListCache.prototype['delete'] = listCacheDelete;
|
|
44304
|
+
ListCache.prototype.get = listCacheGet;
|
|
44305
|
+
ListCache.prototype.has = listCacheHas;
|
|
44306
|
+
ListCache.prototype.set = listCacheSet;
|
|
44307
|
+
|
|
44308
|
+
/* Built-in method references that are verified to be native. */
|
|
44309
|
+
var Map$1 = getNative(root, 'Map');
|
|
44310
|
+
|
|
44311
|
+
/**
|
|
44312
|
+
* Removes all key-value entries from the map.
|
|
44313
|
+
*
|
|
44314
|
+
* @private
|
|
44315
|
+
* @name clear
|
|
44316
|
+
* @memberOf MapCache
|
|
44317
|
+
*/
|
|
44318
|
+
function mapCacheClear() {
|
|
44319
|
+
this.size = 0;
|
|
44320
|
+
this.__data__ = {
|
|
44321
|
+
'hash': new Hash,
|
|
44322
|
+
'map': new (Map$1 || ListCache),
|
|
44323
|
+
'string': new Hash
|
|
44324
|
+
};
|
|
44325
|
+
}
|
|
44326
|
+
|
|
44327
|
+
/**
|
|
44328
|
+
* Checks if `value` is suitable for use as unique object key.
|
|
44329
|
+
*
|
|
44330
|
+
* @private
|
|
44331
|
+
* @param {*} value The value to check.
|
|
44332
|
+
* @returns {boolean} Returns `true` if `value` is suitable, else `false`.
|
|
44333
|
+
*/
|
|
44334
|
+
function isKeyable(value) {
|
|
44335
|
+
var type = typeof value;
|
|
44336
|
+
return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
|
|
44337
|
+
? (value !== '__proto__')
|
|
44338
|
+
: (value === null);
|
|
44339
|
+
}
|
|
44340
|
+
|
|
44341
|
+
/**
|
|
44342
|
+
* Gets the data for `map`.
|
|
44343
|
+
*
|
|
44344
|
+
* @private
|
|
44345
|
+
* @param {Object} map The map to query.
|
|
44346
|
+
* @param {string} key The reference key.
|
|
44347
|
+
* @returns {*} Returns the map data.
|
|
44348
|
+
*/
|
|
44349
|
+
function getMapData(map, key) {
|
|
44350
|
+
var data = map.__data__;
|
|
44351
|
+
return isKeyable(key)
|
|
44352
|
+
? data[typeof key == 'string' ? 'string' : 'hash']
|
|
44353
|
+
: data.map;
|
|
44354
|
+
}
|
|
44355
|
+
|
|
44356
|
+
/**
|
|
44357
|
+
* Removes `key` and its value from the map.
|
|
44358
|
+
*
|
|
44359
|
+
* @private
|
|
44360
|
+
* @name delete
|
|
44361
|
+
* @memberOf MapCache
|
|
44362
|
+
* @param {string} key The key of the value to remove.
|
|
44363
|
+
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
|
44364
|
+
*/
|
|
44365
|
+
function mapCacheDelete(key) {
|
|
44366
|
+
var result = getMapData(this, key)['delete'](key);
|
|
44367
|
+
this.size -= result ? 1 : 0;
|
|
44368
|
+
return result;
|
|
44369
|
+
}
|
|
44370
|
+
|
|
44371
|
+
/**
|
|
44372
|
+
* Gets the map value for `key`.
|
|
44373
|
+
*
|
|
44374
|
+
* @private
|
|
44375
|
+
* @name get
|
|
44376
|
+
* @memberOf MapCache
|
|
44377
|
+
* @param {string} key The key of the value to get.
|
|
44378
|
+
* @returns {*} Returns the entry value.
|
|
44379
|
+
*/
|
|
44380
|
+
function mapCacheGet(key) {
|
|
44381
|
+
return getMapData(this, key).get(key);
|
|
44382
|
+
}
|
|
44383
|
+
|
|
44384
|
+
/**
|
|
44385
|
+
* Checks if a map value for `key` exists.
|
|
44386
|
+
*
|
|
44387
|
+
* @private
|
|
44388
|
+
* @name has
|
|
44389
|
+
* @memberOf MapCache
|
|
44390
|
+
* @param {string} key The key of the entry to check.
|
|
44391
|
+
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
44392
|
+
*/
|
|
44393
|
+
function mapCacheHas(key) {
|
|
44394
|
+
return getMapData(this, key).has(key);
|
|
44395
|
+
}
|
|
44396
|
+
|
|
44397
|
+
/**
|
|
44398
|
+
* Sets the map `key` to `value`.
|
|
44399
|
+
*
|
|
44400
|
+
* @private
|
|
44401
|
+
* @name set
|
|
44402
|
+
* @memberOf MapCache
|
|
44403
|
+
* @param {string} key The key of the value to set.
|
|
44404
|
+
* @param {*} value The value to set.
|
|
44405
|
+
* @returns {Object} Returns the map cache instance.
|
|
44406
|
+
*/
|
|
44407
|
+
function mapCacheSet(key, value) {
|
|
44408
|
+
var data = getMapData(this, key),
|
|
44409
|
+
size = data.size;
|
|
44410
|
+
|
|
44411
|
+
data.set(key, value);
|
|
44412
|
+
this.size += data.size == size ? 0 : 1;
|
|
44413
|
+
return this;
|
|
44414
|
+
}
|
|
44415
|
+
|
|
44416
|
+
/**
|
|
44417
|
+
* Creates a map cache object to store key-value pairs.
|
|
44418
|
+
*
|
|
44419
|
+
* @private
|
|
44420
|
+
* @constructor
|
|
44421
|
+
* @param {Array} [entries] The key-value pairs to cache.
|
|
44422
|
+
*/
|
|
44423
|
+
function MapCache(entries) {
|
|
44424
|
+
var index = -1,
|
|
44425
|
+
length = entries == null ? 0 : entries.length;
|
|
44426
|
+
|
|
44427
|
+
this.clear();
|
|
44428
|
+
while (++index < length) {
|
|
44429
|
+
var entry = entries[index];
|
|
44430
|
+
this.set(entry[0], entry[1]);
|
|
44431
|
+
}
|
|
44432
|
+
}
|
|
44433
|
+
|
|
44434
|
+
// Add methods to `MapCache`.
|
|
44435
|
+
MapCache.prototype.clear = mapCacheClear;
|
|
44436
|
+
MapCache.prototype['delete'] = mapCacheDelete;
|
|
44437
|
+
MapCache.prototype.get = mapCacheGet;
|
|
44438
|
+
MapCache.prototype.has = mapCacheHas;
|
|
44439
|
+
MapCache.prototype.set = mapCacheSet;
|
|
44440
|
+
|
|
44441
|
+
/** Built-in value references. */
|
|
44442
|
+
var getPrototype = overArg(Object.getPrototypeOf, Object);
|
|
44443
|
+
|
|
44444
|
+
/** `Object#toString` result references. */
|
|
44445
|
+
var objectTag = '[object Object]';
|
|
44446
|
+
|
|
44447
|
+
/** Used for built-in method references. */
|
|
44448
|
+
var funcProto = Function.prototype,
|
|
44449
|
+
objectProto = Object.prototype;
|
|
44450
|
+
|
|
44451
|
+
/** Used to resolve the decompiled source of functions. */
|
|
44452
|
+
var funcToString = funcProto.toString;
|
|
44453
|
+
|
|
44454
|
+
/** Used to check objects for own properties. */
|
|
44455
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
44456
|
+
|
|
44457
|
+
/** Used to infer the `Object` constructor. */
|
|
44458
|
+
var objectCtorString = funcToString.call(Object);
|
|
44459
|
+
|
|
44460
|
+
/**
|
|
44461
|
+
* Checks if `value` is a plain object, that is, an object created by the
|
|
44462
|
+
* `Object` constructor or one with a `[[Prototype]]` of `null`.
|
|
44463
|
+
*
|
|
44464
|
+
* @static
|
|
44465
|
+
* @memberOf _
|
|
44466
|
+
* @since 0.8.0
|
|
44467
|
+
* @category Lang
|
|
44468
|
+
* @param {*} value The value to check.
|
|
44469
|
+
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
|
|
44470
|
+
* @example
|
|
44471
|
+
*
|
|
44472
|
+
* function Foo() {
|
|
44473
|
+
* this.a = 1;
|
|
44474
|
+
* }
|
|
44475
|
+
*
|
|
44476
|
+
* _.isPlainObject(new Foo);
|
|
44477
|
+
* // => false
|
|
44478
|
+
*
|
|
44479
|
+
* _.isPlainObject([1, 2, 3]);
|
|
44480
|
+
* // => false
|
|
44481
|
+
*
|
|
44482
|
+
* _.isPlainObject({ 'x': 0, 'y': 0 });
|
|
44483
|
+
* // => true
|
|
44484
|
+
*
|
|
44485
|
+
* _.isPlainObject(Object.create(null));
|
|
44486
|
+
* // => true
|
|
44487
|
+
*/
|
|
44488
|
+
function isPlainObject(value) {
|
|
44489
|
+
if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
|
|
44490
|
+
return false;
|
|
44491
|
+
}
|
|
44492
|
+
var proto = getPrototype(value);
|
|
44493
|
+
if (proto === null) {
|
|
44494
|
+
return true;
|
|
44495
|
+
}
|
|
44496
|
+
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
|
44497
|
+
return typeof Ctor == 'function' && Ctor instanceof Ctor &&
|
|
44498
|
+
funcToString.call(Ctor) == objectCtorString;
|
|
44499
|
+
}
|
|
44500
|
+
|
|
44501
|
+
/**
|
|
44502
|
+
* Removes all key-value entries from the stack.
|
|
44503
|
+
*
|
|
44504
|
+
* @private
|
|
44505
|
+
* @name clear
|
|
44506
|
+
* @memberOf Stack
|
|
44507
|
+
*/
|
|
44508
|
+
function stackClear() {
|
|
44509
|
+
this.__data__ = new ListCache;
|
|
44510
|
+
this.size = 0;
|
|
44511
|
+
}
|
|
44512
|
+
|
|
44513
|
+
/**
|
|
44514
|
+
* Removes `key` and its value from the stack.
|
|
44515
|
+
*
|
|
44516
|
+
* @private
|
|
44517
|
+
* @name delete
|
|
44518
|
+
* @memberOf Stack
|
|
44519
|
+
* @param {string} key The key of the value to remove.
|
|
44520
|
+
* @returns {boolean} Returns `true` if the entry was removed, else `false`.
|
|
44521
|
+
*/
|
|
44522
|
+
function stackDelete(key) {
|
|
44523
|
+
var data = this.__data__,
|
|
44524
|
+
result = data['delete'](key);
|
|
44525
|
+
|
|
44526
|
+
this.size = data.size;
|
|
44527
|
+
return result;
|
|
44528
|
+
}
|
|
44529
|
+
|
|
44530
|
+
/**
|
|
44531
|
+
* Gets the stack value for `key`.
|
|
44532
|
+
*
|
|
44533
|
+
* @private
|
|
44534
|
+
* @name get
|
|
44535
|
+
* @memberOf Stack
|
|
44536
|
+
* @param {string} key The key of the value to get.
|
|
44537
|
+
* @returns {*} Returns the entry value.
|
|
44538
|
+
*/
|
|
44539
|
+
function stackGet(key) {
|
|
44540
|
+
return this.__data__.get(key);
|
|
44541
|
+
}
|
|
44542
|
+
|
|
44543
|
+
/**
|
|
44544
|
+
* Checks if a stack value for `key` exists.
|
|
44545
|
+
*
|
|
44546
|
+
* @private
|
|
44547
|
+
* @name has
|
|
44548
|
+
* @memberOf Stack
|
|
44549
|
+
* @param {string} key The key of the entry to check.
|
|
44550
|
+
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
44551
|
+
*/
|
|
44552
|
+
function stackHas(key) {
|
|
44553
|
+
return this.__data__.has(key);
|
|
44554
|
+
}
|
|
44555
|
+
|
|
44556
|
+
/** Used as the size to enable large array optimizations. */
|
|
44557
|
+
var LARGE_ARRAY_SIZE = 200;
|
|
44558
|
+
|
|
44559
|
+
/**
|
|
44560
|
+
* Sets the stack `key` to `value`.
|
|
44561
|
+
*
|
|
44562
|
+
* @private
|
|
44563
|
+
* @name set
|
|
44564
|
+
* @memberOf Stack
|
|
44565
|
+
* @param {string} key The key of the value to set.
|
|
44566
|
+
* @param {*} value The value to set.
|
|
44567
|
+
* @returns {Object} Returns the stack cache instance.
|
|
44568
|
+
*/
|
|
44569
|
+
function stackSet(key, value) {
|
|
44570
|
+
var data = this.__data__;
|
|
44571
|
+
if (data instanceof ListCache) {
|
|
44572
|
+
var pairs = data.__data__;
|
|
44573
|
+
if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
|
|
44574
|
+
pairs.push([key, value]);
|
|
44575
|
+
this.size = ++data.size;
|
|
44576
|
+
return this;
|
|
44577
|
+
}
|
|
44578
|
+
data = this.__data__ = new MapCache(pairs);
|
|
44579
|
+
}
|
|
44580
|
+
data.set(key, value);
|
|
44581
|
+
this.size = data.size;
|
|
44582
|
+
return this;
|
|
44583
|
+
}
|
|
44584
|
+
|
|
44585
|
+
/**
|
|
44586
|
+
* Creates a stack cache object to store key-value pairs.
|
|
44587
|
+
*
|
|
44588
|
+
* @private
|
|
44589
|
+
* @constructor
|
|
44590
|
+
* @param {Array} [entries] The key-value pairs to cache.
|
|
44591
|
+
*/
|
|
44592
|
+
function Stack(entries) {
|
|
44593
|
+
var data = this.__data__ = new ListCache(entries);
|
|
44594
|
+
this.size = data.size;
|
|
44595
|
+
}
|
|
44596
|
+
|
|
44597
|
+
// Add methods to `Stack`.
|
|
44598
|
+
Stack.prototype.clear = stackClear;
|
|
44599
|
+
Stack.prototype['delete'] = stackDelete;
|
|
44600
|
+
Stack.prototype.get = stackGet;
|
|
44601
|
+
Stack.prototype.has = stackHas;
|
|
44602
|
+
Stack.prototype.set = stackSet;
|
|
44603
|
+
|
|
44604
|
+
/** Detect free variable `exports`. */
|
|
44605
|
+
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
|
44606
|
+
|
|
44607
|
+
/** Detect free variable `module`. */
|
|
44608
|
+
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
|
|
44609
|
+
|
|
44610
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
44611
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
44612
|
+
|
|
44613
|
+
/** Built-in value references. */
|
|
44614
|
+
var Buffer$1 = moduleExports ? root.Buffer : undefined;
|
|
44615
|
+
Buffer$1 ? Buffer$1.allocUnsafe : undefined;
|
|
44616
|
+
|
|
44617
|
+
/**
|
|
44618
|
+
* Creates a clone of `buffer`.
|
|
44619
|
+
*
|
|
44620
|
+
* @private
|
|
44621
|
+
* @param {Buffer} buffer The buffer to clone.
|
|
44622
|
+
* @param {boolean} [isDeep] Specify a deep clone.
|
|
44623
|
+
* @returns {Buffer} Returns the cloned buffer.
|
|
44624
|
+
*/
|
|
44625
|
+
function cloneBuffer(buffer, isDeep) {
|
|
44626
|
+
{
|
|
44627
|
+
return buffer.slice();
|
|
44628
|
+
}
|
|
44629
|
+
}
|
|
44630
|
+
|
|
44631
|
+
/** Built-in value references. */
|
|
44632
|
+
var Uint8Array$1 = root.Uint8Array;
|
|
44633
|
+
|
|
44634
|
+
/**
|
|
44635
|
+
* Creates a clone of `arrayBuffer`.
|
|
44636
|
+
*
|
|
44637
|
+
* @private
|
|
44638
|
+
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
|
44639
|
+
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
|
44640
|
+
*/
|
|
44641
|
+
function cloneArrayBuffer(arrayBuffer) {
|
|
44642
|
+
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
44643
|
+
new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
|
|
44644
|
+
return result;
|
|
44645
|
+
}
|
|
44646
|
+
|
|
44647
|
+
/**
|
|
44648
|
+
* Creates a clone of `typedArray`.
|
|
44649
|
+
*
|
|
44650
|
+
* @private
|
|
44651
|
+
* @param {Object} typedArray The typed array to clone.
|
|
44652
|
+
* @param {boolean} [isDeep] Specify a deep clone.
|
|
44653
|
+
* @returns {Object} Returns the cloned typed array.
|
|
44654
|
+
*/
|
|
44655
|
+
function cloneTypedArray(typedArray, isDeep) {
|
|
44656
|
+
var buffer = cloneArrayBuffer(typedArray.buffer) ;
|
|
44657
|
+
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
|
|
44658
|
+
}
|
|
44659
|
+
|
|
44660
|
+
/**
|
|
44661
|
+
* Initializes an object clone.
|
|
44662
|
+
*
|
|
44663
|
+
* @private
|
|
44664
|
+
* @param {Object} object The object to clone.
|
|
44665
|
+
* @returns {Object} Returns the initialized clone.
|
|
44666
|
+
*/
|
|
44667
|
+
function initCloneObject(object) {
|
|
44668
|
+
return (typeof object.constructor == 'function' && !isPrototype(object))
|
|
44669
|
+
? baseCreate(getPrototype(object))
|
|
44670
|
+
: {};
|
|
44671
|
+
}
|
|
44672
|
+
|
|
44673
|
+
/**
|
|
44674
|
+
* Creates a base function for methods like `_.forIn` and `_.forOwn`.
|
|
44675
|
+
*
|
|
44676
|
+
* @private
|
|
44677
|
+
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
44678
|
+
* @returns {Function} Returns the new base function.
|
|
44679
|
+
*/
|
|
44680
|
+
function createBaseFor(fromRight) {
|
|
44681
|
+
return function(object, iteratee, keysFunc) {
|
|
44682
|
+
var index = -1,
|
|
44683
|
+
iterable = Object(object),
|
|
44684
|
+
props = keysFunc(object),
|
|
44685
|
+
length = props.length;
|
|
44686
|
+
|
|
44687
|
+
while (length--) {
|
|
44688
|
+
var key = props[++index];
|
|
44689
|
+
if (iteratee(iterable[key], key, iterable) === false) {
|
|
44690
|
+
break;
|
|
44691
|
+
}
|
|
44692
|
+
}
|
|
44693
|
+
return object;
|
|
44694
|
+
};
|
|
44695
|
+
}
|
|
44696
|
+
|
|
44697
|
+
/**
|
|
44698
|
+
* The base implementation of `baseForOwn` which iterates over `object`
|
|
44699
|
+
* properties returned by `keysFunc` and invokes `iteratee` for each property.
|
|
44700
|
+
* Iteratee functions may exit iteration early by explicitly returning `false`.
|
|
44701
|
+
*
|
|
44702
|
+
* @private
|
|
44703
|
+
* @param {Object} object The object to iterate over.
|
|
44704
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
44705
|
+
* @param {Function} keysFunc The function to get the keys of `object`.
|
|
44706
|
+
* @returns {Object} Returns `object`.
|
|
44707
|
+
*/
|
|
44708
|
+
var baseFor = createBaseFor();
|
|
44709
|
+
|
|
44710
|
+
/**
|
|
44711
|
+
* This function is like `assignValue` except that it doesn't assign
|
|
44712
|
+
* `undefined` values.
|
|
44713
|
+
*
|
|
44714
|
+
* @private
|
|
44715
|
+
* @param {Object} object The object to modify.
|
|
44716
|
+
* @param {string} key The key of the property to assign.
|
|
44717
|
+
* @param {*} value The value to assign.
|
|
44718
|
+
*/
|
|
44719
|
+
function assignMergeValue(object, key, value) {
|
|
44720
|
+
if ((value !== undefined && !eq(object[key], value)) ||
|
|
44721
|
+
(value === undefined && !(key in object))) {
|
|
44722
|
+
baseAssignValue(object, key, value);
|
|
44723
|
+
}
|
|
44724
|
+
}
|
|
44725
|
+
|
|
44726
|
+
/**
|
|
44727
|
+
* This method is like `_.isArrayLike` except that it also checks if `value`
|
|
44728
|
+
* is an object.
|
|
44729
|
+
*
|
|
44730
|
+
* @static
|
|
44731
|
+
* @memberOf _
|
|
44732
|
+
* @since 4.0.0
|
|
44733
|
+
* @category Lang
|
|
44734
|
+
* @param {*} value The value to check.
|
|
44735
|
+
* @returns {boolean} Returns `true` if `value` is an array-like object,
|
|
44736
|
+
* else `false`.
|
|
44737
|
+
* @example
|
|
44738
|
+
*
|
|
44739
|
+
* _.isArrayLikeObject([1, 2, 3]);
|
|
44740
|
+
* // => true
|
|
44741
|
+
*
|
|
44742
|
+
* _.isArrayLikeObject(document.body.children);
|
|
44743
|
+
* // => true
|
|
44744
|
+
*
|
|
44745
|
+
* _.isArrayLikeObject('abc');
|
|
44746
|
+
* // => false
|
|
44747
|
+
*
|
|
44748
|
+
* _.isArrayLikeObject(_.noop);
|
|
44749
|
+
* // => false
|
|
44750
|
+
*/
|
|
44751
|
+
function isArrayLikeObject(value) {
|
|
44752
|
+
return isObjectLike(value) && isArrayLike(value);
|
|
44753
|
+
}
|
|
44754
|
+
|
|
44755
|
+
/**
|
|
44756
|
+
* Gets the value at `key`, unless `key` is "__proto__" or "constructor".
|
|
44757
|
+
*
|
|
44758
|
+
* @private
|
|
44759
|
+
* @param {Object} object The object to query.
|
|
44760
|
+
* @param {string} key The key of the property to get.
|
|
44761
|
+
* @returns {*} Returns the property value.
|
|
44762
|
+
*/
|
|
44763
|
+
function safeGet(object, key) {
|
|
44764
|
+
if (key === 'constructor' && typeof object[key] === 'function') {
|
|
44765
|
+
return;
|
|
44766
|
+
}
|
|
44767
|
+
|
|
44768
|
+
if (key == '__proto__') {
|
|
44769
|
+
return;
|
|
44770
|
+
}
|
|
44771
|
+
|
|
44772
|
+
return object[key];
|
|
44773
|
+
}
|
|
44774
|
+
|
|
44775
|
+
/**
|
|
44776
|
+
* Converts `value` to a plain object flattening inherited enumerable string
|
|
44777
|
+
* keyed properties of `value` to own properties of the plain object.
|
|
44778
|
+
*
|
|
44779
|
+
* @static
|
|
44780
|
+
* @memberOf _
|
|
44781
|
+
* @since 3.0.0
|
|
44782
|
+
* @category Lang
|
|
44783
|
+
* @param {*} value The value to convert.
|
|
44784
|
+
* @returns {Object} Returns the converted plain object.
|
|
44785
|
+
* @example
|
|
44786
|
+
*
|
|
44787
|
+
* function Foo() {
|
|
44788
|
+
* this.b = 2;
|
|
44789
|
+
* }
|
|
44790
|
+
*
|
|
44791
|
+
* Foo.prototype.c = 3;
|
|
44792
|
+
*
|
|
44793
|
+
* _.assign({ 'a': 1 }, new Foo);
|
|
44794
|
+
* // => { 'a': 1, 'b': 2 }
|
|
44795
|
+
*
|
|
44796
|
+
* _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
|
|
44797
|
+
* // => { 'a': 1, 'b': 2, 'c': 3 }
|
|
44798
|
+
*/
|
|
44799
|
+
function toPlainObject(value) {
|
|
44800
|
+
return copyObject(value, keysIn(value));
|
|
44801
|
+
}
|
|
44802
|
+
|
|
44803
|
+
/**
|
|
44804
|
+
* A specialized version of `baseMerge` for arrays and objects which performs
|
|
44805
|
+
* deep merges and tracks traversed objects enabling objects with circular
|
|
44806
|
+
* references to be merged.
|
|
44807
|
+
*
|
|
44808
|
+
* @private
|
|
44809
|
+
* @param {Object} object The destination object.
|
|
44810
|
+
* @param {Object} source The source object.
|
|
44811
|
+
* @param {string} key The key of the value to merge.
|
|
44812
|
+
* @param {number} srcIndex The index of `source`.
|
|
44813
|
+
* @param {Function} mergeFunc The function to merge values.
|
|
44814
|
+
* @param {Function} [customizer] The function to customize assigned values.
|
|
44815
|
+
* @param {Object} [stack] Tracks traversed source values and their merged
|
|
44816
|
+
* counterparts.
|
|
44817
|
+
*/
|
|
44818
|
+
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
|
|
44819
|
+
var objValue = safeGet(object, key),
|
|
44820
|
+
srcValue = safeGet(source, key),
|
|
44821
|
+
stacked = stack.get(srcValue);
|
|
44822
|
+
|
|
44823
|
+
if (stacked) {
|
|
44824
|
+
assignMergeValue(object, key, stacked);
|
|
44825
|
+
return;
|
|
44826
|
+
}
|
|
44827
|
+
var newValue = customizer
|
|
44828
|
+
? customizer(objValue, srcValue, (key + ''), object, source, stack)
|
|
44829
|
+
: undefined;
|
|
44830
|
+
|
|
44831
|
+
var isCommon = newValue === undefined;
|
|
44832
|
+
|
|
44833
|
+
if (isCommon) {
|
|
44834
|
+
var isArr = isArray(srcValue),
|
|
44835
|
+
isBuff = !isArr && isBuffer(srcValue),
|
|
44836
|
+
isTyped = !isArr && !isBuff && isTypedArray(srcValue);
|
|
44837
|
+
|
|
44838
|
+
newValue = srcValue;
|
|
44839
|
+
if (isArr || isBuff || isTyped) {
|
|
44840
|
+
if (isArray(objValue)) {
|
|
44841
|
+
newValue = objValue;
|
|
44842
|
+
}
|
|
44843
|
+
else if (isArrayLikeObject(objValue)) {
|
|
44844
|
+
newValue = copyArray(objValue);
|
|
44845
|
+
}
|
|
44846
|
+
else if (isBuff) {
|
|
44847
|
+
isCommon = false;
|
|
44848
|
+
newValue = cloneBuffer(srcValue);
|
|
44849
|
+
}
|
|
44850
|
+
else if (isTyped) {
|
|
44851
|
+
isCommon = false;
|
|
44852
|
+
newValue = cloneTypedArray(srcValue);
|
|
44853
|
+
}
|
|
44854
|
+
else {
|
|
44855
|
+
newValue = [];
|
|
44856
|
+
}
|
|
44857
|
+
}
|
|
44858
|
+
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
|
|
44859
|
+
newValue = objValue;
|
|
44860
|
+
if (isArguments(objValue)) {
|
|
44861
|
+
newValue = toPlainObject(objValue);
|
|
44862
|
+
}
|
|
44863
|
+
else if (!isObject(objValue) || isFunction(objValue)) {
|
|
44864
|
+
newValue = initCloneObject(srcValue);
|
|
44865
|
+
}
|
|
44866
|
+
}
|
|
44867
|
+
else {
|
|
44868
|
+
isCommon = false;
|
|
44869
|
+
}
|
|
44870
|
+
}
|
|
44871
|
+
if (isCommon) {
|
|
44872
|
+
// Recursively merge objects and arrays (susceptible to call stack limits).
|
|
44873
|
+
stack.set(srcValue, newValue);
|
|
44874
|
+
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
|
|
44875
|
+
stack['delete'](srcValue);
|
|
44876
|
+
}
|
|
44877
|
+
assignMergeValue(object, key, newValue);
|
|
44878
|
+
}
|
|
44879
|
+
|
|
44880
|
+
/**
|
|
44881
|
+
* The base implementation of `_.merge` without support for multiple sources.
|
|
44882
|
+
*
|
|
44883
|
+
* @private
|
|
44884
|
+
* @param {Object} object The destination object.
|
|
44885
|
+
* @param {Object} source The source object.
|
|
44886
|
+
* @param {number} srcIndex The index of `source`.
|
|
44887
|
+
* @param {Function} [customizer] The function to customize merged values.
|
|
44888
|
+
* @param {Object} [stack] Tracks traversed source values and their merged
|
|
44889
|
+
* counterparts.
|
|
44890
|
+
*/
|
|
44891
|
+
function baseMerge(object, source, srcIndex, customizer, stack) {
|
|
44892
|
+
if (object === source) {
|
|
44893
|
+
return;
|
|
44894
|
+
}
|
|
44895
|
+
baseFor(source, function(srcValue, key) {
|
|
44896
|
+
stack || (stack = new Stack);
|
|
44897
|
+
if (isObject(srcValue)) {
|
|
44898
|
+
baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
|
|
44899
|
+
}
|
|
44900
|
+
else {
|
|
44901
|
+
var newValue = customizer
|
|
44902
|
+
? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
|
|
44903
|
+
: undefined;
|
|
44904
|
+
|
|
44905
|
+
if (newValue === undefined) {
|
|
44906
|
+
newValue = srcValue;
|
|
44907
|
+
}
|
|
44908
|
+
assignMergeValue(object, key, newValue);
|
|
44909
|
+
}
|
|
44910
|
+
}, keysIn);
|
|
44911
|
+
}
|
|
44912
|
+
|
|
44913
|
+
/**
|
|
44914
|
+
* This method is like `_.assign` except that it recursively merges own and
|
|
44915
|
+
* inherited enumerable string keyed properties of source objects into the
|
|
44916
|
+
* destination object. Source properties that resolve to `undefined` are
|
|
44917
|
+
* skipped if a destination value exists. Array and plain object properties
|
|
44918
|
+
* are merged recursively. Other objects and value types are overridden by
|
|
44919
|
+
* assignment. Source objects are applied from left to right. Subsequent
|
|
44920
|
+
* sources overwrite property assignments of previous sources.
|
|
44921
|
+
*
|
|
44922
|
+
* **Note:** This method mutates `object`.
|
|
44923
|
+
*
|
|
44924
|
+
* @static
|
|
44925
|
+
* @memberOf _
|
|
44926
|
+
* @since 0.5.0
|
|
44927
|
+
* @category Object
|
|
44928
|
+
* @param {Object} object The destination object.
|
|
44929
|
+
* @param {...Object} [sources] The source objects.
|
|
44930
|
+
* @returns {Object} Returns `object`.
|
|
44931
|
+
* @example
|
|
44932
|
+
*
|
|
44933
|
+
* var object = {
|
|
44934
|
+
* 'a': [{ 'b': 2 }, { 'd': 4 }]
|
|
44935
|
+
* };
|
|
44936
|
+
*
|
|
44937
|
+
* var other = {
|
|
44938
|
+
* 'a': [{ 'c': 3 }, { 'e': 5 }]
|
|
44939
|
+
* };
|
|
44940
|
+
*
|
|
44941
|
+
* _.merge(object, other);
|
|
44942
|
+
* // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
|
|
44943
|
+
*/
|
|
44944
|
+
var merge = createAssigner(function(object, source, srcIndex) {
|
|
44945
|
+
baseMerge(object, source, srcIndex);
|
|
44946
|
+
});
|
|
44947
|
+
|
|
44948
|
+
const vxeSize = useThemeConfig(pinia).themeConfig.globalComponentSize == "small" ? "mini" : useThemeConfig(pinia).themeConfig.globalComponentSize == "default" ? "small" : "medium";
|
|
44949
|
+
const useVxeTable = (opt, extras) => {
|
|
44950
|
+
opt.id = opt.id ? opt.id : String((/* @__PURE__ */ new Date()).getTime());
|
|
44951
|
+
const options = vue.reactive({
|
|
44952
|
+
id: opt.id,
|
|
44953
|
+
height: "auto",
|
|
44954
|
+
autoResize: true,
|
|
44955
|
+
size: vxeSize,
|
|
44956
|
+
loading: false,
|
|
44957
|
+
align: "center",
|
|
44958
|
+
// 自动监听父元素的变化去重新计算表格(对于父元素可能存在动态变化、显示隐藏的容器中、列宽异常等场景中的可能会用到)
|
|
44959
|
+
// data: [] as Array<T>,
|
|
44960
|
+
columns: opt.columns,
|
|
44961
|
+
showFooter: opt.showFooter,
|
|
44962
|
+
footerData: opt.footerData,
|
|
44963
|
+
footerMethod: opt.footerMethod,
|
|
44964
|
+
toolbarConfig: {
|
|
44965
|
+
size: vxeSize,
|
|
44966
|
+
slots: { buttons: "toolbar_buttons", tools: "toolbar_tools" },
|
|
44967
|
+
refresh: {
|
|
44968
|
+
code: "query"
|
|
44969
|
+
},
|
|
44970
|
+
export: true,
|
|
44971
|
+
print: true,
|
|
44972
|
+
zoom: true,
|
|
44973
|
+
custom: true
|
|
44974
|
+
},
|
|
44975
|
+
checkboxConfig: { range: true },
|
|
44976
|
+
// sortConfig: { trigger: 'cell', remote: true },
|
|
44977
|
+
exportConfig: {
|
|
44978
|
+
remote: false,
|
|
44979
|
+
// 设置使用服务端导出
|
|
44980
|
+
filename: `${opt.name}\u5BFC\u51FA_${elementPlus.dayjs().format("YYMMDDHHmmss")}`
|
|
44981
|
+
},
|
|
44982
|
+
pagerConfig: {
|
|
44983
|
+
enabled: true,
|
|
44984
|
+
size: vxeSize,
|
|
44985
|
+
pageSize: 50
|
|
44986
|
+
},
|
|
44987
|
+
printConfig: { sheetName: "" },
|
|
44988
|
+
customConfig: {
|
|
44989
|
+
storage: {
|
|
44990
|
+
// 是否启用 localStorage 本地保存,会将列操作状态保留在本地(需要有 id)
|
|
44991
|
+
visible: true,
|
|
44992
|
+
// 启用显示/隐藏列状态
|
|
44993
|
+
resizable: true
|
|
44994
|
+
// 启用列宽状态
|
|
44995
|
+
}
|
|
44996
|
+
}
|
|
44997
|
+
});
|
|
44998
|
+
if (opt.data) {
|
|
44999
|
+
options.data = opt.data;
|
|
45000
|
+
} else {
|
|
45001
|
+
options.proxyConfig = {
|
|
45002
|
+
enabled: true,
|
|
45003
|
+
autoLoad: false,
|
|
45004
|
+
sort: true,
|
|
45005
|
+
props: {
|
|
45006
|
+
list: "data.result",
|
|
45007
|
+
// 全量
|
|
45008
|
+
result: "data.result.items",
|
|
45009
|
+
// 分页
|
|
45010
|
+
total: "data.result.total",
|
|
45011
|
+
message: "data.message"
|
|
45012
|
+
}
|
|
45013
|
+
};
|
|
45014
|
+
}
|
|
45015
|
+
if (opt.sortConfig) {
|
|
45016
|
+
options.sortConfig = opt.sortConfig;
|
|
45017
|
+
} else {
|
|
45018
|
+
options.sortConfig = { remote: true };
|
|
45019
|
+
}
|
|
45020
|
+
return extras ? merge(options, extras) : options;
|
|
45021
|
+
};
|
|
45022
|
+
|
|
42824
45023
|
const version = "1.0.0";
|
|
42825
45024
|
|
|
42826
45025
|
const install = installer.install;
|
|
42827
45026
|
|
|
42828
45027
|
exports.FmLogin = FmLogin;
|
|
42829
45028
|
exports.Local = Local;
|
|
45029
|
+
exports.NextLoading = NextLoading;
|
|
42830
45030
|
exports.PUB = PUB;
|
|
42831
45031
|
exports.Session = Session;
|
|
42832
45032
|
exports.Watermark = Watermark;
|
|
@@ -42894,6 +45094,7 @@
|
|
|
42894
45094
|
exports.useTagsViewRoutes = useTagsViewRoutes;
|
|
42895
45095
|
exports.useThemeConfig = useThemeConfig;
|
|
42896
45096
|
exports.useUserInfo = useUserInfo;
|
|
45097
|
+
exports.useVxeTable = useVxeTable;
|
|
42897
45098
|
exports.verifiyNumberInteger = verifiyNumberInteger;
|
|
42898
45099
|
exports.verifyAccount = verifyAccount;
|
|
42899
45100
|
exports.verifyAndSpace = verifyAndSpace;
|