"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;