ut2 1.20.1 → 1.21.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.
@@ -1,19 +1,5 @@
1
- import eq from './eq.js';
2
- import isArrayLike from './isArrayLike.js';
1
+ import shallowEqual from './shallowEqual.js';
3
2
 
4
- function equalArrayLike(arg1, arg2, strictCheck) {
5
- if (strictCheck === void 0) { strictCheck = true; }
6
- if (eq(arg1, arg2, strictCheck))
7
- return true;
8
- if (!isArrayLike(arg1) || !isArrayLike(arg2))
9
- return false;
10
- if (arg1.length !== arg2.length)
11
- return false;
12
- for (var i = 0; i < arg1.length; i++) {
13
- if (!eq(arg1[i], arg2[i], strictCheck))
14
- return false;
15
- }
16
- return true;
17
- }
3
+ var equalArrayLike = shallowEqual;
18
4
 
19
5
  export { equalArrayLike as default };
package/es/index.js CHANGED
@@ -136,6 +136,7 @@ export { default as nthArg } from './nthArg.js';
136
136
  export { default as range } from './range.js';
137
137
  export { default as retry } from './retry.js';
138
138
  export { default as sleep } from './sleep.js';
139
+ export { default as shallowEqual } from './shallowEqual.js';
139
140
  export { default as times } from './times.js';
140
141
  export { default as toFinite } from './toFinite.js';
141
142
  export { default as toInteger } from './toInteger.js';
@@ -2,7 +2,7 @@ import isObjectLike from '../isObjectLike.js';
2
2
  import getTag from './getTag.js';
3
3
  import { argumentsTag, functionProtoToString, stringUndefined } from './native.js';
4
4
 
5
- var VERSION = "1.20.1";
5
+ var VERSION = "1.21.1";
6
6
  var isBrowser = typeof window !== stringUndefined && isObjectLike(window) && typeof document !== stringUndefined && isObjectLike(document) && window.document === document;
7
7
  var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
8
8
  var FUNC_ERROR_TEXT = 'Expected a function';
package/es/memoize.js CHANGED
@@ -1,10 +1,10 @@
1
- import equalArrayLike from './equalArrayLike.js';
1
+ import shallowEqual from './shallowEqual.js';
2
2
  import { mathCeil } from './internals/native.js';
3
3
 
4
4
  function memoize(func, options) {
5
5
  var opts = options || {};
6
6
  var max = mathCeil(opts.max || 0);
7
- var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : equalArrayLike;
7
+ var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : shallowEqual;
8
8
  var cache = [];
9
9
  function memoized() {
10
10
  var _this = this;
@@ -0,0 +1,26 @@
1
+ import eq from './eq.js';
2
+ import { objectProtoHasOwnProperty } from './internals/native.js';
3
+
4
+ function shallowEqual(objA, objB, strictCheck) {
5
+ if (strictCheck === void 0) { strictCheck = true; }
6
+ if (eq(objA, objB, strictCheck)) {
7
+ return true;
8
+ }
9
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
10
+ return false;
11
+ }
12
+ var keysA = Object.keys(objA);
13
+ var keysB = Object.keys(objB);
14
+ if (keysA.length !== keysB.length) {
15
+ return false;
16
+ }
17
+ for (var i = 0; i < keysA.length; i++) {
18
+ var key = keysA[i];
19
+ if (!objectProtoHasOwnProperty.call(objB, key) || !eq(objA[key], objB[key], strictCheck)) {
20
+ return false;
21
+ }
22
+ }
23
+ return true;
24
+ }
25
+
26
+ export { shallowEqual as default };
@@ -1,21 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var eq = require('./eq.js');
4
- var isArrayLike = require('./isArrayLike.js');
3
+ var shallowEqual = require('./shallowEqual.js');
5
4
 
6
- function equalArrayLike(arg1, arg2, strictCheck) {
7
- if (strictCheck === void 0) { strictCheck = true; }
8
- if (eq(arg1, arg2, strictCheck))
9
- return true;
10
- if (!isArrayLike(arg1) || !isArrayLike(arg2))
11
- return false;
12
- if (arg1.length !== arg2.length)
13
- return false;
14
- for (var i = 0; i < arg1.length; i++) {
15
- if (!eq(arg1[i], arg2[i], strictCheck))
16
- return false;
17
- }
18
- return true;
19
- }
5
+ var equalArrayLike = shallowEqual;
20
6
 
21
7
  module.exports = equalArrayLike;
package/lib/index.js CHANGED
@@ -138,6 +138,7 @@ var nthArg = require('./nthArg.js');
138
138
  var range = require('./range.js');
139
139
  var retry = require('./retry.js');
140
140
  var sleep = require('./sleep.js');
141
+ var shallowEqual = require('./shallowEqual.js');
141
142
  var times = require('./times.js');
142
143
  var toFinite = require('./toFinite.js');
143
144
  var toInteger = require('./toInteger.js');
@@ -292,6 +293,7 @@ exports.nthArg = nthArg;
292
293
  exports.range = range;
293
294
  exports.retry = retry;
294
295
  exports.sleep = sleep;
296
+ exports.shallowEqual = shallowEqual;
295
297
  exports.times = times;
296
298
  exports.toFinite = toFinite;
297
299
  exports.toInteger = toInteger;
@@ -14,13 +14,13 @@ var mapCtorString = helpers.toSource(Map);
14
14
  var promiseCtorString = helpers.toSource(Promise);
15
15
  var setCtorString = helpers.toSource(Set);
16
16
  var weakMapCtorString = helpers.toSource(WeakMap);
17
- var getTagWithBugfix = getTag;
17
+ var getTagWithBugfix$1 = getTag;
18
18
  if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== native.dataViewTag) ||
19
19
  (mapExisted && getTag(new Map()) !== native.mapTag) ||
20
20
  (promiseExisted && getTag(Promise.resolve()) !== native.promiseTag) ||
21
21
  (setExisted && getTag(new Set()) !== native.setTag) ||
22
22
  (weakMapExisted && getTag(new WeakMap()) !== native.weakMapTag)) {
23
- getTagWithBugfix = function (value) {
23
+ getTagWithBugfix$1 = function (value) {
24
24
  var result = getTag(value);
25
25
  var Ctor = result === native.objectTag ? value.constructor : native.nativeUndefined;
26
26
  var ctorString = Ctor ? helpers.toSource(Ctor) : '';
@@ -41,6 +41,6 @@ if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== native.data
41
41
  return result;
42
42
  };
43
43
  }
44
- var getTagWithBugfix$1 = getTagWithBugfix;
44
+ var getTagWithBugfix = getTagWithBugfix$1;
45
45
 
46
- module.exports = getTagWithBugfix$1;
46
+ module.exports = getTagWithBugfix;
@@ -4,7 +4,7 @@ var isObjectLike = require('../isObjectLike.js');
4
4
  var getTag = require('./getTag.js');
5
5
  var native = require('./native.js');
6
6
 
7
- var VERSION = "1.20.1";
7
+ var VERSION = "1.21.1";
8
8
  var isBrowser = typeof window !== native.stringUndefined && isObjectLike(window) && typeof document !== native.stringUndefined && isObjectLike(document) && window.document === document;
9
9
  var supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
10
10
  var FUNC_ERROR_TEXT = 'Expected a function';
package/lib/memoize.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var equalArrayLike = require('./equalArrayLike.js');
3
+ var shallowEqual = require('./shallowEqual.js');
4
4
  var native = require('./internals/native.js');
5
5
 
6
6
  function memoize(func, options) {
7
7
  var opts = options || {};
8
8
  var max = native.mathCeil(opts.max || 0);
9
- var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : equalArrayLike;
9
+ var isEqual = typeof opts.isEqual === 'function' ? opts.isEqual : shallowEqual;
10
10
  var cache = [];
11
11
  function memoized() {
12
12
  var _this = this;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var eq = require('./eq.js');
4
+ var native = require('./internals/native.js');
5
+
6
+ function shallowEqual(objA, objB, strictCheck) {
7
+ if (strictCheck === void 0) { strictCheck = true; }
8
+ if (eq(objA, objB, strictCheck)) {
9
+ return true;
10
+ }
11
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
12
+ return false;
13
+ }
14
+ var keysA = Object.keys(objA);
15
+ var keysB = Object.keys(objB);
16
+ if (keysA.length !== keysB.length) {
17
+ return false;
18
+ }
19
+ for (var i = 0; i < keysA.length; i++) {
20
+ var key = keysA[i];
21
+ if (!native.objectProtoHasOwnProperty.call(objB, key) || !eq(objA[key], objB[key], strictCheck)) {
22
+ return false;
23
+ }
24
+ }
25
+ return true;
26
+ }
27
+
28
+ module.exports = shallowEqual;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.20.1",
3
+ "version": "1.21.1",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -62,32 +62,32 @@
62
62
  "@commitlint/cli": "^19.8.1",
63
63
  "@commitlint/config-conventional": "^19.8.1",
64
64
  "@commitlint/cz-commitlint": "^19.8.1",
65
- "@eslint/js": "^9.31.0",
66
- "@rollup/plugin-commonjs": "^28.0.6",
67
- "@rollup/plugin-node-resolve": "^16.0.1",
68
- "@rollup/plugin-replace": "^6.0.2",
65
+ "@eslint/js": "^9.39.2",
66
+ "@rollup/plugin-commonjs": "^28.0.9",
67
+ "@rollup/plugin-node-resolve": "^16.0.3",
68
+ "@rollup/plugin-replace": "^6.0.3",
69
69
  "@rollup/plugin-terser": "^0.4.4",
70
- "@rollup/plugin-typescript": "^12.1.4",
70
+ "@rollup/plugin-typescript": "^12.3.0",
71
71
  "@types/jest": "^30.0.0",
72
- "@types/node": "^20.19.9",
72
+ "@types/node": "^20.19.27",
73
73
  "benchmark": "^2.1.4",
74
74
  "commitizen": "^4.3.1",
75
75
  "cross-env": "^7.0.3",
76
- "dayjs": "^1.11.13",
76
+ "dayjs": "^1.11.19",
77
77
  "docdash": "^2.0.2",
78
- "eslint": "^9.31.0",
79
- "globals": "^16.3.0",
78
+ "eslint": "^9.39.2",
79
+ "globals": "^16.5.0",
80
80
  "husky": "^9.1.7",
81
- "jest": "^30.0.5",
82
- "jest-environment-jsdom": "^30.0.5",
83
- "jsdoc": "^4.0.4",
81
+ "jest": "^30.2.0",
82
+ "jest-environment-jsdom": "^30.2.0",
83
+ "jsdoc": "^4.0.5",
84
84
  "lint-staged": "^15.5.2",
85
85
  "lodash": "^4.17.21",
86
- "prettier": "^3.6.2",
87
- "rollup": "^4.45.1",
88
- "ts-jest": "^29.4.0",
89
- "typescript": "^5.8.3",
90
- "typescript-eslint": "^8.38.0",
86
+ "prettier": "^3.7.4",
87
+ "rollup": "^4.54.0",
88
+ "ts-jest": "^29.4.6",
89
+ "typescript": "^5.9.3",
90
+ "typescript-eslint": "^8.51.0",
91
91
  "underscore": "^1.13.7"
92
92
  },
93
93
  "engines": {
@@ -13,6 +13,7 @@ interface CountBy {
13
13
  * @function
14
14
  * @alias module:Collection.countBy
15
15
  * @since 1.0.0
16
+ * @requires module:Collection.forEach
16
17
  * @param {ArrayLike<any> | object} collection 一个用来迭代的集合。
17
18
  * @param {Function | string | number | Symbol} [iteratee=identity] 迭代函数,用来转换键。
18
19
  * @returns {Object} 组成集合对象。
@@ -1,37 +1,11 @@
1
+ import shallowEqual from './shallowEqual';
1
2
  /**
2
3
  * 比较两个类数组的值是否相等。常用于参数对象比较。
3
4
  *
4
- * 1. 如果两个值相等,返回 `true`。
5
- * 2. 如果两个类数组 `length` 相等,且遍历每个值都相等,则返回 `true`。
6
- * 3. 否则返回 `false`。
7
- *
5
+ * @deprecated 即将废弃,请使用 `shallowEqual` 替代。
6
+ * @private
8
7
  * @alias module:Util.equalArrayLike
9
8
  * @since 1.18.0
10
- * @param {Array} arg1 类数组1。
11
- * @param {Array} arg2 类数组2。
12
- * @param {boolean} [strictCheck=true] 严格比较,如果为 `true` 表示区分 `0` 和 `-0`。默认 `true`。
13
- * @returns 是否相等。
14
- * @example
15
- * equalArrayLike([1, 2], [1, 2]); // true
16
- * equalArrayLike([1, 2], [1, 3]); // false
17
- * equalArrayLike([1, 2], [1, 2, 3]); // false
18
- *
19
- * // 松散比较
20
- * equalArrayLike(['a', 'b'], 'ab'); // true
21
- * equalArrayLike(['a', 'b'], { 0: 'a', 1: 'b', length: 2 }); // true
22
- *
23
- * // 两个相等值返回 true
24
- * equalArrayLike(NaN, NaN); // true
25
- * equalArrayLike(null, null); // true
26
- * equalArrayLike(undefined, undefined); // true
27
- * const obj1 = {};
28
- * const obj2 = obj1;
29
- * equalArrayLike(obj1, obj2); // true
30
- *
31
- * // 0 和 -0 严格比较返回 false
32
- * equalArrayLike([0, -0], [-0, 0]); // false
33
- * // 非严格比较返回 true
34
- * equalArrayLike([0, -0], [-0, 0], false); // true
35
9
  */
36
- declare function equalArrayLike(arg1: ArrayLike<any>, arg2: ArrayLike<any>, strictCheck?: boolean): boolean;
10
+ declare const equalArrayLike: typeof shallowEqual;
37
11
  export default equalArrayLike;
package/types/every.d.ts CHANGED
@@ -13,6 +13,7 @@ interface Every {
13
13
  * @function
14
14
  * @alias module:Collection.every
15
15
  * @since 1.7.0
16
+ * @requires module:Collection.forEach
16
17
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
17
18
  * @param {function} [predicate=identity] 每次迭代调用的函数。默认 `identity`。
18
19
  * @returns {boolean} 如果全部元素都通过 `predicate` 测试,则返回 `true`,否则返回 `false`。
package/types/filter.d.ts CHANGED
@@ -12,6 +12,7 @@ interface Filter {
12
12
  *
13
13
  * @alias module:Collection.filter
14
14
  * @since 1.7.0
15
+ * @requires module:Collection.forEach
15
16
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
16
17
  * @param {function} [predicate=identity] 每次迭代调用的函数。默认 `identity`。
17
18
  * @returns {Array} 返回新的过滤数组。
package/types/find.d.ts CHANGED
@@ -13,6 +13,7 @@ interface Find {
13
13
  * @function
14
14
  * @alias module:Collection.find
15
15
  * @since 1.7.0
16
+ * @requires module:Collection.forEach
16
17
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
17
18
  * @param {function} [predicate=identity] 每次迭代调用的函数。默认 `identity`。
18
19
  * @returns {ArrayLike<any> | Object} 返回第一个通过 `predicate` 返回真值的元素,否则返回 `undefined`。
@@ -8,6 +8,7 @@
8
8
  * @function
9
9
  * @alias module:Collection.forEach
10
10
  * @since 1.7.0
11
+ * @requires module:Object.allKeys
11
12
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
12
13
  * @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
13
14
  * @returns {ArrayLike<any> | Object} 迭代集合本身。
@@ -8,6 +8,7 @@
8
8
  * @function
9
9
  * @alias module:Collection.forEachRight
10
10
  * @since 1.7.0
11
+ * @requires module:Object.allKeys
11
12
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
12
13
  * @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
13
14
  * @returns {ArrayLike<any> | Object} 迭代集合本身。
@@ -12,6 +12,7 @@ interface GroupBy {
12
12
  *
13
13
  * @alias module:Collection.groupBy
14
14
  * @since 1.0.0
15
+ * @requires module:Collection.forEach
15
16
  * @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
16
17
  * @param {Function | string | number | Symbol} [iteratee=identity] 迭代函数,用来转换键。默认 `identity`。
17
18
  * @returns {Object} 组成聚合对象。
package/types/index.d.ts CHANGED
@@ -190,6 +190,7 @@ export { default as nthArg } from './nthArg';
190
190
  export { default as range } from './range';
191
191
  export { default as retry } from './retry';
192
192
  export { default as sleep } from './sleep';
193
+ export { default as shallowEqual } from './shallowEqual';
193
194
  export { default as times } from './times';
194
195
  export { default as toFinite } from './toFinite';
195
196
  export { default as toInteger } from './toInteger';
package/types/isNil.d.ts CHANGED
@@ -19,5 +19,5 @@
19
19
  *
20
20
  * isNil(1); // false
21
21
  */
22
- declare function isNil(value: any): value is undefined | null;
22
+ declare function isNil(value: any): value is undefined;
23
23
  export default isNil;
@@ -1,4 +1,3 @@
1
- import { FunctionAny } from './internals/types';
2
1
  /**
3
2
  * 检查值是否为对象。(例如,数组、函数、对象、正则表达式、new Number(0) 和 new String(''))。
4
3
  *
@@ -18,5 +17,5 @@ import { FunctionAny } from './internals/types';
18
17
  * isObject(null); // false
19
18
  *
20
19
  */
21
- declare function isObject(value: any): value is object | FunctionAny;
20
+ declare function isObject(value: any): value is object;
22
21
  export default isObject;
@@ -16,5 +16,5 @@
16
16
  * isPromiseLike([]); // false
17
17
  *
18
18
  */
19
- declare function isPromiseLike(value: any): value is Promise<any> | PromiseLike<any>;
19
+ declare function isPromiseLike(value: any): value is Promise<any>;
20
20
  export default isPromiseLike;
package/types/keyBy.d.ts CHANGED
@@ -13,6 +13,7 @@ interface KeyBy {
13
13
  * @function
14
14
  * @alias module:Collection.keyBy
15
15
  * @since 1.0.0
16
+ * @requires module:Collection.forEach
16
17
  * @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
17
18
  * @param {Function | string | number | Symbol} [iteratee=identity] 迭代函数,用来转换键。默认 `identity`。
18
19
  * @returns {Object} 组成聚合对象。
package/types/map.d.ts CHANGED
@@ -12,6 +12,7 @@ interface Map {
12
12
  *
13
13
  * @alias module:Collection.map
14
14
  * @since 1.7.0
15
+ * @requires module:Collection.forEach
15
16
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
16
17
  * @param {function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
17
18
  * @returns {Array} 一个新数组。
@@ -10,7 +10,7 @@ type EqualFn<TFunc extends (...args: any[]) => any> = (newArgs: Parameters<TFunc
10
10
  * @since 1.17.0
11
11
  * @param {Function} func 要缓存结果的函数。
12
12
  * @param {Object} [options] 配置项。
13
- * @param {Function} [options.isEqual] 自定义比较参数方法。默认函数 `equalArrayLike`。
13
+ * @param {Function} [options.isEqual] 自定义比较参数方法。默认函数 `shallowEqual`。
14
14
  * @param {number} [options.max] 最大缓存数量,`0`表示不限制。默认`0`。
15
15
  * @returns 缓存 `func` 结果的函数。
16
16
  * @example
@@ -16,6 +16,7 @@ interface OrderBy {
16
16
  * @function
17
17
  * @alias module:Collection.orderBy
18
18
  * @since 1.0.0
19
+ * @requires module:Collection.forEach
19
20
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort sort}
20
21
  * @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
21
22
  * @param {Function | string | number | Symbol | Array} [iteratees] 排序的迭代函数。
@@ -12,6 +12,7 @@ interface Partition {
12
12
  *
13
13
  * @alias module:Collection.partition
14
14
  * @since 1.0.0
15
+ * @requires module:Collection.forEach
15
16
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy Truthy}
16
17
  * @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Falsy Falsy}
17
18
  * @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
package/types/reduce.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * @function
9
9
  * @alias module:Collection.reduce
10
10
  * @since 1.7.0
11
+ * @requires module:Object.allKeys
11
12
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
12
13
  * @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
13
14
  * @param {*} [initialValue] 初始值。
@@ -8,6 +8,7 @@
8
8
  * @function
9
9
  * @alias module:Collection.reduceRight
10
10
  * @since 1.7.0
11
+ * @requires module:Object.allKeys
11
12
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
12
13
  * @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
13
14
  * @param {*} [initialValue] 初始值。
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 浅比较两个值是否相等。常用于参数对象比较。
3
+ *
4
+ * 1. 如果两个值相等,返回 `true`。
5
+ * 2. 如果两个对象属性数量相等,且遍历每个属性值都相等,则返回 `true`。
6
+ * 3. 否则返回 `false`。
7
+ *
8
+ * @alias module:Util.shallowEqual
9
+ * @since 1.21.0
10
+ * @param {Array} objA 要比较的值。。
11
+ * @param {Array} objB 另一个要比较的值。
12
+ * @param {boolean} [strictCheck=true] 严格比较,如果为 `true` 表示区分 `0` 和 `-0`。默认 `true`。
13
+ * @returns 浅比较两个值是否相等。
14
+ * @example
15
+ * shallowEqual({ a: 1, b: 2 }, { a: 1, b: 2 }); // true
16
+ * shallowEqual({ a: 1, b: 2 }, { a: 1, b: 3 }); // false
17
+ *
18
+ * shallowEqual([1, 2], [1, 2]); // true
19
+ * shallowEqual([1, 2], [1, 3]); // false
20
+ * shallowEqual([1, 2], [1, 2, 3]); // false
21
+ *
22
+ * // 两个相等值返回 true
23
+ * shallowEqual(1, 1); // true
24
+ * shallowEqual('foo', 'foo'); // true
25
+ * shallowEqual(NaN, NaN); // true
26
+ * shallowEqual(null, null); // true
27
+ * shallowEqual(undefined, undefined); // true
28
+ * const obj1 = {};
29
+ * const obj2 = obj1;
30
+ * shallowEqual(obj1, obj2); // true
31
+ *
32
+ * // 默认严格比较,区分 0 和 -0
33
+ * shallowEqual([0, -0], [-0, 0]); // false
34
+ *
35
+ * // 非严格比较,不区分 0 和 -0
36
+ * shallowEqual([0, -0], [-0, 0], false); // true
37
+ */
38
+ declare function shallowEqual(objA: any, objB: any, strictCheck?: boolean): boolean;
39
+ export default shallowEqual;
package/types/some.d.ts CHANGED
@@ -13,6 +13,7 @@ interface Some {
13
13
  * @function
14
14
  * @alias module:Collection.some
15
15
  * @since 1.7.0
16
+ * @requires module:Collection.forEach
16
17
  * @param {ArrayLike<any> | Object} collection 要迭代的集合。
17
18
  * @param {function} [predicate=identity] 每次迭代调用的函数。默认 `identity`。
18
19
  * @returns {boolean} 如果任一元素通过 `predicate` 测试,则返回 `true`,否则返回 `false`。