TodoRepository work
This commit is contained in:
@@ -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)))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user