Files
AtreidesAssetsFree/client/wealth/year-range.js
T

27 lines
944 B
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:e2b7a86933c03dfaed3d23288997f18fd48f414cd445220f5c23fdf7ceb2cc5e
export const ALL_YEARS = 'alles';
export function choiceToText(k) {
if (k === ALL_YEARS) return ALL_YEARS;
return k.van === k.tot ? String(k.van) : `${k.van}-${k.tot}`;
}
export function choiceFromText(tekst) {
if (tekst === ALL_YEARS) return ALL_YEARS;
const m = /^(\d{4})(?:-(\d{4}))?$/.exec(String(tekst ?? ''));
if (!m) { const nu = new Date().getFullYear(); return { van: nu, tot: nu }; }
const a = Number(m[1]);
const b = m[2] ? Number(m[2]) : a;
return { van: Math.min(a, b), tot: Math.max(a, b) };
}
export function withoutYear(k, jaar) {
if (k === ALL_YEARS || !Number.isFinite(jaar)) return k;
if (jaar >= k.tot) return ALL_YEARS;
return { van: jaar + 1, tot: k.tot };
}
export function yearsIn(k) {
if (k === ALL_YEARS) return [];
return Array.from({ length: k.tot - k.van + 1 }, (_, i) => k.van + i);
}