Skip to main content

Store

@rotorsoft/act-root


@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, keyof E>[]>

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

EventMeta

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

Disposable.dispose


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>