InMemoryJournal
Defined in: src/persistence/journals/InMemoryJournal.ts:17
In-process journal backed by plain arrays. The default plug-in used by tests and dev-mode; data lives only as long as the process and is NOT shared across ActorSystem instances. Serves as reference semantics for all other Journal implementations.
Exposes an in-process JournalEventBus so the query layer can do
sub-poll-interval push delivery (see #42).
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new InMemoryJournal():
InMemoryJournal
Returns
Section titled “Returns”InMemoryJournal
Properties
Section titled “Properties”events
Section titled “events”
readonlyevents:JournalEventBus
Defined in: src/persistence/journals/InMemoryJournal.ts:19
Optional in-process notification bus. When present, the read-side
query layer subscribes here for sub-poll-interval push delivery
(see JournalEventBus). Journals that span processes (Cassandra,
Postgres) leave it undefined — the query layer falls back to
the polling loop.
Implementation of
Section titled “Implementation of”Methods
Section titled “Methods”_remapForMigration()
Section titled “_remapForMigration()”_remapForMigration<
E,F>(pid,transform):Promise<void>
Defined in: src/persistence/journals/InMemoryJournal.ts:94
Migration hook (#9). Applies transform to every persisted
event’s payload under pid, rewriting in place — sequence numbers,
timestamps, tags are preserved. Used by migrateInMemoryJournal
to wrap legacy raw events into the _v/_t/_e envelope when an
actor is retro-fitted with an EventAdapter.
Internal API. Callers should reach for the documented
migrateInMemoryJournal helper instead of calling this directly;
the underscored prefix marks it as a migration-only escape hatch.
Type Parameters
Section titled “Type Parameters”E
F
Parameters
Section titled “Parameters”string
transform
Section titled “transform”(e) => F
Returns
Section titled “Returns”Promise<void>
append()
Section titled “append()”append<
E>(pid,events,expectedSeq,tags?):Promise<PersistentEvent<E>[]>
Defined in: src/persistence/journals/InMemoryJournal.ts:21
Append events to the stream of pid, enforcing optimistic concurrency:
the current highest sequence number MUST equal expectedSeq or the
call throws JournalConcurrencyError. Returns the written events
with their assigned sequence numbers.
Type Parameters
Section titled “Type Parameters”E
Parameters
Section titled “Parameters”string
events
Section titled “events”readonly E[]
expectedSeq
Section titled “expectedSeq”number
readonly string[]
Returns
Section titled “Returns”Promise<PersistentEvent<E>[]>
Implementation of
Section titled “Implementation of”close()
Section titled “close()”close():
Promise<void>
Defined in: src/persistence/journals/InMemoryJournal.ts:81
Best-effort teardown; idempotent.
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”delete()
Section titled “delete()”delete(
pid,toSeq):Promise<void>
Defined in: src/persistence/journals/InMemoryJournal.ts:70
Delete events up to and including toSeq — used when compacting past a snapshot.
Parameters
Section titled “Parameters”string
number
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”highestSeq()
Section titled “highestSeq()”highestSeq(
pid):Promise<number>
Defined in: src/persistence/journals/InMemoryJournal.ts:64
Current highest sequence number for pid — 0 if no events exist.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<number>
Implementation of
Section titled “Implementation of”persistenceIds()
Section titled “persistenceIds()”persistenceIds():
Promise<string[]>
Defined in: src/persistence/journals/InMemoryJournal.ts:77
Persistence IDs currently known to the journal (useful for projections).
Returns
Section titled “Returns”Promise<string[]>
Implementation of
Section titled “Implementation of”read()
Section titled “read()”read<
E>(pid,fromSeq,toSeq?):Promise<PersistentEvent<E>[]>
Defined in: src/persistence/journals/InMemoryJournal.ts:55
Return events in (fromSeq, …, toSeq] order. toSeq defaults to
the current highest sequence number. Inclusive bounds — fromSeq
is the first event returned, not the “after” cursor.
Type Parameters
Section titled “Type Parameters”E
Parameters
Section titled “Parameters”string
fromSeq
Section titled “fromSeq”number
toSeq?
Section titled “toSeq?”number
Returns
Section titled “Returns”Promise<PersistentEvent<E>[]>