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

EventCatalogEntry

@mineflow/contracts


@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 ParameterDefault type
T extends z.ZodTypeAnyz.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.