UNPKG

arvo-core

Version:

The core Arvo package which provides application tier core primitives and contract system for building production-grade event-driven application. Provides ArvoEvent (CloudEvents-compliant), ArvoContract for type-safe service interfaces, event factories, O

41 lines (40 loc) 1.26 kB
import ArvoEvent from '.'; import type { ArvoEventData, CloudEventExtension, CreateArvoEvent } from './types'; /** * Creates a strongly-typed ArvoEvent with configurable telemetry options. * * @param event - Event configuration and data * @param [extensions] - Optional cloud event extensions * @param [opentelemetry] - OpenTelemetry configuration with options: * - disable - Completely disables telemetry if true * * @throw {Error} In case any validation in {@link ArvoEvent} fails. * * @returns ArvoEvent with type-safety * * @example * ```typescript * // With default telemetry * const event = createArvoEvent({ * type: 'order.created', * source: '/orders', * subject: 'order-123', * data: orderData * }); * * // With disabled telemetry * const event = createArvoEvent( * { * type: 'order.created', * source: '/orders', * subject: 'order-123', * data: orderData * }, * undefined, * { disable: true } * ); * ``` */ export declare const createArvoEvent: <TData extends ArvoEventData, TExtension extends CloudEventExtension, TType extends string>(event: CreateArvoEvent<TData, TType>, extensions?: TExtension, opentelemetry?: { disable?: boolean; }) => ArvoEvent<TData, TExtension, TType>;