UNPKG

ts-cast

Version:
15 lines (14 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.jsDateTimeStamp = exports.unixDateTimeStamp = exports.isoDate = void 0; var engine_1 = require("../engine"); var parseDate = function (typeName, value, context, reportError) { var date = new Date(value); if (Number.isNaN(date.getTime())) { return reportError("".concat(typeName, " is expected").concat(context ? " in ".concat(context) : '', " but \"").concat(value, "\" received."), context); } return date; }; exports.isoDate = (0, engine_1.createCaster)('ISODate', function (value) { return typeof value === 'string' && value !== ''; }, function (value, context, reportError) { return parseDate('ISODate', value, context, reportError); }); exports.unixDateTimeStamp = (0, engine_1.createCaster)('UnixDateTimeStamp', function (value) { return typeof value === 'number'; }, function (value, context, reportError) { return parseDate('UnixDateTimeStamp', value * 1000, context, reportError); }); exports.jsDateTimeStamp = (0, engine_1.createCaster)('JSDateTimeStamp', function (value) { return typeof value === 'number'; }, function (value, context, reportError) { return parseDate('JSDateTimeStamp', value, context, reportError); });