Skip to content

Function: processDiscriminatedItems()

Makaio Framework


Makaio Framework / ai-adapters-core / processDiscriminatedItems

processDiscriminatedItems<TPayload, TDiscriminator>(items, config, emit): Promise<void>

Defined in: ../../../adapters/core/src/utils/discriminated-handlers.ts:206

Process items through discriminated handlers.

Iterates over items (or processes single item), reads discriminator, and calls appropriate handler with typed emit. Items without a matching handler are silently skipped.

TPayload extends Record<string, unknown>

TDiscriminator extends string

TPayload | TPayload[]

Single item or array of items to process

DiscriminatedHandlersConfig<TPayload, TDiscriminator>

Handler configuration from defineDiscriminatedHandlers

TypedEmitFn

Typed emit function (can be emitGlobal, collection push, etc.)

Promise<void>

// Agent usage - emit directly
await processDiscriminatedItems(
content,
CONTENT_BLOCK_HANDLERS,
(subject, payload) => this.emitGlobal(subject, payload),
);
// Importer usage - collect events with enrichment
const events: NormalizedEvent[] = [];
await processDiscriminatedItems(
content,
CONTENT_BLOCK_HANDLERS,
(subject, payload) => {
events.push({ subject, payload: { ...basePayload, ...payload } });
},
);