aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/reg-exp
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/reg-exp')
-rw-r--r--node_modules/es5-ext/reg-exp/#/index.js10
-rw-r--r--node_modules/es5-ext/reg-exp/#/is-sticky.js9
-rw-r--r--node_modules/es5-ext/reg-exp/#/is-unicode.js9
-rw-r--r--node_modules/es5-ext/reg-exp/#/match/implement.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/match/index.js5
-rw-r--r--node_modules/es5-ext/reg-exp/#/match/is-implemented.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/match/shim.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/replace/implement.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/replace/index.js5
-rw-r--r--node_modules/es5-ext/reg-exp/#/replace/is-implemented.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/replace/shim.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/search/implement.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/search/index.js5
-rw-r--r--node_modules/es5-ext/reg-exp/#/search/is-implemented.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/search/shim.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/split/implement.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/split/index.js5
-rw-r--r--node_modules/es5-ext/reg-exp/#/split/is-implemented.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/split/shim.js8
-rw-r--r--node_modules/es5-ext/reg-exp/#/sticky/implement.js9
-rw-r--r--node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js10
-rw-r--r--node_modules/es5-ext/reg-exp/#/unicode/implement.js9
-rw-r--r--node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js10
-rw-r--r--node_modules/es5-ext/reg-exp/escape.js11
-rw-r--r--node_modules/es5-ext/reg-exp/index.js8
-rw-r--r--node_modules/es5-ext/reg-exp/is-reg-exp.js7
-rw-r--r--node_modules/es5-ext/reg-exp/valid-reg-exp.js8
27 files changed, 216 insertions, 0 deletions
diff --git a/node_modules/es5-ext/reg-exp/#/index.js b/node_modules/es5-ext/reg-exp/#/index.js
new file mode 100644
index 000000000..9b098e0e2
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/index.js
@@ -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")
+};
diff --git a/node_modules/es5-ext/reg-exp/#/is-sticky.js b/node_modules/es5-ext/reg-exp/#/is-sticky.js
new file mode 100644
index 000000000..2d4bb2a65
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/is-sticky.js
@@ -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));
+};
diff --git a/node_modules/es5-ext/reg-exp/#/is-unicode.js b/node_modules/es5-ext/reg-exp/#/is-unicode.js
new file mode 100644
index 000000000..4c1ad9e2c
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/is-unicode.js
@@ -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));
+};
diff --git a/node_modules/es5-ext/reg-exp/#/match/implement.js b/node_modules/es5-ext/reg-exp/#/match/implement.js
new file mode 100644
index 000000000..ba89bcec1
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/match/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(RegExp.prototype, "match", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/match/index.js b/node_modules/es5-ext/reg-exp/#/match/index.js
new file mode 100644
index 000000000..b74d2f295
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/match/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? RegExp.prototype.match
+ : require("./shim");
diff --git a/node_modules/es5-ext/reg-exp/#/match/is-implemented.js b/node_modules/es5-ext/reg-exp/#/match/is-implemented.js
new file mode 100644
index 000000000..a5065fc72
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/match/is-implemented.js
@@ -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");
+};
diff --git a/node_modules/es5-ext/reg-exp/#/match/shim.js b/node_modules/es5-ext/reg-exp/#/match/shim.js
new file mode 100644
index 000000000..295582186
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/match/shim.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var validRegExp = require("../../valid-reg-exp");
+
+module.exports = function (string) {
+ validRegExp(this);
+ return String(string).match(this);
+};
diff --git a/node_modules/es5-ext/reg-exp/#/replace/implement.js b/node_modules/es5-ext/reg-exp/#/replace/implement.js
new file mode 100644
index 000000000..0db82917d
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/replace/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(RegExp.prototype, "replace", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/replace/index.js b/node_modules/es5-ext/reg-exp/#/replace/index.js
new file mode 100644
index 000000000..41ff4ba0c
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/replace/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? RegExp.prototype.replace
+ : require("./shim");
diff --git a/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js b/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js
new file mode 100644
index 000000000..0a2e7c2fe
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/replace/is-implemented.js
@@ -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";
+};
diff --git a/node_modules/es5-ext/reg-exp/#/replace/shim.js b/node_modules/es5-ext/reg-exp/#/replace/shim.js
new file mode 100644
index 000000000..66f5d5b7c
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/replace/shim.js
@@ -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);
+};
diff --git a/node_modules/es5-ext/reg-exp/#/search/implement.js b/node_modules/es5-ext/reg-exp/#/search/implement.js
new file mode 100644
index 000000000..34452615d
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/search/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(RegExp.prototype, "search", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/search/index.js b/node_modules/es5-ext/reg-exp/#/search/index.js
new file mode 100644
index 000000000..a17213e4d
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/search/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? RegExp.prototype.search
+ : require("./shim");
diff --git a/node_modules/es5-ext/reg-exp/#/search/is-implemented.js b/node_modules/es5-ext/reg-exp/#/search/is-implemented.js
new file mode 100644
index 000000000..7f38669f1
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/search/is-implemented.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var re = /foo/;
+
+module.exports = function () {
+ if (typeof re.search !== "function") return false;
+ return re.search("barfoo") === 3;
+};
diff --git a/node_modules/es5-ext/reg-exp/#/search/shim.js b/node_modules/es5-ext/reg-exp/#/search/shim.js
new file mode 100644
index 000000000..c97a78731
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/search/shim.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var validRegExp = require("../../valid-reg-exp");
+
+module.exports = function (string) {
+ validRegExp(this);
+ return String(string).search(this);
+};
diff --git a/node_modules/es5-ext/reg-exp/#/split/implement.js b/node_modules/es5-ext/reg-exp/#/split/implement.js
new file mode 100644
index 000000000..d94acdd85
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/split/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(RegExp.prototype, "split", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/split/index.js b/node_modules/es5-ext/reg-exp/#/split/index.js
new file mode 100644
index 000000000..7942f452d
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/split/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? RegExp.prototype.split
+ : require("./shim");
diff --git a/node_modules/es5-ext/reg-exp/#/split/is-implemented.js b/node_modules/es5-ext/reg-exp/#/split/is-implemented.js
new file mode 100644
index 000000000..90fca0cc8
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/split/is-implemented.js
@@ -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";
+};
diff --git a/node_modules/es5-ext/reg-exp/#/split/shim.js b/node_modules/es5-ext/reg-exp/#/split/shim.js
new file mode 100644
index 000000000..c9c73cce2
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/split/shim.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var validRegExp = require("../../valid-reg-exp");
+
+module.exports = function (string) {
+ validRegExp(this);
+ return String(string).split(this);
+};
diff --git a/node_modules/es5-ext/reg-exp/#/sticky/implement.js b/node_modules/es5-ext/reg-exp/#/sticky/implement.js
new file mode 100644
index 000000000..f636890f4
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/sticky/implement.js
@@ -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 });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js b/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js
new file mode 100644
index 000000000..a1ade1114
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/sticky/is-implemented.js
@@ -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;
+};
diff --git a/node_modules/es5-ext/reg-exp/#/unicode/implement.js b/node_modules/es5-ext/reg-exp/#/unicode/implement.js
new file mode 100644
index 000000000..a5fb20365
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/unicode/implement.js
@@ -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 });
+}
diff --git a/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js b/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js
new file mode 100644
index 000000000..48605d72a
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/#/unicode/is-implemented.js
@@ -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;
+};
diff --git a/node_modules/es5-ext/reg-exp/escape.js b/node_modules/es5-ext/reg-exp/escape.js
new file mode 100644
index 000000000..964e3c61a
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/escape.js
@@ -0,0 +1,11 @@
+// Thanks to Andrew Clover:
+// http://stackoverflow.com/questions/3561493
+// /is-there-a-regexp-escape-function-in-javascript
+
+"use strict";
+
+var re = /[-/\\^$*+?.()|[\]{}]/g;
+
+module.exports = function (str) {
+ return String(str).replace(re, "\\$&");
+};
diff --git a/node_modules/es5-ext/reg-exp/index.js b/node_modules/es5-ext/reg-exp/index.js
new file mode 100644
index 000000000..f023fe039
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/index.js
@@ -0,0 +1,8 @@
+"use strict";
+
+module.exports = {
+ "#": require("./#"),
+ "escape": require("./escape"),
+ "isRegExp": require("./is-reg-exp"),
+ "validRegExp": require("./valid-reg-exp")
+};
diff --git a/node_modules/es5-ext/reg-exp/is-reg-exp.js b/node_modules/es5-ext/reg-exp/is-reg-exp.js
new file mode 100644
index 000000000..b966b0f26
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/is-reg-exp.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var objToString = Object.prototype.toString, id = objToString.call(/a/);
+
+module.exports = function (value) {
+ return (value && (value instanceof RegExp || objToString.call(value) === id)) || false;
+};
diff --git a/node_modules/es5-ext/reg-exp/valid-reg-exp.js b/node_modules/es5-ext/reg-exp/valid-reg-exp.js
new file mode 100644
index 000000000..a05927a7e
--- /dev/null
+++ b/node_modules/es5-ext/reg-exp/valid-reg-exp.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var isRegExp = require("./is-reg-exp");
+
+module.exports = function (value) {
+ if (!isRegExp(value)) throw new TypeError(value + " is not a RegExp object");
+ return value;
+};