0.1.14 (#15)
All checks were successful
Publish / publish (push) Successful in 15s
Lint / lint (push) Successful in 11s

Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: #15
This commit was merged in pull request #15.
This commit is contained in:
Julien Valverdé
2024-08-25 00:36:37 +02:00
parent 1bf1befd6d
commit 714450d0bb
4 changed files with 26 additions and 12 deletions

View File

@@ -2,7 +2,14 @@ import { Schema } from "@effect/schema"
export const Kind = <Kind extends string>(kind: Kind) =>
Schema.withConstructorDefault(
Schema.propertySignature(Schema.Literal(kind)),
() => kind,
Schema.Literal(kind).pipe(
Schema.propertySignature,
Schema.withConstructorDefault(() => kind),
)
export const KindWithDecodingDefault = <Kind extends string>(kind: Kind) =>
Schema.Literal(kind).pipe(
Schema.optional,
Schema.withConstructorDefault(() => kind),
Schema.withDecodingDefault(() => kind),
)

View File

@@ -2,7 +2,14 @@ import { Schema } from "@effect/schema"
export const Tag = <Tag extends string>(tag: Tag) =>
Schema.withConstructorDefault(
Schema.propertySignature(Schema.Literal(tag)),
() => tag,
Schema.Literal(tag).pipe(
Schema.propertySignature,
Schema.withConstructorDefault(() => tag),
)
export const TagWithDecodingDefault = <Tag extends string>(tag: Tag) =>
Schema.Literal(tag).pipe(
Schema.optional,
Schema.withConstructorDefault(() => tag),
Schema.withDecodingDefault(() => tag),
)