IAct
@rotorsoft/act-root / act/src / IAct
Interface: IAct<TEvents, TActions, TActor>
Defined in: libs/act/src/types/action.ts:433
Public interface for the Act orchestrator, passed to reaction handlers.
Provides typed access to action dispatch, state loading, and event querying. Construct with InferActions and InferEvents to avoid circular imports between slice files and the bootstrap module.
Example
import type { IAct, InferActions, InferEvents } from "@rotorsoft/act";
type App = IAct<
InferEvents<typeof StateA> & InferEvents<typeof StateB>,
InferActions<typeof StateA> & InferActions<typeof StateB>
>;
async function myReaction(event: ..., stream: string, app: App) {
await app.do("someAction", target, payload, event);
const snapshot = await app.load(MyState, "stream-1");
const events = await app.query_array({ stream: "stream-1" });
}
Type Parameters
TEvents
TEvents extends Schemas = Schemas
Event schemas
TActions
TActions extends Schemas = Schemas
Action schemas (maps action names to payload types)
TActor
Actor type extending base Actor
Methods
do()
do<
TKey>(action,target,payload,reactingTo?,skipValidation?):Promise<Snapshot<any,any>[]>
Defined in: libs/act/src/types/action.ts:438
Type Parameters
TKey
TKey extends string
Parameters
action
TKey
target
Target<TActor>
payload
Readonly<TActions[TKey]>
reactingTo?
skipValidation?
boolean
Returns
Promise<Snapshot<any, any>[]>
load()
load(
state,stream,callback?,asOf?):Promise<Snapshot<any,any>>
Defined in: libs/act/src/types/action.ts:446
Parameters
state
string | State<any, any, any, string>
stream
string
callback?
(snapshot) => void
asOf?
Returns
Promise<Snapshot<any, any>>
query()
query(
query,callback?):Promise<{count:number;first?:Committed<TEvents, keyofTEvents>;last?:Committed<TEvents, keyofTEvents>; }>
Defined in: libs/act/src/types/action.ts:453
Parameters
query
callback?
(event) => void
Returns
Promise<{ count: number; first?: Committed<TEvents, keyof TEvents>; last?: Committed<TEvents, keyof TEvents>; }>
query_array()
query_array(
query):Promise<Committed<TEvents, keyofTEvents>[]>
Defined in: libs/act/src/types/action.ts:462
Parameters
query
Returns
Promise<Committed<TEvents, keyof TEvents>[]>