TodoRepository

This commit is contained in:
Julien Valverdé
2024-06-27 21:10:42 +02:00
parent 53757b029d
commit 91f7b90e2c

View File

@@ -5,20 +5,18 @@ import { Array, Context, Effect, Option, Ref } from "effect"
export class TodoRepository extends Context.Tag("TodoRepository")<TodoRepository, Ref.Ref<Todo[]>>() {} export class TodoRepository extends Context.Tag("TodoRepository")<TodoRepository, Ref.Ref<Todo[]>>() {}
export const createDefaultTodos = TodoRepository.pipe( export const createDefaultTodos = TodoRepository.pipe(Effect.flatMap(repo =>
Effect.flatMap(repo => Ref.update(repo, todos =>
Ref.update(repo, todos => Array.appendAll(todos, [
Array.appendAll(todos, [ new Todo({
new Todo({ id: "1",
id: "1", title: "A test todo",
title: "A test todo", content: "Lorem ipsum",
content: "Lorem ipsum", due: Option.none(),
due: Option.none(), completed: false,
completed: false, createdAt: new Date(),
createdAt: new Date(), updatedAt: new Date(),
updatedAt: new Date(), })
}) ])
])
)
) )
) ))