29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| "use strict";
 | |
| 
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.default = isRFC3339;
 | |
| var _assertString = _interopRequireDefault(require("./util/assertString"));
 | |
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
 | |
| /* 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; |