16 lines
408 B
TypeScript
16 lines
408 B
TypeScript
import { Schema } from "effect"
|
|
|
|
import { zod } from "@/util/effect-zod"
|
|
import { withStatics } from "@/util/schema"
|
|
|
|
const projectIdSchema = Schema.String.pipe(Schema.brand("ProjectID"))
|
|
|
|
export type ProjectID = typeof projectIdSchema.Type
|
|
|
|
export const ProjectID = projectIdSchema.pipe(
|
|
withStatics((schema: typeof projectIdSchema) => ({
|
|
global: schema.make("global"),
|
|
zod: zod(schema),
|
|
})),
|
|
)
|