Show More
Commit Description:
Update README.rdoc
Commit Description:
Update README.rdoc
References:
File last commit:
Show/Diff file:
Action:
node_modules/regexp.prototype.flags/shim.js
| 26 lines
| 779 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var supportsDescriptors = require('define-properties').supportsDescriptors; | ||||
var getPolyfill = require('./polyfill'); | ||||
var gOPD = Object.getOwnPropertyDescriptor; | ||||
var defineProperty = Object.defineProperty; | ||||
var TypeErr = TypeError; | ||||
var getProto = Object.getPrototypeOf; | ||||
var regex = /a/; | ||||
module.exports = function shimFlags() { | ||||
if (!supportsDescriptors || !getProto) { | ||||
throw new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors'); | ||||
} | ||||
var polyfill = getPolyfill(); | ||||
var proto = getProto(regex); | ||||
var descriptor = gOPD(proto, 'flags'); | ||||
if (!descriptor || descriptor.get !== polyfill) { | ||||
defineProperty(proto, 'flags', { | ||||
configurable: true, | ||||
enumerable: false, | ||||
get: polyfill | ||||
}); | ||||
} | ||||
return polyfill; | ||||
}; | ||||