ut2 1.8.0 → 1.8.1

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 (44) hide show
  1. package/dist/ut2.js +57 -54
  2. package/dist/ut2.js.map +1 -1
  3. package/dist/ut2.min.js +1 -1
  4. package/dist/ut2.min.js.map +1 -1
  5. package/es/before.js +2 -1
  6. package/es/clamp.js +7 -6
  7. package/es/conformsTo.js +2 -1
  8. package/es/internals/baseDebounce.js +15 -14
  9. package/es/internals/createExtremum.js +2 -1
  10. package/es/internals/getTagWithBugfix.js +7 -7
  11. package/es/internals/helpers.js +1 -1
  12. package/es/internals/isEqualDeep.js +4 -4
  13. package/es/internals/native.js +9 -6
  14. package/es/internals/nodeUtil.js +4 -2
  15. package/es/isBlob.js +2 -2
  16. package/es/isEqual.js +2 -1
  17. package/es/isMatch.js +5 -5
  18. package/es/isUndefined.js +3 -1
  19. package/es/merge.js +4 -3
  20. package/es/nth.js +2 -1
  21. package/es/orderBy.js +3 -2
  22. package/es/toString.js +2 -2
  23. package/lib/before.js +2 -1
  24. package/lib/clamp.js +7 -6
  25. package/lib/conformsTo.js +2 -1
  26. package/lib/internals/baseDebounce.js +15 -14
  27. package/lib/internals/createExtremum.js +2 -1
  28. package/lib/internals/getTagWithBugfix.js +6 -6
  29. package/lib/internals/helpers.js +1 -1
  30. package/lib/internals/isEqualDeep.js +3 -3
  31. package/lib/internals/native.js +8 -5
  32. package/lib/internals/nodeUtil.js +4 -2
  33. package/lib/isBlob.js +1 -1
  34. package/lib/isEqual.js +2 -1
  35. package/lib/isMatch.js +4 -4
  36. package/lib/isUndefined.js +3 -1
  37. package/lib/merge.js +4 -3
  38. package/lib/nth.js +2 -1
  39. package/lib/orderBy.js +3 -2
  40. package/lib/toString.js +1 -1
  41. package/package.json +1 -1
  42. package/types/internals/compare.d.ts +4 -4
  43. package/types/internals/native.d.ts +3 -0
  44. package/types/orderBy.d.ts +3 -3
@@ -11,7 +11,7 @@ var isObjectLike = require('../isObjectLike.js');
11
11
  var isTypedArray = require('../isTypedArray.js');
12
12
  var orderBy = require('../orderBy.js');
13
13
 
14
- var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : undefined;
14
+ var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : native.nativeUndefined;
15
15
  function mapToArray(map) {
16
16
  var result = [];
17
17
  map.forEach(function (value, key) {
@@ -124,7 +124,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
124
124
  while (length--) {
125
125
  if (hasCustomizer) {
126
126
  var compared = customizer(value[length], other[length], length, value, other, valueStack, otherStack);
127
- if (compared !== undefined) {
127
+ if (compared !== native.nativeUndefined) {
128
128
  if (!compared) {
129
129
  return false;
130
130
  }
@@ -147,7 +147,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
147
147
  var key = keys[length];
148
148
  if (hasCustomizer) {
149
149
  var compared = customizer(value[key], other[key], key, value, other, valueStack, otherStack);
150
- if (compared !== undefined) {
150
+ if (compared !== native.nativeUndefined) {
151
151
  if (!compared) {
152
152
  return false;
153
153
  }
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ exports.nativeUndefined = void 0;
4
+ exports.stringUndefined = 'undefined';
5
+ exports.stringObject = 'object';
3
6
  exports.objectProto = Object.prototype;
4
7
  exports.objectProtoToString = exports.objectProto.toString;
5
8
  exports.objectProtoHasOwnProperty = exports.objectProto.hasOwnProperty;
@@ -9,8 +12,8 @@ exports.objectGetPrototypeOf = Object.getPrototypeOf;
9
12
  exports.objectKeys = Object.keys;
10
13
  exports.functionProto = Function.prototype;
11
14
  exports.functionProtoToString = exports.functionProto.toString;
12
- var symbolExisted = typeof Symbol !== 'undefined';
13
- exports.symbolProto = symbolExisted ? Symbol.prototype : undefined;
15
+ var symbolExisted = typeof Symbol !== exports.stringUndefined;
16
+ exports.symbolProto = symbolExisted ? Symbol.prototype : exports.nativeUndefined;
14
17
  exports.arrayProto = Array.prototype;
15
18
  exports.arrayProtoSlice = exports.arrayProto.slice;
16
19
  exports.mathMin = Math.min;
@@ -22,9 +25,9 @@ exports.mathAbs = Math.abs;
22
25
  exports.numberIsFinite = Number.isFinite;
23
26
  exports.numberIsInteger = Number.isInteger;
24
27
  exports.numberIsSafeInteger = Number.isSafeInteger;
25
- exports.globalThisExisted = typeof globalThis === 'object' && globalThis;
26
- exports.globalExisted = typeof global === 'object' && global;
27
- exports.selfExisted = typeof self === 'object' && self;
28
+ exports.globalThisExisted = typeof globalThis === exports.stringObject && globalThis;
29
+ exports.globalExisted = typeof global === exports.stringObject && global;
30
+ exports.selfExisted = typeof self === exports.stringObject && self;
28
31
  exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
29
32
  exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
30
33
  exports.MAX_ARRAY_LENGTH = 4294967295;
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var freeExports = typeof exports === 'object' && exports && !exports.nodeType && exports;
4
- var freeModule = freeExports && typeof module === 'object' && module && !module.nodeType && module;
3
+ var native = require('./native.js');
4
+
5
+ var freeExports = typeof exports === native.stringObject && exports && !exports.nodeType && exports;
6
+ var freeModule = freeExports && typeof module === native.stringObject && module && !module.nodeType && module;
5
7
  var nodeUtil = (function () {
6
8
  try {
7
9
  var types = freeModule && freeModule.require && freeModule.require('util').types;
package/lib/isBlob.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var getTag = require('./internals/getTag.js');
4
4
  var native = require('./internals/native.js');
5
5
 
6
- var blobExisted = typeof Blob !== 'undefined';
6
+ var blobExisted = typeof Blob !== native.stringUndefined;
7
7
  function isBlob(value) {
8
8
  if (blobExisted && value instanceof Blob) {
9
9
  return true;
package/lib/isEqual.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var isEqualDeep = require('./internals/isEqualDeep.js');
4
+ var native = require('./internals/native.js');
4
5
 
5
6
  function isEqual(value, other, customizer, strictCheck) {
6
7
  if (strictCheck === void 0) { strictCheck = false; }
7
8
  if (typeof customizer === 'function') {
8
9
  var result = customizer(value, other);
9
- if (result !== undefined) {
10
+ if (result !== native.nativeUndefined) {
10
11
  return !!result;
11
12
  }
12
13
  }
package/lib/isMatch.js CHANGED
@@ -30,7 +30,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
30
30
  }
31
31
  if (hasCustomizer) {
32
32
  var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
33
- if (compared !== undefined) {
33
+ if (compared !== native.nativeUndefined) {
34
34
  if (!compared) {
35
35
  return false;
36
36
  }
@@ -48,7 +48,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
48
48
  var result = isEqualDeep(object, source, function (objValue, srcValue, k, obj, src) {
49
49
  if (hasCustomizer) {
50
50
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
51
- if (compared !== undefined) {
51
+ if (compared !== native.nativeUndefined) {
52
52
  return compared;
53
53
  }
54
54
  }
@@ -62,11 +62,11 @@ function isMatch(object, source, customizer, strictCheck) {
62
62
  if (strictCheck === void 0) { strictCheck = false; }
63
63
  if (typeof customizer === 'function') {
64
64
  var compared = customizer(object, source);
65
- if (compared !== undefined) {
65
+ if (compared !== native.nativeUndefined) {
66
66
  return !!compared;
67
67
  }
68
68
  }
69
- return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined);
69
+ return baseIsMatch(object, source, customizer, strictCheck, native.nativeUndefined, native.nativeUndefined);
70
70
  }
71
71
 
72
72
  module.exports = isMatch;
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var native = require('./internals/native.js');
4
+
3
5
  function isUndefined(value) {
4
- return value === void 0;
6
+ return value === native.nativeUndefined;
5
7
  }
6
8
 
7
9
  module.exports = isUndefined;
package/lib/merge.js CHANGED
@@ -5,6 +5,7 @@ var isArray = require('./isArray.js');
5
5
  var isObject = require('./isObject.js');
6
6
  var isObjectLike = require('./isObjectLike.js');
7
7
  var isPlainObject = require('./isPlainObject.js');
8
+ var native = require('./internals/native.js');
8
9
 
9
10
  function baseMerge(object, source, getKeys, customizer, stack) {
10
11
  if (stack === void 0) { stack = new WeakMap(); }
@@ -21,8 +22,8 @@ function baseMerge(object, source, getKeys, customizer, stack) {
21
22
  obj[key] = srcValue;
22
23
  }
23
24
  else {
24
- var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : undefined;
25
- if (newValue !== undefined) {
25
+ var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : native.nativeUndefined;
26
+ if (newValue !== native.nativeUndefined) {
26
27
  obj[key] = newValue;
27
28
  }
28
29
  else {
@@ -40,7 +41,7 @@ function baseMerge(object, source, getKeys, customizer, stack) {
40
41
  if (newObjValue) {
41
42
  obj[key] = baseMerge(newObjValue, srcValue, getKeys, customizer, stack);
42
43
  }
43
- else if (srcValue !== undefined || !(key in obj)) {
44
+ else if (srcValue !== native.nativeUndefined || !(key in obj)) {
44
45
  obj[key] = srcValue;
45
46
  }
46
47
  }
package/lib/nth.js CHANGED
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var native = require('./internals/native.js');
3
4
  var isArrayLike = require('./isArrayLike.js');
4
5
 
5
6
  function nth(array, n) {
6
7
  if (n === void 0) { n = 0; }
7
8
  if (!isArrayLike(array)) {
8
- return undefined;
9
+ return native.nativeUndefined;
9
10
  }
10
11
  n += n < 0 ? array.length : 0;
11
12
  return array[n];
package/lib/orderBy.js CHANGED
@@ -5,11 +5,12 @@ var createIteratee = require('./internals/createIteratee.js');
5
5
  var compare = require('./internals/compare.js');
6
6
  var isArray = require('./isArray.js');
7
7
  var forEach = require('./forEach.js');
8
+ var native = require('./internals/native.js');
8
9
 
9
10
  var orderBy = function (collection, iteratees, orders) {
10
11
  var result = [];
11
- iteratees = (isArray(iteratees) ? iteratees : iteratees !== undefined ? [iteratees] : [identity]);
12
- orders = (isArray(orders) ? orders : orders !== undefined ? [orders] : []);
12
+ iteratees = (isArray(iteratees) ? iteratees : iteratees !== native.nativeUndefined ? [iteratees] : [identity]);
13
+ orders = (isArray(orders) ? orders : orders !== native.nativeUndefined ? [orders] : []);
13
14
  var index = -1;
14
15
  forEach(collection, function (item) {
15
16
  var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item); });
package/lib/toString.js CHANGED
@@ -5,7 +5,7 @@ var isArray = require('./isArray.js');
5
5
  var isNil = require('./isNil.js');
6
6
  var isSymbol = require('./isSymbol.js');
7
7
 
8
- var symbolToString = native.symbolProto ? native.symbolProto.toString : undefined;
8
+ var symbolToString = native.symbolProto ? native.symbolProto.toString : native.nativeUndefined;
9
9
  function baseToString(value) {
10
10
  if (typeof value === 'string') {
11
11
  return value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -1,10 +1,10 @@
1
1
  export declare function compareAsc(value: any, other: any): 0 | 1 | -1;
2
2
  export declare function compareDesc(value: any, other: any): 0 | 1 | -1;
3
- export type OrderData<T> = {
3
+ export type CompareOrderData<T> = {
4
4
  criteria: any[];
5
5
  index: number;
6
6
  value: T;
7
7
  };
8
- export type OrderBase = 'asc' | 'desc';
9
- export type Order = OrderBase | ((a: any, b: any) => number);
10
- export declare function compareMultiple<T>(object: OrderData<T>, other: OrderData<T>, orders: Order[]): number;
8
+ export type CompareOrderBase = 'asc' | 'desc';
9
+ export type CompareOrder = CompareOrderBase | ((a: any, b: any) => number);
10
+ export declare function compareMultiple<T>(object: CompareOrderData<T>, other: CompareOrderData<T>, orders: CompareOrder[]): number;
@@ -1,3 +1,6 @@
1
+ export declare const nativeUndefined: undefined;
2
+ export declare const stringUndefined = "undefined";
3
+ export declare const stringObject = "object";
1
4
  export declare const objectProto: Object;
2
5
  export declare const objectProtoToString: () => string;
3
6
  export declare const objectProtoHasOwnProperty: (v: PropertyKey) => boolean;
@@ -1,8 +1,8 @@
1
- import { Order } from './internals/compare';
1
+ import { CompareOrder } from './internals/compare';
2
2
  import { CollectionList, CollectionObject, IterateeParam, Many } from './internals/types';
3
3
  interface OrderBy {
4
- <T>(collection: CollectionList<T>, iteratee?: Many<IterateeParam<T>>, orders?: Many<Order>): T[];
5
- <T extends object, V extends T[keyof T]>(collection: CollectionObject<T>, iteratee?: Many<IterateeParam<V>>, orders?: Many<Order>): V[];
4
+ <T>(collection: CollectionList<T>, iteratee?: Many<IterateeParam<T>>, orders?: Many<CompareOrder>): T[];
5
+ <T extends object, V extends T[keyof T]>(collection: CollectionObject<T>, iteratee?: Many<IterateeParam<V>>, orders?: Many<CompareOrder>): V[];
6
6
  }
7
7
  /**
8
8
  * 创建一个元素数组,以迭代函数处理的结果排序。如果没有指定排序,默认为升序排序。