UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

25 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseCalendarDate = exports.getDateKey = void 0; var date_fns_tz_1 = require("date-fns-tz"); var ISO_DATE_ONLY_REGEXP = /^(\d{4})-(\d{2})-(\d{2})$/; var ISO_TIME_ZONE_REGEXP = /(?:Z|[+-]\d{2}:?\d{2})$/i; var padDatePart = function (datePart) { return datePart.toString().padStart(2, '0'); }; var getDateKey = function (date) { return "".concat(date.getFullYear(), "-").concat(padDatePart(date.getMonth() + 1), "-").concat(padDatePart(date.getDate())); }; exports.getDateKey = getDateKey; var parseCalendarDate = function (dateString, timeZone) { var dateOnlyMatch = ISO_DATE_ONLY_REGEXP.exec(dateString); if (dateOnlyMatch) { var year = dateOnlyMatch[1], month = dateOnlyMatch[2], day = dateOnlyMatch[3]; return new Date(Number(year), Number(month) - 1, Number(day)); } var parsedDate = new Date(dateString); if (Number.isNaN(parsedDate.getTime()) || !ISO_TIME_ZONE_REGEXP.test(dateString)) { return parsedDate; } return (0, date_fns_tz_1.utcToZonedTime)(parsedDate, timeZone); }; exports.parseCalendarDate = parseCalendarDate; //# sourceMappingURL=dateUtils.js.map