/
dimamir
/
undb
Обзор
Документация
Войти
/
dimamir
/
undb
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/realtime/src/reply/topic.ts
16 строк
706 B
nichenqin
feat: update record event
02 июн 2024, 06:26
02 июн 2024, 06:26
589b020
Код
Авторство
О чём код?
import { Option, type BaseEvent } from "@undb/domain" import { RecordCreatedEvent, RecordDeletedEvent, RecordUpdatedEvent } from "@undb/table" import { P, match } from "ts-pattern" export type Topic = `tenant.${string}.${string}` | "*" export const getTopic = (event: BaseEvent): Option<Topic> => { const topic = match(event) .returnType<Topic | null>() .with(P.instanceOf(RecordCreatedEvent), (e) => `tenant.${e.payload.tableId}.record.created`) .with(P.instanceOf(RecordDeletedEvent), (e) => `tenant.${e.payload.tableId}.record.deleted`) .with(P.instanceOf(RecordUpdatedEvent), (e) => `tenant.${e.payload.tableId}.record.updated`) .otherwise(() => null) return Option(topic) }