Store
@rotorsoft/act-root / act/src / Store
Interface: Store
Defined in: libs/act/src/types/ports.ts:31
Interface for an event store implementation. Provides methods for seeding, dropping, committing, querying, and managing event streams.
Extends
Properties
ack()
ack: (
leases
) =>Promise
<Lease
[]>
Defined in: libs/act/src/types/ports.ts:88
Acknowledge completion of processing for leased streams.
Parameters
leases
Lease
[]
Leases to acknowledge, including lease holder and last processed watermark.
Returns
Promise
<Lease
[]>
block()
block: (
leases
) =>Promise
<Lease
&object
[]>
Defined in: libs/act/src/types/ports.ts:95
Block a stream for processing after failing to process and reaching max retries with blocking enabled.
Parameters
leases
Lease
& object
[]
Leases to block, including lease holder and last error message.
Returns
Promise
<Lease
& object
[]>
Blocked leases.
commit()
commit: <
E
>(stream
,msgs
,meta
,expectedVersion?
) =>Promise
<Committed
<E
, keyofE
>[]>
Defined in: libs/act/src/types/ports.ts:50
Commit one or more events to a stream.
Type Parameters
E
E
extends Schemas
Parameters
stream
string
The stream name.
msgs
Message
<E
, keyof E
>[]
The events/messages to commit.
meta
Event metadata.
expectedVersion?
number
Optional optimistic concurrency check.
Returns
Promise
<Committed
<E
, keyof E
>[]>
The committed events with metadata.
Throws
ConcurrencyError if expectedVersion does not match.
dispose
dispose:
Disposer
Defined in: libs/act/src/types/ports.ts:25
Inherited from
drop()
drop: () =>
Promise
<void
>
Defined in: libs/act/src/types/ports.ts:39
Drop all data from the store (optional, for testing/dev).
Returns
Promise
<void
>
lease()
lease: (
leases
,millis
) =>Promise
<Lease
[]>
Defined in: libs/act/src/types/ports.ts:82
Lease streams for processing (e.g., for distributed consumers).
Parameters
leases
Lease
[]
Lease requests for streams, including end-of-lease watermark, lease holder, and source stream.
millis
number
Lease duration in milliseconds.
Returns
Promise
<Lease
[]>
Granted leases.
poll()
poll: (
lagging
,leading
) =>Promise
<Poll
[]>
Defined in: libs/act/src/types/ports.ts:74
Polls the store for unblocked streams needing processing, ordered by lease watermark.
Parameters
lagging
number
Max number of streams to poll in ascending order.
leading
number
Max number of streams to poll in descending order.
Returns
Promise
<Poll
[]>
The polled streams.
query()
query: <
E
>(callback
,query?
) =>Promise
<number
>
Defined in: libs/act/src/types/ports.ts:63
Query events in the store, optionally filtered by query options.
Type Parameters
E
E
extends Schemas
Parameters
callback
(event
) => void
Function to call for each event.
query?
Readonly
<{ after?
: number
; backward?
: boolean
; before?
: number
; correlation?
: string
; created_after?
: Date
; created_before?
: Date
; limit?
: number
; names?
: string
[]; stream?
: string
; with_snaps?
: boolean
; }>
Optional query options.
Returns
Promise
<number
>
The number of events processed.
seed()
seed: () =>
Promise
<void
>
Defined in: libs/act/src/types/ports.ts:35
Seed the store with initial data (optional, for testing/dev).
Returns
Promise
<void
>