ProjectionBuilder
@rotorsoft/act-root / act/src / ProjectionBuilder
Type Alias: ProjectionBuilder<TEvents, TTarget>
ProjectionBuilder<
TEvents,TTarget> =object&TTargetextendsstring?object:object
Defined in: libs/act/src/builders/projection-builder.ts:63
Fluent builder interface for composing projections.
When a static target is provided via projection("target"), the builder
exposes a .batch() method for registering a batch handler that processes
all events in a single call.
Type Declarationโ
buildโ
build: () =>
Projection<TEvents>
Builds and returns the Projection data structure.
Returnsโ
Projection<TEvents>
eventsโ
readonlyevents:EventRegister<TEvents>
The registered event schemas and their reaction maps.
onโ
on: <
TKey,TData>(entry) =>object
Begins defining a projection handler for a specific event.
Pass a { EventName: schema } record โ use shorthand { EventName }
when the variable name matches the event name. The key becomes the
event name, the value the Zod schema.
Type Parametersโ
TKeyโ
TKey extends string
TDataโ
TData extends Schema
Parametersโ
entryโ
EventEntry<TKey, TData>
Returnsโ
object
doโ
do: (
handler) =>DoResult<TEvents,TKey,TData,TTarget>
Parametersโ
handlerโ
(event, stream) => Promise<void>
Returnsโ
DoResult<TEvents, TKey, TData, TTarget>
Type Parametersโ
TEventsโ
TEvents extends Schemas
Event schemas
TTargetโ
TTarget extends string | undefined = undefined
Static target string or undefined