Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,38 @@
|
||||
// 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;
|
||||
}
|
||||
Reference in new issue
Block a user