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.
27 lines
1016 B
27 lines
1016 B
1 year ago
|
'use strict';
|
||
|
var DESCRIPTORS = require('../internals/descriptors');
|
||
|
var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
|
||
|
var classof = require('../internals/classof-raw');
|
||
|
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
||
|
var getInternalState = require('../internals/internal-state').get;
|
||
|
|
||
|
var RegExpPrototype = RegExp.prototype;
|
||
|
var $TypeError = TypeError;
|
||
|
|
||
|
// `RegExp.prototype.dotAll` getter
|
||
|
// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
|
||
|
if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
|
||
|
defineBuiltInAccessor(RegExpPrototype, 'dotAll', {
|
||
|
configurable: true,
|
||
|
get: function dotAll() {
|
||
|
if (this === RegExpPrototype) return undefined;
|
||
|
// We can't use InternalStateModule.getterFor because
|
||
|
// we don't add metadata for regexps created by a literal.
|
||
|
if (classof(this) === 'RegExp') {
|
||
|
return !!getInternalState(this).dotAll;
|
||
|
}
|
||
|
throw new $TypeError('Incompatible receiver, RegExp required');
|
||
|
}
|
||
|
});
|
||
|
}
|