Перейти к основному содержимому

defineEvent

@mineflow/contracts


@mineflow/contracts / defineEvent

Function: defineEvent()

function defineEvent<T>(entry: EventCatalogEntry<T>): EventCatalogEntry<T>;

Defined in: event-catalog-entry.ts:47

Хелпер для объявления event-каталога с проверкой типов миграций.

Используется в файлах packages/contracts/src/events/<context>/<entity>.ts, чтобы получить:

  • typo-safe ключи version / schema / migrations
  • явную type-связку «миграция возвращает то же, что валидирует schema»
  • однообразный API во всём каталоге

Без хелпера entry — это as const-литерал, и migrations пришлось бы приводить через as каждый раз (см. event-migrator.ts до ADR-0038).

Type Parameters

Type Parameter
T extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>

Parameters

ParameterType
entryEventCatalogEntry<T>

Returns

EventCatalogEntry<T>