ut2 1.4.4 → 1.4.5

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 (86) hide show
  1. package/dist/ut2.js +145 -135
  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/getSymbols.js +2 -5
  6. package/es/internals/getTag.js +3 -31
  7. package/es/internals/getTagWithBugfix.js +44 -0
  8. package/es/internals/helpers.js +19 -10
  9. package/es/internals/native.js +8 -41
  10. package/es/internals/nodeUtil.js +1 -1
  11. package/es/internals/root.js +7 -0
  12. package/es/internals/symbolToString.js +5 -0
  13. package/es/internals/symbolValueOf.js +5 -0
  14. package/es/isArguments.js +2 -3
  15. package/es/isArrayBuffer.js +2 -3
  16. package/es/isBlob.js +6 -3
  17. package/es/isBoolean.js +2 -3
  18. package/es/isDataView.js +2 -2
  19. package/es/isDate.js +2 -3
  20. package/es/isEqual.js +5 -4
  21. package/es/isError.js +9 -3
  22. package/es/isFinite.js +2 -2
  23. package/es/isFunction.js +6 -3
  24. package/es/isInteger.js +1 -1
  25. package/es/isMap.js +5 -2
  26. package/es/isMatch.js +2 -3
  27. package/es/isNaN.js +1 -1
  28. package/es/isNumber.js +2 -3
  29. package/es/isPlainObject.js +4 -3
  30. package/es/isRegExp.js +2 -3
  31. package/es/isSafeInteger.js +1 -2
  32. package/es/isSet.js +2 -2
  33. package/es/isString.js +2 -3
  34. package/es/isSymbol.js +2 -3
  35. package/es/isTypedArray.js +6 -3
  36. package/es/isWeakMap.js +2 -2
  37. package/es/isWeakSet.js +2 -3
  38. package/es/nth.js +1 -1
  39. package/es/toString.js +2 -1
  40. package/lib/internals/getSymbols.js +2 -5
  41. package/lib/internals/getTag.js +2 -30
  42. package/lib/internals/getTagWithBugfix.js +46 -0
  43. package/lib/internals/helpers.js +19 -8
  44. package/lib/internals/native.js +7 -42
  45. package/lib/internals/nodeUtil.js +2 -2
  46. package/lib/internals/root.js +9 -0
  47. package/lib/internals/symbolToString.js +7 -0
  48. package/lib/internals/symbolValueOf.js +7 -0
  49. package/lib/isArguments.js +1 -2
  50. package/lib/isArrayBuffer.js +1 -2
  51. package/lib/isBlob.js +5 -2
  52. package/lib/isBoolean.js +1 -2
  53. package/lib/isDataView.js +2 -2
  54. package/lib/isDate.js +1 -2
  55. package/lib/isEqual.js +5 -4
  56. package/lib/isError.js +8 -2
  57. package/lib/isFinite.js +2 -2
  58. package/lib/isFunction.js +5 -2
  59. package/lib/isInteger.js +2 -2
  60. package/lib/isMap.js +5 -2
  61. package/lib/isMatch.js +1 -2
  62. package/lib/isNaN.js +2 -2
  63. package/lib/isNumber.js +1 -2
  64. package/lib/isPlainObject.js +4 -3
  65. package/lib/isRegExp.js +1 -2
  66. package/lib/isSafeInteger.js +1 -2
  67. package/lib/isSet.js +2 -2
  68. package/lib/isString.js +1 -2
  69. package/lib/isSymbol.js +1 -2
  70. package/lib/isTypedArray.js +5 -2
  71. package/lib/isWeakMap.js +2 -2
  72. package/lib/isWeakSet.js +1 -2
  73. package/lib/nth.js +3 -3
  74. package/lib/toString.js +2 -1
  75. package/package.json +7 -7
  76. package/types/internals/compare.d.ts +2 -2
  77. package/types/internals/getTag.d.ts +1 -2
  78. package/types/internals/getTagWithBugfix.d.ts +3 -0
  79. package/types/internals/helpers.d.ts +3 -8
  80. package/types/internals/native.d.ts +5 -18
  81. package/types/internals/root.d.ts +2 -0
  82. package/types/internals/symbolToString.d.ts +2 -0
  83. package/types/internals/symbolValueOf.d.ts +2 -0
  84. package/es/internals/checkType.js +0 -11
  85. package/lib/internals/checkType.js +0 -14
  86. package/types/internals/checkType.d.ts +0 -2
@@ -23,36 +23,8 @@ function getRawTag(value) {
23
23
  }
24
24
  return result;
25
25
  }
26
- function _getTag(value) {
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$1;
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;
@@ -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.supportedArgumentsType = checkType.checkType((function () { return arguments; })(), native.argumentsTag);
5
+ exports.VERSION = "1.4.5";
6
+ exports.supportedArgumentsType = native.objectToString.call((function () { return arguments; })()) === native.argumentsTag;
7
7
  exports.FUNC_ERROR_TEXT = 'Expected a function';
8
- exports.numberIsFinite = Number.isFinite;
9
- exports.numberIsInteger = Number.isInteger;
10
- exports.numberIsSafeInteger = Number.isSafeInteger;
11
- exports.objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
12
- exports.arrayAt = native.arrayProto.at;
13
- exports.VERSION = "1.4.4";
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;
@@ -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 = wrapTags(['Float32Array', 'Float64Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'BigInt64Array', 'BigUint64Array']);
52
- exports.functionTags = wrapTags(['Function', 'AsyncFunction', 'GeneratorFunction', 'Proxy']);
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 native = require('./native.js');
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 && native.root.process;
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;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var native = require('./native.js');
4
+
5
+ var symbolToString = native.symbolProto ? native.symbolProto.toString : undefined;
6
+
7
+ module.exports = symbolToString;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var native = require('./native.js');
4
+
5
+ var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : undefined;
6
+
7
+ module.exports = symbolValueOf;
@@ -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 checkType.checkType(value, native.argumentsTag);
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
  }
@@ -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) : checkType.checkType(value, native.arrayBufferTag);
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
- return (native.blobExisted && value instanceof Blob) || checkType.checkTypes(value, [native.blobTag, native.fileTag]);
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 || checkType.checkType(value, native.booleanTag);
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 checkType = require('./internals/checkType.js');
3
+ var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
4
4
  var native = require('./internals/native.js');
5
5
 
6
6
  function isDataView(value) {
7
- return checkType.checkType(value, native.dataViewTag);
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) : checkType.checkType(value, native.dateTag);
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 getTag = require('./internals/getTag.js');
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 = getTag(value);
50
- if (tag !== getTag(other)) {
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 native.symbolValueOf ? native.symbolValueOf.call(value) === native.symbolValueOf.call(other) : false;
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
- return isObjectLike(value) && (value instanceof Error || checkType.checkTypes(value, [native.errorTag, native.domExceptionTag]));
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 helpers.numberIsFinite ? helpers.numberIsFinite(value) : typeof value === 'number' && native.root.isFinite(value);
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
- return typeof value === 'function' || checkType.checkTypes(value, native.functionTags);
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 helpers = require('./internals/helpers.js');
3
+ var native = require('./internals/native.js');
4
4
  var isFinite = require('./isFinite.js');
5
5
 
6
6
  function isInteger(value) {
7
- return helpers.numberIsInteger ? helpers.numberIsInteger(value) : isFinite(value) && Math.floor(value) === value;
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 checkType = require('./internals/checkType.js');
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
- return nodeUtil.nodeIsMap ? nodeUtil.nodeIsMap(value) : checkType.checkType(value, native.mapTag);
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 checkType.checkType(object, native.objectTag) && checkType.checkType(source, native.objectTag);
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 native = require('./internals/native.js');
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) && native.root.isNaN(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' || checkType.checkType(value, native.numberTag);
6
+ return typeof value === 'number' || native.objectToString.call(value) === native.numberTag;
8
7
  }
9
8
 
10
9
  module.exports = isNumber;
@@ -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) || !checkType.checkType(value, native.objectTag)) {
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) === native.objectCtorString;
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) : checkType.checkType(value, native.regExpTag);
7
+ return nodeUtil.nodeIsRegExp ? nodeUtil.nodeIsRegExp(value) : native.objectToString.call(value) === native.regExpTag;
9
8
  }
10
9
 
11
10
  module.exports = isRegExp;
@@ -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 helpers.numberIsSafeInteger ? helpers.numberIsSafeInteger(value) : isInteger(value) && Math.abs(value) <= native.MAX_SAFE_INTEGER;
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 checkType = require('./internals/checkType.js');
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) : checkType.checkType(value, native.setTag);
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' || checkType.checkType(value, native.stringTag);
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' || checkType.checkType(value, native.symbolTag);
6
+ return typeof value === 'symbol' || native.objectToString.call(value) === native.symbolTag;
8
7
  }
9
8
 
10
9
  module.exports = isSymbol;
@@ -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
- return isObjectLike(value) && isLength(value.length) && checkType.checkTypes(value, native.typedArrayTags);
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 checkType = require('./internals/checkType.js');
3
+ var getTagWithBugfix = require('./internals/getTagWithBugfix.js');
4
4
  var native = require('./internals/native.js');
5
5
 
6
6
  function isWeakMap(value) {
7
- return checkType.checkType(value, native.weakMapTag);
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 checkType.checkType(value, native.weakSetTag);
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 helpers = require('./internals/helpers.js');
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 helpers.arrayAt === 'function') {
12
- return helpers.arrayAt.call(array, n);
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];