UNPKG

1.01 kBJavaScriptView Raw
1'use strict';
2var DESCRIPTORS = require('../internals/descriptors');
3var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
4var classof = require('../internals/classof-raw');
5var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
6var getInternalState = require('../internals/internal-state').get;
7
8var RegExpPrototype = RegExp.prototype;
9var $TypeError = TypeError;
10
11// `RegExp.prototype.dotAll` getter
12// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
13if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
14 defineBuiltInAccessor(RegExpPrototype, 'dotAll', {
15 configurable: true,
16 get: function dotAll() {
17 if (this === RegExpPrototype) return;
18 // We can't use InternalStateModule.getterFor because
19 // we don't add metadata for regexps created by a literal.
20 if (classof(this) === 'RegExp') {
21 return !!getInternalState(this).dotAll;
22 }
23 throw new $TypeError('Incompatible receiver, RegExp required');
24 }
25 });
26}