ut2 1.4.2 → 1.4.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.
@@ -8,6 +8,6 @@ var numberIsInteger = Number.isInteger;
8
8
  var numberIsSafeInteger = Number.isSafeInteger;
9
9
  var objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
10
10
  var arrayAt = arrayProto.at;
11
- var VERSION = "1.4.2";
11
+ var VERSION = "1.4.4";
12
12
 
13
13
  export { FUNC_ERROR_TEXT, VERSION, arrayAt, numberIsFinite, numberIsInteger, numberIsSafeInteger, objectGetOwnPropertySymbols, supportedArgumentsType };
package/es/isMatch.js CHANGED
@@ -6,7 +6,8 @@ import isEqual from './isEqual.js';
6
6
  function isDeepComparable(object, source) {
7
7
  return checkType(object, objectTag) && checkType(source, objectTag);
8
8
  }
9
- function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack) {
9
+ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
10
+ if (executedCustomizer === void 0) { executedCustomizer = false; }
10
11
  var hasCustomizer = typeof customizer === 'function';
11
12
  if (isDeepComparable(object, source)) {
12
13
  objStack = objStack || [];
@@ -26,17 +27,16 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
26
27
  if (!(key in object)) {
27
28
  return false;
28
29
  }
29
- var compared = void 0;
30
30
  if (hasCustomizer) {
31
- compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
32
- }
33
- if (compared !== undefined) {
34
- if (!compared) {
35
- return false;
31
+ var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
32
+ if (compared !== undefined) {
33
+ if (!compared) {
34
+ return false;
35
+ }
36
+ continue;
36
37
  }
37
- continue;
38
38
  }
39
- if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack)) {
39
+ if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack, true)) {
40
40
  return false;
41
41
  }
42
42
  }
@@ -45,12 +45,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
45
45
  return true;
46
46
  }
47
47
  var result = isEqual(object, source, function (objValue, srcValue, k, obj, src) {
48
- if (hasCustomizer) {
48
+ if (!executedCustomizer && hasCustomizer) {
49
49
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
50
50
  if (compared !== undefined) {
51
51
  return compared;
52
52
  }
53
53
  }
54
+ executedCustomizer = false;
54
55
  if (isDeepComparable(objValue, srcValue)) {
55
56
  return baseIsMatch(objValue, srcValue, customizer, strictCheck, objStack, srcStack);
56
57
  }
@@ -59,13 +60,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
59
60
  }
60
61
  function isMatch(object, source, customizer, strictCheck) {
61
62
  if (strictCheck === void 0) { strictCheck = false; }
62
- if (typeof customizer === 'function' && isDeepComparable(object, source)) {
63
+ if (typeof customizer === 'function') {
63
64
  var compared = customizer(object, source);
64
65
  if (compared !== undefined) {
65
66
  return !!compared;
66
67
  }
67
68
  }
68
- return baseIsMatch(object, source, customizer, strictCheck);
69
+ return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined, true);
69
70
  }
70
71
 
71
72
  export { isMatch as default };
@@ -10,4 +10,4 @@ exports.numberIsInteger = Number.isInteger;
10
10
  exports.numberIsSafeInteger = Number.isSafeInteger;
11
11
  exports.objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
12
12
  exports.arrayAt = native.arrayProto.at;
13
- exports.VERSION = "1.4.2";
13
+ exports.VERSION = "1.4.4";
package/lib/isMatch.js CHANGED
@@ -8,7 +8,8 @@ var isEqual = require('./isEqual.js');
8
8
  function isDeepComparable(object, source) {
9
9
  return checkType.checkType(object, native.objectTag) && checkType.checkType(source, native.objectTag);
10
10
  }
11
- function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack) {
11
+ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
12
+ if (executedCustomizer === void 0) { executedCustomizer = false; }
12
13
  var hasCustomizer = typeof customizer === 'function';
13
14
  if (isDeepComparable(object, source)) {
14
15
  objStack = objStack || [];
@@ -28,17 +29,16 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
28
29
  if (!(key in object)) {
29
30
  return false;
30
31
  }
31
- var compared = void 0;
32
32
  if (hasCustomizer) {
33
- compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
34
- }
35
- if (compared !== undefined) {
36
- if (!compared) {
37
- return false;
33
+ var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
34
+ if (compared !== undefined) {
35
+ if (!compared) {
36
+ return false;
37
+ }
38
+ continue;
38
39
  }
39
- continue;
40
40
  }
41
- if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack)) {
41
+ if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack, true)) {
42
42
  return false;
43
43
  }
44
44
  }
@@ -47,12 +47,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
47
47
  return true;
48
48
  }
49
49
  var result = isEqual(object, source, function (objValue, srcValue, k, obj, src) {
50
- if (hasCustomizer) {
50
+ if (!executedCustomizer && hasCustomizer) {
51
51
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
52
52
  if (compared !== undefined) {
53
53
  return compared;
54
54
  }
55
55
  }
56
+ executedCustomizer = false;
56
57
  if (isDeepComparable(objValue, srcValue)) {
57
58
  return baseIsMatch(objValue, srcValue, customizer, strictCheck, objStack, srcStack);
58
59
  }
@@ -61,13 +62,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
61
62
  }
62
63
  function isMatch(object, source, customizer, strictCheck) {
63
64
  if (strictCheck === void 0) { strictCheck = false; }
64
- if (typeof customizer === 'function' && isDeepComparable(object, source)) {
65
+ if (typeof customizer === 'function') {
65
66
  var compared = customizer(object, source);
66
67
  if (compared !== undefined) {
67
68
  return !!compared;
68
69
  }
69
70
  }
70
- return baseIsMatch(object, source, customizer, strictCheck);
71
+ return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined, true);
71
72
  }
72
73
 
73
74
  module.exports = isMatch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -63,29 +63,29 @@
63
63
  "registry": "https://registry.npmjs.org/"
64
64
  },
65
65
  "devDependencies": {
66
- "@commitlint/cli": "^17.6.6",
67
- "@commitlint/config-conventional": "^17.6.6",
68
- "@rollup/plugin-commonjs": "^25.0.2",
69
- "@rollup/plugin-node-resolve": "^15.1.0",
66
+ "@commitlint/cli": "^17.7.1",
67
+ "@commitlint/config-conventional": "^17.7.0",
68
+ "@rollup/plugin-commonjs": "^25.0.4",
69
+ "@rollup/plugin-node-resolve": "^15.2.1",
70
70
  "@rollup/plugin-replace": "^5.0.2",
71
71
  "@rollup/plugin-terser": "^0.4.3",
72
- "@rollup/plugin-typescript": "^11.1.1",
73
- "@types/jest": "^29.5.2",
74
- "@typescript-eslint/eslint-plugin": "^5.60.1",
75
- "@typescript-eslint/parser": "^5.60.1",
72
+ "@rollup/plugin-typescript": "^11.1.2",
73
+ "@types/jest": "^29.5.4",
74
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
75
+ "@typescript-eslint/parser": "^5.62.0",
76
76
  "cross-env": "^7.0.3",
77
77
  "cz-conventional-changelog": "^3.3.0",
78
78
  "docdash": "^2.0.1",
79
- "eslint": "^8.43.0",
80
- "jest": "^29.5.0",
81
- "jest-environment-jsdom": "^29.5.0",
79
+ "eslint": "^8.47.0",
80
+ "jest": "^29.6.3",
81
+ "jest-environment-jsdom": "^29.6.3",
82
82
  "jsdoc": "^4.0.2",
83
- "lint-staged": "^13.2.2",
83
+ "lint-staged": "^13.3.0",
84
84
  "prettier": "^2.8.8",
85
- "rollup": "^3.25.3",
86
- "ts-jest": "^29.1.0",
87
- "tslib": "^2.6.1",
88
- "typescript": "^5.1.3",
85
+ "rollup": "^3.28.1",
86
+ "ts-jest": "^29.1.1",
87
+ "tslib": "^2.6.2",
88
+ "typescript": "^5.1.6",
89
89
  "yorkie": "^2.0.0"
90
90
  }
91
91
  }
@@ -1,4 +1,4 @@
1
- type Customizer = (objValue: any, othValue: any, key?: number | string | symbol, object?: any, other?: any, valueStack?: any[], otherStack?: any[]) => void | undefined | boolean;
1
+ type Customizer = (objValue: any, othValue: any, key?: number | string | symbol, object?: any, other?: any, valueStack?: any[], otherStack?: any[]) => void | boolean;
2
2
  /**
3
3
  * 深度比较两个值是否相等。
4
4
  *
@@ -1,4 +1,4 @@
1
- type Customizer = (objValue: any, srcValue: any, key?: number | string | symbol, object?: any, source?: any, objStack?: any[], srcStack?: any[]) => void | undefined | boolean;
1
+ type Customizer = (objValue: any, srcValue: any, key?: number | string | symbol, object?: any, source?: any, objStack?: any[], srcStack?: any[]) => void | boolean;
2
2
  /**
3
3
  * 执行一个深比较,确定 `object` 是否含有和 `source` 完全相等的属性值。
4
4
  *
package/types/zip.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * @static
5
5
  * @alias module:Array.zip
6
6
  * @since 1.0.0
7
- * @param {Array} array 要处理的分组元素数组。
7
+ * @param {...Array} array 要处理的分组元素数组。
8
8
  * @returns {Array} 重组元素的新数组。
9
9
  * @example
10
10
  *