UNPKG

@storm-stack/date-time

Version:

This package includes a DateTime class, various utility functions for working with dates and times, and a number of formatting options.

32 lines (31 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateTime = validateTime; var _types = require("@storm-stack/types"); var _constants = require("../constants.cjs"); var _isDateTime = require("./is-date-time.cjs"); var _isInstant = require("./is-instant.cjs"); function validateTime(value, _options) { if ((0, _isDateTime.isDateTime)(value)) { return value.valid; } if ((0, _isInstant.isInstant)(value)) { return Boolean(value.epochMilliseconds); } let datetime; if ((0, _types.isDate)(value) || (0, _types.isNumber)(value) || (0, _types.isBigInt)(value)) { const date = (0, _types.isNumber)(value) || (0, _types.isBigInt)(value) ? new Date(Number(value)) : value; if (Number.isNaN(date.getTime())) { return false; } datetime = date.toUTCString(); } else { datetime = value === null || value === void 0 ? void 0 : value.toUpperCase(); } if (!datetime) { return false; } return _constants.RFC_3339_TIME_REGEX.test(datetime); }