aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/date
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/date')
-rw-r--r--node_modules/es5-ext/date/#/copy.js7
-rw-r--r--node_modules/es5-ext/date/#/days-in-month.js17
-rw-r--r--node_modules/es5-ext/date/#/floor-day.js8
-rw-r--r--node_modules/es5-ext/date/#/floor-month.js8
-rw-r--r--node_modules/es5-ext/date/#/floor-year.js8
-rw-r--r--node_modules/es5-ext/date/#/format.js38
-rw-r--r--node_modules/es5-ext/date/#/index.js10
-rw-r--r--node_modules/es5-ext/date/ensure-time-value.js10
-rw-r--r--node_modules/es5-ext/date/index.js9
-rw-r--r--node_modules/es5-ext/date/is-date.js10
-rw-r--r--node_modules/es5-ext/date/is-time-value.js12
-rw-r--r--node_modules/es5-ext/date/valid-date.js8
12 files changed, 145 insertions, 0 deletions
diff --git a/node_modules/es5-ext/date/#/copy.js b/node_modules/es5-ext/date/#/copy.js
new file mode 100644
index 00000000..9638a653
--- /dev/null
+++ b/node_modules/es5-ext/date/#/copy.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var getTime = Date.prototype.getTime;
+
+module.exports = function () {
+ return new Date(getTime.call(this));
+};
diff --git a/node_modules/es5-ext/date/#/days-in-month.js b/node_modules/es5-ext/date/#/days-in-month.js
new file mode 100644
index 00000000..8e8ca4d4
--- /dev/null
+++ b/node_modules/es5-ext/date/#/days-in-month.js
@@ -0,0 +1,17 @@
+"use strict";
+
+var getMonth = Date.prototype.getMonth;
+
+module.exports = function () {
+ switch (getMonth.call(this)) {
+ case 1:
+ return this.getFullYear() % 4 ? 28 : 29;
+ case 3:
+ case 5:
+ case 8:
+ case 10:
+ return 30;
+ default:
+ return 31;
+ }
+};
diff --git a/node_modules/es5-ext/date/#/floor-day.js b/node_modules/es5-ext/date/#/floor-day.js
new file mode 100644
index 00000000..db696d38
--- /dev/null
+++ b/node_modules/es5-ext/date/#/floor-day.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var setHours = Date.prototype.setHours;
+
+module.exports = function () {
+ setHours.call(this, 0, 0, 0, 0);
+ return this;
+};
diff --git a/node_modules/es5-ext/date/#/floor-month.js b/node_modules/es5-ext/date/#/floor-month.js
new file mode 100644
index 00000000..c9c0460b
--- /dev/null
+++ b/node_modules/es5-ext/date/#/floor-month.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var floorDay = require("./floor-day");
+
+module.exports = function () {
+ floorDay.call(this).setDate(1);
+ return this;
+};
diff --git a/node_modules/es5-ext/date/#/floor-year.js b/node_modules/es5-ext/date/#/floor-year.js
new file mode 100644
index 00000000..e9b6f0fe
--- /dev/null
+++ b/node_modules/es5-ext/date/#/floor-year.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var floorMonth = require("./floor-month");
+
+module.exports = function () {
+ floorMonth.call(this).setMonth(0);
+ return this;
+};
diff --git a/node_modules/es5-ext/date/#/format.js b/node_modules/es5-ext/date/#/format.js
new file mode 100644
index 00000000..519d77c4
--- /dev/null
+++ b/node_modules/es5-ext/date/#/format.js
@@ -0,0 +1,38 @@
+/* eslint id-length: "off" */
+
+"use strict";
+
+var pad = require("../../number/#/pad")
+ , date = require("../valid-date")
+ , format;
+
+format = require("../../string/format-method")({
+ Y: function () {
+ return String(this.getFullYear());
+ },
+ y: function () {
+ return String(this.getFullYear()).slice(-2);
+ },
+ m: function () {
+ return pad.call(this.getMonth() + 1, 2);
+ },
+ d: function () {
+ return pad.call(this.getDate(), 2);
+ },
+ H: function () {
+ return pad.call(this.getHours(), 2);
+ },
+ M: function () {
+ return pad.call(this.getMinutes(), 2);
+ },
+ S: function () {
+ return pad.call(this.getSeconds(), 2);
+ },
+ L: function () {
+ return pad.call(this.getMilliseconds(), 3);
+ }
+});
+
+module.exports = function (pattern) {
+ return format.call(date(this), pattern);
+};
diff --git a/node_modules/es5-ext/date/#/index.js b/node_modules/es5-ext/date/#/index.js
new file mode 100644
index 00000000..1781e218
--- /dev/null
+++ b/node_modules/es5-ext/date/#/index.js
@@ -0,0 +1,10 @@
+"use strict";
+
+module.exports = {
+ copy: require("./copy"),
+ daysInMonth: require("./days-in-month"),
+ floorDay: require("./floor-day"),
+ floorMonth: require("./floor-month"),
+ floorYear: require("./floor-year"),
+ format: require("./format")
+};
diff --git a/node_modules/es5-ext/date/ensure-time-value.js b/node_modules/es5-ext/date/ensure-time-value.js
new file mode 100644
index 00000000..09f5afcf
--- /dev/null
+++ b/node_modules/es5-ext/date/ensure-time-value.js
@@ -0,0 +1,10 @@
+"use strict";
+
+var safeToString = require("../safe-to-string")
+ , toInteger = require("../number/to-integer")
+ , isTimeValue = require("./is-time-value");
+
+module.exports = function (value) {
+ if (isTimeValue(value)) return toInteger(value);
+ throw new TypeError(safeToString(value) + " is not a valid time value");
+};
diff --git a/node_modules/es5-ext/date/index.js b/node_modules/es5-ext/date/index.js
new file mode 100644
index 00000000..c1431497
--- /dev/null
+++ b/node_modules/es5-ext/date/index.js
@@ -0,0 +1,9 @@
+"use strict";
+
+module.exports = {
+ "#": require("./#"),
+ "ensureTimeValue": require("./ensure-time-value"),
+ "isDate": require("./is-date"),
+ "isTimeValue": require("./is-time-value"),
+ "validDate": require("./valid-date")
+};
diff --git a/node_modules/es5-ext/date/is-date.js b/node_modules/es5-ext/date/is-date.js
new file mode 100644
index 00000000..f45bde46
--- /dev/null
+++ b/node_modules/es5-ext/date/is-date.js
@@ -0,0 +1,10 @@
+"use strict";
+
+var objToString = Object.prototype.toString, id = objToString.call(new Date());
+
+module.exports = function (value) {
+ return (
+ (value && !isNaN(value) && (value instanceof Date || objToString.call(value) === id)) ||
+ false
+ );
+};
diff --git a/node_modules/es5-ext/date/is-time-value.js b/node_modules/es5-ext/date/is-time-value.js
new file mode 100644
index 00000000..4240fec5
--- /dev/null
+++ b/node_modules/es5-ext/date/is-time-value.js
@@ -0,0 +1,12 @@
+"use strict";
+
+module.exports = function (value) {
+ try {
+ value = Number(value);
+ } catch (e) {
+ return false;
+ }
+ if (isNaN(value)) return false;
+ if (Math.abs(value) > 8.64e16) return false;
+ return true;
+};
diff --git a/node_modules/es5-ext/date/valid-date.js b/node_modules/es5-ext/date/valid-date.js
new file mode 100644
index 00000000..0c73dc5d
--- /dev/null
+++ b/node_modules/es5-ext/date/valid-date.js
@@ -0,0 +1,8 @@
+"use strict";
+
+var isDate = require("./is-date");
+
+module.exports = function (value) {
+ if (!isDate(value)) throw new TypeError(value + " is not valid Date object");
+ return value;
+};