EventCatalogEntry
@mineflow/contracts / EventCatalogEntry
Type Alias: EventCatalogEntry<T>
type EventCatalogEntry<T> = object;
Defined in: event-catalog-entry.ts:14
Каноническое описание одной записи каталога событий.
version — текущая версия data-схемы в формате major.minor
(см. ADR-0013). migrations — карта up-конвертеров с прошлых
версий: from → (oldData) => currentShape. Подробности — ADR-0038.
Тип параметризован Zod-схемой, поэтому возвращаемое из миграции
значение строго типизировано под z.infer<T> — компилятор ловит
рассинхронизацию между миграцией и текущей схемой раньше runtime.
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends z.ZodTypeAny | z.ZodTypeAny |
Properties
migrations?
readonly optional migrations?: Readonly<Record<string, EventMigration<T>>>;
Defined in: event-catalog-entry.ts:24
Карта up-конвертеров со старых версий: from-версия → миграция.
Опциональна — нужна только когда у события была bump-нутая версия
и в outbox/DLQ могут лежать конверты со старой формой data.
schema
readonly schema: T;
Defined in: event-catalog-entry.ts:18
Zod-схема полезной нагрузки data для текущей версии.
version
readonly version: string;
Defined in: event-catalog-entry.ts:16
Текущая версия data-схемы события в формате major.minor.