diff --git a/src/effect/schema/Tag.ts b/src/effect/schema/Tag.ts new file mode 100644 index 0000000..9570122 --- /dev/null +++ b/src/effect/schema/Tag.ts @@ -0,0 +1,9 @@ +import { Schema as S } from "@effect/schema" + + +export function Tag(tag: Tag) { + return S.withConstructorDefault( + S.propertySignature(S.Literal(tag)), + () => tag, + ) +} diff --git a/src/effect/schema/index.ts b/src/effect/schema/index.ts index e77bc0e..2275c31 100644 --- a/src/effect/schema/index.ts +++ b/src/effect/schema/index.ts @@ -1 +1,2 @@ export { Jsonifiable } from "./Jsonifiable" +export { Tag } from "./Tag"