diff options
Diffstat (limited to 'node_modules/is-regex/index.js')
-rw-r--r-- | node_modules/is-regex/index.js | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/node_modules/is-regex/index.js b/node_modules/is-regex/index.js deleted file mode 100644 index 3db4b92..0000000 --- a/node_modules/is-regex/index.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -var hasSymbols = require('has-symbols')(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; -var hasOwnProperty; -var regexExec; -var isRegexMarker; -var badStringifier; - -if (hasToStringTag) { - hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); - regexExec = Function.call.bind(RegExp.prototype.exec); - isRegexMarker = {}; - - var throwRegexMarker = function () { - throw isRegexMarker; - }; - badStringifier = { - toString: throwRegexMarker, - valueOf: throwRegexMarker - }; - - if (typeof Symbol.toPrimitive === 'symbol') { - badStringifier[Symbol.toPrimitive] = throwRegexMarker; - } -} - -var toStr = Object.prototype.toString; -var gOPD = Object.getOwnPropertyDescriptor; -var regexClass = '[object RegExp]'; - -module.exports = hasToStringTag - // eslint-disable-next-line consistent-return - ? function isRegex(value) { - if (!value || typeof value !== 'object') { - return false; - } - - var descriptor = gOPD(value, 'lastIndex'); - var hasLastIndexDataProperty = descriptor && hasOwnProperty(descriptor, 'value'); - if (!hasLastIndexDataProperty) { - return false; - } - - try { - regexExec(value, badStringifier); - } catch (e) { - return e === isRegexMarker; - } - } - : function isRegex(value) { - // In older browsers, typeof regex incorrectly returns 'function' - if (!value || (typeof value !== 'object' && typeof value !== 'function')) { - return false; - } - - return toStr.call(value) === regexClass; - }; |