You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
650 B
20 lines
650 B
'use strict';
|
|
|
|
var implementation = require('./implementation');
|
|
|
|
var supportsDescriptors = require('define-properties').supportsDescriptors;
|
|
var $gOPD = Object.getOwnPropertyDescriptor;
|
|
var $TypeError = TypeError;
|
|
|
|
module.exports = function getPolyfill() {
|
|
if (!supportsDescriptors) {
|
|
throw new $TypeError('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');
|
|
}
|
|
if ((/a/mig).flags === 'gim') {
|
|
var descriptor = $gOPD(RegExp.prototype, 'flags');
|
|
if (descriptor && typeof descriptor.get === 'function' && typeof (/a/).dotAll === 'boolean') {
|
|
return descriptor.get;
|
|
}
|
|
}
|
|
return implementation;
|
|
};
|
|
|