26 lines
762 B
JavaScript
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",
|
|
});
|
|
}
|
|
}
|