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/index.js7
-rw-r--r--node_modules/es5-ext/date/is-date.js7
-rw-r--r--node_modules/es5-ext/date/valid-date.js8
10 files changed, 118 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 000000000..9638a6539
--- /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 000000000..8e8ca4d4f
--- /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 000000000..db696d38e
--- /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 000000000..c9c0460ba
--- /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 000000000..e9b6f0fe7
--- /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 000000000..519d77c4a
--- /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 000000000..1781e2180
--- /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/index.js b/node_modules/es5-ext/date/index.js
new file mode 100644
index 000000000..507e5e69e
--- /dev/null
+++ b/node_modules/es5-ext/date/index.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = {
+ "#": require("./#"),
+ "isDate": require("./is-date"),
+ "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 000000000..97582032d
--- /dev/null
+++ b/node_modules/es5-ext/date/is-date.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var objToString = Object.prototype.toString, id = objToString.call(new Date());
+
+module.exports = function (value) {
+ return (value && (value instanceof Date || objToString.call(value) === id)) || false;
+};
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 000000000..c17125f0f
--- /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) || isNaN(value)) throw new TypeError(value + " is not valid Date object");
+ return value;
+};