diff --git a/packages/server/src/TodoRepository.ts b/packages/server/src/TodoRepository.ts index 6557696..b54052b 100644 --- a/packages/server/src/TodoRepository.ts +++ b/packages/server/src/TodoRepository.ts @@ -83,4 +83,14 @@ export const createDefaultTodos = Effect.gen(function*() { createdAt: new Date(), updatedAt: new Date(), })) + + yield* todos.add(new Todo({ + id: Option.none(), + title: "Another one", + content: "Lorem ipsum", + due: Option.none(), + completed: false, + createdAt: new Date(), + updatedAt: new Date(), + })) }) diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 8e8afd8..e780f40 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -1,5 +1,6 @@ import { BunRuntime } from "@effect/platform-bun" -import { Effect } from "effect" +import { Todo } from "@todo-tests/common/data" +import { Array, Effect } from "effect" import { TodoRepository, TodoRepositoryLive, createDefaultTodos } from "./TodoRepository" @@ -8,6 +9,17 @@ const main = Effect.gen(function*() { const todos = yield* TodoRepository console.log(yield* todos.todos.get) + + const secondTodo = yield* yield* todos.todos.get.pipe( + Effect.map(Array.get(1)) + ) + const secondTodoModified = new Todo({ + ...secondTodo, + completed: true, + }) + + yield* todos.update(secondTodoModified) + console.log(yield* todos.todos.get) }) const runnableMain = main.pipe(