TransactionLedger
Defined in: ledger.ts:167
An ordered, append-only log of LedgerRecords.
The internal array is kept sorted by the configured comparator at all times
(binary-search insertion), so records is always in chronological order and
merge is a stable union. Records are immutable once appended; the ledger
never mutates them.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new TransactionLedger(options?): TransactionLedger;Defined in: ledger.ts:178
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | LedgerOptions |
Returns
Section titled “Returns”TransactionLedger
Properties
Section titled “Properties”| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
source | readonly | string | undefined | Source id stamped onto records this ledger authors. | ledger.ts:169 |
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get clock(): number;Defined in: ledger.ts:194
The ledger’s logical (Lamport) clock — the high-water mark of observed lamports.
Returns
Section titled “Returns”number
comparator
Section titled “comparator”Get Signature
Section titled “Get Signature”get comparator(): (a, b) => number;Defined in: ledger.ts:199
The total-ordering comparator this ledger sorts by.
Returns
Section titled “Returns”(a, b) => number
length
Section titled “length”Get Signature
Section titled “Get Signature”get length(): number;Defined in: ledger.ts:189
Returns
Section titled “Returns”number
records
Section titled “records”Get Signature
Section titled “Get Signature”get records(): readonly LedgerRecord[];Defined in: ledger.ts:185
All records, in chronological order. Treat as read-only.
Returns
Section titled “Returns”readonly LedgerRecord[]
Methods
Section titled “Methods”[iterator]()
Section titled “[iterator]()”iterator: Iterator<LedgerRecord>;Defined in: ledger.ts:211
Returns
Section titled “Returns”Iterator<LedgerRecord>
append()
Section titled “append()”append(record): boolean;Defined in: ledger.ts:236
Append an already-formed record (e.g. received from another ledger or the
network). Advances the logical clock to at least the record’s lamport.
Returns false if it was a duplicate and dedupe is on.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
record | LedgerRecord |
Returns
Section titled “Returns”boolean
appendAll()
Section titled “appendAll()”appendAll(records): number;Defined in: ledger.ts:244
Append many records; returns how many were newly added.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
records | Iterable<LedgerRecord> |
Returns
Section titled “Returns”number
apply()
Section titled “apply()”apply(state): EditorState;Defined in: ledger.ts:266
Fold the whole ledger over a state. Pure — the canonical replay primitive.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
state | EditorState |
Returns
Section titled “Returns”EditorState
applyRange()
Section titled “applyRange()”applyRange( state, start?, end?): EditorState;Defined in: ledger.ts:273
Fold a [start, end) slice of the ledger over a state.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
state | EditorState |
start? | number |
end? | number |
Returns
Section titled “Returns”EditorState
at(index): LedgerRecord | undefined;Defined in: ledger.ts:203
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
index | number |
Returns
Section titled “Returns”LedgerRecord | undefined
attach()
Section titled “attach()”attach(editor, options?): () => void;Defined in: ledger.ts:258
Subscribe an editor so every future committed transaction is recorded.
Returns a detach function. Undo and redo now flow through dispatch as
real transactions carrying inverse ops (undo) / original ops (redo), so
they fire the transaction listeners and ARE recorded — replay therefore
stays faithful across undo/redo. Use options.filter to skip
transactions you don’t want in the log.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
editor | EditorHandle |
options | AttachOptions |
Returns
Section titled “Returns”() => void
clear()
Section titled “clear()”clear(): void;Defined in: ledger.ts:309
Drop all records. The logical clock is preserved (it must never run backwards).
Returns
Section titled “Returns”void
clone()
Section titled “clone()”clone(): TransactionLedger;Defined in: ledger.ts:300
A shallow copy (records are shared, never mutated).
Returns
Section titled “Returns”TransactionLedger
diff()
Section titled “diff()”diff(other): LedgerDiff;Defined in: ledger.ts:295
Set-difference against another ledger, by record id.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
other | TransactionLedger |
Returns
Section titled “Returns”merge()
Section titled “merge()”merge(...others): TransactionLedger;Defined in: ledger.ts:290
Chronological union with other ledgers (deduped by id). Returns a new ledger.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…others | TransactionLedger[] |
Returns
Section titled “Returns”TransactionLedger
onRecord()
Section titled “onRecord()”onRecord(listener): () => void;Defined in: ledger.ts:314
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
listener | LedgerListener |
Returns
Section titled “Returns”() => void
record()
Section titled “record()”record(tx, options?): LedgerRecord;Defined in: ledger.ts:219
Record a transaction as a new entry authored by this ledger. Assigns the
next lamport tick (unless one is supplied) and the ledger’s source.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
tx | Transaction |
options | RecordFromTransactionOptions |
Returns
Section titled “Returns”replay()
Section titled “replay()”replay(editor): void;Defined in: ledger.ts:285
Replay the ledger onto a live editor in a single setState — no history
pollution, one view update. The editor’s current state is the base the
records are applied on top of, so replay onto a fresh editor seeded with
the same base reproduces the source document exactly.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
editor | EditorHandle |
Returns
Section titled “Returns”void
serialize()
Section titled “serialize()”serialize(): string;Defined in: ledger.ts:328
Returns
Section titled “Returns”string
slice()
Section titled “slice()”slice(start?, end?): LedgerRecord[];Defined in: ledger.ts:207
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
start? | number |
end? | number |
Returns
Section titled “Returns”toJSON()
Section titled “toJSON()”toJSON(): LedgerSnapshot;Defined in: ledger.ts:319
Returns
Section titled “Returns”deserialize()
Section titled “deserialize()”static deserialize(payload, options?): TransactionLedger;Defined in: ledger.ts:342
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
payload | string |
options | LedgerOptions |
Returns
Section titled “Returns”TransactionLedger
fromSnapshot()
Section titled “fromSnapshot()”static fromSnapshot(snapshot, options?): TransactionLedger;Defined in: ledger.ts:332
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
snapshot | LedgerSnapshot |
options | LedgerOptions |
Returns
Section titled “Returns”TransactionLedger