From 3b662d0b5fb419a85521fba3fbbb7a48464ccc35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sat, 22 Jun 2024 05:04:10 +0200 Subject: [PATCH] Tag --- src/effect/schema/Tag.ts | 9 +++++++++ src/effect/schema/index.ts | 1 + 2 files changed, 10 insertions(+) create mode 100644 src/effect/schema/Tag.ts 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"