refactor(schema): extract shared public schemas (#33571)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
export * as Reference from "./reference"
|
||||
|
||||
import { Schema } from "effect"
|
||||
import { AbsolutePath } from "./schema"
|
||||
|
||||
export interface LocalSource extends Schema.Schema.Type<typeof LocalSource> {}
|
||||
export const LocalSource = Schema.Struct({
|
||||
type: Schema.Literal("local"),
|
||||
path: AbsolutePath,
|
||||
description: Schema.String.pipe(Schema.optional),
|
||||
hidden: Schema.Boolean.pipe(Schema.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(Schema.optional),
|
||||
description: Schema.String.pipe(Schema.optional),
|
||||
hidden: Schema.Boolean.pipe(Schema.optional),
|
||||
}).annotate({ identifier: "Reference.GitSource" })
|
||||
|
||||
export const Source = Schema.Union([LocalSource, GitSource]).pipe(Schema.toTaggedUnion("type"))
|
||||
export type Source = typeof Source.Type
|
||||
Reference in New Issue
Block a user