Files
todo-tests/packages/common/src/data/Todo.ts
Julien Valverdé bb185544c2 Dependencies upgrade
2024-06-27 18:59:23 +02:00

27 lines
705 B
TypeScript

import { Schema as S } from "@effect/schema"
import { Jsonifiable, Kind, Tag } from "@thilawyn/thilalib/effect/schema"
import { Class } from "@thilawyn/thilalib/effect/schema/class"
export class Todo extends Class<Todo>("Todo")({
_kind: Kind("Todo"),
_tag: Tag("Todo"),
id: S.String,
title: S.String,
content: S.String,
due: S.OptionFromSelf(S.DateFromSelf),
createdAt: S.DateFromSelf,
updatedAt: S.DateFromSelf,
}) {}
export const JsonifiableTodo = Todo.pipe(Jsonifiable(S.Struct({
...Todo.fields,
due: S.OptionFromNullOr(S.DateFromString),
createdAt: S.DateFromString,
updatedAt: S.DateFromString,
})))