onix-core
Version:
Onix library core
50 lines • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatTimer = void 0;
const tslib_1 = require("tslib");
const padStart_1 = tslib_1.__importDefault(require("lodash/padStart"));
const i18n_1 = require("../../i18n");
const timestampToInterval_1 = require("./timestampToInterval");
const formatTimer = (timestamp, short = true, isend) => {
if (isNaN(timestamp)) {
return i18n_1._("timer", "empty");
}
const category = short ? "timer" : "datetime";
const interval = timestampToInterval_1.timestampToInterval(timestamp);
const result = [];
if (interval.invert || ((interval.d === 0) && (interval.h === 0) && (interval.i === 0) && (interval.s === 0) && (interval.f === 0))) {
result.push(isend !== null && isend !== void 0 ? isend : i18n_1._("timer", "isend"));
}
else {
if (interval.d > 0) {
result.push(i18n_1._(category, "days", { d: interval.d }));
if (interval.h > 0) {
result.push(i18n_1._(category, "hours", { h: interval.h }));
}
}
else {
const f = (interval.h === 0) && (interval.i === 0) && (interval.s < 10) && (interval.f > 0) ? "." + padStart_1.default(interval.f.toString(), 3, "0") : "";
if (interval.h > 0) {
result.push(padStart_1.default(interval.h.toString(), 2, "0") + ":" +
padStart_1.default(interval.i.toString(), 2, "0") + ":" +
padStart_1.default(interval.s.toString(), 2, "0") + f);
}
else if (interval.i > 0) {
result.push(padStart_1.default(interval.i.toString(), 2, "0") + ":" +
padStart_1.default(interval.s.toString(), 2, "0") + f);
}
else {
if (f.length > 0) {
result.push(padStart_1.default(interval.s.toString(), 2, "0") + f);
}
else {
result.push(padStart_1.default(interval.i.toString(), 2, "0") + ":" +
padStart_1.default(interval.s.toString(), 2, "0") + f);
}
}
}
}
return result.join(" ");
};
exports.formatTimer = formatTimer;
//# sourceMappingURL=formatTimer.js.map