ut2 1.4.1 → 1.4.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.
@@ -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.1";
11
+ var VERSION = "1.4.3";
12
12
 
13
13
  export { FUNC_ERROR_TEXT, VERSION, arrayAt, numberIsFinite, numberIsInteger, numberIsSafeInteger, objectGetOwnPropertySymbols, supportedArgumentsType };
package/es/isFunction.js CHANGED
@@ -1,12 +1,8 @@
1
1
  import { checkTypes } from './internals/checkType.js';
2
2
  import { functionTags } from './internals/native.js';
3
- import isObject from './isObject.js';
4
3
 
5
4
  function isFunction(value) {
6
- if (!isObject(value)) {
7
- return false;
8
- }
9
- return checkTypes(value, functionTags);
5
+ return typeof value === 'function' || checkTypes(value, functionTags);
10
6
  }
11
7
 
12
8
  export { isFunction as default };
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 || [];
@@ -36,7 +37,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
36
37
  }
37
38
  continue;
38
39
  }
39
- if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack)) {
40
+ if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack, true)) {
40
41
  return false;
41
42
  }
42
43
  }
@@ -45,12 +46,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
45
46
  return true;
46
47
  }
47
48
  var result = isEqual(object, source, function (objValue, srcValue, k, obj, src) {
48
- if (hasCustomizer) {
49
+ if (!executedCustomizer && hasCustomizer) {
49
50
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
50
51
  if (compared !== undefined) {
51
52
  return compared;
52
53
  }
53
54
  }
55
+ executedCustomizer = false;
54
56
  if (isDeepComparable(objValue, srcValue)) {
55
57
  return baseIsMatch(objValue, srcValue, customizer, strictCheck, objStack, srcStack);
56
58
  }
@@ -59,13 +61,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
59
61
  }
60
62
  function isMatch(object, source, customizer, strictCheck) {
61
63
  if (strictCheck === void 0) { strictCheck = false; }
62
- if (typeof customizer === 'function' && isDeepComparable(object, source)) {
64
+ if (typeof customizer === 'function') {
63
65
  var compared = customizer(object, source);
64
66
  if (compared !== undefined) {
65
67
  return !!compared;
66
68
  }
67
69
  }
68
- return baseIsMatch(object, source, customizer, strictCheck);
70
+ return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined, true);
69
71
  }
70
72
 
71
73
  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.1";
13
+ exports.VERSION = "1.4.3";
package/lib/isFunction.js CHANGED
@@ -2,13 +2,9 @@
2
2
 
3
3
  var checkType = require('./internals/checkType.js');
4
4
  var native = require('./internals/native.js');
5
- var isObject = require('./isObject.js');
6
5
 
7
6
  function isFunction(value) {
8
- if (!isObject(value)) {
9
- return false;
10
- }
11
- return checkType.checkTypes(value, native.functionTags);
7
+ return typeof value === 'function' || checkType.checkTypes(value, native.functionTags);
12
8
  }
13
9
 
14
10
  module.exports = isFunction;
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 || [];
@@ -38,7 +39,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
38
39
  }
39
40
  continue;
40
41
  }
41
- if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack)) {
42
+ if (!baseIsMatch(object[key], source[key], customizer, strictCheck, objStack, srcStack, true)) {
42
43
  return false;
43
44
  }
44
45
  }
@@ -47,12 +48,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
47
48
  return true;
48
49
  }
49
50
  var result = isEqual(object, source, function (objValue, srcValue, k, obj, src) {
50
- if (hasCustomizer) {
51
+ if (!executedCustomizer && hasCustomizer) {
51
52
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
52
53
  if (compared !== undefined) {
53
54
  return compared;
54
55
  }
55
56
  }
57
+ executedCustomizer = false;
56
58
  if (isDeepComparable(objValue, srcValue)) {
57
59
  return baseIsMatch(objValue, srcValue, customizer, strictCheck, objStack, srcStack);
58
60
  }
@@ -61,13 +63,13 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
61
63
  }
62
64
  function isMatch(object, source, customizer, strictCheck) {
63
65
  if (strictCheck === void 0) { strictCheck = false; }
64
- if (typeof customizer === 'function' && isDeepComparable(object, source)) {
66
+ if (typeof customizer === 'function') {
65
67
  var compared = customizer(object, source);
66
68
  if (compared !== undefined) {
67
69
  return !!compared;
68
70
  }
69
71
  }
70
- return baseIsMatch(object, source, customizer, strictCheck);
72
+ return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined, true);
71
73
  }
72
74
 
73
75
  module.exports = isMatch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ut2",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "author": "caijf",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",