UNPKG

@skbkontur/db-viewer-ui

Version:

Database Viewer with custom configuration

49 lines 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.padTime = exports.buildDateTime = exports.getTimeZoneString = exports.convertStringToDate = exports.convertDateToStringWithTimezone = void 0; const edi_ui_1 = require("@skbkontur/edi-ui"); const convertDateToStringWithTimezone = (date, timeZone) => date ? edi_ui_1.DateUtils.formatDate(date, "dd.MM.yyyy", edi_ui_1.TimeUtils.getTimeZoneOffsetOrDefault(timeZone)) : ""; exports.convertDateToStringWithTimezone = convertDateToStringWithTimezone; const convertStringToDate = (newStringifiedDate, defaultTime, timeZone) => { const dateParsed = edi_ui_1.DateUtils.parseDate(newStringifiedDate); const ISODate = edi_ui_1.DateUtils.formatDate(dateParsed, "yyyy-MM-dd"); const time = defaultTime || "00:00"; const timeZoneOffset = edi_ui_1.TimeUtils.getTimeZoneOffsetOrDefault(timeZone); return new Date(`${ISODate}T${time}${edi_ui_1.TimeUtils.timeZoneOffsetToString(timeZoneOffset)}`); }; exports.convertStringToDate = convertStringToDate; const getTimeZoneString = (date) => { const timezoneRegex = /.*T.*(Z|[+-].*)/i; const matches = date.match(timezoneRegex); if (!matches || matches.length < 2) { return null; } return matches[1]; }; exports.getTimeZoneString = getTimeZoneString; const buildDateTime = (date, time, offset, defaultTime) => { if (!date) { return null; } const datePart = edi_ui_1.DateUtils.formatDate(date, "yyyy-MM-dd", 0); return `${datePart}T${time !== null && time !== void 0 ? time : defaultTime}${offset !== null && offset !== void 0 ? offset : ""}`; }; exports.buildDateTime = buildDateTime; const padTime = (input, useSeconds) => { const cleaned = input === null || input === void 0 ? void 0 : input.replace(/[:.]+$/, ""); if (!cleaned) { return ""; } const [h = "", m = "", rest = ""] = cleaned.split(":"); const [s = "", ms = ""] = rest.split("."); const hours = h.padStart(2, "0"); const minutes = m.padEnd(2, "0"); const seconds = s.padEnd(2, "0"); const milliseconds = ms.padEnd(3, "0"); if (!useSeconds) { return `${hours}:${minutes}`; } return `${hours}:${minutes}:${seconds}.${milliseconds}`; }; exports.padTime = padTime; //# sourceMappingURL=helpers.js.map