TodoRepository

This commit is contained in:
Julien Valverdé
2024-06-27 17:20:01 +02:00
parent 57f9d8075f
commit 3cd3f0752a
3 changed files with 11 additions and 11 deletions

View File

@@ -1,12 +1,12 @@
import { BunRuntime } from "@effect/platform-bun"
import { Todo } from "@todo-tests/common/data"
import { Array, Effect, Option, Ref } from "effect"
import { Todos } from "./Todos"
import { TodoRepository } from "./TodoRepository"
const createDefaultTodos = Todos.pipe(
Effect.flatMap(ref =>
Ref.update(ref, todos =>
const createDefaultTodos = TodoRepository.pipe(
Effect.flatMap(repo =>
Ref.update(repo, todos =>
Array.appendAll(todos, [
new Todo({
id: "1",
@@ -25,12 +25,12 @@ const createDefaultTodos = Todos.pipe(
const main = Effect.gen(function*() {
yield* createDefaultTodos
const todos = yield* Todos
const todos = yield* TodoRepository
console.log(yield* Ref.get(todos))
})
const runnableMain = main.pipe(
Effect.provideServiceEffect(Todos, Ref.make(Array.empty()))
Effect.provideServiceEffect(TodoRepository, Ref.make(Array.empty()))
)
BunRuntime.runMain(runnableMain)