summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/validator/lib/isRFC3339.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/validator/lib/isRFC3339.js')
-rw-r--r--includes/external/addressbook/node_modules/validator/lib/isRFC3339.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/validator/lib/isRFC3339.js b/includes/external/addressbook/node_modules/validator/lib/isRFC3339.js
new file mode 100644
index 0000000..da10790
--- /dev/null
+++ b/includes/external/addressbook/node_modules/validator/lib/isRFC3339.js
@@ -0,0 +1,33 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = isRFC3339;
+
+var _assertString = _interopRequireDefault(require("./util/assertString"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+/* Based on https://tools.ietf.org/html/rfc3339#section-5.6 */
+var dateFullYear = /[0-9]{4}/;
+var dateMonth = /(0[1-9]|1[0-2])/;
+var dateMDay = /([12]\d|0[1-9]|3[01])/;
+var timeHour = /([01][0-9]|2[0-3])/;
+var timeMinute = /[0-5][0-9]/;
+var timeSecond = /([0-5][0-9]|60)/;
+var timeSecFrac = /(\.[0-9]+)?/;
+var timeNumOffset = new RegExp("[-+]".concat(timeHour.source, ":").concat(timeMinute.source));
+var timeOffset = new RegExp("([zZ]|".concat(timeNumOffset.source, ")"));
+var partialTime = new RegExp("".concat(timeHour.source, ":").concat(timeMinute.source, ":").concat(timeSecond.source).concat(timeSecFrac.source));
+var fullDate = new RegExp("".concat(dateFullYear.source, "-").concat(dateMonth.source, "-").concat(dateMDay.source));
+var fullTime = new RegExp("".concat(partialTime.source).concat(timeOffset.source));
+var rfc3339 = new RegExp("^".concat(fullDate.source, "[ tT]").concat(fullTime.source, "$"));
+
+function isRFC3339(str) {
+ (0, _assertString.default)(str);
+ return rfc3339.test(str);
+}
+
+module.exports = exports.default;
+module.exports.default = exports.default; \ No newline at end of file