UNPKG

@hotmeshio/hotmesh

Version:

Permanent-Memory Workflows & AI Agents

172 lines (171 loc) 6.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateHandler = void 0; const utils_1 = require("../../../modules/utils"); class DateHandler { /** * It is so common in mapping operations to use a string (ISO) date as input. This helper * method allows for a more-concise mapping ruleset by avoiding date initialization boilerplate * code and instead handles the ISO, Milliseconds, and ECMAScript Date input types. * @param input * @returns */ static getDateInstance(input) { const ISO_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?$/; if (typeof input === 'string') { if (ISO_REGEX.test(input)) { return new Date(input); } const milliseconds = parseInt(input, 10); if (!isNaN(milliseconds)) { return new Date(milliseconds); } } else if (input instanceof Date) { return input; } else if (typeof input === 'number') { return new Date(input); } throw new Error('Invalid date format'); } fromISOString(isoString) { return new Date(isoString); } now() { return Date.now(); } parse(dateString) { return Date.parse(dateString); } getDate(date) { return DateHandler.getDateInstance(date).getDate(); } getDay(date) { return DateHandler.getDateInstance(date).getDay(); } getFullYear(date) { return DateHandler.getDateInstance(date).getFullYear(); } getHours(date) { return DateHandler.getDateInstance(date).getHours(); } getMilliseconds(date) { return DateHandler.getDateInstance(date).getMilliseconds(); } getMinutes(date) { return DateHandler.getDateInstance(date).getMinutes(); } getMonth(date) { return DateHandler.getDateInstance(date).getMonth(); } getSeconds(date) { return DateHandler.getDateInstance(date).getSeconds(); } getTime(date) { return DateHandler.getDateInstance(date).getTime(); } getTimezoneOffset(date) { return DateHandler.getDateInstance(date).getTimezoneOffset(); } getUTCDate(date) { return DateHandler.getDateInstance(date).getUTCDate(); } getUTCDay(date) { return DateHandler.getDateInstance(date).getUTCDay(); } getUTCFullYear(date) { return DateHandler.getDateInstance(date).getUTCFullYear(); } getUTCHours(date) { return DateHandler.getDateInstance(date).getUTCHours(); } getUTCMilliseconds(date) { return DateHandler.getDateInstance(date).getUTCMilliseconds(); } getUTCMinutes(date) { return DateHandler.getDateInstance(date).getUTCMinutes(); } getUTCMonth(date) { return DateHandler.getDateInstance(date).getUTCMonth(); } getUTCSeconds(date) { return DateHandler.getDateInstance(date).getUTCSeconds(); } setMilliseconds(date, ms) { return DateHandler.getDateInstance(date).setMilliseconds(ms); } setMinutes(date, minutes, seconds, ms) { return DateHandler.getDateInstance(date).setMinutes(minutes, seconds, ms); } setMonth(date, month, day) { return DateHandler.getDateInstance(date).setMonth(month, day); } setSeconds(date, seconds, ms) { return DateHandler.getDateInstance(date).setSeconds(seconds, ms); } setTime(date, time) { return DateHandler.getDateInstance(date).setTime(time); } setUTCDate(date, day) { return DateHandler.getDateInstance(date).setUTCDate(day); } setUTCFullYear(date, year, month, day) { return DateHandler.getDateInstance(date).setUTCFullYear(year, month, day); } setUTCHours(date, hours, minutes, seconds, ms) { return DateHandler.getDateInstance(date).setUTCHours(hours, minutes, seconds, ms); } setUTCMilliseconds(date, ms) { return DateHandler.getDateInstance(date).setUTCMilliseconds(ms); } setUTCMinutes(date, minutes, seconds, ms) { return DateHandler.getDateInstance(date).setUTCMinutes(minutes, seconds, ms); } setUTCMonth(date, month, day) { return DateHandler.getDateInstance(date).setUTCMonth(month, day); } setUTCSeconds(date, seconds, ms) { return DateHandler.getDateInstance(date).setUTCSeconds(seconds, ms); } setDate(date, day) { return DateHandler.getDateInstance(date).setDate(day); } setFullYear(date, year, month, day) { return DateHandler.getDateInstance(date).setFullYear(year, month, day); } setHours(date, hours, minutes, seconds, ms) { return DateHandler.getDateInstance(date).setHours(hours, minutes, seconds, ms); } toDateString(date) { return DateHandler.getDateInstance(date).toDateString(); } toISOString(date) { return DateHandler.getDateInstance(date).toISOString(); } toISOXString(date) { return (0, utils_1.formatISODate)(date ? DateHandler.getDateInstance(date) : new Date()); } toJSON(date) { return DateHandler.getDateInstance(date).toJSON(); } toLocaleDateString(date, locales, options) { return DateHandler.getDateInstance(date).toLocaleDateString(locales, options); } toLocaleString(date, locales, options) { return DateHandler.getDateInstance(date).toLocaleString(locales, options); } toLocaleTimeString(date, locales, options) { return DateHandler.getDateInstance(date).toLocaleTimeString(locales, options); } toString(date) { return DateHandler.getDateInstance(date).toString(); } UTC(year, month, date, hours, minutes, seconds, ms) { return Date.UTC(year, month, date, hours, minutes, seconds, ms); } valueOf(date) { return DateHandler.getDateInstance(date).valueOf(); } } exports.DateHandler = DateHandler;