ut2 1.4.4 → 1.4.6
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.
- package/dist/ut2.js +145 -135
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/internals/getSymbols.js +2 -5
- package/es/internals/getTag.js +3 -31
- package/es/internals/getTagWithBugfix.js +44 -0
- package/es/internals/helpers.js +19 -10
- package/es/internals/native.js +8 -41
- package/es/internals/nodeUtil.js +1 -1
- package/es/internals/root.js +7 -0
- package/es/internals/symbolToString.js +5 -0
- package/es/internals/symbolValueOf.js +5 -0
- package/es/isArguments.js +2 -3
- package/es/isArrayBuffer.js +2 -3
- package/es/isBlob.js +6 -3
- package/es/isBoolean.js +2 -3
- package/es/isDataView.js +2 -2
- package/es/isDate.js +2 -3
- package/es/isEqual.js +5 -4
- package/es/isError.js +9 -3
- package/es/isFinite.js +2 -2
- package/es/isFunction.js +6 -3
- package/es/isInteger.js +1 -1
- package/es/isMap.js +5 -2
- package/es/isMatch.js +2 -3
- package/es/isNaN.js +1 -1
- package/es/isNumber.js +2 -3
- package/es/isPlainObject.js +4 -3
- package/es/isRegExp.js +2 -3
- package/es/isSafeInteger.js +1 -2
- package/es/isSet.js +2 -2
- package/es/isString.js +2 -3
- package/es/isSymbol.js +2 -3
- package/es/isTypedArray.js +6 -3
- package/es/isWeakMap.js +2 -2
- package/es/isWeakSet.js +2 -3
- package/es/nth.js +1 -1
- package/es/toString.js +2 -1
- package/lib/internals/getSymbols.js +2 -5
- package/lib/internals/getTag.js +2 -30
- package/lib/internals/getTagWithBugfix.js +46 -0
- package/lib/internals/helpers.js +19 -8
- package/lib/internals/native.js +7 -42
- package/lib/internals/nodeUtil.js +2 -2
- package/lib/internals/root.js +9 -0
- package/lib/internals/symbolToString.js +7 -0
- package/lib/internals/symbolValueOf.js +7 -0
- package/lib/isArguments.js +1 -2
- package/lib/isArrayBuffer.js +1 -2
- package/lib/isBlob.js +5 -2
- package/lib/isBoolean.js +1 -2
- package/lib/isDataView.js +2 -2
- package/lib/isDate.js +1 -2
- package/lib/isEqual.js +5 -4
- package/lib/isError.js +8 -2
- package/lib/isFinite.js +2 -2
- package/lib/isFunction.js +5 -2
- package/lib/isInteger.js +2 -2
- package/lib/isMap.js +5 -2
- package/lib/isMatch.js +1 -2
- package/lib/isNaN.js +2 -2
- package/lib/isNumber.js +1 -2
- package/lib/isPlainObject.js +4 -3
- package/lib/isRegExp.js +1 -2
- package/lib/isSafeInteger.js +1 -2
- package/lib/isSet.js +2 -2
- package/lib/isString.js +1 -2
- package/lib/isSymbol.js +1 -2
- package/lib/isTypedArray.js +5 -2
- package/lib/isWeakMap.js +2 -2
- package/lib/isWeakSet.js +1 -2
- package/lib/nth.js +3 -3
- package/lib/toString.js +2 -1
- package/package.json +7 -7
- package/types/internals/compare.d.ts +2 -2
- package/types/internals/getTag.d.ts +1 -2
- package/types/internals/getTagWithBugfix.d.ts +3 -0
- package/types/internals/helpers.d.ts +3 -8
- package/types/internals/native.d.ts +5 -18
- package/types/internals/root.d.ts +2 -0
- package/types/internals/symbolToString.d.ts +2 -0
- package/types/internals/symbolValueOf.d.ts +2 -0
- package/types/isArguments.d.ts +1 -1
- package/types/isArray.d.ts +1 -1
- package/types/isBoolean.d.ts +1 -1
- package/types/isDataView.d.ts +1 -1
- package/types/isFunction.d.ts +1 -1
- package/types/isNull.d.ts +1 -1
- package/types/isNumber.d.ts +1 -1
- package/types/isRegExp.d.ts +1 -1
- package/types/isString.d.ts +1 -1
- package/types/isSymbol.d.ts +1 -1
- package/types/isUndefined.d.ts +1 -1
- package/es/internals/checkType.js +0 -11
- package/lib/internals/checkType.js +0 -14
- package/types/internals/checkType.d.ts +0 -2
package/lib/internals/getTag.js
CHANGED
|
@@ -23,36 +23,8 @@ function getRawTag(value) {
|
|
|
23
23
|
}
|
|
24
24
|
return result;
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function getTag(value) {
|
|
27
27
|
return native.symToStringTag && native.symToStringTag in Object(value) ? getRawTag(value) : native.objectToString.call(value);
|
|
28
28
|
}
|
|
29
|
-
var getTag = _getTag;
|
|
30
|
-
if ((native.dataViewExisted && native.objectToString.call(new DataView(new ArrayBuffer(1))) !== native.dataViewTag) ||
|
|
31
|
-
(native.mapExisted && native.objectToString.call(new Map()) !== native.mapTag) ||
|
|
32
|
-
(native.promiseExisted && native.objectToString.call(Promise.resolve()) !== native.promiseTag) ||
|
|
33
|
-
(native.setExisted && native.objectToString.call(new Set()) !== native.setTag) ||
|
|
34
|
-
(native.weakMapExisted && native.objectToString.call(new WeakMap()) !== native.weakMapTag)) {
|
|
35
|
-
getTag = function (value) {
|
|
36
|
-
var result = _getTag(value);
|
|
37
|
-
var Ctor = result === native.objectTag ? value.constructor : undefined;
|
|
38
|
-
var ctorString = Ctor ? native.toSource(Ctor) : '';
|
|
39
|
-
if (ctorString) {
|
|
40
|
-
switch (ctorString) {
|
|
41
|
-
case native.dataViewCtorString:
|
|
42
|
-
return native.dataViewTag;
|
|
43
|
-
case native.mapCtorString:
|
|
44
|
-
return native.mapTag;
|
|
45
|
-
case native.promiseCtorString:
|
|
46
|
-
return native.promiseTag;
|
|
47
|
-
case native.setCtorString:
|
|
48
|
-
return native.setTag;
|
|
49
|
-
case native.weakMapCtorString:
|
|
50
|
-
return native.weakMapTag;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
var getTag$1 = getTag;
|
|
57
29
|
|
|
58
|
-
module.exports = getTag
|
|
30
|
+
module.exports = getTag;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var native = require('./native.js');
|
|
4
|
+
var helpers = require('./helpers.js');
|
|
5
|
+
var getTag = require('./getTag.js');
|
|
6
|
+
|
|
7
|
+
var dataViewExisted = typeof DataView !== 'undefined';
|
|
8
|
+
var mapExisted = typeof Map !== 'undefined';
|
|
9
|
+
var promiseExisted = typeof Promise !== 'undefined';
|
|
10
|
+
var setExisted = typeof Set !== 'undefined';
|
|
11
|
+
var weakMapExisted = typeof WeakMap !== 'undefined';
|
|
12
|
+
var dataViewCtorString = helpers.toSource(DataView);
|
|
13
|
+
var mapCtorString = helpers.toSource(Map);
|
|
14
|
+
var promiseCtorString = helpers.toSource(Promise);
|
|
15
|
+
var setCtorString = helpers.toSource(Set);
|
|
16
|
+
var weakMapCtorString = helpers.toSource(WeakMap);
|
|
17
|
+
var getTagWithBugfix = getTag;
|
|
18
|
+
if ((dataViewExisted && native.objectToString.call(new DataView(new ArrayBuffer(1))) !== native.dataViewTag) ||
|
|
19
|
+
(mapExisted && native.objectToString.call(new Map()) !== native.mapTag) ||
|
|
20
|
+
(promiseExisted && native.objectToString.call(Promise.resolve()) !== native.promiseTag) ||
|
|
21
|
+
(setExisted && native.objectToString.call(new Set()) !== native.setTag) ||
|
|
22
|
+
(weakMapExisted && native.objectToString.call(new WeakMap()) !== native.weakMapTag)) {
|
|
23
|
+
getTagWithBugfix = function (value) {
|
|
24
|
+
var result = getTag(value);
|
|
25
|
+
var Ctor = result === native.objectTag ? value.constructor : undefined;
|
|
26
|
+
var ctorString = Ctor ? helpers.toSource(Ctor) : '';
|
|
27
|
+
if (ctorString) {
|
|
28
|
+
switch (ctorString) {
|
|
29
|
+
case dataViewCtorString:
|
|
30
|
+
return native.dataViewTag;
|
|
31
|
+
case mapCtorString:
|
|
32
|
+
return native.mapTag;
|
|
33
|
+
case promiseCtorString:
|
|
34
|
+
return native.promiseTag;
|
|
35
|
+
case setCtorString:
|
|
36
|
+
return native.setTag;
|
|
37
|
+
case weakMapCtorString:
|
|
38
|
+
return native.weakMapTag;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
var getTagWithBugfix$1 = getTagWithBugfix;
|
|
45
|
+
|
|
46
|
+
module.exports = getTagWithBugfix$1;
|
package/lib/internals/helpers.js
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./checkType.js');
|
|
4
3
|
var native = require('./native.js');
|
|
5
4
|
|
|
6
|
-
exports.
|
|
5
|
+
exports.VERSION = "1.4.6";
|
|
6
|
+
exports.supportedArgumentsType = native.objectToString.call((function () { return arguments; })()) === native.argumentsTag;
|
|
7
7
|
exports.FUNC_ERROR_TEXT = 'Expected a function';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
function toSource(func) {
|
|
9
|
+
if (func !== null) {
|
|
10
|
+
try {
|
|
11
|
+
return native.functionToString.call(func);
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return func + '';
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.toSource = toSource;
|
package/lib/internals/native.js
CHANGED
|
@@ -1,43 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var freeGlobalThis = typeof globalThis === 'object' && globalThis && globalThis.Object === Object && globalThis;
|
|
4
|
-
var freeGlobal = typeof global === 'object' && global && global.Object === Object && global;
|
|
5
|
-
var freeSelf = typeof self === 'object' && self && self.Object === Object && self;
|
|
6
|
-
exports.root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')() || {};
|
|
7
3
|
exports.objectProto = Object.prototype;
|
|
8
4
|
exports.objectToString = exports.objectProto.toString;
|
|
5
|
+
exports.objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
9
6
|
exports.hasOwnProperty = exports.objectProto.hasOwnProperty;
|
|
10
7
|
exports.propertyIsEnumerable = exports.objectProto.propertyIsEnumerable;
|
|
11
8
|
exports.functionToString = Function.prototype.toString;
|
|
12
|
-
exports.objectCtorString = exports.functionToString.call(Object);
|
|
13
9
|
exports.symbolProto = Symbol ? Symbol.prototype : undefined;
|
|
14
|
-
exports.symbolValueOf = exports.symbolProto ? exports.symbolProto.valueOf : undefined;
|
|
15
|
-
exports.symbolProto ? exports.symbolProto.toString : undefined;
|
|
16
10
|
exports.symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
|
17
11
|
exports.arrayProto = Array.prototype;
|
|
18
12
|
exports.arrSlice = Array.prototype.slice;
|
|
13
|
+
exports.arrayAt = exports.arrayProto.at;
|
|
14
|
+
exports.numberIsFinite = Number.isFinite;
|
|
15
|
+
exports.numberIsInteger = Number.isInteger;
|
|
16
|
+
exports.numberIsSafeInteger = Number.isSafeInteger;
|
|
19
17
|
exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
20
18
|
exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
|
21
19
|
exports.MAX_ARRAY_LENGTH = 4294967295;
|
|
22
|
-
exports.blobExisted = typeof Blob !== 'undefined';
|
|
23
|
-
function toSource(func) {
|
|
24
|
-
if (func !== null) {
|
|
25
|
-
try {
|
|
26
|
-
return exports.functionToString.call(func);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
return func + '';
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return '';
|
|
37
|
-
}
|
|
38
|
-
function wrapTags(tags) {
|
|
39
|
-
return tags.map(function (item) { return '[object ' + item + ']'; });
|
|
40
|
-
}
|
|
41
20
|
exports.numberTag = '[object Number]';
|
|
42
21
|
exports.booleanTag = '[object Boolean]';
|
|
43
22
|
exports.stringTag = '[object String]';
|
|
@@ -48,11 +27,10 @@ exports.errorTag = '[object Error]';
|
|
|
48
27
|
exports.arrayBufferTag = '[object ArrayBuffer]';
|
|
49
28
|
exports.argumentsTag = '[object Arguments]';
|
|
50
29
|
exports.arrayTag = '[object Array]';
|
|
51
|
-
exports.typedArrayTags =
|
|
52
|
-
exports.functionTags =
|
|
30
|
+
exports.typedArrayTags = ['Float32Array', 'Float64Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'BigInt64Array', 'BigUint64Array'].map(function (item) { return '[object ' + item + ']'; });
|
|
31
|
+
exports.functionTags = ['Function', 'AsyncFunction', 'GeneratorFunction', 'Proxy'].map(function (item) { return '[object ' + item + ']'; });
|
|
53
32
|
exports.weakSetTag = '[object WeakSet]';
|
|
54
33
|
exports.blobTag = '[object Blob]';
|
|
55
|
-
exports.fileTag = '[object Blob]';
|
|
56
34
|
exports.domExceptionTag = '[object DOMException]';
|
|
57
35
|
exports.objectTag = '[object Object]';
|
|
58
36
|
exports.dataViewTag = '[object DataView]';
|
|
@@ -60,16 +38,3 @@ exports.mapTag = '[object Map]';
|
|
|
60
38
|
exports.promiseTag = '[object Promise]';
|
|
61
39
|
exports.setTag = '[object Set]';
|
|
62
40
|
exports.weakMapTag = '[object WeakMap]';
|
|
63
|
-
exports.dataViewExisted = typeof DataView !== 'undefined';
|
|
64
|
-
exports.mapExisted = typeof Map !== 'undefined';
|
|
65
|
-
exports.promiseExisted = typeof Promise !== 'undefined';
|
|
66
|
-
exports.setExisted = typeof Set !== 'undefined';
|
|
67
|
-
exports.weakMapExisted = typeof WeakMap !== 'undefined';
|
|
68
|
-
exports.initSource = function (existed, str) { return (existed ? str : ''); };
|
|
69
|
-
exports.dataViewCtorString = exports.initSource(exports.dataViewExisted, toSource(DataView));
|
|
70
|
-
exports.mapCtorString = exports.initSource(exports.mapExisted, toSource(Map));
|
|
71
|
-
exports.promiseCtorString = exports.initSource(exports.promiseExisted, toSource(Promise));
|
|
72
|
-
exports.setCtorString = exports.initSource(exports.setExisted, toSource(Set));
|
|
73
|
-
exports.weakMapCtorString = exports.initSource(exports.weakMapExisted, toSource(WeakMap));
|
|
74
|
-
|
|
75
|
-
exports.toSource = toSource;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var root = require('./root.js');
|
|
4
4
|
|
|
5
5
|
var freeExports = typeof exports === 'object' && exports && !exports.nodeType && exports;
|
|
6
6
|
var freeModule = freeExports && typeof module === 'object' && module && !module.nodeType && module;
|
|
7
7
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
8
|
-
var freeProcess = moduleExports &&
|
|
8
|
+
var freeProcess = moduleExports && root.process;
|
|
9
9
|
var nodeUtil = (function () {
|
|
10
10
|
try {
|
|
11
11
|
var types = freeModule && freeModule.require && freeModule.require('util').types;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var freeGlobalThis = typeof globalThis === 'object' && globalThis && globalThis.Object === Object && globalThis;
|
|
4
|
+
var freeGlobal = typeof global === 'object' && global && global.Object === Object && global;
|
|
5
|
+
var freeSelf = typeof self === 'object' && self && self.Object === Object && self;
|
|
6
|
+
var root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')() || {};
|
|
7
|
+
var root$1 = root;
|
|
8
|
+
|
|
9
|
+
module.exports = root$1;
|
package/lib/isArguments.js
CHANGED
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
var native = require('./internals/native.js');
|
|
4
4
|
var helpers = require('./internals/helpers.js');
|
|
5
5
|
var isObjectLike = require('./isObjectLike.js');
|
|
6
|
-
var checkType = require('./internals/checkType.js');
|
|
7
6
|
|
|
8
7
|
function isArguments(value) {
|
|
9
8
|
if (helpers.supportedArgumentsType) {
|
|
10
|
-
return
|
|
9
|
+
return native.objectToString.call(value) === native.argumentsTag;
|
|
11
10
|
}
|
|
12
11
|
return isObjectLike(value) && native.hasOwnProperty.call(value, 'callee') && !native.propertyIsEnumerable.call(value, 'callee');
|
|
13
12
|
}
|
package/lib/isArrayBuffer.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
5
|
|
|
7
6
|
function isArrayBuffer(value) {
|
|
8
|
-
return nodeUtil.nodeIsArrayBuffer ? nodeUtil.nodeIsArrayBuffer(value) :
|
|
7
|
+
return nodeUtil.nodeIsArrayBuffer ? nodeUtil.nodeIsArrayBuffer(value) : native.objectToString.call(value) === native.arrayBufferTag;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
module.exports = isArrayBuffer;
|
package/lib/isBlob.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
5
|
+
var blobExisted = typeof Blob !== 'undefined';
|
|
6
6
|
function isBlob(value) {
|
|
7
|
-
|
|
7
|
+
if (blobExisted && value instanceof Blob) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
return native.objectToString.call(value) === native.blobTag;
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
module.exports = isBlob;
|
package/lib/isBoolean.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isBoolean(value) {
|
|
7
|
-
return value === true || value === false ||
|
|
6
|
+
return value === true || value === false || native.objectToString.call(value) === native.booleanTag;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
module.exports = isBoolean;
|
package/lib/isDataView.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
|
|
4
4
|
var native = require('./internals/native.js');
|
|
5
5
|
|
|
6
6
|
function isDataView(value) {
|
|
7
|
-
return
|
|
7
|
+
return getTagWithBugfix(value) === native.dataViewTag;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = isDataView;
|
package/lib/isDate.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
5
|
|
|
7
6
|
function isDate(value) {
|
|
8
|
-
return nodeUtil.nodeIsDate ? nodeUtil.nodeIsDate(value) :
|
|
7
|
+
return nodeUtil.nodeIsDate ? nodeUtil.nodeIsDate(value) : native.objectToString.call(value) === native.dateTag;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
module.exports = isDate;
|
package/lib/isEqual.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var allKeys = require('./allKeys.js');
|
|
4
4
|
var eq = require('./eq.js');
|
|
5
|
-
var
|
|
5
|
+
var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
|
|
6
6
|
var native = require('./internals/native.js');
|
|
7
|
+
var symbolValueOf = require('./internals/symbolValueOf.js');
|
|
7
8
|
var isBuffer = require('./isBuffer.js');
|
|
8
9
|
var isFunction = require('./isFunction.js');
|
|
9
10
|
var isNil = require('./isNil.js');
|
|
@@ -46,8 +47,8 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
|
|
|
46
47
|
if (isNil(value) || isNil(other) || (valType !== 'object' && othType !== 'object')) {
|
|
47
48
|
return false;
|
|
48
49
|
}
|
|
49
|
-
var tag =
|
|
50
|
-
if (tag !==
|
|
50
|
+
var tag = getTagWithBugfix(value);
|
|
51
|
+
if (tag !== getTagWithBugfix(other)) {
|
|
51
52
|
return false;
|
|
52
53
|
}
|
|
53
54
|
var convert;
|
|
@@ -61,7 +62,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
|
|
|
61
62
|
case native.regExpTag:
|
|
62
63
|
return '' + value === '' + other;
|
|
63
64
|
case native.symbolTag:
|
|
64
|
-
return
|
|
65
|
+
return symbolValueOf ? symbolValueOf.call(value) === symbolValueOf.call(other) : false;
|
|
65
66
|
case native.errorTag:
|
|
66
67
|
return value.name == other.name && value.message == other.message;
|
|
67
68
|
case native.dataViewTag:
|
package/lib/isError.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
var isObjectLike = require('./isObjectLike.js');
|
|
6
5
|
|
|
7
6
|
function isError(value) {
|
|
8
|
-
|
|
7
|
+
if (!isObjectLike(value)) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (value instanceof Error) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
var tag = native.objectToString.call(value);
|
|
14
|
+
return tag === native.errorTag || tag === native.domExceptionTag;
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
module.exports = isError;
|
package/lib/isFinite.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var root = require('./internals/root.js');
|
|
3
4
|
var native = require('./internals/native.js');
|
|
4
|
-
var helpers = require('./internals/helpers.js');
|
|
5
5
|
|
|
6
6
|
function isFinite(value) {
|
|
7
|
-
return
|
|
7
|
+
return native.numberIsFinite ? native.numberIsFinite(value) : typeof value === 'number' && root.isFinite(value);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = isFinite;
|
package/lib/isFunction.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isFunction(value) {
|
|
7
|
-
|
|
6
|
+
if (typeof value === 'function') {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
var tag = native.objectToString.call(value);
|
|
10
|
+
return native.functionTags.some(function (item) { return item === tag; });
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
module.exports = isFunction;
|
package/lib/isInteger.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var native = require('./internals/native.js');
|
|
4
4
|
var isFinite = require('./isFinite.js');
|
|
5
5
|
|
|
6
6
|
function isInteger(value) {
|
|
7
|
-
return
|
|
7
|
+
return native.numberIsInteger ? native.numberIsInteger(value) : isFinite(value) && Math.floor(value) === value;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = isInteger;
|
package/lib/isMap.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
|
|
4
4
|
var native = require('./internals/native.js');
|
|
5
5
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
6
|
|
|
7
7
|
function isMap(value) {
|
|
8
|
-
|
|
8
|
+
if (nodeUtil.nodeIsMap) {
|
|
9
|
+
return nodeUtil.nodeIsMap(value);
|
|
10
|
+
}
|
|
11
|
+
return getTagWithBugfix(value) === native.mapTag;
|
|
9
12
|
}
|
|
10
13
|
|
|
11
14
|
module.exports = isMap;
|
package/lib/isMatch.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var allKeys = require('./allKeys.js');
|
|
4
|
-
var checkType = require('./internals/checkType.js');
|
|
5
4
|
var native = require('./internals/native.js');
|
|
6
5
|
var isEqual = require('./isEqual.js');
|
|
7
6
|
|
|
8
7
|
function isDeepComparable(object, source) {
|
|
9
|
-
return
|
|
8
|
+
return native.objectToString.call(object) === native.objectTag && native.objectToString.call(source) === native.objectTag;
|
|
10
9
|
}
|
|
11
10
|
function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
|
|
12
11
|
if (executedCustomizer === void 0) { executedCustomizer = false; }
|
package/lib/isNaN.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var root = require('./internals/root.js');
|
|
4
4
|
var isNumber = require('./isNumber.js');
|
|
5
5
|
|
|
6
6
|
function isNaN(value) {
|
|
7
|
-
return isNumber(value) &&
|
|
7
|
+
return isNumber(value) && root.isNaN(value);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = isNaN;
|
package/lib/isNumber.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isNumber(value) {
|
|
7
|
-
return typeof value === 'number' ||
|
|
6
|
+
return typeof value === 'number' || native.objectToString.call(value) === native.numberTag;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
module.exports = isNumber;
|
package/lib/isPlainObject.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var getTag = require('./internals/getTag.js');
|
|
3
4
|
var native = require('./internals/native.js');
|
|
4
|
-
var checkType = require('./internals/checkType.js');
|
|
5
5
|
var isObjectLike = require('./isObjectLike.js');
|
|
6
6
|
|
|
7
|
+
var objectCtorString = native.functionToString.call(Object);
|
|
7
8
|
function isPlainObject(value) {
|
|
8
|
-
if (!isObjectLike(value) ||
|
|
9
|
+
if (!isObjectLike(value) || getTag(value) !== native.objectTag) {
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
11
12
|
var proto = Object.getPrototypeOf(Object(value));
|
|
@@ -13,7 +14,7 @@ function isPlainObject(value) {
|
|
|
13
14
|
return true;
|
|
14
15
|
}
|
|
15
16
|
var Ctor = native.hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
|
16
|
-
return typeof Ctor === 'function' && Ctor instanceof Ctor && native.functionToString.call(Ctor) ===
|
|
17
|
+
return typeof Ctor === 'function' && Ctor instanceof Ctor && native.functionToString.call(Ctor) === objectCtorString;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
module.exports = isPlainObject;
|
package/lib/isRegExp.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
5
|
|
|
7
6
|
function isRegExp(value) {
|
|
8
|
-
return nodeUtil.nodeIsRegExp ? nodeUtil.nodeIsRegExp(value) :
|
|
7
|
+
return nodeUtil.nodeIsRegExp ? nodeUtil.nodeIsRegExp(value) : native.objectToString.call(value) === native.regExpTag;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
module.exports = isRegExp;
|
package/lib/isSafeInteger.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var native = require('./internals/native.js');
|
|
4
|
-
var helpers = require('./internals/helpers.js');
|
|
5
4
|
var isInteger = require('./isInteger.js');
|
|
6
5
|
|
|
7
6
|
function isSafeInteger(value) {
|
|
8
|
-
return
|
|
7
|
+
return native.numberIsSafeInteger ? native.numberIsSafeInteger(value) : isInteger(value) && Math.abs(value) <= native.MAX_SAFE_INTEGER;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
module.exports = isSafeInteger;
|
package/lib/isSet.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
|
|
4
4
|
var native = require('./internals/native.js');
|
|
5
5
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
6
|
|
|
7
7
|
function isSet(value) {
|
|
8
|
-
return nodeUtil.nodeIsSet ? nodeUtil.nodeIsSet(value) :
|
|
8
|
+
return nodeUtil.nodeIsSet ? nodeUtil.nodeIsSet(value) : getTagWithBugfix(value) === native.setTag;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
module.exports = isSet;
|
package/lib/isString.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isString(value) {
|
|
7
|
-
return typeof value === 'string' ||
|
|
6
|
+
return typeof value === 'string' || native.objectToString.call(value) === native.stringTag;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
module.exports = isString;
|
package/lib/isSymbol.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isSymbol(value) {
|
|
7
|
-
return typeof value === 'symbol' ||
|
|
6
|
+
return typeof value === 'symbol' || native.objectToString.call(value) === native.symbolTag;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
module.exports = isSymbol;
|
package/lib/isTypedArray.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
var nodeUtil = require('./internals/nodeUtil.js');
|
|
6
5
|
var isLength = require('./isLength.js');
|
|
@@ -10,7 +9,11 @@ function isTypedArray(value) {
|
|
|
10
9
|
if (nodeUtil.nodeIsTypedArray) {
|
|
11
10
|
return nodeUtil.nodeIsTypedArray(value);
|
|
12
11
|
}
|
|
13
|
-
|
|
12
|
+
if (isObjectLike(value) && isLength(value.length)) {
|
|
13
|
+
var tag_1 = native.objectToString.call(value);
|
|
14
|
+
return native.typedArrayTags.some(function (item) { return item === tag_1; });
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
module.exports = isTypedArray;
|
package/lib/isWeakMap.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
|
|
4
4
|
var native = require('./internals/native.js');
|
|
5
5
|
|
|
6
6
|
function isWeakMap(value) {
|
|
7
|
-
return
|
|
7
|
+
return getTagWithBugfix(value) === native.weakMapTag;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
module.exports = isWeakMap;
|
package/lib/isWeakSet.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var checkType = require('./internals/checkType.js');
|
|
4
3
|
var native = require('./internals/native.js');
|
|
5
4
|
|
|
6
5
|
function isWeakSet(value) {
|
|
7
|
-
return
|
|
6
|
+
return native.objectToString.call(value) === native.weakSetTag;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
module.exports = isWeakSet;
|
package/lib/nth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var native = require('./internals/native.js');
|
|
4
4
|
var isArrayLike = require('./isArrayLike.js');
|
|
5
5
|
|
|
6
6
|
function nth(array, n) {
|
|
@@ -8,8 +8,8 @@ function nth(array, n) {
|
|
|
8
8
|
if (!isArrayLike(array)) {
|
|
9
9
|
return undefined;
|
|
10
10
|
}
|
|
11
|
-
if (typeof
|
|
12
|
-
return
|
|
11
|
+
if (typeof native.arrayAt === 'function') {
|
|
12
|
+
return native.arrayAt.call(array, n);
|
|
13
13
|
}
|
|
14
14
|
var index = n < 0 ? n + array.length : n;
|
|
15
15
|
return array[index];
|