INNER CODE UNIT · JavaScript
prune
bostrot/wsl2-distro-manager · n8n/licensing/seat_check.js:93
function prune(entries, holders, now) {
const keepAfter = now.getTime() - KEEP_DAYS * DAY_MS;
const holderIds = new Set(holders.map((h) => h.id));
const byRecency = (a, b) => time(b.last_seen) - time(a.last_seen);
const devices = entries
.filter((e) => e.kind === 'device')
.filter((e) => holderIds.has(e.id) || time(e.last_seen) >= keepAfter);
const legacy = entries
.filter((e) => e.kind !== 'device')
.filter((e) => time(e.last_seen) >= keepAfter)
.sort(byRecency)
.slice(0, MAX_LEGACY_ENTRIES);
const kept = devices.concat(legacy);
if (kept.length <= MAX_ENTRIES) return kept;
const spare = kept
.filter((e) => !holderIds.has(e.id))