UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

59 lines (58 loc) 2.11 kB
//#region src/utils/dates.ts /** Checks if the provided value is a valid date */ function isValidDate(value) { return `${new Date(value)}` !== "Invalid Date"; } /** Formats the date to ISO format: 'yyyy-mm-dd' */ function formatIsoDate(date) { const d = new Date(date); if (!isValidDate(d)) return void 0; return `${d?.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, "0")}-${d.getDate().toString().padStart(2, "0")}`; } /** * Parses string date with the iso format of YYYY-mm-dd * @param input string * @returns Date | undefined */ function parseIsoDate(input) { if (!input) return; const ticks = Date.parse(input); return isNaN(ticks) ? void 0 : new Date(ticks); } /** * Validation for 'YYYY-MM-DD' format */ function validateDateFormat(dateString) { return dateString.match(/^\d{4}-\d{2}-\d{2}$/); } const getDateUTCValue = (date) => ({ utcYear: date.getUTCFullYear(), utcMonth: date.getUTCMonth(), utcDate: date.getUTCDate() }); const generateDateByUTCValue = (year, month, day) => { return day ? new Date(Date.UTC(year, month, day)) : new Date(Date.UTC(year, month)); }; const sameYearSameMonth = (a, b) => { if (!a || !b) return false; return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth(); }; const sameYear = (a, b) => { if (!a || !b) return false; return a.getUTCFullYear() === b.getUTCFullYear() ? true : false; }; const sameDate = (a, b) => { if (!a || !b) return false; return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth() && a.getUTCDate() === b.getUTCDate(); }; const utcDateToLocale = (utcDate) => { if (!utcDate) return void 0; return new Date(utcDate.getUTCFullYear(), utcDate.getUTCMonth(), utcDate.getUTCDate()).toLocaleDateString(); }; const getCurrentYear = () => { return (/* @__PURE__ */ new Date()).getFullYear(); }; //#endregion export { formatIsoDate, generateDateByUTCValue, getCurrentYear, getDateUTCValue, isValidDate, parseIsoDate, sameDate, sameYear, sameYearSameMonth, utcDateToLocale, validateDateFormat }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=dates.js.map