generated from githuhsername/simple-template-advanced
/
es.regexp.dot-all.js
26 lines (24 loc) · 1006 Bytes
/
es.regexp.dot-all.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'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;
// 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');
}
});
}