aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/number
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/number')
-rw-r--r--node_modules/es5-ext/number/#/index.js5
-rw-r--r--node_modules/es5-ext/number/#/pad.js15
-rw-r--r--node_modules/es5-ext/number/epsilon/implement.js8
-rw-r--r--node_modules/es5-ext/number/epsilon/index.js3
-rw-r--r--node_modules/es5-ext/number/epsilon/is-implemented.js5
-rw-r--r--node_modules/es5-ext/number/index.js17
-rw-r--r--node_modules/es5-ext/number/is-finite/implement.js8
-rw-r--r--node_modules/es5-ext/number/is-finite/index.js5
-rw-r--r--node_modules/es5-ext/number/is-finite/is-implemented.js7
-rw-r--r--node_modules/es5-ext/number/is-finite/shim.js5
-rw-r--r--node_modules/es5-ext/number/is-integer/implement.js8
-rw-r--r--node_modules/es5-ext/number/is-integer/index.js5
-rw-r--r--node_modules/es5-ext/number/is-integer/is-implemented.js7
-rw-r--r--node_modules/es5-ext/number/is-integer/shim.js8
-rw-r--r--node_modules/es5-ext/number/is-nan/implement.js8
-rw-r--r--node_modules/es5-ext/number/is-nan/index.js5
-rw-r--r--node_modules/es5-ext/number/is-nan/is-implemented.js7
-rw-r--r--node_modules/es5-ext/number/is-nan/shim.js6
-rw-r--r--node_modules/es5-ext/number/is-natural.js7
-rw-r--r--node_modules/es5-ext/number/is-number.js10
-rw-r--r--node_modules/es5-ext/number/is-safe-integer/implement.js8
-rw-r--r--node_modules/es5-ext/number/is-safe-integer/index.js5
-rw-r--r--node_modules/es5-ext/number/is-safe-integer/is-implemented.js8
-rw-r--r--node_modules/es5-ext/number/is-safe-integer/shim.js11
-rw-r--r--node_modules/es5-ext/number/max-safe-integer/implement.js8
-rw-r--r--node_modules/es5-ext/number/max-safe-integer/index.js3
-rw-r--r--node_modules/es5-ext/number/max-safe-integer/is-implemented.js5
-rw-r--r--node_modules/es5-ext/number/min-safe-integer/implement.js8
-rw-r--r--node_modules/es5-ext/number/min-safe-integer/index.js3
-rw-r--r--node_modules/es5-ext/number/min-safe-integer/is-implemented.js5
-rw-r--r--node_modules/es5-ext/number/to-integer.js12
-rw-r--r--node_modules/es5-ext/number/to-pos-integer.js9
-rw-r--r--node_modules/es5-ext/number/to-uint32.js6
33 files changed, 240 insertions, 0 deletions
diff --git a/node_modules/es5-ext/number/#/index.js b/node_modules/es5-ext/number/#/index.js
new file mode 100644
index 000000000..e6e21c309
--- /dev/null
+++ b/node_modules/es5-ext/number/#/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = {
+ pad: require("./pad")
+};
diff --git a/node_modules/es5-ext/number/#/pad.js b/node_modules/es5-ext/number/#/pad.js
new file mode 100644
index 000000000..26fe4b63a
--- /dev/null
+++ b/node_modules/es5-ext/number/#/pad.js
@@ -0,0 +1,15 @@
+"use strict";
+
+var pad = require("../../string/#/pad")
+ , toPosInt = require("../to-pos-integer")
+
+ , toFixed = Number.prototype.toFixed;
+
+module.exports = function (length/*, precision*/) {
+ var precision;
+ length = toPosInt(length);
+ precision = toPosInt(arguments[1]);
+
+ return pad.call(precision ? toFixed.call(this, precision) : this,
+ "0", length + (precision ? 1 + precision : 0));
+};
diff --git a/node_modules/es5-ext/number/epsilon/implement.js b/node_modules/es5-ext/number/epsilon/implement.js
new file mode 100644
index 000000000..fa19131a8
--- /dev/null
+++ b/node_modules/es5-ext/number/epsilon/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "EPSILON", { value: require("./"),
+ configurable: false,
+enumerable: false,
+writable: false });
+}
diff --git a/node_modules/es5-ext/number/epsilon/index.js b/node_modules/es5-ext/number/epsilon/index.js
new file mode 100644
index 000000000..12e8a8d2c
--- /dev/null
+++ b/node_modules/es5-ext/number/epsilon/index.js
@@ -0,0 +1,3 @@
+"use strict";
+
+module.exports = 2.220446049250313e-16;
diff --git a/node_modules/es5-ext/number/epsilon/is-implemented.js b/node_modules/es5-ext/number/epsilon/is-implemented.js
new file mode 100644
index 000000000..1cfbded21
--- /dev/null
+++ b/node_modules/es5-ext/number/epsilon/is-implemented.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = function () {
+ return typeof Number.EPSILON === "number";
+};
diff --git a/node_modules/es5-ext/number/index.js b/node_modules/es5-ext/number/index.js
new file mode 100644
index 000000000..b57ff1505
--- /dev/null
+++ b/node_modules/es5-ext/number/index.js
@@ -0,0 +1,17 @@
+"use strict";
+
+module.exports = {
+ "#": require("./#"),
+ "EPSILON": require("./epsilon"),
+ "isFinite": require("./is-finite"),
+ "isInteger": require("./is-integer"),
+ "isNaN": require("./is-nan"),
+ "isNatural": require("./is-natural"),
+ "isNumber": require("./is-number"),
+ "isSafeInteger": require("./is-safe-integer"),
+ "MAX_SAFE_INTEGER": require("./max-safe-integer"),
+ "MIN_SAFE_INTEGER": require("./min-safe-integer"),
+ "toInteger": require("./to-integer"),
+ "toPosInteger": require("./to-pos-integer"),
+ "toUint32": require("./to-uint32")
+};
diff --git a/node_modules/es5-ext/number/is-finite/implement.js b/node_modules/es5-ext/number/is-finite/implement.js
new file mode 100644
index 000000000..17f67cbc4
--- /dev/null
+++ b/node_modules/es5-ext/number/is-finite/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "isFinite", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/number/is-finite/index.js b/node_modules/es5-ext/number/is-finite/index.js
new file mode 100644
index 000000000..dbeaf7b85
--- /dev/null
+++ b/node_modules/es5-ext/number/is-finite/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? Number.isFinite
+ : require("./shim");
diff --git a/node_modules/es5-ext/number/is-finite/is-implemented.js b/node_modules/es5-ext/number/is-finite/is-implemented.js
new file mode 100644
index 000000000..eadd05078
--- /dev/null
+++ b/node_modules/es5-ext/number/is-finite/is-implemented.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = function () {
+ var numberIsFinite = Number.isFinite;
+ if (typeof numberIsFinite !== "function") return false;
+ return !numberIsFinite("23") && numberIsFinite(34) && !numberIsFinite(Infinity);
+};
diff --git a/node_modules/es5-ext/number/is-finite/shim.js b/node_modules/es5-ext/number/is-finite/shim.js
new file mode 100644
index 000000000..72dd7aae6
--- /dev/null
+++ b/node_modules/es5-ext/number/is-finite/shim.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = function (value) {
+ return (typeof value === "number") && isFinite(value);
+};
diff --git a/node_modules/es5-ext/number/is-integer/implement.js b/node_modules/es5-ext/number/is-integer/implement.js
new file mode 100644
index 000000000..dd1f3bd0e
--- /dev/null
+++ b/node_modules/es5-ext/number/is-integer/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "isInteger", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/number/is-integer/index.js b/node_modules/es5-ext/number/is-integer/index.js
new file mode 100644
index 000000000..71cde73a0
--- /dev/null
+++ b/node_modules/es5-ext/number/is-integer/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? Number.isInteger
+ : require("./shim");
diff --git a/node_modules/es5-ext/number/is-integer/is-implemented.js b/node_modules/es5-ext/number/is-integer/is-implemented.js
new file mode 100644
index 000000000..f357c7178
--- /dev/null
+++ b/node_modules/es5-ext/number/is-integer/is-implemented.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = function () {
+ var isInteger = Number.isInteger;
+ if (typeof isInteger !== "function") return false;
+ return !isInteger("23") && isInteger(34) && !isInteger(32.34);
+};
diff --git a/node_modules/es5-ext/number/is-integer/shim.js b/node_modules/es5-ext/number/is-integer/shim.js
new file mode 100644
index 000000000..12058b5a4
--- /dev/null
+++ b/node_modules/es5-ext/number/is-integer/shim.js
@@ -0,0 +1,8 @@
+// Credit: http://www.2ality.com/2014/05/is-integer.html
+
+"use strict";
+
+module.exports = function (value) {
+ if (typeof value !== "number") return false;
+ return value % 1 === 0;
+};
diff --git a/node_modules/es5-ext/number/is-nan/implement.js b/node_modules/es5-ext/number/is-nan/implement.js
new file mode 100644
index 000000000..2f9126c90
--- /dev/null
+++ b/node_modules/es5-ext/number/is-nan/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "isNaN", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/number/is-nan/index.js b/node_modules/es5-ext/number/is-nan/index.js
new file mode 100644
index 000000000..9128d5c01
--- /dev/null
+++ b/node_modules/es5-ext/number/is-nan/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? Number.isNaN
+ : require("./shim");
diff --git a/node_modules/es5-ext/number/is-nan/is-implemented.js b/node_modules/es5-ext/number/is-nan/is-implemented.js
new file mode 100644
index 000000000..756838a41
--- /dev/null
+++ b/node_modules/es5-ext/number/is-nan/is-implemented.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = function () {
+ var numberIsNaN = Number.isNaN;
+ if (typeof numberIsNaN !== "function") return false;
+ return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);
+};
diff --git a/node_modules/es5-ext/number/is-nan/shim.js b/node_modules/es5-ext/number/is-nan/shim.js
new file mode 100644
index 000000000..b5730d1d6
--- /dev/null
+++ b/node_modules/es5-ext/number/is-nan/shim.js
@@ -0,0 +1,6 @@
+"use strict";
+
+module.exports = function (value) {
+ // eslint-disable-next-line no-self-compare
+ return value !== value;
+};
diff --git a/node_modules/es5-ext/number/is-natural.js b/node_modules/es5-ext/number/is-natural.js
new file mode 100644
index 000000000..329966e32
--- /dev/null
+++ b/node_modules/es5-ext/number/is-natural.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var isInteger = require("./is-integer");
+
+module.exports = function (num) {
+ return isInteger(num) && (num >= 0);
+};
diff --git a/node_modules/es5-ext/number/is-number.js b/node_modules/es5-ext/number/is-number.js
new file mode 100644
index 000000000..3da0712d2
--- /dev/null
+++ b/node_modules/es5-ext/number/is-number.js
@@ -0,0 +1,10 @@
+"use strict";
+
+var objToString = Object.prototype.toString, id = objToString.call(1);
+
+module.exports = function (value) {
+ return (
+ typeof value === "number" ||
+ (value instanceof Number || (typeof value === "object" && objToString.call(value) === id))
+ );
+};
diff --git a/node_modules/es5-ext/number/is-safe-integer/implement.js b/node_modules/es5-ext/number/is-safe-integer/implement.js
new file mode 100644
index 000000000..6092db75f
--- /dev/null
+++ b/node_modules/es5-ext/number/is-safe-integer/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "isSafeInteger", { value: require("./shim"),
+ configurable: true,
+enumerable: false,
+writable: true });
+}
diff --git a/node_modules/es5-ext/number/is-safe-integer/index.js b/node_modules/es5-ext/number/is-safe-integer/index.js
new file mode 100644
index 000000000..d4314df15
--- /dev/null
+++ b/node_modules/es5-ext/number/is-safe-integer/index.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = require("./is-implemented")()
+ ? Number.isSafeInteger
+ : require("./shim");
diff --git a/node_modules/es5-ext/number/is-safe-integer/is-implemented.js b/node_modules/es5-ext/number/is-safe-integer/is-implemented.js
new file mode 100644
index 000000000..36b0db561
--- /dev/null
+++ b/node_modules/es5-ext/number/is-safe-integer/is-implemented.js
@@ -0,0 +1,8 @@
+"use strict";
+
+module.exports = function () {
+ var isSafeInteger = Number.isSafeInteger;
+ if (typeof isSafeInteger !== "function") return false;
+ return !isSafeInteger("23") && isSafeInteger(34232322323) &&
+ !isSafeInteger(9007199254740992);
+};
diff --git a/node_modules/es5-ext/number/is-safe-integer/shim.js b/node_modules/es5-ext/number/is-safe-integer/shim.js
new file mode 100644
index 000000000..de7f22f37
--- /dev/null
+++ b/node_modules/es5-ext/number/is-safe-integer/shim.js
@@ -0,0 +1,11 @@
+"use strict";
+
+var isInteger = require("../is-integer/shim")
+ , maxValue = require("../max-safe-integer")
+
+ , abs = Math.abs;
+
+module.exports = function (value) {
+ if (!isInteger(value)) return false;
+ return abs(value) <= maxValue;
+};
diff --git a/node_modules/es5-ext/number/max-safe-integer/implement.js b/node_modules/es5-ext/number/max-safe-integer/implement.js
new file mode 100644
index 000000000..be5a2933a
--- /dev/null
+++ b/node_modules/es5-ext/number/max-safe-integer/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "MAX_SAFE_INTEGER", { value: require("./"),
+ configurable: false,
+enumerable: false,
+writable: false });
+}
diff --git a/node_modules/es5-ext/number/max-safe-integer/index.js b/node_modules/es5-ext/number/max-safe-integer/index.js
new file mode 100644
index 000000000..75a41e7c0
--- /dev/null
+++ b/node_modules/es5-ext/number/max-safe-integer/index.js
@@ -0,0 +1,3 @@
+"use strict";
+
+module.exports = Math.pow(2, 53) - 1;
diff --git a/node_modules/es5-ext/number/max-safe-integer/is-implemented.js b/node_modules/es5-ext/number/max-safe-integer/is-implemented.js
new file mode 100644
index 000000000..09a7da750
--- /dev/null
+++ b/node_modules/es5-ext/number/max-safe-integer/is-implemented.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = function () {
+ return typeof Number.MAX_SAFE_INTEGER === "number";
+};
diff --git a/node_modules/es5-ext/number/min-safe-integer/implement.js b/node_modules/es5-ext/number/min-safe-integer/implement.js
new file mode 100644
index 000000000..77d027454
--- /dev/null
+++ b/node_modules/es5-ext/number/min-safe-integer/implement.js
@@ -0,0 +1,8 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Number, "MIN_SAFE_INTEGER", { value: require("./"),
+ configurable: false,
+enumerable: false,
+writable: false });
+}
diff --git a/node_modules/es5-ext/number/min-safe-integer/index.js b/node_modules/es5-ext/number/min-safe-integer/index.js
new file mode 100644
index 000000000..cde451462
--- /dev/null
+++ b/node_modules/es5-ext/number/min-safe-integer/index.js
@@ -0,0 +1,3 @@
+"use strict";
+
+module.exports = -(Math.pow(2, 53) - 1);
diff --git a/node_modules/es5-ext/number/min-safe-integer/is-implemented.js b/node_modules/es5-ext/number/min-safe-integer/is-implemented.js
new file mode 100644
index 000000000..7b63253fc
--- /dev/null
+++ b/node_modules/es5-ext/number/min-safe-integer/is-implemented.js
@@ -0,0 +1,5 @@
+"use strict";
+
+module.exports = function () {
+ return typeof Number.MIN_SAFE_INTEGER === "number";
+};
diff --git a/node_modules/es5-ext/number/to-integer.js b/node_modules/es5-ext/number/to-integer.js
new file mode 100644
index 000000000..524395ce7
--- /dev/null
+++ b/node_modules/es5-ext/number/to-integer.js
@@ -0,0 +1,12 @@
+"use strict";
+
+var sign = require("../math/sign")
+
+ , abs = Math.abs, floor = Math.floor;
+
+module.exports = function (value) {
+ if (isNaN(value)) return 0;
+ value = Number(value);
+ if ((value === 0) || !isFinite(value)) return value;
+ return sign(value) * floor(abs(value));
+};
diff --git a/node_modules/es5-ext/number/to-pos-integer.js b/node_modules/es5-ext/number/to-pos-integer.js
new file mode 100644
index 000000000..fe2813da5
--- /dev/null
+++ b/node_modules/es5-ext/number/to-pos-integer.js
@@ -0,0 +1,9 @@
+"use strict";
+
+var toInteger = require("./to-integer")
+
+ , max = Math.max;
+
+module.exports = function (value) {
+ return max(0, toInteger(value));
+};
diff --git a/node_modules/es5-ext/number/to-uint32.js b/node_modules/es5-ext/number/to-uint32.js
new file mode 100644
index 000000000..cb3590aa2
--- /dev/null
+++ b/node_modules/es5-ext/number/to-uint32.js
@@ -0,0 +1,6 @@
+"use strict";
+
+module.exports = function (value) {
+ // eslint-disable-next-line no-bitwise
+ return value >>> 0;
+};