| | |
| | | var DESCRIPTORS = require('../internals/descriptors'); |
| | | var objectDefinePropertyModule = require('../internals/object-define-property'); |
| | | var defineBuiltInAccessor = require('../internals/define-built-in-accessor'); |
| | | var regExpFlags = require('../internals/regexp-flags'); |
| | | var fails = require('../internals/fails'); |
| | | |
| | | var RegExpPrototype = RegExp.prototype; |
| | | |
| | | var FORCED = DESCRIPTORS && fails(function () { |
| | | // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe |
| | | return Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get.call({ dotAll: true, sticky: true }) !== 'sy'; |
| | | // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe |
| | | return Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call({ dotAll: true, sticky: true }) !== 'sy'; |
| | | }); |
| | | |
| | | // `RegExp.prototype.flags` getter |
| | | // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags |
| | | if (FORCED) objectDefinePropertyModule.f(RegExp.prototype, 'flags', { |
| | | if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { |
| | | configurable: true, |
| | | get: regExpFlags |
| | | }); |