defineEvent
@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
| Parameter | Type |
|---|---|
entry | EventCatalogEntry<T> |