Current Dev State

This commit is contained in:
Tim Lorsbach
2025-06-23 20:13:54 +02:00
parent b4f9bb277d
commit ded50edaa2
22617 changed files with 4345095 additions and 174 deletions

View File

@ -0,0 +1,10 @@
"use strict";
module.exports = {
isSticky: require("./is-sticky"),
isUnicode: require("./is-unicode"),
match: require("./match"),
replace: require("./replace"),
search: require("./search"),
split: require("./split")
};

View File

@ -0,0 +1,9 @@
"use strict";
var validRegExp = require("../valid-reg-exp")
, re = /\/[a-xz]*y[a-xz]*$/;
module.exports = function () {
return Boolean(String(validRegExp(this)).match(re));
};

View File

@ -0,0 +1,9 @@
"use strict";
var validRegExp = require("../valid-reg-exp")
, re = /\/[a-xz]*u[a-xz]*$/;
module.exports = function () {
return Boolean(String(validRegExp(this)).match(re));
};

View File

@ -0,0 +1,8 @@
"use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "match", { value: require("./shim"),
configurable: true,
enumerable: false,
writable: true });
}

View File

@ -0,0 +1,5 @@
"use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.match
: require("./shim");

View File

@ -0,0 +1,8 @@
"use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.match !== "function") return false;
return re.match("barfoobar") && !re.match("elo");
};

View File

@ -0,0 +1,8 @@
"use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).match(this);
};

View File

@ -0,0 +1,8 @@
"use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "replace", { value: require("./shim"),
configurable: true,
enumerable: false,
writable: true });
}

View File

@ -0,0 +1,5 @@
"use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.replace
: require("./shim");

View File

@ -0,0 +1,8 @@
"use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.replace !== "function") return false;
return re.replace("foobar", "mar") === "marbar";
};

View File

@ -0,0 +1,8 @@
"use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string, replaceValue) {
validRegExp(this);
return String(string).replace(this, replaceValue);
};

View File

@ -0,0 +1,8 @@
"use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "search", { value: require("./shim"),
configurable: true,
enumerable: false,
writable: true });
}

View File

@ -0,0 +1,5 @@
"use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.search
: require("./shim");

View File

@ -0,0 +1,8 @@
"use strict";
var re = /foo/;
module.exports = function () {
if (typeof re.search !== "function") return false;
return re.search("barfoo") === 3;
};

View File

@ -0,0 +1,8 @@
"use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).search(this);
};

View File

@ -0,0 +1,8 @@
"use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "split", { value: require("./shim"),
configurable: true,
enumerable: false,
writable: true });
}

View File

@ -0,0 +1,5 @@
"use strict";
module.exports = require("./is-implemented")()
? RegExp.prototype.split
: require("./shim");

View File

@ -0,0 +1,8 @@
"use strict";
var re = /\|/;
module.exports = function () {
if (typeof re.split !== "function") return false;
return re.split("bar|foo")[1] === "foo";
};

View File

@ -0,0 +1,8 @@
"use strict";
var validRegExp = require("../../valid-reg-exp");
module.exports = function (string) {
validRegExp(this);
return String(string).split(this);
};

View File

@ -0,0 +1,9 @@
"use strict";
var isSticky = require("../is-sticky");
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "sticky", { configurable: true,
enumerable: false,
get: isSticky });
}

View File

@ -0,0 +1,10 @@
"use strict";
module.exports = function () {
var dummyRegExp = /a/;
// We need to do check on instance and not on prototype due to how ES2015 spec evolved:
// https://github.com/tc39/ecma262/issues/262
// https://github.com/tc39/ecma262/pull/263
// https://bugs.chromium.org/p/v8/issues/detail?id=4617
return "sticky" in dummyRegExp;
};

View File

@ -0,0 +1,9 @@
"use strict";
var isUnicode = require("../is-unicode");
if (!require("./is-implemented")()) {
Object.defineProperty(RegExp.prototype, "unicode", { configurable: true,
enumerable: false,
get: isUnicode });
}

View File

@ -0,0 +1,10 @@
"use strict";
module.exports = function () {
var dummyRegExp = /a/;
// We need to do check on instance and not on prototype due to how ES2015 spec evolved:
// https://github.com/tc39/ecma262/issues/262
// https://github.com/tc39/ecma262/pull/263
// https://bugs.chromium.org/p/v8/issues/detail?id=4617
return "unicode" in dummyRegExp;
};