IsRegExp.js 566 B

1234567891011121314151617181920212223242526
  1. 'use strict';
  2. var GetIntrinsic = require('get-intrinsic');
  3. var $match = GetIntrinsic('%Symbol.match%', true);
  4. var hasRegExpMatcher = require('is-regex');
  5. var ToBoolean = require('./ToBoolean');
  6. var isObject = require('../helpers/isObject');
  7. // https://262.ecma-international.org/6.0/#sec-isregexp
  8. module.exports = function IsRegExp(argument) {
  9. if (!isObject(argument)) {
  10. return false;
  11. }
  12. if ($match) {
  13. var isRegExp = argument[$match];
  14. if (typeof isRegExp !== 'undefined') {
  15. return ToBoolean(isRegExp);
  16. }
  17. }
  18. return hasRegExpMatcher(argument);
  19. };