Skip to content

rulvar API reference


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

ts
new DedupIndex(): DedupIndex;

Returns

DedupIndex

Methods

abandonedSpend()

ts
abandonedSpend(): AbandonedSpendView;

Defined in: packages/core/src/journal/reuse.ts:349

Returns

AbandonedSpendView


allDonorsOf()

ts
allDonorsOf(spawnKey): DonorCandidate[];

Defined in: packages/core/src/journal/reuse.ts:340

Every donor for a key including claimed ones (diagnostics).

Parameters

ParameterType
spawnKeystring

Returns

DonorCandidate[]


donorsOf()

ts
donorsOf(spawnKey): DonorCandidate[];

Defined in: packages/core/src/journal/reuse.ts:333

Unclaimed donor candidates for a key, oldest (chain head) first.

Parameters

ParameterType
spawnKeystring

Returns

DonorCandidate[]


oscillationCountOf()

ts
oscillationCountOf(spawnKey): number;

Defined in: packages/core/src/journal/reuse.ts:345

Link count per key: the oscillation counter.

Parameters

ParameterType
spawnKeystring

Returns

number


fold()

ts
static fold(entries, options?): DedupIndex;

Defined in: packages/core/src/journal/reuse.ts:170

Parameters

ParameterType
entriesreadonly JournalEntry[]
options?{ priceUsd?: (servedBy, usage) => number | undefined; }
options.priceUsd?(servedBy, usage) => number | undefined

Returns

DedupIndex