ut2 1.5.6 → 1.7.0
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 +11 -0
- package/dist/ut2.js +239 -101
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/countBy.js +11 -13
- package/es/difference.js +2 -0
- package/es/every.js +16 -0
- package/es/filter.js +15 -0
- package/es/find.js +16 -0
- package/es/forEach.js +6 -0
- package/es/forEachRight.js +6 -0
- package/es/groupBy.js +13 -13
- package/es/index.js +11 -0
- package/es/internals/createExtremum.js +8 -18
- package/es/internals/createForEach.js +23 -0
- package/es/internals/createReduce.js +29 -0
- package/es/internals/helpers.js +1 -1
- package/es/intersection.js +2 -0
- package/es/isEmpty.js +1 -1
- package/es/keyBy.js +8 -8
- package/es/keys.js +11 -0
- package/es/map.js +13 -0
- package/es/merge.js +32 -22
- package/es/orderBy.js +9 -9
- package/es/partition.js +7 -7
- package/es/range.js +28 -0
- package/es/reduce.js +6 -0
- package/es/reduceRight.js +6 -0
- package/es/some.js +16 -0
- package/es/toString.js +1 -1
- package/es/uniq.js +5 -13
- package/es/xor.js +2 -0
- package/lib/countBy.js +11 -13
- package/lib/difference.js +2 -0
- package/lib/every.js +18 -0
- package/lib/filter.js +17 -0
- package/lib/find.js +18 -0
- package/lib/forEach.js +8 -0
- package/lib/forEachRight.js +8 -0
- package/lib/groupBy.js +13 -13
- package/lib/index.js +22 -0
- package/lib/internals/createExtremum.js +8 -18
- package/lib/internals/createForEach.js +25 -0
- package/lib/internals/createReduce.js +31 -0
- package/lib/internals/helpers.js +1 -1
- package/lib/intersection.js +2 -0
- package/lib/isEmpty.js +2 -2
- package/lib/keyBy.js +8 -8
- package/lib/keys.js +13 -0
- package/lib/map.js +15 -0
- package/lib/merge.js +32 -22
- package/lib/orderBy.js +9 -9
- package/lib/partition.js +7 -7
- package/lib/range.js +30 -0
- package/lib/reduce.js +8 -0
- package/lib/reduceRight.js +8 -0
- package/lib/some.js +18 -0
- package/lib/toString.js +1 -1
- package/lib/uniq.js +5 -13
- package/lib/xor.js +2 -0
- package/package.json +1 -1
- package/types/allKeys.d.ts +1 -1
- package/types/allKeysIn.d.ts +1 -1
- package/types/conformsTo.d.ts +2 -1
- package/types/countBy.d.ts +3 -24
- package/types/difference.d.ts +3 -2
- package/types/every.d.ts +6 -0
- package/types/filter.d.ts +6 -0
- package/types/find.d.ts +6 -0
- package/types/forEach.d.ts +36 -0
- package/types/forEachRight.d.ts +36 -0
- package/types/groupBy.d.ts +3 -24
- package/types/index.d.ts +11 -0
- package/types/internals/compare.d.ts +2 -1
- package/types/internals/createExtremum.d.ts +2 -1
- package/types/internals/createForEach.d.ts +15 -0
- package/types/internals/createIteratee.d.ts +2 -2
- package/types/internals/createReduce.d.ts +19 -0
- package/types/intersection.d.ts +3 -2
- package/types/isArrayBuffer.d.ts +1 -1
- package/types/isArrayLike.d.ts +1 -1
- package/types/isError.d.ts +1 -1
- package/types/isWeakMap.d.ts +1 -1
- package/types/isWeakSet.d.ts +1 -1
- package/types/keyBy.d.ts +3 -24
- package/types/keys.d.ts +24 -0
- package/types/keysIn.d.ts +1 -1
- package/types/map.d.ts +6 -0
- package/types/max.d.ts +3 -2
- package/types/merge.d.ts +6 -2
- package/types/min.d.ts +3 -2
- package/types/orderBy.d.ts +3 -39
- package/types/partition.d.ts +3 -34
- package/types/range.d.ts +4 -0
- package/types/reduce.d.ts +38 -0
- package/types/reduceRight.d.ts +38 -0
- package/types/some.d.ts +6 -0
- package/types/union.d.ts +2 -1
- package/types/uniq.d.ts +2 -1
- package/types/xor.d.ts +3 -2
- /package/es/internals/{keys.js → specialKeys.js} +0 -0
- /package/lib/internals/{keys.js → specialKeys.js} +0 -0
- /package/types/internals/{keys.d.ts → specialKeys.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -75,10 +75,19 @@ const debounced = debounce(() => {
|
|
|
75
75
|
- zip - 数组参数分组。
|
|
76
76
|
- Collection 集合
|
|
77
77
|
- countBy - 统计数量。
|
|
78
|
+
- every - 检查集合元素都为真值。
|
|
79
|
+
- find - 查找集合元素。
|
|
80
|
+
- filter - 过滤集合元素。
|
|
81
|
+
- forEach - 迭代集合元素。
|
|
82
|
+
- forEachRight - 迭代集合元素(从右往左的顺序)。
|
|
78
83
|
- groupBy - 对象分组。
|
|
79
84
|
- keyBy - 转为对象。
|
|
85
|
+
- map - 迭代集合元素生成新数组。
|
|
80
86
|
- orderBy - 排序。
|
|
81
87
|
- partition - 拆分真值和假值。
|
|
88
|
+
- reduce - 累计值(从右往左的顺序)。
|
|
89
|
+
- reduceRight - 累计值。
|
|
90
|
+
- some - 检查集合元素包含真值。
|
|
82
91
|
- Function 函数
|
|
83
92
|
- after - 调用 `n` 或更多次之后触发。
|
|
84
93
|
- before - 调用次数少于 `n` 次之前触发。
|
|
@@ -140,6 +149,7 @@ const debounced = debounce(() => {
|
|
|
140
149
|
- Object 对象
|
|
141
150
|
- allKeys - 对象自身的可枚举属性(包含 `Symbol` 属性)。
|
|
142
151
|
- allKeysIn - 对象自身及继承的可枚举属性(包含 `Symbol` 属性)。
|
|
152
|
+
- keys - 对象自身的可枚举属性(不包含 `Symbol` 属性)。
|
|
143
153
|
- keysIn - 对象自身及继承的可枚举属性(不包含 `Symbol` 属性)。
|
|
144
154
|
- merge - 递归对象或数组进行合并。
|
|
145
155
|
- omit - 排除部分属性。
|
|
@@ -173,6 +183,7 @@ const debounced = debounce(() => {
|
|
|
173
183
|
- lte - 小于等于。
|
|
174
184
|
- noop - 空函数。
|
|
175
185
|
- nthArg - 返回指定位置参数的函数。
|
|
186
|
+
- range - 创建升序或降序的数字数组。
|
|
176
187
|
- sleep - 返回 `promise` 延迟。
|
|
177
188
|
- times - 迭代执行次数。
|
|
178
189
|
- toFinite - 转为有限数字。
|
package/dist/ut2.js
CHANGED
|
@@ -161,6 +161,7 @@
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
function difference(array, values, iteratee, strictCheck) {
|
|
164
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
164
165
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
165
166
|
if (!isArray(array)) {
|
|
166
167
|
return [];
|
|
@@ -187,6 +188,7 @@
|
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
function intersection(array, other, iteratee, strictCheck) {
|
|
191
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
190
192
|
if (strictCheck === void 0) { strictCheck = false; }
|
|
191
193
|
if (!isArray(array) || !isArray(other)) {
|
|
192
194
|
return [];
|
|
@@ -273,27 +275,16 @@
|
|
|
273
275
|
return result;
|
|
274
276
|
}
|
|
275
277
|
|
|
276
|
-
function isUndefined(value) {
|
|
277
|
-
return value === void 0;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
278
|
function uniq(array, iteratee, strickCheck) {
|
|
281
279
|
if (strickCheck === void 0) { strickCheck = false; }
|
|
282
280
|
if (!isArray(array)) {
|
|
283
281
|
return [];
|
|
284
282
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
var internalIteratee_1 = createIteratee(iteratee);
|
|
292
|
-
return array.filter(function (value, index, arr) {
|
|
293
|
-
var current = internalIteratee_1(value);
|
|
294
|
-
return arr.findIndex(function (item) { return eq(internalIteratee_1(item), current, strickCheck); }) === index;
|
|
295
|
-
});
|
|
296
|
-
}
|
|
283
|
+
var internalIteratee = createIteratee(iteratee);
|
|
284
|
+
return array.filter(function (value, index, arr) {
|
|
285
|
+
var current = internalIteratee(value);
|
|
286
|
+
return arr.findIndex(function (item) { return eq(internalIteratee(item), current, strickCheck); }) === index;
|
|
287
|
+
});
|
|
297
288
|
}
|
|
298
289
|
|
|
299
290
|
function union(array, other, iteratee, strickCheck) {
|
|
@@ -335,6 +326,7 @@
|
|
|
335
326
|
|
|
336
327
|
function xor(array, other, iteratee, strickCheck) {
|
|
337
328
|
if (other === void 0) { other = []; }
|
|
329
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
338
330
|
if (strickCheck === void 0) { strickCheck = false; }
|
|
339
331
|
if (!isArray(array) && !isArray(other)) {
|
|
340
332
|
return [];
|
|
@@ -357,49 +349,109 @@
|
|
|
357
349
|
return unzip(arrays);
|
|
358
350
|
}
|
|
359
351
|
|
|
360
|
-
function
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
352
|
+
function keys$1(object) {
|
|
353
|
+
if (!isObject(object)) {
|
|
354
|
+
return [];
|
|
355
|
+
}
|
|
356
|
+
return objectKeys(object);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
function createForEach(dir) {
|
|
360
|
+
function forEach(collection, iteratee) {
|
|
361
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
362
|
+
var _keys = !isArrayLike(collection) && keys$1(collection);
|
|
363
|
+
var len = (_keys || collection).length;
|
|
364
|
+
var i = dir > 0 ? 0 : len - 1;
|
|
365
|
+
while (i >= 0 && i < len) {
|
|
366
|
+
var currentKey = _keys ? _keys[i] : i;
|
|
367
|
+
if (iteratee(collection[currentKey], currentKey, collection) === false) {
|
|
368
|
+
break;
|
|
371
369
|
}
|
|
372
|
-
|
|
370
|
+
i += dir;
|
|
371
|
+
}
|
|
372
|
+
return collection;
|
|
373
373
|
}
|
|
374
|
+
return forEach;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
var forEach = createForEach(1);
|
|
378
|
+
|
|
379
|
+
function countBy(collection, iteratee) {
|
|
380
|
+
var result = {};
|
|
381
|
+
var internalIteratee = createIteratee(iteratee);
|
|
382
|
+
forEach(collection, function (item) {
|
|
383
|
+
var key = internalIteratee(item);
|
|
384
|
+
if (key in result) {
|
|
385
|
+
++result[key];
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
result[key] = 1;
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
return result;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
function every(collection, predicate) {
|
|
395
|
+
if (predicate === void 0) { predicate = identity; }
|
|
396
|
+
var result = true;
|
|
397
|
+
forEach(collection, function (item, index, arr) {
|
|
398
|
+
if (!predicate(item, index, arr)) {
|
|
399
|
+
result = false;
|
|
400
|
+
return false;
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
return result;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
function find(collection, predicate) {
|
|
407
|
+
if (predicate === void 0) { predicate = identity; }
|
|
408
|
+
var result;
|
|
409
|
+
forEach(collection, function (item, index, arr) {
|
|
410
|
+
if (predicate(item, index, arr)) {
|
|
411
|
+
result = item;
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
});
|
|
374
415
|
return result;
|
|
375
416
|
}
|
|
376
417
|
|
|
418
|
+
function filter(array, predicate) {
|
|
419
|
+
if (predicate === void 0) { predicate = identity; }
|
|
420
|
+
var results = [];
|
|
421
|
+
forEach(array, function (item, index) {
|
|
422
|
+
if (predicate(item, index, array)) {
|
|
423
|
+
results.push(item);
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
return results;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
var forEachRight = createForEach(-1);
|
|
430
|
+
|
|
377
431
|
function groupBy(collection, iteratee) {
|
|
432
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
378
433
|
var result = {};
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
});
|
|
390
|
-
}
|
|
434
|
+
var internalIteratee = createIteratee(iteratee);
|
|
435
|
+
forEach(collection, function (item) {
|
|
436
|
+
var key = internalIteratee(item);
|
|
437
|
+
if (key in result) {
|
|
438
|
+
result[key].push(item);
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
result[key] = [item];
|
|
442
|
+
}
|
|
443
|
+
});
|
|
391
444
|
return result;
|
|
392
445
|
}
|
|
393
446
|
|
|
394
447
|
function keyBy(collection, iteratee) {
|
|
448
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
395
449
|
var result = {};
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
});
|
|
402
|
-
}
|
|
450
|
+
var internalIteratee = createIteratee(iteratee);
|
|
451
|
+
forEach(collection, function (item) {
|
|
452
|
+
var key = internalIteratee(item);
|
|
453
|
+
result[key] = item;
|
|
454
|
+
});
|
|
403
455
|
return result;
|
|
404
456
|
}
|
|
405
457
|
|
|
@@ -413,7 +465,7 @@
|
|
|
413
465
|
return value;
|
|
414
466
|
}
|
|
415
467
|
if (isArray(value)) {
|
|
416
|
-
return
|
|
468
|
+
return '' + value.map(baseToString);
|
|
417
469
|
}
|
|
418
470
|
if (isSymbol(value)) {
|
|
419
471
|
return symbolToString ? symbolToString.call(value) : '';
|
|
@@ -471,27 +523,74 @@
|
|
|
471
523
|
var result = [];
|
|
472
524
|
iteratees = (isArray(iteratees) ? iteratees : iteratees !== undefined ? [iteratees] : [identity]);
|
|
473
525
|
orders = (isArray(orders) ? orders : orders !== undefined ? [orders] : []);
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
});
|
|
526
|
+
var index = -1;
|
|
527
|
+
forEach(collection, function (item) {
|
|
528
|
+
var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item); });
|
|
529
|
+
result.push({
|
|
530
|
+
criteria: criteria,
|
|
531
|
+
index: ++index,
|
|
532
|
+
value: item
|
|
482
533
|
});
|
|
483
|
-
}
|
|
534
|
+
});
|
|
484
535
|
return result.sort(function (a, b) { return compareMultiple(a, b, orders); }).map(function (item) { return item.value; });
|
|
485
536
|
}
|
|
486
537
|
|
|
538
|
+
function map(collection, iteratee) {
|
|
539
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
540
|
+
var result = [];
|
|
541
|
+
forEach(collection, function (item, index, arr) {
|
|
542
|
+
result.push(iteratee(item, index, arr));
|
|
543
|
+
});
|
|
544
|
+
return result;
|
|
545
|
+
}
|
|
546
|
+
|
|
487
547
|
function partition(collection, predicate) {
|
|
548
|
+
if (predicate === void 0) { predicate = identity; }
|
|
488
549
|
var result = [[], []];
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
550
|
+
var internalIteratee = createIteratee(predicate);
|
|
551
|
+
forEach(collection, function (item) {
|
|
552
|
+
result[internalIteratee(item) ? 0 : 1].push(item);
|
|
553
|
+
});
|
|
554
|
+
return result;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
function createReduce(dir) {
|
|
558
|
+
function reducer(collection, iteratee, memo, initial) {
|
|
559
|
+
var _keys = !isArrayLike(collection) && keys$1(collection);
|
|
560
|
+
var len = (_keys || collection).length;
|
|
561
|
+
var i = dir > 0 ? 0 : len - 1;
|
|
562
|
+
if (!initial && len > 0) {
|
|
563
|
+
memo = collection[_keys ? _keys[i] : i];
|
|
564
|
+
i += dir;
|
|
565
|
+
}
|
|
566
|
+
while (i >= 0 && i < len) {
|
|
567
|
+
var currentKey = _keys ? _keys[i] : i;
|
|
568
|
+
memo = iteratee(memo, collection[currentKey], currentKey, collection);
|
|
569
|
+
i += dir;
|
|
570
|
+
}
|
|
571
|
+
return memo;
|
|
494
572
|
}
|
|
573
|
+
function reduce(collection, iteratee, initialValue) {
|
|
574
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
575
|
+
var initial = arguments.length >= 3;
|
|
576
|
+
return reducer(collection, iteratee, initialValue, initial);
|
|
577
|
+
}
|
|
578
|
+
return reduce;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
var reduce = createReduce(1);
|
|
582
|
+
|
|
583
|
+
var reduceRight = createReduce(-1);
|
|
584
|
+
|
|
585
|
+
function some(collection, predicate) {
|
|
586
|
+
if (predicate === void 0) { predicate = identity; }
|
|
587
|
+
var result = false;
|
|
588
|
+
forEach(collection, function (item, index, arr) {
|
|
589
|
+
if (predicate(item, index, arr)) {
|
|
590
|
+
result = true;
|
|
591
|
+
return false;
|
|
592
|
+
}
|
|
593
|
+
});
|
|
495
594
|
return result;
|
|
496
595
|
}
|
|
497
596
|
|
|
@@ -499,7 +598,7 @@
|
|
|
499
598
|
return value == null || value !== value ? defaultValue : value;
|
|
500
599
|
}
|
|
501
600
|
|
|
502
|
-
var VERSION = "1.
|
|
601
|
+
var VERSION = "1.7.0";
|
|
503
602
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
504
603
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
505
604
|
function toSource(func) {
|
|
@@ -1172,6 +1271,10 @@
|
|
|
1172
1271
|
return typeof value === 'string' || getTag(value) === stringTag;
|
|
1173
1272
|
}
|
|
1174
1273
|
|
|
1274
|
+
function isUndefined(value) {
|
|
1275
|
+
return value === void 0;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1175
1278
|
function isWeakMap(value) {
|
|
1176
1279
|
return getTagWithBugfix$1(value) === weakMapTag;
|
|
1177
1280
|
}
|
|
@@ -1229,23 +1332,14 @@
|
|
|
1229
1332
|
return;
|
|
1230
1333
|
}
|
|
1231
1334
|
var result, computed;
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
var internalIteratee_1 = createIteratee(iteratee);
|
|
1241
|
-
array.forEach(function (value) {
|
|
1242
|
-
var current = internalIteratee_1(value);
|
|
1243
|
-
if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
|
|
1244
|
-
computed = current;
|
|
1245
|
-
result = value;
|
|
1246
|
-
}
|
|
1247
|
-
});
|
|
1248
|
-
}
|
|
1335
|
+
var internalIteratee = createIteratee(iteratee);
|
|
1336
|
+
array.forEach(function (value) {
|
|
1337
|
+
var current = internalIteratee(value);
|
|
1338
|
+
if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
|
|
1339
|
+
computed = current;
|
|
1340
|
+
result = value;
|
|
1341
|
+
}
|
|
1342
|
+
});
|
|
1249
1343
|
return result;
|
|
1250
1344
|
}
|
|
1251
1345
|
|
|
@@ -1338,41 +1432,51 @@
|
|
|
1338
1432
|
return getKeysIn(object);
|
|
1339
1433
|
}
|
|
1340
1434
|
|
|
1341
|
-
function baseMerge(object, source, customizer,
|
|
1342
|
-
if (
|
|
1435
|
+
function baseMerge(object, source, getKeys, customizer, stack) {
|
|
1436
|
+
if (stack === void 0) { stack = new WeakMap(); }
|
|
1343
1437
|
var obj = Object(object);
|
|
1344
1438
|
if (!isObject(source) || obj === source) {
|
|
1345
1439
|
return obj;
|
|
1346
1440
|
}
|
|
1347
|
-
var keys =
|
|
1441
|
+
var keys = getKeys(source);
|
|
1442
|
+
var hasCustomizer = typeof customizer === 'function';
|
|
1348
1443
|
keys.forEach(function (key) {
|
|
1349
1444
|
var srcValue = source[key];
|
|
1350
|
-
var
|
|
1351
|
-
if (
|
|
1352
|
-
|
|
1353
|
-
}
|
|
1354
|
-
if (isObjectLike(newValue) && !storage.has(newValue)) {
|
|
1355
|
-
storage.set(newValue, true);
|
|
1356
|
-
var objValue = obj[key];
|
|
1357
|
-
var newObjValue = void 0;
|
|
1358
|
-
if (isArray(newValue)) {
|
|
1359
|
-
newObjValue = isArray(objValue) ? objValue : [];
|
|
1360
|
-
}
|
|
1361
|
-
else if (isPlainObject(newValue)) {
|
|
1362
|
-
newObjValue = isPlainObject(objValue) ? objValue : {};
|
|
1363
|
-
}
|
|
1364
|
-
obj[key] = newObjValue ? baseMerge(newObjValue, newValue, customizer, storage) : newValue;
|
|
1445
|
+
var srcIsObj = isObject(srcValue);
|
|
1446
|
+
if (srcIsObj && stack.has(srcValue)) {
|
|
1447
|
+
obj[key] = srcValue;
|
|
1365
1448
|
}
|
|
1366
1449
|
else {
|
|
1367
|
-
|
|
1450
|
+
var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : undefined;
|
|
1451
|
+
if (newValue !== undefined) {
|
|
1368
1452
|
obj[key] = newValue;
|
|
1369
1453
|
}
|
|
1454
|
+
else {
|
|
1455
|
+
var objValue = obj[key];
|
|
1456
|
+
var newObjValue = void 0;
|
|
1457
|
+
if (srcIsObj) {
|
|
1458
|
+
stack.set(srcValue, true);
|
|
1459
|
+
if (isArray(srcValue)) {
|
|
1460
|
+
newObjValue = isArray(objValue) ? objValue : [];
|
|
1461
|
+
}
|
|
1462
|
+
else if (isPlainObject(srcValue)) {
|
|
1463
|
+
newObjValue = isObjectLike(objValue) ? objValue : {};
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
if (newObjValue) {
|
|
1467
|
+
obj[key] = baseMerge(newObjValue, srcValue, getKeys, customizer, stack);
|
|
1468
|
+
}
|
|
1469
|
+
else if (srcValue !== undefined || !(key in obj)) {
|
|
1470
|
+
obj[key] = srcValue;
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1370
1473
|
}
|
|
1371
1474
|
});
|
|
1372
1475
|
return obj;
|
|
1373
1476
|
}
|
|
1374
|
-
function merge(object, source, customizer) {
|
|
1375
|
-
|
|
1477
|
+
function merge(object, source, customizer, getKeys) {
|
|
1478
|
+
if (getKeys === void 0) { getKeys = keysIn; }
|
|
1479
|
+
return baseMerge(object, source, getKeys, customizer);
|
|
1376
1480
|
}
|
|
1377
1481
|
|
|
1378
1482
|
function castArray(value) {
|
|
@@ -1575,6 +1679,29 @@
|
|
|
1575
1679
|
};
|
|
1576
1680
|
}
|
|
1577
1681
|
|
|
1682
|
+
function range(start, end, step) {
|
|
1683
|
+
start = toFinite(start);
|
|
1684
|
+
if (isNil(end)) {
|
|
1685
|
+
end = start;
|
|
1686
|
+
start = 0;
|
|
1687
|
+
}
|
|
1688
|
+
else {
|
|
1689
|
+
end = toFinite(end);
|
|
1690
|
+
}
|
|
1691
|
+
step = toFinite(step);
|
|
1692
|
+
if (!step) {
|
|
1693
|
+
step = start < end ? 1 : -1;
|
|
1694
|
+
}
|
|
1695
|
+
var index = -1;
|
|
1696
|
+
var length = mathMax(mathCeil((end - start) / step), 0);
|
|
1697
|
+
var result = Array(length);
|
|
1698
|
+
while (length--) {
|
|
1699
|
+
result[++index] = start;
|
|
1700
|
+
start += step;
|
|
1701
|
+
}
|
|
1702
|
+
return result;
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1578
1705
|
function sleep(ms) {
|
|
1579
1706
|
if (ms === void 0) { ms = 1000; }
|
|
1580
1707
|
return new Promise(function (resolve) {
|
|
@@ -1645,7 +1772,12 @@
|
|
|
1645
1772
|
exports.eq = eq;
|
|
1646
1773
|
exports.escape = escape;
|
|
1647
1774
|
exports.escapeRegExp = escapeRegExp;
|
|
1775
|
+
exports.every = every;
|
|
1776
|
+
exports.filter = filter;
|
|
1777
|
+
exports.find = find;
|
|
1648
1778
|
exports.floor = floor;
|
|
1779
|
+
exports.forEach = forEach;
|
|
1780
|
+
exports.forEachRight = forEachRight;
|
|
1649
1781
|
exports.fromPairs = fromPairs;
|
|
1650
1782
|
exports.groupBy = groupBy;
|
|
1651
1783
|
exports.gt = gt;
|
|
@@ -1692,11 +1824,13 @@
|
|
|
1692
1824
|
exports.isWeakSet = isWeakSet;
|
|
1693
1825
|
exports.kebabCase = kebabCase;
|
|
1694
1826
|
exports.keyBy = keyBy;
|
|
1827
|
+
exports.keys = keys$1;
|
|
1695
1828
|
exports.keysIn = keysIn;
|
|
1696
1829
|
exports.lowerCase = lowerCase;
|
|
1697
1830
|
exports.lowerFirst = lowerFirst;
|
|
1698
1831
|
exports.lt = lt;
|
|
1699
1832
|
exports.lte = lte;
|
|
1833
|
+
exports.map = map;
|
|
1700
1834
|
exports.max = max;
|
|
1701
1835
|
exports.merge = merge;
|
|
1702
1836
|
exports.min = min;
|
|
@@ -1714,10 +1848,14 @@
|
|
|
1714
1848
|
exports.pickBy = pickBy;
|
|
1715
1849
|
exports.random = random;
|
|
1716
1850
|
exports.randomInt = randomInt;
|
|
1851
|
+
exports.range = range;
|
|
1852
|
+
exports.reduce = reduce;
|
|
1853
|
+
exports.reduceRight = reduceRight;
|
|
1717
1854
|
exports.round = round;
|
|
1718
1855
|
exports.shuffle = shuffle;
|
|
1719
1856
|
exports.sleep = sleep;
|
|
1720
1857
|
exports.snakeCase = snakeCase;
|
|
1858
|
+
exports.some = some;
|
|
1721
1859
|
exports.throttle = throttle;
|
|
1722
1860
|
exports.times = times;
|
|
1723
1861
|
exports.toFinite = toFinite;
|