ut2 1.5.2 → 1.5.3

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 (95) hide show
  1. package/README.md +1 -1
  2. package/dist/ut2.js +96 -121
  3. package/dist/ut2.js.map +1 -1
  4. package/dist/ut2.min.js +1 -1
  5. package/dist/ut2.min.js.map +1 -1
  6. package/es/gt.js +3 -4
  7. package/es/gte.js +3 -4
  8. package/es/internals/createExtremum.js +19 -12
  9. package/es/internals/createIteratee.js +2 -1
  10. package/es/internals/getTag.js +2 -23
  11. package/es/internals/getTagWithBugfix.js +6 -6
  12. package/es/internals/helpers.js +6 -4
  13. package/es/internals/native.js +1 -3
  14. package/es/isArguments.js +3 -2
  15. package/es/isArrayBuffer.js +3 -2
  16. package/es/isBlob.js +3 -2
  17. package/es/isBoolean.js +3 -2
  18. package/es/isDate.js +3 -2
  19. package/es/isEmpty.js +4 -3
  20. package/es/isEqual.js +1 -1
  21. package/es/isError.js +3 -2
  22. package/es/isFunction.js +3 -2
  23. package/es/isMatch.js +3 -2
  24. package/es/isNumber.js +3 -2
  25. package/es/isObject.js +1 -1
  26. package/es/isObjectLike.js +1 -1
  27. package/es/isRegExp.js +3 -2
  28. package/es/isString.js +3 -2
  29. package/es/isSymbol.js +3 -2
  30. package/es/isTypedArray.js +3 -2
  31. package/es/isWeakSet.js +3 -2
  32. package/es/lowerFirst.js +3 -4
  33. package/es/lt.js +3 -4
  34. package/es/lte.js +3 -4
  35. package/es/max.js +2 -4
  36. package/es/min.js +2 -4
  37. package/es/nth.js +2 -6
  38. package/es/omit.js +1 -1
  39. package/es/omitBy.js +2 -1
  40. package/es/pickBy.js +2 -1
  41. package/es/toString.js +1 -1
  42. package/es/uniq.js +13 -5
  43. package/es/upperFirst.js +3 -4
  44. package/lib/gt.js +3 -4
  45. package/lib/gte.js +3 -4
  46. package/lib/internals/createExtremum.js +19 -12
  47. package/lib/internals/createIteratee.js +2 -1
  48. package/lib/internals/getTag.js +1 -22
  49. package/lib/internals/getTagWithBugfix.js +5 -5
  50. package/lib/internals/helpers.js +4 -2
  51. package/lib/internals/native.js +0 -2
  52. package/lib/isArguments.js +2 -1
  53. package/lib/isArrayBuffer.js +2 -1
  54. package/lib/isBlob.js +2 -1
  55. package/lib/isBoolean.js +2 -1
  56. package/lib/isDate.js +2 -1
  57. package/lib/isEmpty.js +4 -3
  58. package/lib/isEqual.js +1 -1
  59. package/lib/isError.js +2 -1
  60. package/lib/isFunction.js +2 -1
  61. package/lib/isMatch.js +2 -1
  62. package/lib/isNumber.js +2 -1
  63. package/lib/isObject.js +1 -1
  64. package/lib/isObjectLike.js +1 -1
  65. package/lib/isRegExp.js +2 -1
  66. package/lib/isString.js +2 -1
  67. package/lib/isSymbol.js +2 -1
  68. package/lib/isTypedArray.js +2 -1
  69. package/lib/isWeakSet.js +2 -1
  70. package/lib/lowerFirst.js +3 -4
  71. package/lib/lt.js +3 -4
  72. package/lib/lte.js +3 -4
  73. package/lib/max.js +2 -4
  74. package/lib/min.js +2 -4
  75. package/lib/nth.js +2 -6
  76. package/lib/omit.js +1 -1
  77. package/lib/omitBy.js +2 -1
  78. package/lib/pickBy.js +2 -1
  79. package/lib/toString.js +1 -1
  80. package/lib/uniq.js +13 -5
  81. package/lib/upperFirst.js +3 -4
  82. package/package.json +7 -2
  83. package/types/gt.d.ts +2 -2
  84. package/types/gte.d.ts +2 -2
  85. package/types/identity.d.ts +1 -1
  86. package/types/internals/createExtremum.d.ts +1 -1
  87. package/types/internals/createIteratee.d.ts +2 -1
  88. package/types/internals/decimalAdjust.d.ts +1 -1
  89. package/types/internals/getTag.d.ts +1 -1
  90. package/types/internals/helpers.d.ts +1 -0
  91. package/types/internals/native.d.ts +0 -2
  92. package/types/lowerFirst.d.ts +2 -2
  93. package/types/lt.d.ts +2 -2
  94. package/types/lte.d.ts +2 -2
  95. package/types/upperFirst.d.ts +2 -2
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var identity = require('../identity.js');
3
4
  var isSymbol = require('../isSymbol.js');
4
5
 
5
6
  function createIteratee(iteratee) {
@@ -9,7 +10,7 @@ function createIteratee(iteratee) {
9
10
  if (typeof iteratee === 'string' || typeof iteratee === 'number' || isSymbol(iteratee)) {
10
11
  return function (value) { return value[iteratee]; };
11
12
  }
12
- return function (value) { return value; };
13
+ return identity;
13
14
  }
14
15
 
15
16
  module.exports = createIteratee;
@@ -2,29 +2,8 @@
2
2
 
3
3
  var native = require('./native.js');
4
4
 
5
- function getRawTag(value) {
6
- var isOwn = native.objectProtoHasOwnProperty.call(value, native.symbolToStringTag);
7
- var tag = value[native.symbolToStringTag];
8
- var unmasked = false;
9
- try {
10
- value[native.symbolToStringTag] = undefined;
11
- unmasked = true;
12
- }
13
- catch (e) {
14
- }
15
- var result = native.objectProtoToString.call(value);
16
- if (unmasked) {
17
- if (isOwn) {
18
- value[native.symbolToStringTag] = tag;
19
- }
20
- else {
21
- delete value[native.symbolToStringTag];
22
- }
23
- }
24
- return result;
25
- }
26
5
  function getTag(value) {
27
- return native.symbolToStringTag && native.symbolToStringTag in Object(value) ? getRawTag(value) : native.objectProtoToString.call(value);
6
+ return native.objectProtoToString.call(value);
28
7
  }
29
8
 
30
9
  module.exports = getTag;
@@ -15,11 +15,11 @@ var promiseCtorString = helpers.toSource(Promise);
15
15
  var setCtorString = helpers.toSource(Set);
16
16
  var weakMapCtorString = helpers.toSource(WeakMap);
17
17
  var getTagWithBugfix = getTag;
18
- if ((dataViewExisted && native.objectProtoToString.call(new DataView(new ArrayBuffer(1))) !== native.dataViewTag) ||
19
- (mapExisted && native.objectProtoToString.call(new Map()) !== native.mapTag) ||
20
- (promiseExisted && native.objectProtoToString.call(Promise.resolve()) !== native.promiseTag) ||
21
- (setExisted && native.objectProtoToString.call(new Set()) !== native.setTag) ||
22
- (weakMapExisted && native.objectProtoToString.call(new WeakMap()) !== native.weakMapTag)) {
18
+ if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== native.dataViewTag) ||
19
+ (mapExisted && getTag(new Map()) !== native.mapTag) ||
20
+ (promiseExisted && getTag(Promise.resolve()) !== native.promiseTag) ||
21
+ (setExisted && getTag(new Set()) !== native.setTag) ||
22
+ (weakMapExisted && getTag(new WeakMap()) !== native.weakMapTag)) {
23
23
  getTagWithBugfix = function (value) {
24
24
  var result = getTag(value);
25
25
  var Ctor = result === native.objectTag ? value.constructor : undefined;
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./getTag.js');
3
4
  var native = require('./native.js');
4
5
 
5
- exports.VERSION = "1.5.2";
6
- exports.supportedArgumentsType = native.objectProtoToString.call((function () { return arguments; })()) === native.argumentsTag;
6
+ exports.VERSION = "1.5.3";
7
+ exports.supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
7
8
  exports.FUNC_ERROR_TEXT = 'Expected a function';
8
9
  function toSource(func) {
9
10
  if (func !== null) {
@@ -20,5 +21,6 @@ function toSource(func) {
20
21
  }
21
22
  return '';
22
23
  }
24
+ exports.stubFlase = function () { return false; };
23
25
 
24
26
  exports.toSource = toSource;
@@ -11,10 +11,8 @@ exports.functionProto = Function.prototype;
11
11
  exports.functionProtoToString = exports.functionProto.toString;
12
12
  var symbolExisted = typeof Symbol !== 'undefined';
13
13
  exports.symbolProto = symbolExisted ? Symbol.prototype : undefined;
14
- exports.symbolToStringTag = symbolExisted ? Symbol.toStringTag : undefined;
15
14
  exports.arrayProto = Array.prototype;
16
15
  exports.arrayProtoSlice = exports.arrayProto.slice;
17
- exports.arrayProtoAt = exports.arrayProto.at;
18
16
  exports.mathMin = Math.min;
19
17
  exports.mathMax = Math.max;
20
18
  exports.mathRandom = Math.random;
@@ -3,10 +3,11 @@
3
3
  var native = require('./internals/native.js');
4
4
  var helpers = require('./internals/helpers.js');
5
5
  var isObjectLike = require('./isObjectLike.js');
6
+ var getTag = require('./internals/getTag.js');
6
7
 
7
8
  function isArguments(value) {
8
9
  if (helpers.supportedArgumentsType) {
9
- return native.objectProtoToString.call(value) === native.argumentsTag;
10
+ return getTag(value) === native.argumentsTag;
10
11
  }
11
12
  return isObjectLike(value) && native.objectProtoHasOwnProperty.call(value, 'callee') && !native.objectProtoPropertyIsEnumerable.call(value, 'callee');
12
13
  }
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
  var nodeUtil = require('./internals/nodeUtil.js');
5
6
 
6
7
  function isArrayBuffer(value) {
7
- return nodeUtil.nodeIsArrayBuffer ? nodeUtil.nodeIsArrayBuffer(value) : native.objectProtoToString.call(value) === native.arrayBufferTag;
8
+ return nodeUtil.nodeIsArrayBuffer ? nodeUtil.nodeIsArrayBuffer(value) : getTag(value) === native.arrayBufferTag;
8
9
  }
9
10
 
10
11
  module.exports = isArrayBuffer;
package/lib/isBlob.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  var blobExisted = typeof Blob !== 'undefined';
@@ -7,7 +8,7 @@ function isBlob(value) {
7
8
  if (blobExisted && value instanceof Blob) {
8
9
  return true;
9
10
  }
10
- return native.objectProtoToString.call(value) === native.blobTag;
11
+ return getTag(value) === native.blobTag;
11
12
  }
12
13
 
13
14
  module.exports = isBlob;
package/lib/isBoolean.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isBoolean(value) {
6
- return value === true || value === false || native.objectProtoToString.call(value) === native.booleanTag;
7
+ return value === true || value === false || getTag(value) === native.booleanTag;
7
8
  }
8
9
 
9
10
  module.exports = isBoolean;
package/lib/isDate.js CHANGED
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
  var nodeUtil = require('./internals/nodeUtil.js');
5
6
 
6
7
  function isDate(value) {
7
- return nodeUtil.nodeIsDate ? nodeUtil.nodeIsDate(value) : native.objectProtoToString.call(value) === native.dateTag;
8
+ return nodeUtil.nodeIsDate ? nodeUtil.nodeIsDate(value) : getTag(value) === native.dateTag;
8
9
  }
9
10
 
10
11
  module.exports = isDate;
package/lib/isEmpty.js CHANGED
@@ -1,16 +1,17 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var keys = require('./internals/keys.js');
5
+ var native = require('./internals/native.js');
4
6
  var isArrayLike = require('./isArrayLike.js');
5
- var isMap = require('./isMap.js');
6
7
  var isObjectLike = require('./isObjectLike.js');
7
- var isSet = require('./isSet.js');
8
8
 
9
9
  function isEmpty(value) {
10
10
  if (value == null) {
11
11
  return true;
12
12
  }
13
- if (isMap(value) || isSet(value)) {
13
+ var tag = getTag(value);
14
+ if (tag === native.mapTag || tag === native.setTag) {
14
15
  return !value.size;
15
16
  }
16
17
  if (isObjectLike(value)) {
package/lib/isEqual.js CHANGED
@@ -64,7 +64,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
64
64
  case native.symbolTag:
65
65
  return symbolValueOf ? symbolValueOf.call(value) === symbolValueOf.call(other) : false;
66
66
  case native.errorTag:
67
- return value.name == other.name && value.message == other.message;
67
+ return value.name === other.name && value.message === other.message;
68
68
  case native.dataViewTag:
69
69
  case native.arrayBufferTag:
70
70
  if (value.byteLength !== other.byteLength || (value.byteOffset && value.byteOffset !== other.byteOffset)) {
package/lib/isError.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
  var isObjectLike = require('./isObjectLike.js');
5
6
 
@@ -10,7 +11,7 @@ function isError(value) {
10
11
  if (value instanceof Error) {
11
12
  return true;
12
13
  }
13
- var tag = native.objectProtoToString.call(value);
14
+ var tag = getTag(value);
14
15
  return tag === native.errorTag || tag === native.domExceptionTag;
15
16
  }
16
17
 
package/lib/isFunction.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isFunction(value) {
6
7
  if (typeof value === 'function') {
7
8
  return true;
8
9
  }
9
- var tag = native.objectProtoToString.call(value);
10
+ var tag = getTag(value);
10
11
  return native.functionTags.some(function (item) { return item === tag; });
11
12
  }
12
13
 
package/lib/isMatch.js CHANGED
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var allKeys = require('./allKeys.js');
4
+ var getTag = require('./internals/getTag.js');
4
5
  var native = require('./internals/native.js');
5
6
  var isEqual = require('./isEqual.js');
6
7
 
7
8
  function isDeepComparable(object, source) {
8
- return native.objectProtoToString.call(object) === native.objectTag && native.objectProtoToString.call(source) === native.objectTag;
9
+ return getTag(object) === native.objectTag && getTag(source) === native.objectTag;
9
10
  }
10
11
  function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
11
12
  if (executedCustomizer === void 0) { executedCustomizer = false; }
package/lib/isNumber.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isNumber(value) {
6
- return typeof value === 'number' || native.objectProtoToString.call(value) === native.numberTag;
7
+ return typeof value === 'number' || getTag(value) === native.numberTag;
7
8
  }
8
9
 
9
10
  module.exports = isNumber;
package/lib/isObject.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  function isObject(value) {
4
4
  var type = typeof value;
5
- return value != null && (type === 'object' || type === 'function');
5
+ return type === 'function' || (type === 'object' && !!value);
6
6
  }
7
7
 
8
8
  module.exports = isObject;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  function isObjectLike(value) {
4
- return value != null && typeof value === 'object';
4
+ return value !== null && typeof value === 'object';
5
5
  }
6
6
 
7
7
  module.exports = isObjectLike;
package/lib/isRegExp.js CHANGED
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
  var nodeUtil = require('./internals/nodeUtil.js');
5
6
 
6
7
  function isRegExp(value) {
7
- return nodeUtil.nodeIsRegExp ? nodeUtil.nodeIsRegExp(value) : native.objectProtoToString.call(value) === native.regExpTag;
8
+ return nodeUtil.nodeIsRegExp ? nodeUtil.nodeIsRegExp(value) : getTag(value) === native.regExpTag;
8
9
  }
9
10
 
10
11
  module.exports = isRegExp;
package/lib/isString.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isString(value) {
6
- return typeof value === 'string' || native.objectProtoToString.call(value) === native.stringTag;
7
+ return typeof value === 'string' || getTag(value) === native.stringTag;
7
8
  }
8
9
 
9
10
  module.exports = isString;
package/lib/isSymbol.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isSymbol(value) {
6
- return typeof value === 'symbol' || native.objectProtoToString.call(value) === native.symbolTag;
7
+ return typeof value === 'symbol' || getTag(value) === native.symbolTag;
7
8
  }
8
9
 
9
10
  module.exports = isSymbol;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
  var nodeUtil = require('./internals/nodeUtil.js');
5
6
  var isLength = require('./isLength.js');
@@ -10,7 +11,7 @@ function isTypedArray(value) {
10
11
  return nodeUtil.nodeIsTypedArray(value);
11
12
  }
12
13
  if (isObjectLike(value) && isLength(value.length)) {
13
- var tag_1 = native.objectProtoToString.call(value);
14
+ var tag_1 = getTag(value);
14
15
  return native.typedArrayTags.some(function (item) { return item === tag_1; });
15
16
  }
16
17
  return false;
package/lib/isWeakSet.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ var getTag = require('./internals/getTag.js');
3
4
  var native = require('./internals/native.js');
4
5
 
5
6
  function isWeakSet(value) {
6
- return native.objectProtoToString.call(value) === native.weakSetTag;
7
+ return getTag(value) === native.weakSetTag;
7
8
  }
8
9
 
9
10
  module.exports = isWeakSet;
package/lib/lowerFirst.js CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  var createCaseFirst = require('./internals/createCaseFirst.js');
4
4
 
5
- function lowerFirst(string) {
6
- return createCaseFirst('toLowerCase')(string);
7
- }
5
+ var lowerFirst = createCaseFirst('toLowerCase');
6
+ var lowerFirst$1 = lowerFirst;
8
7
 
9
- module.exports = lowerFirst;
8
+ module.exports = lowerFirst$1;
package/lib/lt.js CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  var comparator = require('./internals/comparator.js');
4
4
 
5
- function lt(value, other) {
6
- return comparator.createOperation(comparator.baseLt)(value, other);
7
- }
5
+ var lt = comparator.createOperation(comparator.baseLt);
6
+ var lt$1 = lt;
8
7
 
9
- module.exports = lt;
8
+ module.exports = lt$1;
package/lib/lte.js CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  var comparator = require('./internals/comparator.js');
4
4
 
5
- function lte(value, other) {
6
- return comparator.createOperation(comparator.baseLte)(value, other);
7
- }
5
+ var lte = comparator.createOperation(comparator.baseLte);
6
+ var lte$1 = lte;
8
7
 
9
- module.exports = lte;
8
+ module.exports = lte$1;
package/lib/max.js CHANGED
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var gt = require('./gt.js');
4
- var identity = require('./identity.js');
3
+ var comparator = require('./internals/comparator.js');
5
4
  var createExtremum = require('./internals/createExtremum.js');
6
5
 
7
6
  function max(array, iteratee) {
8
- if (iteratee === void 0) { iteratee = identity; }
9
- return createExtremum(array, iteratee, gt);
7
+ return createExtremum(array, comparator.baseGt, iteratee);
10
8
  }
11
9
 
12
10
  module.exports = max;
package/lib/min.js CHANGED
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var identity = require('./identity.js');
3
+ var comparator = require('./internals/comparator.js');
4
4
  var createExtremum = require('./internals/createExtremum.js');
5
- var lt = require('./lt.js');
6
5
 
7
6
  function min(array, iteratee) {
8
- if (iteratee === void 0) { iteratee = identity; }
9
- return createExtremum(array, iteratee, lt);
7
+ return createExtremum(array, comparator.baseLt, iteratee);
10
8
  }
11
9
 
12
10
  module.exports = min;
package/lib/nth.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var native = require('./internals/native.js');
4
3
  var isArrayLike = require('./isArrayLike.js');
5
4
 
6
5
  function nth(array, n) {
@@ -8,11 +7,8 @@ function nth(array, n) {
8
7
  if (!isArrayLike(array)) {
9
8
  return undefined;
10
9
  }
11
- if (typeof native.arrayProtoAt === 'function') {
12
- return native.arrayProtoAt.call(array, n);
13
- }
14
- var index = n < 0 ? n + array.length : n;
15
- return array[index];
10
+ n += n < 0 ? array.length : 0;
11
+ return array[n];
16
12
  }
17
13
 
18
14
  module.exports = nth;
package/lib/omit.js CHANGED
@@ -9,7 +9,7 @@ function omit(object, fields) {
9
9
  var fieldArr = castArray(fields);
10
10
  var result = {};
11
11
  keys.forEach(function (key) {
12
- if (!fieldArr.includes(key)) {
12
+ if (fieldArr.indexOf(key) === -1) {
13
13
  result[key] = object[key];
14
14
  }
15
15
  });
package/lib/omitBy.js CHANGED
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var helpers = require('./internals/helpers.js');
3
4
  var negate = require('./negate.js');
4
5
  var pickBy = require('./pickBy.js');
5
6
 
6
7
  function omitBy(object, predicate) {
7
- if (predicate === void 0) { predicate = function () { return false; }; }
8
+ if (predicate === void 0) { predicate = helpers.stubFlase; }
8
9
  return pickBy(object, negate(predicate));
9
10
  }
10
11
 
package/lib/pickBy.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var allKeysIn = require('./allKeysIn.js');
4
+ var helpers = require('./internals/helpers.js');
4
5
 
5
6
  function pickBy(object, predicate) {
6
- if (predicate === void 0) { predicate = function () { return false; }; }
7
+ if (predicate === void 0) { predicate = helpers.stubFlase; }
7
8
  var result = {};
8
9
  if (object === null) {
9
10
  return result;
package/lib/toString.js CHANGED
@@ -16,7 +16,7 @@ function baseToString(value) {
16
16
  return symbolToString ? symbolToString.call(value) : '';
17
17
  }
18
18
  var result = '' + value;
19
- return result == '0' && 1 / value === -Infinity ? '-0' : result;
19
+ return result === '0' && 1 / value === -Infinity ? '-0' : result;
20
20
  }
21
21
  function toString(value) {
22
22
  return value == null ? '' : baseToString(value);
package/lib/uniq.js CHANGED
@@ -3,17 +3,25 @@
3
3
  var eq = require('./eq.js');
4
4
  var createIteratee = require('./internals/createIteratee.js');
5
5
  var isArray = require('./isArray.js');
6
+ var isUndefined = require('./isUndefined.js');
6
7
 
7
8
  function uniq(array, iteratee, strickCheck) {
8
9
  if (strickCheck === void 0) { strickCheck = false; }
9
10
  if (!isArray(array)) {
10
11
  return [];
11
12
  }
12
- var internalIteratee = createIteratee(iteratee);
13
- return array.filter(function (value, index, arr) {
14
- var current = internalIteratee(value);
15
- return arr.findIndex(function (item) { return eq(internalIteratee(item), current, strickCheck); }) === index;
16
- });
13
+ if (isUndefined(iteratee)) {
14
+ return array.filter(function (value, index, arr) {
15
+ return arr.findIndex(function (item) { return eq(item, value, strickCheck); }) === index;
16
+ });
17
+ }
18
+ else {
19
+ var internalIteratee_1 = createIteratee(iteratee);
20
+ return array.filter(function (value, index, arr) {
21
+ var current = internalIteratee_1(value);
22
+ return arr.findIndex(function (item) { return eq(internalIteratee_1(item), current, strickCheck); }) === index;
23
+ });
24
+ }
17
25
  }
18
26
 
19
27
  module.exports = uniq;
package/lib/upperFirst.js CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  var createCaseFirst = require('./internals/createCaseFirst.js');
4
4
 
5
- function upperFirst(string) {
6
- return createCaseFirst('toUpperCase')(string);
7
- }
5
+ var upperFirst = createCaseFirst('toUpperCase');
6
+ var upperFirst$1 = upperFirst;
8
7
 
9
- module.exports = upperFirst;
8
+ module.exports = upperFirst$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -12,6 +12,7 @@
12
12
  "test": "jest",
13
13
  "test:coverage": "jest --coverage",
14
14
  "test:coverage:local": "cross-env COVERAGE_LOCAL=1 jest --coverage --detectOpenHandles && open ./coverage/lcov-report/index.html",
15
+ "benchmark": "node benchmark/node.js",
15
16
  "build": "npm run build:module && npm run build:umd && npm run build:types",
16
17
  "build:module": "rm -rf es && rm -rf lib && rollup -c rollup.module.config.mjs",
17
18
  "build:umd": "rm -rf dist && rollup -c rollup.umd.config.mjs",
@@ -71,20 +72,24 @@
71
72
  "@types/node": "^20.6.2",
72
73
  "@typescript-eslint/eslint-plugin": "^5.62.0",
73
74
  "@typescript-eslint/parser": "^5.62.0",
75
+ "benchmark": "^2.1.4",
74
76
  "cross-env": "^7.0.3",
75
77
  "cz-conventional-changelog": "^3.3.0",
78
+ "dayjs": "^1.11.10",
76
79
  "docdash": "^2.0.2",
77
80
  "eslint": "^8.48.0",
81
+ "husky": "^8.0.0",
78
82
  "jest": "^29.6.4",
79
83
  "jest-environment-jsdom": "^29.6.4",
80
84
  "jsdoc": "^4.0.2",
81
85
  "lint-staged": "^13.3.0",
86
+ "lodash": "^4.17.21",
82
87
  "prettier": "^2.8.8",
83
88
  "rollup": "^3.28.1",
84
89
  "ts-jest": "^29.1.1",
85
90
  "tslib": "^2.6.2",
86
91
  "typescript": "^5.2.2",
87
- "husky": "^8.0.0"
92
+ "underscore": "^1.13.6"
88
93
  },
89
94
  "engines": {
90
95
  "node": ">=10"
package/types/gt.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 检查 `value` 是否大于 `other` 。
3
3
  *
4
- * @static
4
+ * @function
5
5
  * @alias module:Util.gt
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要比较的值。
@@ -16,5 +16,5 @@
16
16
  * gt(3, 1); // true
17
17
  *
18
18
  */
19
- declare function gt(value: any, other: any): boolean;
19
+ declare const gt: (value: any, other: any) => boolean;
20
20
  export default gt;
package/types/gte.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 检查 `value` 是否大于或等于 `other` 。
3
3
  *
4
- * @static
4
+ * @function
5
5
  * @alias module:Util.gte
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要比较的值。
@@ -16,5 +16,5 @@
16
16
  * gte(3, 1); // true
17
17
  *
18
18
  */
19
- declare function gte(value: any, other: any): boolean;
19
+ declare const gte: (value: any, other: any) => boolean;
20
20
  export default gte;
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * const obj = { a: 1, b: 2 };
12
12
  *
13
- * console.log(identity(obj, 1) === obj); // true
13
+ * console.log(identity(obj) === obj); // true
14
14
  *
15
15
  */
16
16
  declare function identity<T>(value?: T): T;
@@ -1,2 +1,2 @@
1
- declare function createExtremum<T, F extends (item: T) => any, K extends keyof T>(array: T[], iteratee: F | K, comparator: (value: any, other: any) => boolean): T | undefined;
1
+ declare function createExtremum<T, F extends (item: T) => any, K extends keyof T>(array: T[], comparator: (value: any, other: any) => boolean, iteratee?: F | K): T | undefined;
2
2
  export default createExtremum;
@@ -1,3 +1,4 @@
1
+ import identity from '../identity';
1
2
  /**
2
3
  * 创建迭代函数。
3
4
  *
@@ -5,5 +6,5 @@
5
6
  * @param {Function} iteratee 迭代函数或对象属性。
6
7
  * @returns {Function} 如果参数为函数,返回该函数,否则包装一个返回对象属性的函数。
7
8
  */
8
- declare function createIteratee<T, F extends (value: T) => any, K extends keyof T>(iteratee?: F | K): F | ((value: any) => any);
9
+ declare function createIteratee<T, F extends (value: T) => any, K extends keyof T>(iteratee?: F | K): typeof identity | F;
9
10
  export default createIteratee;