TodoRepository work

This commit is contained in:
Julien Valverdé
2024-06-29 16:56:11 +02:00
parent 7ea85ae2ae
commit abc8668d25
2 changed files with 6 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
import { Todo } from "@todo-tests/common/data" import { Todo } from "@todo-tests/common/data"
import { Array, Context, Data, Effect, Layer, Option, Ref, SubscriptionRef } from "effect" import { Array, Context, Data, Effect, Equal, Layer, Option, Ref, SubscriptionRef } from "effect"
import crypto from "node:crypto" import crypto from "node:crypto"
@@ -19,13 +19,13 @@ export class TodoRepositoryService {
get(id: string) { get(id: string) {
return this.todos.get.pipe( return this.todos.get.pipe(
Effect.map(Array.findFirst(todo => todo.id.value === id)) Effect.map(Array.findFirst(todo => Equal.equals(todo.id.value, id)))
) )
} }
getIndex(id: string) { getIndex(id: string) {
return this.todos.get.pipe( return this.todos.get.pipe(
Effect.map(Array.findFirstIndex(todo => todo.id.value === id)) Effect.map(Array.findFirstIndex(todo => Equal.equals(todo.id.value, id)))
) )
} }

View File

@@ -1,6 +1,6 @@
import { BunRuntime } from "@effect/platform-bun" import { BunRuntime } from "@effect/platform-bun"
import { Todo } from "@todo-tests/common/data" import { Todo } from "@todo-tests/common/data"
import { Array, Console, Effect, Stream } from "effect" import { Array, Console, Effect, Fiber, Stream } from "effect"
import { TodoRepository, TodoRepositoryLive, createDefaultTodos } from "./TodoRepository" import { TodoRepository, TodoRepositoryLive, createDefaultTodos } from "./TodoRepository"
@@ -27,6 +27,8 @@ const main = Effect.gen(function*() {
yield* todos.update(secondTodoModified) yield* todos.update(secondTodoModified)
// console.log(yield* todos.todos.get) // console.log(yield* todos.todos.get)
yield* Fiber.join(watcher)
}) })
const runnableMain = main.pipe( const runnableMain = main.pipe(