class TodosService extends Effect.Service<TodosService>()("app/TodosService", {
accessors: true,
effect: Effect.gen(function* () {
const todosRx = Rx.make(
Effect.succeed(
Array.make(
Todo.make({ id: TodoId.make(1), title: "Sample Todo", completed: false }),
Todo.make({ id: TodoId.make(2), title: "Another Todo", completed: true }),
),
),
)
const toggleTodo = Effect.fn("TodosService.toggleTodo")(function* (id: TodoId) {
const todos = yield* Rx.get(todosRx)
// ????
})
return { todosRx, toggleTodo } as const
}),
}) { }
class TodosService extends Effect.Service<TodosService>()("app/TodosService", {
accessors: true,
effect: Effect.gen(function* () {
const todosRx = Rx.make(
Effect.succeed(
Array.make(
Todo.make({ id: TodoId.make(1), title: "Sample Todo", completed: false }),
Todo.make({ id: TodoId.make(2), title: "Another Todo", completed: true }),
),
),
)
const toggleTodo = Effect.fn("TodosService.toggleTodo")(function* (id: TodoId) {
const todos = yield* Rx.get(todosRx)
// ????
})
return { todosRx, toggleTodo } as const
}),
}) { }