| 123456789101112131415161718 |
- export * as WorkspaceV2 from "./workspace"
- import { Schema } from "effect"
- import { withStatics } from "./schema"
- import { Identifier } from "./util/identifier"
- export const ID = Schema.String.check(Schema.isStartsWith("wrk")).pipe(
- Schema.brand("WorkspaceV2.ID"),
- withStatics((schema) => ({
- ascending: (id?: string) => {
- if (!id) return schema.make("wrk_" + Identifier.ascending())
- if (!id.startsWith("wrk")) throw new Error(`ID ${id} does not start with wrk`)
- return schema.make(id)
- },
- create: () => schema.make("wrk_" + Identifier.ascending()),
- })),
- )
- export type ID = typeof ID.Type
|