// Generated, do not edit. sha256:f962f4bc88fe2f11615f93f44c35fe729fcb597398ce82af6f05055c78fd9a0a import { CONFIG } from '../../shared/config.js'; export function carriedPerAsset({ dagen = [], assets = [], rijenPerAsset = new Map() } = {}) { const uit = new Map(); for (const a of assets) { if (a.kind === 'fiat') continue; const echt = new Set((rijenPerAsset.get(a.id) || []).filter(r => r.fiatPrice != null && r.fiatPrice > 0) .map(r => String(r.observedAt).slice(0, 10))); if (dagen.length) echt.add(dagen[dagen.length - 1]); const dicht = CONFIG.PRICE_HISTORY.CLOSED_MARKET_DAYS[a.kind] ?? 0; const vlag = dagen.map(() => false); let gezien = false; let begin = null; const sluit = eind => { if (begin != null && eind - begin > dicht) for (let k = begin; k < eind; k++) vlag[k] = true; begin = null; }; dagen.forEach((dag, i) => { if (echt.has(dag)) { sluit(i); gezien = true; return; } if (gezien && begin == null) begin = i; }); sluit(dagen.length); uit.set(a.id, vlag); } return uit; } export function carriedDays(reeks = {}, ids = null, assets = []) { const kandidaten = assets.filter(a => ids == null || ids.includes(a.id)); const vlaggen = carriedPerAsset({ dagen: reeks.dagen || [], assets: kandidaten, rijenPerAsset: reeks.rijenPerAsset || new Map() }); const uit = new Set(); for (const [id, vlag] of vlaggen) { const eenheden = reeks.eenhedenPerAsset?.get(id) || []; vlag.forEach((aan, i) => { if (aan && eenheden[i]) uit.add(i); }); } return uit; }