@vunk/form 2.10.5 → 2.12.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.
Files changed (97) hide show
  1. package/components/button/src/ctx.d.ts +1 -1
  2. package/components/button/src/index.vue.d.ts +15 -15
  3. package/components/card-input-collection/src/index.vue.d.ts +12 -12
  4. package/components/cascader/src/ctx.d.ts +4 -11
  5. package/components/cascader/src/index.vue.d.ts +10 -24
  6. package/components/checkbox/src/index.vue.d.ts +27 -27
  7. package/components/cloneDeep.cjs +269 -37
  8. package/components/cloneDeep.mjs +269 -37
  9. package/components/color-picker/src/ctx.d.ts +17 -1
  10. package/components/color-picker/src/index.vue.d.ts +36 -2
  11. package/components/date-picker/src/ctx.d.ts +2 -1
  12. package/components/date-picker/src/index.vue.d.ts +10 -0
  13. package/components/date-picker-range/src/ctx.d.ts +1 -0
  14. package/components/date-picker-range/src/index.vue.d.ts +3 -0
  15. package/components/dialog-input-collection/index.cjs +560 -0
  16. package/components/dialog-input-collection/index.css +21 -0
  17. package/components/dialog-input-collection/index.d.ts +4 -0
  18. package/components/dialog-input-collection/index.mjs +554 -0
  19. package/components/dialog-input-collection/src/ctx.d.ts +142 -0
  20. package/components/dialog-input-collection/src/dialog-form.vue.d.ts +647 -0
  21. package/components/dialog-input-collection/src/index.vue.d.ts +1972 -0
  22. package/components/dialog-input-collection/src/layout.vue.d.ts +85 -0
  23. package/components/dialog-input-collection/src/types.d.ts +28 -0
  24. package/components/download-plus/index.cjs +2 -2
  25. package/components/download-plus/index.mjs +2 -2
  26. package/components/download-plus/src/index.vue.d.ts +48 -18
  27. package/components/editable-text/index.cjs +1 -1
  28. package/components/editable-text/index.mjs +1 -1
  29. package/components/editable-text/src/index.vue.d.ts +6 -6
  30. package/components/esri-input-geojson/index.cjs +1 -1
  31. package/components/esri-input-geojson/index.mjs +1 -1
  32. package/components/esri-input-geojson/src/append.vue.d.ts +21 -21
  33. package/components/esri-input-geojson/src/ctx.d.ts +10 -1
  34. package/components/esri-input-geojson/src/index.vue.d.ts +21 -0
  35. package/components/form/index.cjs +12 -1
  36. package/components/form/index.mjs +12 -1
  37. package/components/form/src/ctx.d.ts +8 -1
  38. package/components/form/src/index.vue.d.ts +28 -2853
  39. package/components/form-item/index.cjs +1 -1
  40. package/components/form-item/index.mjs +1 -1
  41. package/components/form-item/src/index.vue.d.ts +15 -15
  42. package/components/forms-provider/index.cjs +99 -0
  43. package/components/forms-provider/index.d.ts +6 -0
  44. package/components/forms-provider/index.mjs +91 -0
  45. package/components/forms-provider/src/core.d.ts +6 -0
  46. package/components/forms-provider/src/index.vue.d.ts +2 -0
  47. package/components/forms-provider/src/segment.vue.d.ts +9 -0
  48. package/components/forms-provider/src/types.d.ts +10 -0
  49. package/components/forms-provider/src/view.vue.d.ts +7 -0
  50. package/components/index.cjs +397 -11
  51. package/components/index.mjs +378 -11
  52. package/components/index2.cjs +11 -397
  53. package/components/index2.mjs +11 -378
  54. package/components/information/index.cjs +3 -4
  55. package/components/information/index.mjs +3 -4
  56. package/components/information-collection/index.cjs +2 -2
  57. package/components/information-collection/index.mjs +2 -2
  58. package/components/information-collection/src/ctx.d.ts +2 -2
  59. package/components/information-collection/src/index.vue.d.ts +4 -4
  60. package/components/information-renderer/index.cjs +16 -0
  61. package/components/information-renderer/index.d.ts +73 -0
  62. package/components/information-renderer/index.mjs +10 -0
  63. package/components/information-tag/src/ctx.d.ts +1 -1
  64. package/components/information-tag/src/index.vue.d.ts +3 -3
  65. package/components/information-templates-default/index.cjs +25 -7
  66. package/components/information-templates-default/index.mjs +25 -7
  67. package/components/input/src/ctx.d.ts +10 -1
  68. package/components/input/src/index.vue.d.ts +51 -0
  69. package/components/input-collection/index.cjs +12 -1
  70. package/components/input-collection/index.mjs +12 -1
  71. package/components/input-collection/src/index.vue.d.ts +12 -12
  72. package/components/input-collection/src/types.d.ts +2 -2
  73. package/components/input-link/index.cjs +1 -1
  74. package/components/input-link/index.mjs +1 -1
  75. package/components/input-link/src/ctx.d.ts +9 -0
  76. package/components/input-link/src/index.vue.d.ts +19 -0
  77. package/components/input-number/src/ctx.d.ts +9 -1
  78. package/components/input-number/src/index.vue.d.ts +45 -0
  79. package/components/input-tag/src/ctx.d.ts +3 -10
  80. package/components/input-tag/src/index.vue.d.ts +25 -60
  81. package/components/select/src/ctx.d.ts +1 -1
  82. package/components/select/src/index.vue.d.ts +4 -4
  83. package/components/templates-element-plus/src/index.vue.d.ts +6 -6
  84. package/components/upload/index.cjs +1 -1
  85. package/components/upload/index.mjs +1 -1
  86. package/components/upload/src/index.vue.d.ts +9 -9
  87. package/components/upload-plus/index.cjs +2 -2
  88. package/components/upload-plus/index.mjs +2 -2
  89. package/components/upload-plus/src/index.vue.d.ts +49 -19
  90. package/components/van-cascader/src/ctx.d.ts +4 -11
  91. package/components/van-cascader/src/index.vue.d.ts +27 -41
  92. package/components/var-datetime-picker/src/index.vue.d.ts +15 -3
  93. package/components/vditor/src/index.vue.d.ts +1 -1
  94. package/index.css +22 -0
  95. package/package.json +19 -1
  96. package/shared/element-plus/ctx.d.ts +4 -4
  97. package/shared/element-plus/instances.d.ts +2 -1
@@ -27,6 +27,8 @@ var isObject = require('./isObject.cjs');
27
27
  */
28
28
  var isArray = Array.isArray;
29
29
 
30
+ var isArray$1 = isArray;
31
+
30
32
  /** `Object#toString` result references. */
31
33
  var asyncTag = '[object AsyncFunction]',
32
34
  funcTag$2 = '[object Function]',
@@ -116,17 +118,17 @@ var reIsHostCtor = /^\[object .+?Constructor\]$/;
116
118
 
117
119
  /** Used for built-in method references. */
118
120
  var funcProto = Function.prototype,
119
- objectProto$9 = Object.prototype;
121
+ objectProto$a = Object.prototype;
120
122
 
121
123
  /** Used to resolve the decompiled source of functions. */
122
124
  var funcToString = funcProto.toString;
123
125
 
124
126
  /** Used to check objects for own properties. */
125
- var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
127
+ var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
126
128
 
127
129
  /** Used to detect if a method is native. */
128
130
  var reIsNative = RegExp('^' +
129
- funcToString.call(hasOwnProperty$7).replace(reRegExpChar, '\\$&')
131
+ funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&')
130
132
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
131
133
  );
132
134
 
@@ -201,6 +203,25 @@ var baseCreate = (function() {
201
203
  };
202
204
  }());
203
205
 
206
+ /**
207
+ * Copies the values of `source` to `array`.
208
+ *
209
+ * @private
210
+ * @param {Array} source The array to copy values from.
211
+ * @param {Array} [array=[]] The array to copy values to.
212
+ * @returns {Array} Returns `array`.
213
+ */
214
+ function copyArray(source, array) {
215
+ var index = -1,
216
+ length = source.length;
217
+
218
+ array || (array = Array(length));
219
+ while (++index < length) {
220
+ array[index] = source[index];
221
+ }
222
+ return array;
223
+ }
224
+
204
225
  var defineProperty = (function() {
205
226
  try {
206
227
  var func = getNative(Object, 'defineProperty');
@@ -313,10 +334,10 @@ function eq(value, other) {
313
334
  }
314
335
 
315
336
  /** Used for built-in method references. */
316
- var objectProto$8 = Object.prototype;
337
+ var objectProto$9 = Object.prototype;
317
338
 
318
339
  /** Used to check objects for own properties. */
319
- var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
340
+ var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
320
341
 
321
342
  /**
322
343
  * Assigns `value` to `key` of `object` if the existing value is not equivalent
@@ -330,12 +351,46 @@ var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
330
351
  */
331
352
  function assignValue(object, key, value) {
332
353
  var objValue = object[key];
333
- if (!(hasOwnProperty$6.call(object, key) && eq(objValue, value)) ||
354
+ if (!(hasOwnProperty$7.call(object, key) && eq(objValue, value)) ||
334
355
  (value === undefined && !(key in object))) {
335
356
  baseAssignValue(object, key, value);
336
357
  }
337
358
  }
338
359
 
360
+ /**
361
+ * Copies properties of `source` to `object`.
362
+ *
363
+ * @private
364
+ * @param {Object} source The object to copy properties from.
365
+ * @param {Array} props The property identifiers to copy.
366
+ * @param {Object} [object={}] The object to copy properties to.
367
+ * @param {Function} [customizer] The function to customize copied values.
368
+ * @returns {Object} Returns `object`.
369
+ */
370
+ function copyObject(source, props, object, customizer) {
371
+ var isNew = !object;
372
+ object || (object = {});
373
+
374
+ var index = -1,
375
+ length = props.length;
376
+
377
+ while (++index < length) {
378
+ var key = props[index];
379
+
380
+ var newValue = undefined;
381
+
382
+ if (newValue === undefined) {
383
+ newValue = source[key];
384
+ }
385
+ if (isNew) {
386
+ baseAssignValue(object, key, newValue);
387
+ } else {
388
+ assignValue(object, key, newValue);
389
+ }
390
+ }
391
+ return object;
392
+ }
393
+
339
394
  /** Used as references for various `Number` constants. */
340
395
  var MAX_SAFE_INTEGER = 9007199254740991;
341
396
 
@@ -400,7 +455,7 @@ function isArrayLike(value) {
400
455
  }
401
456
 
402
457
  /** Used for built-in method references. */
403
- var objectProto$7 = Object.prototype;
458
+ var objectProto$8 = Object.prototype;
404
459
 
405
460
  /**
406
461
  * Checks if `value` is likely a prototype object.
@@ -411,7 +466,7 @@ var objectProto$7 = Object.prototype;
411
466
  */
412
467
  function isPrototype(value) {
413
468
  var Ctor = value && value.constructor,
414
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$7;
469
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$8;
415
470
 
416
471
  return value === proto;
417
472
  }
@@ -450,13 +505,13 @@ function baseIsArguments(value) {
450
505
  }
451
506
 
452
507
  /** Used for built-in method references. */
453
- var objectProto$6 = Object.prototype;
508
+ var objectProto$7 = Object.prototype;
454
509
 
455
510
  /** Used to check objects for own properties. */
456
- var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
511
+ var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
457
512
 
458
513
  /** Built-in value references. */
459
- var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
514
+ var propertyIsEnumerable$1 = objectProto$7.propertyIsEnumerable;
460
515
 
461
516
  /**
462
517
  * Checks if `value` is likely an `arguments` object.
@@ -477,7 +532,7 @@ var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
477
532
  * // => false
478
533
  */
479
534
  var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
480
- return isObject.isObjectLike(value) && hasOwnProperty$5.call(value, 'callee') &&
535
+ return isObject.isObjectLike(value) && hasOwnProperty$6.call(value, 'callee') &&
481
536
  !propertyIsEnumerable$1.call(value, 'callee');
482
537
  };
483
538
 
@@ -650,10 +705,10 @@ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
650
705
  var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
651
706
 
652
707
  /** Used for built-in method references. */
653
- var objectProto$5 = Object.prototype;
708
+ var objectProto$6 = Object.prototype;
654
709
 
655
710
  /** Used to check objects for own properties. */
656
- var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
711
+ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
657
712
 
658
713
  /**
659
714
  * Creates an array of the enumerable property names of the array-like `value`.
@@ -664,7 +719,7 @@ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
664
719
  * @returns {Array} Returns the array of property names.
665
720
  */
666
721
  function arrayLikeKeys(value, inherited) {
667
- var isArr = isArray(value),
722
+ var isArr = isArray$1(value),
668
723
  isArg = !isArr && isArguments(value),
669
724
  isBuff = !isArr && !isArg && isBuffer(value),
670
725
  isType = !isArr && !isArg && !isBuff && isTypedArray(value),
@@ -673,7 +728,7 @@ function arrayLikeKeys(value, inherited) {
673
728
  length = result.length;
674
729
 
675
730
  for (var key in value) {
676
- if ((hasOwnProperty$4.call(value, key)) &&
731
+ if ((inherited || hasOwnProperty$5.call(value, key)) &&
677
732
  !(skipIndexes && (
678
733
  // Safari 9 has enumerable `arguments.length` in strict mode.
679
734
  key == 'length' ||
@@ -708,10 +763,10 @@ function overArg(func, transform) {
708
763
  var nativeKeys = overArg(Object.keys, Object);
709
764
 
710
765
  /** Used for built-in method references. */
711
- var objectProto$4 = Object.prototype;
766
+ var objectProto$5 = Object.prototype;
712
767
 
713
768
  /** Used to check objects for own properties. */
714
- var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
769
+ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
715
770
 
716
771
  /**
717
772
  * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
@@ -726,7 +781,7 @@ function baseKeys(object) {
726
781
  }
727
782
  var result = [];
728
783
  for (var key in Object(object)) {
729
- if (hasOwnProperty$3.call(object, key) && key != 'constructor') {
784
+ if (hasOwnProperty$4.call(object, key) && key != 'constructor') {
730
785
  result.push(key);
731
786
  }
732
787
  }
@@ -765,6 +820,80 @@ function keys(object) {
765
820
  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
766
821
  }
767
822
 
823
+ /**
824
+ * This function is like
825
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
826
+ * except that it includes inherited enumerable properties.
827
+ *
828
+ * @private
829
+ * @param {Object} object The object to query.
830
+ * @returns {Array} Returns the array of property names.
831
+ */
832
+ function nativeKeysIn(object) {
833
+ var result = [];
834
+ if (object != null) {
835
+ for (var key in Object(object)) {
836
+ result.push(key);
837
+ }
838
+ }
839
+ return result;
840
+ }
841
+
842
+ /** Used for built-in method references. */
843
+ var objectProto$4 = Object.prototype;
844
+
845
+ /** Used to check objects for own properties. */
846
+ var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
847
+
848
+ /**
849
+ * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
850
+ *
851
+ * @private
852
+ * @param {Object} object The object to query.
853
+ * @returns {Array} Returns the array of property names.
854
+ */
855
+ function baseKeysIn(object) {
856
+ if (!isObject.isObject(object)) {
857
+ return nativeKeysIn(object);
858
+ }
859
+ var isProto = isPrototype(object),
860
+ result = [];
861
+
862
+ for (var key in object) {
863
+ if (!(key == 'constructor' && (isProto || !hasOwnProperty$3.call(object, key)))) {
864
+ result.push(key);
865
+ }
866
+ }
867
+ return result;
868
+ }
869
+
870
+ /**
871
+ * Creates an array of the own and inherited enumerable property names of `object`.
872
+ *
873
+ * **Note:** Non-object values are coerced to objects.
874
+ *
875
+ * @static
876
+ * @memberOf _
877
+ * @since 3.0.0
878
+ * @category Object
879
+ * @param {Object} object The object to query.
880
+ * @returns {Array} Returns the array of property names.
881
+ * @example
882
+ *
883
+ * function Foo() {
884
+ * this.a = 1;
885
+ * this.b = 2;
886
+ * }
887
+ *
888
+ * Foo.prototype.c = 3;
889
+ *
890
+ * _.keysIn(new Foo);
891
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
892
+ */
893
+ function keysIn(object) {
894
+ return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
895
+ }
896
+
768
897
  /* Built-in method references that are verified to be native. */
769
898
  var nativeCreate = getNative(Object, 'create');
770
899
 
@@ -1285,6 +1414,32 @@ Stack.prototype.get = stackGet;
1285
1414
  Stack.prototype.has = stackHas;
1286
1415
  Stack.prototype.set = stackSet;
1287
1416
 
1417
+ /**
1418
+ * The base implementation of `_.assign` without support for multiple sources
1419
+ * or `customizer` functions.
1420
+ *
1421
+ * @private
1422
+ * @param {Object} object The destination object.
1423
+ * @param {Object} source The source object.
1424
+ * @returns {Object} Returns `object`.
1425
+ */
1426
+ function baseAssign(object, source) {
1427
+ return object && copyObject(source, keys(source), object);
1428
+ }
1429
+
1430
+ /**
1431
+ * The base implementation of `_.assignIn` without support for multiple sources
1432
+ * or `customizer` functions.
1433
+ *
1434
+ * @private
1435
+ * @param {Object} object The destination object.
1436
+ * @param {Object} source The source object.
1437
+ * @returns {Object} Returns `object`.
1438
+ */
1439
+ function baseAssignIn(object, source) {
1440
+ return object && copyObject(source, keysIn(source), object);
1441
+ }
1442
+
1288
1443
  /** Detect free variable `exports`. */
1289
1444
  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
1290
1445
 
@@ -1295,8 +1450,8 @@ var freeModule = freeExports && typeof module == 'object' && module && !module.n
1295
1450
  var moduleExports = freeModule && freeModule.exports === freeExports;
1296
1451
 
1297
1452
  /** Built-in value references. */
1298
- var Buffer = moduleExports ? isObject.root.Buffer : undefined;
1299
- Buffer ? Buffer.allocUnsafe : undefined;
1453
+ var Buffer = moduleExports ? isObject.root.Buffer : undefined,
1454
+ allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
1300
1455
 
1301
1456
  /**
1302
1457
  * Creates a clone of `buffer`.
@@ -1307,9 +1462,14 @@ var Buffer = moduleExports ? isObject.root.Buffer : undefined;
1307
1462
  * @returns {Buffer} Returns the cloned buffer.
1308
1463
  */
1309
1464
  function cloneBuffer(buffer, isDeep) {
1310
- {
1465
+ if (isDeep) {
1311
1466
  return buffer.slice();
1312
1467
  }
1468
+ var length = buffer.length,
1469
+ result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
1470
+
1471
+ buffer.copy(result);
1472
+ return result;
1313
1473
  }
1314
1474
 
1315
1475
  /**
@@ -1365,7 +1525,7 @@ var objectProto$1 = Object.prototype;
1365
1525
  var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
1366
1526
 
1367
1527
  /* Built-in method references for those with the same name as other `lodash` methods. */
1368
- var nativeGetSymbols = Object.getOwnPropertySymbols;
1528
+ var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
1369
1529
 
1370
1530
  /**
1371
1531
  * Creates an array of the own enumerable symbols of `object`.
@@ -1374,16 +1534,59 @@ var nativeGetSymbols = Object.getOwnPropertySymbols;
1374
1534
  * @param {Object} object The object to query.
1375
1535
  * @returns {Array} Returns the array of symbols.
1376
1536
  */
1377
- var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
1537
+ var getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) {
1378
1538
  if (object == null) {
1379
1539
  return [];
1380
1540
  }
1381
1541
  object = Object(object);
1382
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
1542
+ return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
1383
1543
  return propertyIsEnumerable.call(object, symbol);
1384
1544
  });
1385
1545
  };
1386
1546
 
1547
+ /**
1548
+ * Copies own symbols of `source` to `object`.
1549
+ *
1550
+ * @private
1551
+ * @param {Object} source The object to copy symbols from.
1552
+ * @param {Object} [object={}] The object to copy symbols to.
1553
+ * @returns {Object} Returns `object`.
1554
+ */
1555
+ function copySymbols(source, object) {
1556
+ return copyObject(source, getSymbols(source), object);
1557
+ }
1558
+
1559
+ /* Built-in method references for those with the same name as other `lodash` methods. */
1560
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
1561
+
1562
+ /**
1563
+ * Creates an array of the own and inherited enumerable symbols of `object`.
1564
+ *
1565
+ * @private
1566
+ * @param {Object} object The object to query.
1567
+ * @returns {Array} Returns the array of symbols.
1568
+ */
1569
+ var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
1570
+ var result = [];
1571
+ while (object) {
1572
+ arrayPush(result, getSymbols(object));
1573
+ object = getPrototype(object);
1574
+ }
1575
+ return result;
1576
+ };
1577
+
1578
+ /**
1579
+ * Copies own and inherited symbols of `source` to `object`.
1580
+ *
1581
+ * @private
1582
+ * @param {Object} source The object to copy symbols from.
1583
+ * @param {Object} [object={}] The object to copy symbols to.
1584
+ * @returns {Object} Returns `object`.
1585
+ */
1586
+ function copySymbolsIn(source, object) {
1587
+ return copyObject(source, getSymbolsIn(source), object);
1588
+ }
1589
+
1387
1590
  /**
1388
1591
  * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
1389
1592
  * `keysFunc` and `symbolsFunc` to get the enumerable property names and
@@ -1397,7 +1600,7 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
1397
1600
  */
1398
1601
  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
1399
1602
  var result = keysFunc(object);
1400
- return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
1603
+ return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object));
1401
1604
  }
1402
1605
 
1403
1606
  /**
@@ -1411,6 +1614,18 @@ function getAllKeys(object) {
1411
1614
  return baseGetAllKeys(object, keys, getSymbols);
1412
1615
  }
1413
1616
 
1617
+ /**
1618
+ * Creates an array of own and inherited enumerable property names and
1619
+ * symbols of `object`.
1620
+ *
1621
+ * @private
1622
+ * @param {Object} object The object to query.
1623
+ * @returns {Array} Returns the array of property names and symbols.
1624
+ */
1625
+ function getAllKeysIn(object) {
1626
+ return baseGetAllKeys(object, keysIn, getSymbolsIn);
1627
+ }
1628
+
1414
1629
  /* Built-in method references that are verified to be native. */
1415
1630
  var DataView = getNative(isObject.root, 'DataView');
1416
1631
 
@@ -1521,7 +1736,7 @@ function cloneArrayBuffer(arrayBuffer) {
1521
1736
  * @returns {Object} Returns the cloned data view.
1522
1737
  */
1523
1738
  function cloneDataView(dataView, isDeep) {
1524
- var buffer = cloneArrayBuffer(dataView.buffer) ;
1739
+ var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
1525
1740
  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
1526
1741
  }
1527
1742
 
@@ -1565,7 +1780,7 @@ function cloneSymbol(symbol) {
1565
1780
  * @returns {Object} Returns the cloned typed array.
1566
1781
  */
1567
1782
  function cloneTypedArray(typedArray, isDeep) {
1568
- var buffer = cloneArrayBuffer(typedArray.buffer) ;
1783
+ var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
1569
1784
  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
1570
1785
  }
1571
1786
 
@@ -1614,12 +1829,12 @@ function initCloneByTag(object, tag, isDeep) {
1614
1829
  return new Ctor(+object);
1615
1830
 
1616
1831
  case dataViewTag$1:
1617
- return cloneDataView(object);
1832
+ return cloneDataView(object, isDeep);
1618
1833
 
1619
1834
  case float32Tag$1: case float64Tag$1:
1620
1835
  case int8Tag$1: case int16Tag$1: case int32Tag$1:
1621
1836
  case uint8Tag$1: case uint8ClampedTag$1: case uint16Tag$1: case uint32Tag$1:
1622
- return cloneTypedArray(object);
1837
+ return cloneTypedArray(object, isDeep);
1623
1838
 
1624
1839
  case mapTag$2:
1625
1840
  return new Ctor;
@@ -1724,6 +1939,11 @@ var nodeIsSet = nodeUtil && nodeUtil.isSet;
1724
1939
  */
1725
1940
  var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
1726
1941
 
1942
+ /** Used to compose bitmasks for cloning. */
1943
+ var CLONE_DEEP_FLAG$1 = 1,
1944
+ CLONE_FLAT_FLAG = 2,
1945
+ CLONE_SYMBOLS_FLAG$1 = 4;
1946
+
1727
1947
  /** `Object#toString` result references. */
1728
1948
  var argsTag = '[object Arguments]',
1729
1949
  arrayTag = '[object Array]',
@@ -1786,30 +2006,41 @@ cloneableTags[weakMapTag] = false;
1786
2006
  * @returns {*} Returns the cloned value.
1787
2007
  */
1788
2008
  function baseClone(value, bitmask, customizer, key, object, stack) {
1789
- var result;
2009
+ var result,
2010
+ isDeep = bitmask & CLONE_DEEP_FLAG$1,
2011
+ isFlat = bitmask & CLONE_FLAT_FLAG,
2012
+ isFull = bitmask & CLONE_SYMBOLS_FLAG$1;
1790
2013
  if (result !== undefined) {
1791
2014
  return result;
1792
2015
  }
1793
2016
  if (!isObject.isObject(value)) {
1794
2017
  return value;
1795
2018
  }
1796
- var isArr = isArray(value);
2019
+ var isArr = isArray$1(value);
1797
2020
  if (isArr) {
1798
2021
  result = initCloneArray(value);
2022
+ if (!isDeep) {
2023
+ return copyArray(value, result);
2024
+ }
1799
2025
  } else {
1800
2026
  var tag = getTag$1(value),
1801
2027
  isFunc = tag == funcTag || tag == genTag;
1802
2028
 
1803
2029
  if (isBuffer(value)) {
1804
- return cloneBuffer(value);
2030
+ return cloneBuffer(value, isDeep);
1805
2031
  }
1806
2032
  if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
1807
- result = (isFunc) ? {} : initCloneObject(value);
2033
+ result = (isFlat || isFunc) ? {} : initCloneObject(value);
2034
+ if (!isDeep) {
2035
+ return isFlat
2036
+ ? copySymbolsIn(value, baseAssignIn(result, value))
2037
+ : copySymbols(value, baseAssign(result, value));
2038
+ }
1808
2039
  } else {
1809
2040
  if (!cloneableTags[tag]) {
1810
2041
  return object ? value : {};
1811
2042
  }
1812
- result = initCloneByTag(value, tag);
2043
+ result = initCloneByTag(value, tag, isDeep);
1813
2044
  }
1814
2045
  }
1815
2046
  // Check for circular references and return its corresponding clone.
@@ -1830,8 +2061,9 @@ function baseClone(value, bitmask, customizer, key, object, stack) {
1830
2061
  });
1831
2062
  }
1832
2063
 
1833
- var keysFunc = (getAllKeys)
1834
- ;
2064
+ var keysFunc = isFull
2065
+ ? (isFlat ? getAllKeysIn : getAllKeys)
2066
+ : (isFlat ? keysIn : keys);
1835
2067
 
1836
2068
  var props = isArr ? undefined : keysFunc(value);
1837
2069
  arrayEach(props || value, function(subValue, key) {