dk-plus
Version:
29 lines (28 loc) • 871 B
JavaScript
const c = (s) => s < 10 ? `0${s}` : String(s), l = (s) => {
var e;
const t = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d))?$/.exec(String(s || "").trim());
if (!t)
return null;
const n = Number(t[1]), o = Number(t[2]), r = Number((e = t[3]) != null ? e : 0);
return n * 3600 + o * 60 + r;
}, i = (s, t = !1) => {
const n = Math.max(0, Math.floor(s)), o = Math.floor(n / 3600), r = Math.floor(n % 3600 / 60), e = n % 60;
return t ? `${c(o)}:${c(r)}:${c(e)}` : `${c(o)}:${c(r)}`;
}, a = (s) => {
const t = l(s);
return t === null || t <= 0 ? 1800 : t;
}, f = (s, t, n) => {
const o = l(s), r = l(t), e = a(n);
if (o === null || r === null)
return [];
const m = [];
for (let u = o; u <= r; u += e)
m.push(i(u, !1));
return m;
};
export {
f as buildTimeList,
a as parseStepToSeconds,
l as parseTimeToSeconds,
i as secondsToTime
};