Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

re2

Package Overview
Dependencies
Maintainers
1
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

re2 - npm Package Compare versions

Comparing version 1.17.4 to 1.17.6

.github/actions/linux-alpine-node-18/action.yml

6

package.json
{
"name": "re2",
"version": "1.17.4",
"version": "1.17.6",
"description": "Bindings for RE2: fast, safe alternative to backtracking regular expression engines.",

@@ -14,4 +14,4 @@ "homepage": "https://github.com/uhop/node-re2",

"install-artifact-from-github": "^1.3.0",
"nan": "^2.15.0",
"node-gyp": "^8.4.1"
"nan": "^2.16.0",
"node-gyp": "^9.0.0"
},

@@ -18,0 +18,0 @@ "devDependencies": {

@@ -22,4 +22,17 @@ 'use strict';

});
Symbol.matchAll &&
(RE2.prototype[Symbol.matchAll] = function* (str) {
if (!this.global) {
throw TypeError('String.prototype.matchAll called with a non-global RE2 argument');
}
const re = new RE2(this);
re.lastIndex = this.lastIndex;
for (;;) {
const result = re.exec(str);
if (!result) break;
yield result;
}
});
}
module.exports = RE2;

@@ -57,2 +57,3 @@ # node-re2 [![NPM version][npm-img]][npm-url]

* [`re2.multiline`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline)
* *Since 1.17.6*: [`re2.dotAll`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/dotAll)
* [`re2.unicode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/unicode)

@@ -73,2 +74,3 @@ * `RE2` engine always works in the Unicode mode. See details below.

* [`re2[Symbol.match](str)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match)
* *Since 1.17.5*: [`re2[Symbol.matchAll](str)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/matchAll)
* [`re2[Symbol.search](str)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/search)

@@ -86,2 +88,5 @@ * [`re2[Symbol.replace](str, newSubStr|function)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace)

"213".split(re); // [ '2', '3' ]
Array.from("2131".matchAll(re)); // returns a generator!
// [['1', index: 1, input: '2131'], ['1', index: 3, input: '2131']]
```

@@ -353,2 +358,4 @@

- 1.17.6 *Implemented `dotAll`. Thx [Michael Kriese](https://github.com/viceice).*
- 1.17.5 *Updated deps, updated test/build targets, implemented `matchAll()` (thx, [ThePendulum](https://github.com/ThePendulum) and [David Sichau](https://github.com/DavidSichau)).*
- 1.17.4 *Updated deps.*

@@ -355,0 +362,0 @@ - 1.17.3 *Fixed bug with zero-length replacements.*

@@ -1,309 +0,310 @@

"use strict";
'use strict';
var unit = require('heya-unit');
var RE2 = require('../re2');
var unit = require("heya-unit");
var RE2 = require("../re2");
// tests
unit.add(module, [
// These tests are copied from MDN:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
// These tests are copied from MDN:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
function test_execBasic(t) {
'use strict';
function test_execBasic(t) {
"use strict";
var re = new RE2('quick\\s(brown).+?(jumps)', 'ig');
var re = new RE2("quick\\s(brown).+?(jumps)", "ig");
eval(t.TEST("re.source === 'quick\\\\s(brown).+?(jumps)'"));
eval(t.TEST('re.ignoreCase'));
eval(t.TEST('re.global'));
eval(t.TEST('!re.multiline'));
eval(t.TEST("re.source === 'quick\\\\s(brown).+?(jumps)'"));
eval(t.TEST("re.ignoreCase"));
eval(t.TEST("re.global"));
eval(t.TEST("!re.multiline"));
var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog');
var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog");
eval(t.TEST("t.unify(result, ['Quick Brown Fox Jumps', 'Brown', 'Jumps'])"));
eval(t.TEST('result.index === 4'));
eval(t.TEST("result.input === 'The Quick Brown Fox Jumps Over The Lazy Dog'"));
eval(t.TEST('re.lastIndex === 25'));
},
function test_execSucc(t) {
'use strict';
eval(t.TEST("t.unify(result, ['Quick Brown Fox Jumps', 'Brown', 'Jumps'])"));
eval(t.TEST("result.index === 4"));
eval(t.TEST("result.input === 'The Quick Brown Fox Jumps Over The Lazy Dog'"));
eval(t.TEST("re.lastIndex === 25"));
},
function test_execSucc(t) {
"use strict";
var str = 'abbcdefabh';
var str = "abbcdefabh";
var re = new RE2('ab*', 'g');
var result = re.exec(str);
var re = new RE2("ab*", "g");
var result = re.exec(str);
eval(t.TEST('!!result'));
eval(t.TEST("result[0] === 'abb'"));
eval(t.TEST('result.index === 0'));
eval(t.TEST('re.lastIndex === 3'));
eval(t.TEST("!!result"));
eval(t.TEST("result[0] === 'abb'"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("re.lastIndex === 3"));
result = re.exec(str);
result = re.exec(str);
eval(t.TEST('!!result'));
eval(t.TEST("result[0] === 'ab'"));
eval(t.TEST('result.index === 7'));
eval(t.TEST('re.lastIndex === 9'));
eval(t.TEST("!!result"));
eval(t.TEST("result[0] === 'ab'"));
eval(t.TEST("result.index === 7"));
eval(t.TEST("re.lastIndex === 9"));
result = re.exec(str);
result = re.exec(str);
eval(t.TEST('!result'));
},
function test_execSimple(t) {
'use strict';
eval(t.TEST("!result"));
},
function test_execSimple(t) {
"use strict";
var re = new RE2('(hello \\S+)');
var result = re.exec('This is a hello world!');
var re = new RE2("(hello \\S+)");
var result = re.exec("This is a hello world!");
eval(t.TEST("result[1] === 'hello world!'"));
},
function test_execFail(t) {
'use strict';
eval(t.TEST("result[1] === 'hello world!'"));
},
function test_execFail(t) {
"use strict";
var re = new RE2('(a+)?(b+)?');
var result = re.exec('aaabb');
var re = new RE2("(a+)?(b+)?");
var result = re.exec("aaabb");
eval(t.TEST("result[1] === 'aaa'"));
eval(t.TEST("result[2] === 'bb'"));
eval(t.TEST("result[1] === 'aaa'"));
eval(t.TEST("result[2] === 'bb'"));
result = re.exec('aaacbb');
result = re.exec("aaacbb");
eval(t.TEST("result[1] === 'aaa'"));
eval(t.TEST('result[2] === undefined'));
eval(t.TEST('result.length === 3'));
},
function test_execAnchoredToBeginning(t) {
'use strict';
eval(t.TEST("result[1] === 'aaa'"));
eval(t.TEST("result[2] === undefined"));
eval(t.TEST("result.length === 3"));
},
function test_execAnchoredToBeginning(t) {
"use strict";
var re = RE2('^hello', 'g');
var re = RE2('^hello', 'g');
var result = re.exec('hellohello');
var result = re.exec("hellohello");
eval(t.TEST("t.unify(result, ['hello'])"));
eval(t.TEST('result.index === 0'));
eval(t.TEST('re.lastIndex === 5'));
eval(t.TEST("t.unify(result, ['hello'])"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("re.lastIndex === 5"));
eval(t.TEST("re.exec('hellohello') === null"));
},
function test_execInvalid(t) {
'use strict';
eval(t.TEST("re.exec('hellohello') === null"));
},
function test_execInvalid(t) {
"use strict";
var re = RE2('');
var re = RE2('');
try {
re.exec({
toString() {
throw 'corner';
}
});
t.test(false); // shouldn't be here
} catch (e) {
eval(t.TEST("e === 'corner'"));
}
},
function test_execAnchor1(t) {
'use strict';
try {
re.exec({ toString() { throw "corner"; } });
t.test(false); // shouldn't be here
} catch(e) {
eval(t.TEST("e === 'corner'"));
}
},
function test_execAnchor1(t) {
"use strict";
var re = new RE2('b|^a', 'g');
var re = new RE2("b|^a", "g");
var result = re.exec('aabc');
eval(t.TEST('!!result'));
eval(t.TEST('result.index === 0'));
eval(t.TEST('re.lastIndex === 1'));
var result = re.exec("aabc");
eval(t.TEST("!!result"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("re.lastIndex === 1"));
result = re.exec('aabc');
eval(t.TEST('!!result'));
eval(t.TEST('result.index === 2'));
eval(t.TEST('re.lastIndex === 3'));
result = re.exec("aabc");
eval(t.TEST("!!result"));
eval(t.TEST("result.index === 2"));
eval(t.TEST("re.lastIndex === 3"));
result = re.exec('aabc');
eval(t.TEST('!result'));
},
function test_execAnchor2(t) {
'use strict';
result = re.exec("aabc");
eval(t.TEST("!result"));
},
function test_execAnchor2(t) {
"use strict";
var re = new RE2('(?:^a)', 'g');
var re = new RE2("(?:^a)", "g");
var result = re.exec('aabc');
eval(t.TEST('!!result'));
eval(t.TEST('result.index === 0'));
eval(t.TEST('re.lastIndex === 1'));
var result = re.exec("aabc");
eval(t.TEST("!!result"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("re.lastIndex === 1"));
result = re.exec('aabc');
eval(t.TEST('!result'));
},
result = re.exec("aabc");
eval(t.TEST("!result"));
},
// Unicode tests
// Unicode tests
function test_execUnicode(t) {
'use strict';
function test_execUnicode(t) {
"use strict";
var re = new RE2('охотник\\s(желает).+?(где)', 'ig');
var re = new RE2("охотник\\s(желает).+?(где)", "ig");
eval(t.TEST("re.source === 'охотник\\\\s(желает).+?(где)'"));
eval(t.TEST('re.ignoreCase'));
eval(t.TEST('re.global'));
eval(t.TEST('!re.multiline'));
eval(t.TEST("re.source === 'охотник\\\\s(желает).+?(где)'"));
eval(t.TEST("re.ignoreCase"));
eval(t.TEST("re.global"));
eval(t.TEST("!re.multiline"));
var result = re.exec('Каждый Охотник Желает Знать Где Сидит Фазан');
var result = re.exec("Каждый Охотник Желает Знать Где Сидит Фазан");
eval(t.TEST("t.unify(result, ['Охотник Желает Знать Где', 'Желает', 'Где'])"));
eval(t.TEST('result.index === 7'));
eval(t.TEST("result.input === 'Каждый Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST('re.lastIndex === 31'));
eval(t.TEST("t.unify(result, ['Охотник Желает Знать Где', 'Желает', 'Где'])"));
eval(t.TEST("result.index === 7"));
eval(t.TEST("result.input === 'Каждый Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("re.lastIndex === 31"));
eval(t.TEST("result.input.substr(result.index) === 'Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("result.input.substr(re.lastIndex) === ' Сидит Фазан'"));
},
function test_execUnicodeSubsequent(t) {
'use strict';
eval(t.TEST("result.input.substr(result.index) === 'Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("result.input.substr(re.lastIndex) === ' Сидит Фазан'"));
},
function test_execUnicodeSubsequent(t) {
"use strict";
var str = 'аббвгдеабё';
var str = "аббвгдеабё";
var re = new RE2('аб*', 'g');
var result = re.exec(str);
var re = new RE2("аб*", "g");
var result = re.exec(str);
eval(t.TEST('!!result'));
eval(t.TEST("result[0] === 'абб'"));
eval(t.TEST('result.index === 0'));
eval(t.TEST('re.lastIndex === 3'));
eval(t.TEST("!!result"));
eval(t.TEST("result[0] === 'абб'"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("re.lastIndex === 3"));
result = re.exec(str);
result = re.exec(str);
eval(t.TEST('!!result'));
eval(t.TEST("result[0] === 'аб'"));
eval(t.TEST('result.index === 7'));
eval(t.TEST('re.lastIndex === 9'));
eval(t.TEST("!!result"));
eval(t.TEST("result[0] === 'аб'"));
eval(t.TEST("result.index === 7"));
eval(t.TEST("re.lastIndex === 9"));
result = re.exec(str);
result = re.exec(str);
eval(t.TEST('!result'));
},
function test_execUnicodeSupplementary(t) {
'use strict';
eval(t.TEST("!result"));
},
function test_execUnicodeSupplementary(t) {
"use strict";
var re = new RE2('\\u{1F603}', 'g');
var re = new RE2("\\u{1F603}", "g");
eval(t.TEST("re.source === '\\\\u{1F603}'"));
eval(t.TEST("re.internalSource === '\\\\x{1F603}'"));
eval(t.TEST('!re.ignoreCase'));
eval(t.TEST('re.global'));
eval(t.TEST('!re.multiline'));
eval(t.TEST("re.source === '\\\\u{1F603}'"));
eval(t.TEST("re.internalSource === '\\\\x{1F603}'"));
eval(t.TEST("!re.ignoreCase"));
eval(t.TEST("re.global"));
eval(t.TEST("!re.multiline"));
var result = re.exec('\u{1F603}'); // 1F603 is the SMILING FACE WITH OPEN MOUTH emoji
var result = re.exec("\u{1F603}"); // 1F603 is the SMILING FACE WITH OPEN MOUTH emoji
eval(t.TEST("t.unify(result, ['\\u{1F603}'])"));
eval(t.TEST('result.index === 0'));
eval(t.TEST("result.input === '\\u{1F603}'"));
eval(t.TEST('re.lastIndex === 2'));
eval(t.TEST("t.unify(result, ['\\u{1F603}'])"));
eval(t.TEST("result.index === 0"));
eval(t.TEST("result.input === '\\u{1F603}'"));
eval(t.TEST("re.lastIndex === 2"));
var re2 = new RE2('.', 'g');
var re2 = new RE2(".", "g");
eval(t.TEST("re2.source === '.'"));
eval(t.TEST('!re2.ignoreCase'));
eval(t.TEST('re2.global'));
eval(t.TEST('!re2.multiline'));
eval(t.TEST("re2.source === '.'"));
eval(t.TEST("!re2.ignoreCase"));
eval(t.TEST("re2.global"));
eval(t.TEST("!re2.multiline"));
var result2 = re2.exec('\u{1F603}');
var result2 = re2.exec("\u{1F603}");
eval(t.TEST("t.unify(result2, ['\\u{1F603}'])"));
eval(t.TEST('result2.index === 0'));
eval(t.TEST("result2.input === '\\u{1F603}'"));
eval(t.TEST('re2.lastIndex === 2'));
eval(t.TEST("t.unify(result2, ['\\u{1F603}'])"));
eval(t.TEST("result2.index === 0"));
eval(t.TEST("result2.input === '\\u{1F603}'"));
eval(t.TEST("re2.lastIndex === 2"));
var re3 = new RE2('[\u{1F603}-\u{1F605}]', 'g');
var re3 = new RE2("[\u{1F603}-\u{1F605}]", "g");
eval(t.TEST("re3.source === '[\u{1F603}-\u{1F605}]'"));
eval(t.TEST('!re3.ignoreCase'));
eval(t.TEST('re3.global'));
eval(t.TEST('!re3.multiline'));
eval(t.TEST("re3.source === '[\u{1F603}-\u{1F605}]'"));
eval(t.TEST("!re3.ignoreCase"));
eval(t.TEST("re3.global"));
eval(t.TEST("!re3.multiline"));
var result3 = re3.exec('\u{1F604}');
var result3 = re3.exec("\u{1F604}");
eval(t.TEST("t.unify(result3, ['\\u{1F604}'])"));
eval(t.TEST('result3.index === 0'));
eval(t.TEST("result3.input === '\\u{1F604}'"));
eval(t.TEST('re3.lastIndex === 2'));
},
eval(t.TEST("t.unify(result3, ['\\u{1F604}'])"));
eval(t.TEST("result3.index === 0"));
eval(t.TEST("result3.input === '\\u{1F604}'"));
eval(t.TEST("re3.lastIndex === 2"));
},
// Buffer tests
// Buffer tests
function test_execBuffer(t) {
'use strict';
function test_execBuffer(t) {
"use strict";
var re = new RE2('охотник\\s(желает).+?(где)', 'ig');
var buf = new Buffer('Каждый Охотник Желает Знать Где Сидит Фазан');
var re = new RE2("охотник\\s(желает).+?(где)", "ig");
var buf = new Buffer("Каждый Охотник Желает Знать Где Сидит Фазан");
var result = re.exec(buf);
var result = re.exec(buf);
eval(t.TEST('result.length === 3'));
eval(t.TEST('result[0] instanceof Buffer'));
eval(t.TEST('result[1] instanceof Buffer'));
eval(t.TEST('result[2] instanceof Buffer'));
eval(t.TEST("result.length === 3"));
eval(t.TEST("result[0] instanceof Buffer"));
eval(t.TEST("result[1] instanceof Buffer"));
eval(t.TEST("result[2] instanceof Buffer"));
eval(t.TEST("result[0].toString() === 'Охотник Желает Знать Где'"));
eval(t.TEST("result[1].toString() === 'Желает'"));
eval(t.TEST("result[2].toString() === 'Где'"));
eval(t.TEST("result[0].toString() === 'Охотник Желает Знать Где'"));
eval(t.TEST("result[1].toString() === 'Желает'"));
eval(t.TEST("result[2].toString() === 'Где'"));
eval(t.TEST('result.index === 13'));
eval(t.TEST('result.input instanceof Buffer'));
eval(t.TEST("result.input.toString() === 'Каждый Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST('re.lastIndex === 58'));
eval(t.TEST("result.index === 13"));
eval(t.TEST("result.input instanceof Buffer"));
eval(t.TEST("result.input.toString() === 'Каждый Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("re.lastIndex === 58"));
eval(t.TEST("result.input.toString('utf8', result.index) === 'Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("result.input.toString('utf8', re.lastIndex) === ' Сидит Фазан'"));
},
eval(t.TEST("result.input.toString('utf8', result.index) === 'Охотник Желает Знать Где Сидит Фазан'"));
eval(t.TEST("result.input.toString('utf8', re.lastIndex) === ' Сидит Фазан'"));
},
// Sticky tests
// Sticky tests
function test_execSticky(t) {
'use strict';
function test_execSticky(t) {
"use strict";
var re = new RE2('\\s+', 'y');
var re = new RE2("\\s+", "y");
eval(t.TEST("re.exec('Hello world, how are you?') === null"));
eval(t.TEST("re.exec('Hello world, how are you?') === null"));
re.lastIndex = 5;
re.lastIndex = 5;
var result = re.exec('Hello world, how are you?');
var result = re.exec("Hello world, how are you?");
eval(t.TEST("t.unify(result, [' '])"));
eval(t.TEST('result.index === 5'));
eval(t.TEST('re.lastIndex === 6'));
eval(t.TEST("t.unify(result, [' '])"));
eval(t.TEST("result.index === 5"));
eval(t.TEST("re.lastIndex === 6"));
var re2 = new RE2('\\s+', 'gy');
var re2 = new RE2("\\s+", "gy");
eval(t.TEST("re2.exec('Hello world, how are you?') === null"));
eval(t.TEST("re2.exec('Hello world, how are you?') === null"));
re2.lastIndex = 5;
re2.lastIndex = 5;
var result2 = re2.exec('Hello world, how are you?');
var result2 = re2.exec("Hello world, how are you?");
eval(t.TEST("t.unify(result2, [' '])"));
eval(t.TEST("result2.index === 5"));
eval(t.TEST("re2.lastIndex === 6"));
eval(t.TEST("t.unify(result2, [' '])"));
eval(t.TEST('result2.index === 5'));
eval(t.TEST('re2.lastIndex === 6'));
},
function test_execSupplemental(t) {
"use strict";
function test_execSupplemental(t) {
'use strict';
var re = new RE2("\\w+", "g");
var testString = "🤡🤡🤡 Hello clown world!";
var re = new RE2('\\w+', 'g');
var testString = '🤡🤡🤡 Hello clown world!';
var result = re.exec(testString);
eval(t.TEST("t.unify(result, ['Hello'])"));
result = re.exec(testString);
eval(t.TEST("t.unify(result, ['clown'])"));
var result = re.exec(testString);
eval(t.TEST("t.unify(result, ['Hello'])"));
result = re.exec(testString);
eval(t.TEST("t.unify(result, ['world'])"));
},
result = re.exec(testString);
eval(t.TEST("t.unify(result, ['clown'])"));
result = re.exec(testString);
eval(t.TEST("t.unify(result, ['world'])"));
},
// Multiline test
function test_execMultiline(t) {
"use strict";
'use strict';
const re = new RE2("^xy", "m"),
const re = new RE2('^xy', 'm'),
pattern = ` xy1

@@ -315,8 +316,22 @@ xy2 (at start of line)

eval(t.TEST("!!result"));
eval(t.TEST("result[0] === 'xy'"));
eval(t.TEST("result.index > 3"));
eval(t.TEST("result.index < pattern.length - 4"));
eval(t.TEST("result[0] === pattern.substr(result.index, result[0].length)"));
eval(t.TEST('!!result'));
eval(t.TEST("result[0] === 'xy'"));
eval(t.TEST('result.index > 3'));
eval(t.TEST('result.index < pattern.length - 4'));
eval(t.TEST('result[0] === pattern.substr(result.index, result[0].length)'));
},
// dotAll tests
function test_execDotAll(t) {
'use strict';
eval(t.TEST("new RE2('a.c').test('abc')"));
eval(t.TEST("new RE2(/a.c/).test('a c')"));
eval(t.TEST("!new RE2(/a.c/).test('a\\nc')"));
eval(t.TEST("new RE2('a.c', 's').test('abc')"));
eval(t.TEST("new RE2(/a.c/s).test('a c')"));
eval(t.TEST("new RE2(/a.c/s).test('a\\nc')"));
}
]);

@@ -109,2 +109,3 @@ "use strict";

eval(t.TEST("'multiline' in re"));
eval(t.TEST("'dotAll' in re"));
eval(t.TEST("'sticky' in re"));

@@ -129,2 +130,3 @@ eval(t.TEST("'lastIndex' in re"));

eval(t.TEST("typeof re.multiline == 'boolean'"));
eval(t.TEST("typeof re.dotAll == 'boolean'"));
eval(t.TEST("typeof re.sticky == 'boolean'"));

@@ -186,2 +188,11 @@ eval(t.TEST("typeof re.lastIndex == 'number'"));

compare(re1, re2, t);
re1 = new RE2("b", "sgm");
re2 = new RE2(re1);
compare(re1, re2, t);
re2 = new RE2(/\s/sgm);
compare(/\s/sgm, re2, t);
},

@@ -270,2 +281,5 @@ function test_utf8(t) {

eval(t.TEST("re.flags === 'gimuy'"));
re = new RE2("a", "smigyu");
eval(t.TEST("re.flags === 'gimsuy'"));
}

@@ -272,0 +286,0 @@ ]);

@@ -19,2 +19,3 @@ "use strict";

eval(t.TEST("RE2.prototype.multiline === undefined"));
eval(t.TEST("RE2.prototype.dotAll === undefined"));
eval(t.TEST("RE2.prototype.sticky === undefined"));

@@ -21,0 +22,0 @@ eval(t.TEST("RE2.prototype.lastIndex === undefined"));

@@ -26,2 +26,3 @@ "use strict";

eval(t.TEST("RE2('\\\\u{1F603}/', 'iy') + '' === '/\\\\u{1F603}\\\\//iuy'"));
eval(t.TEST("RE2('^a{2,}', 'smi') + '' === '/^a{2,}/imsu'"));

@@ -28,0 +29,0 @@ eval(t.TEST("RE2('c', 'ug').toString() === '/c/gu'"));

@@ -12,2 +12,3 @@ "use strict";

require("./test_match");
require("./test_matchAll");
require("./test_replace");

@@ -14,0 +15,0 @@ require("./test_search");

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc