// Generated, do not edit. sha256:0655118dcbbdee6f738790678dd93e04fa937dd8c25c946b1d37d8d899f98d2a export function sameSelection(a, b) { if (!a || !b) return a === b; if (a.kind || b.kind) return a.kind === b.kind; if (a.account != null || b.account != null) return a.account === b.account; return String(a.assetIds) === String(b.assetIds); } export function selectionFromStored(bewaard) { if (!bewaard || typeof bewaard !== 'object') return null; if (bewaard.kind) return { kind: String(bewaard.kind) }; const ids = Array.isArray(bewaard.assetIds) ? bewaard.assetIds.map(Number).filter(n => Number.isInteger(n) && n > 0) : []; const account = Number(bewaard.account); if (bewaard.account != null && Number.isInteger(account) && account >= 0) return { account, assetIds: ids }; return ids.length ? { assetIds: ids } : null; } export function hiddenFromStored(bewaard, { allowZero = false } = {}) { if (!Array.isArray(bewaard)) return new Set(); return new Set(bewaard.map(Number).filter(n => Number.isInteger(n) && (allowZero ? n >= 0 : n > 0))); } export function hiddenAfterFilter(hidden, itemIds, selected) { const chips = new Set(itemIds); const s = new Set([...hidden].filter(id => !chips.has(id))); for (const id of itemIds) if (!selected.has(id)) s.add(id); return [...s].sort((a, b) => (typeof a === 'number' && typeof b === 'number' ? a - b : String(a).localeCompare(String(b)))); } export const NO_ACCOUNT_KIND = 'none'; export const accountKindOf = c => c.account?.kind ?? NO_ACCOUNT_KIND; export function hiddenKindsFromStored(bewaard, allowed = []) { if (!Array.isArray(bewaard)) return new Set(); const geldig = new Set([...allowed, NO_ACCOUNT_KIND]); return new Set(bewaard.map(String).filter(k => geldig.has(k))); } export function accountKindItems(cards = []) { const uit = []; for (const c of cards) { const kind = accountKindOf(c); if (!uit.includes(kind)) uit.push(kind); } return uit; } export function splitHidden(kaarten = [], hidden = new Set(), keyOf = k => k.asset.id) { const shown = [], verborgen = []; for (const k of kaarten) (hidden.has(keyOf(k)) ? verborgen : shown).push(k); return { shown, hidden: verborgen }; }