/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/schema/src/reference.ts
39 строк
1 KB
Kit Langton
refactor(schema): tighten public contracts (#33771)
25 июн 2026, 20:10
Не верифицирован
25 июн 2026, 20:10
9e9d405
Код
Авторство
О чём код?
export * as Reference from "./reference" import { Schema } from "effect" import { optional } from "./schema" import { define, inventory } from "./event" import { AbsolutePath } from "./schema" const Updated = define({ type: "reference.updated", schema: {} }) export const Event = { Updated, Definitions: inventory(Updated) } export interface LocalSource extends Schema.Schema.Type<typeof LocalSource> {} export const LocalSource = Schema.Struct({ type: Schema.Literal("local"), path: AbsolutePath, description: Schema.String.pipe(optional), hidden: Schema.Boolean.pipe(optional), }).annotate({ identifier: "Reference.LocalSource" }) export interface GitSource extends Schema.Schema.Type<typeof GitSource> {} export const GitSource = Schema.Struct({ type: Schema.Literal("git"), repository: Schema.String, branch: Schema.String.pipe(optional), description: Schema.String.pipe(optional), hidden: Schema.Boolean.pipe(optional), }).annotate({ identifier: "Reference.GitSource" }) export const Source = Schema.Union([LocalSource, GitSource]) .pipe(Schema.toTaggedUnion("type")) .annotate({ identifier: "Reference.Source" }) export type Source = typeof Source.Type export class Info extends Schema.Class<Info>("Reference.Info")({ name: Schema.String, path: AbsolutePath, description: Schema.String.pipe(optional), hidden: Schema.Boolean.pipe(optional), source: Source, }) {}