ut2 1.9.2 → 1.9.4

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 (119) hide show
  1. package/dist/ut2.js +11 -16
  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/internals/helpers.js +1 -1
  6. package/es/internals/native.js +1 -2
  7. package/es/isBuffer.js +2 -5
  8. package/es/isObject.js +3 -2
  9. package/es/isTypedArray.js +2 -3
  10. package/es/uniqueId.js +3 -1
  11. package/lib/internals/helpers.js +1 -1
  12. package/lib/internals/native.js +0 -2
  13. package/lib/isBuffer.js +2 -5
  14. package/lib/isObject.js +3 -2
  15. package/lib/isTypedArray.js +2 -3
  16. package/lib/uniqueId.js +3 -1
  17. package/package.json +18 -18
  18. package/types/after.d.ts +1 -1
  19. package/types/ceil.d.ts +2 -2
  20. package/types/chunk.d.ts +1 -1
  21. package/types/clamp.d.ts +3 -3
  22. package/types/conforms.d.ts +1 -1
  23. package/types/conformsTo.d.ts +2 -2
  24. package/types/countBy.d.ts +1 -1
  25. package/types/curry.d.ts +1 -1
  26. package/types/debounce.d.ts +2 -2
  27. package/types/defaultTo.d.ts +2 -2
  28. package/types/delay.d.ts +2 -3
  29. package/types/difference.d.ts +3 -3
  30. package/types/eq.d.ts +2 -2
  31. package/types/escapeRegExp.d.ts +1 -1
  32. package/types/every.d.ts +4 -4
  33. package/types/filter.d.ts +2 -2
  34. package/types/find.d.ts +3 -3
  35. package/types/floor.d.ts +2 -2
  36. package/types/forEach.d.ts +3 -3
  37. package/types/forEachRight.d.ts +3 -3
  38. package/types/groupBy.d.ts +2 -2
  39. package/types/gt.d.ts +2 -2
  40. package/types/gte.d.ts +2 -2
  41. package/types/identity.d.ts +1 -1
  42. package/types/inRange.d.ts +3 -3
  43. package/types/internals/getTag.d.ts +1 -1
  44. package/types/internals/isEqualDeep.d.ts +3 -3
  45. package/types/internals/native.d.ts +2 -3
  46. package/types/intersection.d.ts +3 -3
  47. package/types/invert.d.ts +2 -1
  48. package/types/isArguments.d.ts +1 -1
  49. package/types/isArray.d.ts +1 -1
  50. package/types/isArrayBuffer.d.ts +1 -1
  51. package/types/isArrayLike.d.ts +1 -1
  52. package/types/isArrayLikeObject.d.ts +6 -2
  53. package/types/isBigInt.d.ts +1 -1
  54. package/types/isBlob.d.ts +2 -2
  55. package/types/isBoolean.d.ts +1 -1
  56. package/types/isBuffer.d.ts +3 -4
  57. package/types/isDataView.d.ts +1 -1
  58. package/types/isDate.d.ts +1 -1
  59. package/types/isElement.d.ts +2 -2
  60. package/types/isEmpty.d.ts +1 -1
  61. package/types/isEqual.d.ts +3 -3
  62. package/types/isError.d.ts +3 -3
  63. package/types/isFinite.d.ts +2 -2
  64. package/types/isFunction.d.ts +3 -3
  65. package/types/isInteger.d.ts +2 -2
  66. package/types/isLength.d.ts +1 -1
  67. package/types/isMap.d.ts +1 -1
  68. package/types/isMatch.d.ts +3 -3
  69. package/types/isNaN.d.ts +2 -2
  70. package/types/isNil.d.ts +2 -2
  71. package/types/isNull.d.ts +2 -2
  72. package/types/isNumber.d.ts +1 -1
  73. package/types/isObject.d.ts +3 -2
  74. package/types/isObjectLike.d.ts +2 -2
  75. package/types/isPlainObject.d.ts +2 -2
  76. package/types/isPromiseLike.d.ts +7 -2
  77. package/types/isRegExp.d.ts +1 -1
  78. package/types/isSafeInteger.d.ts +2 -2
  79. package/types/isSet.d.ts +1 -1
  80. package/types/isString.d.ts +1 -1
  81. package/types/isSymbol.d.ts +1 -1
  82. package/types/isTypedArray.d.ts +1 -1
  83. package/types/isUndefined.d.ts +2 -2
  84. package/types/isWeakMap.d.ts +1 -1
  85. package/types/isWeakSet.d.ts +1 -1
  86. package/types/keyBy.d.ts +2 -2
  87. package/types/keys.d.ts +1 -1
  88. package/types/keysIn.d.ts +1 -1
  89. package/types/lt.d.ts +2 -2
  90. package/types/lte.d.ts +2 -2
  91. package/types/map.d.ts +2 -2
  92. package/types/max.d.ts +1 -1
  93. package/types/merge.d.ts +4 -4
  94. package/types/min.d.ts +1 -1
  95. package/types/noop.d.ts +1 -1
  96. package/types/nth.d.ts +1 -1
  97. package/types/nthArg.d.ts +1 -1
  98. package/types/omitBy.d.ts +3 -2
  99. package/types/orderBy.d.ts +1 -1
  100. package/types/partial.d.ts +1 -1
  101. package/types/partition.d.ts +5 -3
  102. package/types/pickBy.d.ts +3 -2
  103. package/types/random.d.ts +2 -2
  104. package/types/randomInt.d.ts +3 -3
  105. package/types/range.d.ts +3 -3
  106. package/types/reduce.d.ts +2 -2
  107. package/types/reduceRight.d.ts +2 -2
  108. package/types/round.d.ts +2 -2
  109. package/types/sleep.d.ts +1 -1
  110. package/types/some.d.ts +4 -4
  111. package/types/throttle.d.ts +2 -2
  112. package/types/times.d.ts +2 -2
  113. package/types/toInteger.d.ts +1 -1
  114. package/types/toString.d.ts +1 -1
  115. package/types/union.d.ts +2 -2
  116. package/types/uniq.d.ts +2 -2
  117. package/types/uniqueId.d.ts +2 -2
  118. package/types/words.d.ts +1 -1
  119. package/types/xor.d.ts +3 -3
@@ -5,7 +5,7 @@ type Customizer = (objValue: any, othValue: any, key?: number | string | symbol,
5
5
  *
6
6
  * 支持比较 `boolean` `number` `string` `symbol` `array` `array buffer` `date` `error` `map` `object` `regexp` `set` `typed array` 类型。对象只比较自身的属性,不包括继承和不可枚举的属性。
7
7
  *
8
- * 如果 `strictCheck=true` , 以下值不相等:
8
+ * 如果 `strictCheck=true`, 以下值不相等:
9
9
  *
10
10
  * 1. `0` `-0`
11
11
  * 2. `typeof` 不同类型,如 `1` `Object(1)`
@@ -15,10 +15,10 @@ type Customizer = (objValue: any, othValue: any, key?: number | string | symbol,
15
15
  * @param {*} value 要比较的值。
16
16
  * @param {*} other 另一个要比较的值。
17
17
  * @param {Function} [customizer] 自定义比较。
18
- * @param {boolean} [strictCheck=false] 严格比较,默认 `false` 。
18
+ * @param {boolean} [strictCheck=false] 严格比较。默认 `false`。
19
19
  * @param {Array} [valueStack] 值的堆栈。
20
20
  * @param {Array} [otherStack] 另一个值的堆栈。
21
- * @returns {boolean} 如果两个值相等,返回 `true` ,否则返回 `false` 。
21
+ * @returns {boolean} 如果两个值相等,返回 `true`,否则返回 `false`。
22
22
  */
23
23
  declare function isEqualDeep(value: any, other: any, customizer?: Customizer, strictCheck?: boolean, valueStack?: any[], otherStack?: any[]): boolean;
24
24
  export default isEqualDeep;
@@ -15,7 +15,7 @@ export declare const functionProto: Function;
15
15
  export declare const functionProtoToString: () => string;
16
16
  export declare const symbolProto: Symbol | undefined;
17
17
  export declare const arrayProto: any[];
18
- export declare const arrayProtoSlice: (start?: number | undefined, end?: number | undefined) => any[];
18
+ export declare const arrayProtoSlice: (start?: number, end?: number) => any[];
19
19
  export declare const mathMin: (...values: number[]) => number;
20
20
  export declare const mathMax: (...values: number[]) => number;
21
21
  export declare const mathRandom: () => number;
@@ -45,7 +45,7 @@ export declare const MAX_SAFE_INTEGER: number;
45
45
  */
46
46
  export declare const MIN_SAFE_INTEGER: number;
47
47
  /**
48
- * 最大数组长度 `Math.pow(2,32) - 1` 。
48
+ * 最大数组长度 `Math.pow(2,32) - 1`。
49
49
  *
50
50
  * @static
51
51
  * @since 1.0.0
@@ -63,7 +63,6 @@ export declare const errorTag = "[object Error]";
63
63
  export declare const arrayBufferTag = "[object ArrayBuffer]";
64
64
  export declare const argumentsTag = "[object Arguments]";
65
65
  export declare const arrayTag = "[object Array]";
66
- export declare const typedArrayTags: string[];
67
66
  export declare const functionTags: string[];
68
67
  export declare const weakSetTag = "[object WeakSet]";
69
68
  export declare const blobTag = "[object Blob]";
@@ -2,7 +2,7 @@ import { IterateeParam } from './internals/types';
2
2
  /**
3
3
  * 创建唯一值的数组,该数组包含两个数组参数都包含的元素(交集)。如果传入迭代函数,会调用数组的每个元素以产生唯一性计算的标准。
4
4
  *
5
- * `iteratee` 调用时会传入一个参数 `value` 。
5
+ * `iteratee` 调用时会传入一个参数 `value`。
6
6
  *
7
7
  * 默认使用了 [`SameValueZero`](https://tc39.es/ecma262/#sec-samevaluezero) 做等值比较。如果 `strictCheck=true` 将使用 [`SameValue`](https://tc39.es/ecma262/#sec-samevalue) 做等值比较。
8
8
  *
@@ -11,8 +11,8 @@ import { IterateeParam } from './internals/types';
11
11
  * @since 1.0.0
12
12
  * @param {Array} array 要检查的数组。
13
13
  * @param {Array} other 另一个要检查的数组。
14
- * @param {Function | string | number | Symbol} [iteratee=identity] 迭代函数,调用每个元素。
15
- * @param {boolean} [strictCheck=false] 严格比较,区分 `0` `-0`,默认 `false` 。
14
+ * @param {Function | string | number | Symbol} [iteratee=identity] 迭代函数,调用每个元素。默认 `identity`。
15
+ * @param {boolean} [strictCheck=false] 严格比较,区分 `0` `-0`。默认 `false`。
16
16
  * @returns {Array} 包含所有传入数组交集元素的新数组。
17
17
  * @example
18
18
  *
package/types/invert.d.ts CHANGED
@@ -5,8 +5,9 @@ import { ObjectPredicate, PropertyName, WithNullable } from './internals/types';
5
5
  * @static
6
6
  * @alias module:Object.invert
7
7
  * @since 1.8.0
8
+ * @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy Truthy}
8
9
  * @param {Object} object 来源对象。
9
- * @param {Function} [predicate] 调用每一个属性的函数,返回 `truthy` 表示要反转,否则不反转。
10
+ * @param {Function} [predicate] 调用每一个属性的函数,返回 `Truthy` 表示要反转,否则不反转。
10
11
  * @returns {Object} 新对象。
11
12
  * @example
12
13
  *
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isArguments
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `arguments` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `arguments` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isArguments(function() { return arguments }()); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isArray
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值
8
- * @returns {boolean} 如果值为 `Array` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `Array` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isArray([1, 2, 3]); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isArrayBuffer
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `ArrayBuffer` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `ArrayBuffer` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isArrayBuffer(new ArrayBuffer(8)); // true
@@ -7,7 +7,7 @@
7
7
  * @alias module:Language.isArrayLike
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为类数组,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为类数组,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isArrayLike([1, 2, 3]); // true
@@ -1,3 +1,7 @@
1
+ type ArrayLikeObject = Array<any> | {
2
+ length: number;
3
+ [x: string | symbol]: any;
4
+ };
1
5
  /**
2
6
  * 检查值是否为类数组对象。
3
7
  *
@@ -5,7 +9,7 @@
5
9
  * @alias module:Language.isArrayLikeObject
6
10
  * @since 1.0.0
7
11
  * @param {*} value 要检查的值
8
- * @returns {boolean} 如果值为类数组对象,返回 `true` ,否则返回 `false` 。
12
+ * @returns {boolean} 如果值为类数组对象,返回 `true`,否则返回 `false`。
9
13
  * @example
10
14
  *
11
15
  * isArrayLikeObject([1, 2, 3]); // true
@@ -17,5 +21,5 @@
17
21
  * isArrayLikeObject(()=>{}); // false
18
22
  *
19
23
  */
20
- declare function isArrayLikeObject(value: any): boolean;
24
+ declare function isArrayLikeObject(value: any): value is ArrayLikeObject;
21
25
  export default isArrayLikeObject;
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isBigInt
6
6
  * @since 1.8.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 bigint 类型或对象,返回 `true` 否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 bigint 类型或对象,返回 `true` 否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isBigInt(0n); // true
package/types/isBlob.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 检查值是否为 `Blob` 对象。
3
3
  *
4
- * 浏览器环境的 `Blob` 或 `File` 对象,或其他继承自 `Blob` 的实例,都将返回 `true` 。
4
+ * 浏览器环境的 `Blob` 或 `File` 对象,或其他继承自 `Blob` 的实例,都将返回 `true`。
5
5
  *
6
6
  * @static
7
7
  * @alias module:Language.isBlob
@@ -9,7 +9,7 @@
9
9
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/API/Blob Blob}
10
10
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/API/File File}
11
11
  * @param {*} value 要检查的值。
12
- * @returns {boolean} 如果值为 `Blob` 对象,返回 `true` ,否则返回 `false` 。
12
+ * @returns {boolean} 如果值为 `Blob` 对象,返回 `true`,否则返回 `false`。
13
13
  * @example
14
14
  *
15
15
  * isBlob(new Blob(['a'])); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isBoolean
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为布尔类型或对象,返回 `true` 否则返回 `false` 。
8
+ * @returns {boolean} 如果值为布尔类型或对象,返回 `true` 否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isBoolean(false); // true
@@ -1,14 +1,13 @@
1
- /// <reference types="node" />
2
1
  /**
3
- * 检查值是否为 `buffer` 。
2
+ * 检查值是否为 `buffer`。
4
3
  *
5
- * 非 Node.js 环境,始终返回 `false` 。
4
+ * 非 Node.js 环境,始终返回 `false`。
6
5
  *
7
6
  * @static
8
7
  * @alias module:Language.isBuffer
9
8
  * @since 1.0.0
10
9
  * @param {*} value 要检查的值
11
- * @returns {boolean} 如果值为 `buffer` ,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为 `buffer`,返回 `true`,否则返回 `false`。
12
11
  * @example
13
12
  *
14
13
  * isBuffer(Buffer.alloc(2)); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isDataView
6
6
  * @since 1.2.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `DataView` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `DataView` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isDataView(new DataView(new ArrayBuffer(8))); // true
package/types/isDate.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isDate
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `Date` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `Date` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isDate(new Date); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isElement
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `DOM` 元素,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `DOM` 元素,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isElement(document.body); // true
@@ -13,5 +13,5 @@
13
13
  * isElement('<body>'); // false
14
14
  *
15
15
  */
16
- declare function isElement(value: any): boolean;
16
+ declare function isElement(value: any): value is Element;
17
17
  export default isElement;
@@ -9,7 +9,7 @@
9
9
  * @alias module:Language.isEmpty
10
10
  * @since 1.0.0
11
11
  * @param {*} value 要检查的值。
12
- * @returns {boolean} 如果值为空,返回 `true` ,否则返回 `false` 。
12
+ * @returns {boolean} 如果值为空,返回 `true`,否则返回 `false`。
13
13
  * @example
14
14
  *
15
15
  * isEmpty(null); // true
@@ -4,7 +4,7 @@ import isEqualDeep from './internals/isEqualDeep';
4
4
  *
5
5
  * 支持比较 `boolean` `number` `string` `symbol` `array` `array buffer` `date` `error` `map` `object` `regexp` `set` `typed array` 类型。对象只比较自身的属性,不包括继承和不可枚举的属性。
6
6
  *
7
- * 如果 `strictCheck=true` , 以下值不相等:
7
+ * 如果 `strictCheck=true`, 以下值不相等:
8
8
  *
9
9
  * 1. `0` `-0`
10
10
  * 2. `typeof` 不同类型,如 `1` `Object(1)`
@@ -16,8 +16,8 @@ import isEqualDeep from './internals/isEqualDeep';
16
16
  * @param {*} value 要比较的值。
17
17
  * @param {*} other 另一个要比较的值。
18
18
  * @param {Function} [customizer] 自定义比较。
19
- * @param {boolean} [strictCheck=false] 严格比较,默认 `false` 。
20
- * @returns {boolean} 如果两个值相等,返回 `true` ,否则返回 `false` 。
19
+ * @param {boolean} [strictCheck=false] 严格比较。默认 `false`。
20
+ * @returns {boolean} 如果两个值相等,返回 `true`,否则返回 `false`。
21
21
  * @example
22
22
  *
23
23
  * const value = { a: 1, b: -0 }
@@ -1,13 +1,13 @@
1
1
  /**
2
- * 检查值是否为 `Error` 或 `DOMException` 。
2
+ * 检查值是否为 `Error` 或 `DOMException`。
3
3
  *
4
- * 继承自 `Error` 的对象,如 `EvalError` `RangeError` `ReferenceError` `SyntaxError` `TypeError` `URIError` `AggregateError`,都将返回 `true` 。
4
+ * 继承自 `Error` 的对象,如 `EvalError` `RangeError` `ReferenceError` `SyntaxError` `TypeError` `URIError` `AggregateError`,都将返回 `true`。
5
5
  *
6
6
  * @static
7
7
  * @alias module:Language.isError
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为 `Error` 或 `DOMException` 对象,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为 `Error` 或 `DOMException` 对象,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isError(new Error); // true
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * 检查值是否为有限数字。
3
3
  *
4
- * 同 `Number.isFinite` 。
4
+ * 同 `Number.isFinite`。
5
5
  *
6
6
  * @static
7
7
  * @alias module:Language.isFinite
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为有限数字,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为有限数字,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isFinite(1); // true
@@ -1,14 +1,14 @@
1
1
  import { FunctionAny } from './internals/types';
2
2
  /**
3
- * 检查值是否为 `Function` 对象 。
3
+ * 检查值是否为 `Function` 对象。
4
4
  *
5
- * `Function` `AsyncFunction` `GeneratorFunction` `Proxy` 都将返回 `true` 。
5
+ * `Function` `AsyncFunction` `GeneratorFunction` `Proxy` 都将返回 `true`。
6
6
  *
7
7
  * @static
8
8
  * @alias module:Language.isFunction
9
9
  * @since 1.0.0
10
10
  * @param {*} value 要检查的值。
11
- * @returns {boolean} 如果值为 `Function` 对象,返回 `true` ,否则返回 `false` 。
11
+ * @returns {boolean} 如果值为 `Function` 对象,返回 `true`,否则返回 `false`。
12
12
  * @example
13
13
  *
14
14
  * isFunction(()=>{})); // true
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * 检查值是否为整数。
3
3
  *
4
- * 同 `Number.isInteger` 。
4
+ * 同 `Number.isInteger`。
5
5
  *
6
6
  * @static
7
7
  * @alias module:Language.isInteger
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为整数,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为整数,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isInteger(1); // true
@@ -6,7 +6,7 @@
6
6
  * @since 1.0.0
7
7
  * @see {@link https://tc39.es/ecma262/#sec-tolength ToLength}
8
8
  * @param {*} value 要检查的值。
9
- * @returns {boolean} 如果值为有效的类数组长度,返回 `true` ,否则返回 `false` 。
9
+ * @returns {boolean} 如果值为有效的类数组长度,返回 `true`,否则返回 `false`。
10
10
  * @example
11
11
  *
12
12
  * isLength(3); // true
package/types/isMap.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isMap
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `Map` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `Map` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isMap(new Map); // true
@@ -4,7 +4,7 @@ type Customizer = (objValue: any, srcValue: any, key?: number | string | symbol,
4
4
  *
5
5
  * 注意:只有普通对象才会执行部分匹配,函数、数组不会执行部分匹配。
6
6
  *
7
- * 如果 `strictCheck=true` , 以下值不相等:
7
+ * 如果 `strictCheck=true`, 以下值不相等:
8
8
  *
9
9
  * 1. `0` `-0`
10
10
  * 2. `typeof` 不同类型,如 `1` `Object(1)`
@@ -17,8 +17,8 @@ type Customizer = (objValue: any, srcValue: any, key?: number | string | symbol,
17
17
  * @param {Object} object 要检查的对象。
18
18
  * @param {Object} source 属性值相匹配的对象。
19
19
  * @param {Function} [customizer] 自定义比较。
20
- * @param {boolean} [strictCheck=false] 严格比较。
21
- * @returns {boolean} 如果 `object` 匹配,返回 `true` ,否则返回 `false` 。
20
+ * @param {boolean} [strictCheck=false] 严格比较。默认 `false`。
21
+ * @returns {boolean} 如果 `object` 匹配,返回 `true`,否则返回 `false`。
22
22
  * @example
23
23
  *
24
24
  * const object = { a: 1, b: -0 }
package/types/isNaN.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 检查值是否为 `NaN` 。
2
+ * 检查值是否为 `NaN`。
3
3
  *
4
4
  * 和 `Number.isNaN` 区别是 `new Number(NaN)` 也被认为是 `NaN`。
5
5
  *
@@ -7,7 +7,7 @@
7
7
  * @alias module:Language.isNaN
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为 `NaN` ,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为 `NaN`,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isNaN(NaN); // true
package/types/isNil.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * 检查值是否为 `undefined` 或 `null` 。
2
+ * 检查值是否为 `undefined` 或 `null`。
3
3
  *
4
4
  * @static
5
5
  * @alias module:Language.isNil
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `undefined` 或 `null` ,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `undefined` 或 `null`,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isNil(undefined); // true
package/types/isNull.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * 检查值是否为 `null` 。
2
+ * 检查值是否为 `null`。
3
3
  *
4
4
  * @static
5
5
  * @alias module:Language.isNull
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `null` ,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `null`,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isNull(null); // true
@@ -7,7 +7,7 @@
7
7
  * @alias module:Language.isNumber
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为数字类型或对象,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为数字类型或对象,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isNumber(1); // true
@@ -1,3 +1,4 @@
1
+ import { FunctionAny } from './internals/types';
1
2
  /**
2
3
  * 检查值是否为对象。(例如,数组、函数、对象、正则表达式、new Number(0) 和 new String(''))。
3
4
  *
@@ -6,7 +7,7 @@
6
7
  * @since 1.0.0
7
8
  * @see {@link https://tc39.es/ecma262/#sec-ecmascript-language-types language type}
8
9
  * @param {*} value 要检查的值。
9
- * @returns {boolean} 如果值为对象,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为对象,返回 `true`,否则返回 `false`。
10
11
  * @example
11
12
  *
12
13
  * isObject({}); // true
@@ -18,5 +19,5 @@
18
19
  * isObject(null); // false
19
20
  *
20
21
  */
21
- declare function isObject(value: any): boolean;
22
+ declare function isObject(value: any): value is object | FunctionAny;
22
23
  export default isObject;
@@ -7,7 +7,7 @@
7
7
  * @alias module:Language.isObjectLike
8
8
  * @since 1.0.0
9
9
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值为类对象,返回 `true` ,否则返回 `false` 。
10
+ * @returns {boolean} 如果值为类对象,返回 `true`,否则返回 `false`。
11
11
  * @example
12
12
  *
13
13
  * isObjectLike({}); // true
@@ -19,5 +19,5 @@
19
19
  * isObjectLike(null); // false
20
20
  *
21
21
  */
22
- declare function isObjectLike(value: any): boolean;
22
+ declare function isObjectLike(value: any): value is object;
23
23
  export default isObjectLike;
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isPlainObject
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为普通对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为普通对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * function Foo(){
@@ -21,5 +21,5 @@
21
21
  * isPlainObject(Object.create(null)); // true
22
22
  *
23
23
  */
24
- declare function isPlainObject(value: any): boolean;
24
+ declare function isPlainObject(value: any): value is object;
25
25
  export default isPlainObject;
@@ -1,3 +1,8 @@
1
+ import { FunctionAny } from './internals/types';
2
+ type PromiseLikeObject = {
3
+ then: FunctionAny;
4
+ [x: string]: any;
5
+ };
1
6
  /**
2
7
  * 检测值是否类似 `Promise` 对象。
3
8
  *
@@ -7,7 +12,7 @@
7
12
  * @alias module:Language.isPromiseLike
8
13
  * @since 1.0.0
9
14
  * @param {*} value 要检查的值。
10
- * @returns {boolean} 如果值类似 `Promise` 对象,返回 `true` ,否则返回 `false` 。
15
+ * @returns {boolean} 如果值类似 `Promise` 对象,返回 `true`,否则返回 `false`。
11
16
  * @example
12
17
  *
13
18
  * isPromiseLike(Promise.resolve()); // true
@@ -17,5 +22,5 @@
17
22
  * isPromiseLike([]); // false
18
23
  *
19
24
  */
20
- declare function isPromiseLike(value: any): boolean;
25
+ declare function isPromiseLike(value: any): value is Promise<any> | PromiseLikeObject;
21
26
  export default isPromiseLike;
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isRegExp
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值
8
- * @returns {boolean} 如果值为 `RegExp` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `RegExp` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isRegExp(/abc/); // true
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 检查值是否为安全整数。
3
3
  *
4
- * 同 `Number.isSafeInteger` 。
4
+ * 同 `Number.isSafeInteger`。
5
5
  *
6
6
  * 如果一个整数是一个 `IEEE-754` 双精度数字,它不是四舍五入的不安全整数的结果,那么它就是安全的。安全整数范围为 `-(2^53 - 1)` 到 `2^53 - 1` 之间的整数,包含 `-(2^53 - 1)` 和 `2^53 - 1`。
7
7
  *
@@ -9,7 +9,7 @@
9
9
  * @alias module:Language.isSafeInteger
10
10
  * @since 1.0.0
11
11
  * @param {*} value 要检查的值。
12
- * @returns {boolean} 如果值为安全整数,返回 `true` ,否则返回 `false` 。
12
+ * @returns {boolean} 如果值为安全整数,返回 `true`,否则返回 `false`。
13
13
  * @example
14
14
  *
15
15
  * isSafeInteger(1); // true
package/types/isSet.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isSet
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `Set` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `Set` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isSet(new Set); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isString
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为字符串类型或对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为字符串类型或对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isString('abc'); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isSymbol
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `Symbol` 类型或对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `Symbol` 类型或对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isSymbol(Symbol()); // true
@@ -6,7 +6,7 @@
6
6
  * @since 1.0.0
7
7
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Typed_arrays Typed_arrays}
8
8
  * @param {*} value 要检查的值。
9
- * @returns {boolean} 如果值为类型化数组,返回 `true` ,否则返回 `false` 。
9
+ * @returns {boolean} 如果值为类型化数组,返回 `true`,否则返回 `false`。
10
10
  * @example
11
11
  *
12
12
  * isTypedArray(new Uint8Array); // true
@@ -1,11 +1,11 @@
1
1
  /**
2
- * 检查值是否为 `undefined` 。
2
+ * 检查值是否为 `undefined`。
3
3
  *
4
4
  * @static
5
5
  * @alias module:Language.isUndefined
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `undefined` ,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `undefined`,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isUndefined(undefined); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isWeakMap
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `WeakMap` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `WeakMap` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isWeakMap(new WeakMap); // true
@@ -5,7 +5,7 @@
5
5
  * @alias module:Language.isWeakSet
6
6
  * @since 1.0.0
7
7
  * @param {*} value 要检查的值。
8
- * @returns {boolean} 如果值为 `WeakSet` 对象,返回 `true` ,否则返回 `false` 。
8
+ * @returns {boolean} 如果值为 `WeakSet` 对象,返回 `true`,否则返回 `false`。
9
9
  * @example
10
10
  *
11
11
  * isWeakSet(new WeakSet); // true