UNPKG

arvo-core

Version:

This core package contains all the core classes and components of the Arvo Event Driven System

36 lines (35 loc) 1.55 kB
import ArvoEventFactory from '.'; import type { VersionedArvoContract } from '../ArvoContract/VersionedArvoContract'; import { ArvoOrchestratorEventFactory } from './Orchestrator'; /** * Creates an ArvoEventFactory for a specific version of a contract. * * @param contract - The versioned contract to create a factory for * @returns An ArvoEventFactory instance for the specified contract version * * @example * ```typescript * const contract = createArvoContract({...}); * const v1Contract = contract.version('1.0.0'); * const factory = createArvoEventFactory(v1Contract); * ``` */ export declare const createArvoEventFactory: <TContract extends VersionedArvoContract<any, any>>(contract: TContract) => ArvoEventFactory<TContract>; /** * Creates an ArvoOrchestratorEventFactory instance for handling orchestration events. * Provides type-safe event creation with parent-child subject relationship handling. * * @param contract - The versioned contract for orchestration events * @returns An ArvoOrchestratorEventFactory for creating orchestration events * * @example * ```typescript * const contract = createArvoOrchestratorContract({ ... }); * const factory = createArvoOrchestratorEventFactory(contract.version('1.0.0')); * const event = factory.init({ * source: 'system', * data: { parentSubject$$: null, data: 'value' } * }); * ``` */ export declare const createArvoOrchestratorEventFactory: <TContract extends VersionedArvoContract<any, any>>(contract: TContract) => ArvoOrchestratorEventFactory<TContract>;