Skip to content

Commit 2f76f26

Browse files
committed
[Refactor] reorganize code
1 parent d939332 commit 2f76f26

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

index.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,27 @@
33
var callBound = require('call-bind/callBound');
44
var hasToStringTag = require('has-tostringtag/shams')();
55
var hasOwn = require('hasown');
6-
var $exec;
7-
var isRegexMarker;
8-
var badStringifier;
6+
var gOPD = require('gopd');
97

8+
var fn;
109
if (hasToStringTag) {
11-
$exec = callBound('RegExp.prototype.exec');
12-
isRegexMarker = {};
10+
var $exec = callBound('RegExp.prototype.exec');
11+
var isRegexMarker = {};
1312

1413
var throwRegexMarker = function () {
1514
throw isRegexMarker;
1615
};
17-
badStringifier = {
16+
var badStringifier = {
1817
toString: throwRegexMarker,
1918
valueOf: throwRegexMarker
2019
};
2120

2221
if (typeof Symbol.toPrimitive === 'symbol') {
2322
badStringifier[Symbol.toPrimitive] = throwRegexMarker;
2423
}
25-
}
26-
27-
var $toString = callBound('Object.prototype.toString');
28-
var gOPD = Object.getOwnPropertyDescriptor;
29-
var regexClass = '[object RegExp]';
3024

31-
module.exports = hasToStringTag
3225
// eslint-disable-next-line consistent-return
33-
? function isRegex(value) {
26+
fn = function isRegex(value) {
3427
if (!value || typeof value !== 'object') {
3528
return false;
3629
}
@@ -46,12 +39,19 @@ module.exports = hasToStringTag
4639
} catch (e) {
4740
return e === isRegexMarker;
4841
}
49-
}
50-
: function isRegex(value) {
42+
};
43+
} else {
44+
var $toString = callBound('Object.prototype.toString');
45+
var regexClass = '[object RegExp]';
46+
47+
fn = function isRegex(value) {
5148
// In older browsers, typeof regex incorrectly returns 'function'
5249
if (!value || (typeof value !== 'object' && typeof value !== 'function')) {
5350
return false;
5451
}
5552

5653
return $toString(value) === regexClass;
5754
};
55+
}
56+
57+
module.exports = fn;

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
],
4242
"dependencies": {
4343
"call-bind": "^1.0.7",
44+
"gopd": "^1.0.1",
4445
"has-tostringtag": "^1.0.2",
4546
"hasown": "^2.0.2"
4647
},

0 commit comments

Comments
 (0)