regexp-get-flags.js 653 B

12345678910111213141516
  1. 'use strict';
  2. var call = require('../internals/function-call');
  3. var hasOwn = require('../internals/has-own-property');
  4. var isPrototypeOf = require('../internals/object-is-prototype-of');
  5. var regExpFlagsDetection = require('../internals/regexp-flags-detection');
  6. var regExpFlagsGetterImplementation = require('../internals/regexp-flags');
  7. var RegExpPrototype = RegExp.prototype;
  8. module.exports = regExpFlagsDetection.correct ? function (it) {
  9. return it.flags;
  10. } : function (it) {
  11. return (!regExpFlagsDetection.correct && isPrototypeOf(RegExpPrototype, it) && !hasOwn(it, 'flags'))
  12. ? call(regExpFlagsGetterImplementation, it)
  13. : it.flags;
  14. };