rulvar API reference / @rulvar/core / DedupIndex
Class: DedupIndex
Defined in: packages/core/src/journal/reuse.ts:158
The DedupIndex: a pure fold over spawn roots, severing abandons, and node.link entries. Prices fold from journal facts (servedBy, usage) through the injected price function; on replay the embedded verdict values are authoritative and this fold serves integrity only.
Constructors
Constructor
new DedupIndex(): DedupIndex;Returns
DedupIndex
Methods
abandonedSpend()
abandonedSpend(): AbandonedSpendView;Defined in: packages/core/src/journal/reuse.ts:349
Returns
allDonorsOf()
allDonorsOf(spawnKey): DonorCandidate[];Defined in: packages/core/src/journal/reuse.ts:340
Every donor for a key including claimed ones (diagnostics).
Parameters
| Parameter | Type |
|---|---|
spawnKey | string |
Returns
donorsOf()
donorsOf(spawnKey): DonorCandidate[];Defined in: packages/core/src/journal/reuse.ts:333
Unclaimed donor candidates for a key, oldest (chain head) first.
Parameters
| Parameter | Type |
|---|---|
spawnKey | string |
Returns
oscillationCountOf()
oscillationCountOf(spawnKey): number;Defined in: packages/core/src/journal/reuse.ts:345
Link count per key: the oscillation counter.
Parameters
| Parameter | Type |
|---|---|
spawnKey | string |
Returns
number
fold()
static fold(entries, options?): DedupIndex;Defined in: packages/core/src/journal/reuse.ts:170
Parameters
| Parameter | Type |
|---|---|
entries | readonly JournalEntry[] |
options? | { priceUsd?: (servedBy, usage) => number | undefined; } |
options.priceUsd? | (servedBy, usage) => number | undefined |
Returns
DedupIndex