Files
2026-04-07 03:25:10 +02:00

26 lines
762 B
JavaScript

class Utils {
static safeString(value) {
if (value === null || value === undefined || value === "") return "-";
return String(value);
}
static toTitle(value) {
if (String(value || "").toLowerCase() === "finished") return "Done";
return String(value || "").replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase());
}
static formatObservedAtLocal(value) {
if (value === null || value === undefined || value === "") return "-";
const raw = String(value).trim();
const parsed = new Date(raw);
if (Number.isNaN(parsed.getTime())) {
return Utils.safeString(raw).slice(11, 19);
}
return parsed.toLocaleTimeString([], {
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
});
}
}