mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 09:55:15 +00:00
23 lines
890 B
JavaScript
23 lines
890 B
JavaScript
|
var DESCRIPTORS = require('../internals/descriptors');
|
||
|
var UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;
|
||
|
var defineProperty = require('../internals/object-define-property').f;
|
||
|
var getInternalState = require('../internals/internal-state').get;
|
||
|
var RegExpPrototype = RegExp.prototype;
|
||
|
|
||
|
// `RegExp.prototype.sticky` getter
|
||
|
// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
|
||
|
if (DESCRIPTORS && UNSUPPORTED_Y) {
|
||
|
defineProperty(RegExpPrototype, 'sticky', {
|
||
|
configurable: true,
|
||
|
get: function () {
|
||
|
if (this === RegExpPrototype) return undefined;
|
||
|
// We can't use InternalStateModule.getterFor because
|
||
|
// we don't add metadata for regexps created by a literal.
|
||
|
if (this instanceof RegExp) {
|
||
|
return !!getInternalState(this).sticky;
|
||
|
}
|
||
|
throw TypeError('Incompatible receiver, RegExp required');
|
||
|
}
|
||
|
});
|
||
|
}
|