Chunk instead of Array
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
import { Schema as S } from "@effect/schema"
|
||||
import { JsonifiableTodo } from "@todo-tests/common/data"
|
||||
import { Effect } from "effect"
|
||||
import { Chunk, Effect } from "effect"
|
||||
import { TodoRepository } from "../../TodoRepository"
|
||||
import { TRPCBuilder } from "../../trpc/TRPCBuilder"
|
||||
import { RPCProcedureBuilder } from "../procedures/RPCProcedureBuilder"
|
||||
|
||||
|
||||
const encodeTodos = S.encode(S.Array(JsonifiableTodo))
|
||||
const encodeOptionalTodo = S.encode(S.OptionFromNullOr(JsonifiableTodo))
|
||||
|
||||
|
||||
export const todosRouter = Effect.gen(function*() {
|
||||
const t = yield* TRPCBuilder
|
||||
const procedure = yield* RPCProcedureBuilder
|
||||
@@ -15,8 +19,8 @@ export const todosRouter = Effect.gen(function*() {
|
||||
.query(({ ctx }) => ctx.run(Effect.gen(function*() {
|
||||
const todos = yield* TodoRepository
|
||||
|
||||
return yield* S.encode(S.Array(JsonifiableTodo))(
|
||||
yield* todos.todos.get
|
||||
return yield* encodeTodos(
|
||||
Chunk.toReadonlyArray(yield* todos.todos.get)
|
||||
)
|
||||
}))),
|
||||
|
||||
@@ -25,7 +29,7 @@ export const todosRouter = Effect.gen(function*() {
|
||||
.query(({ ctx, input }) => ctx.run(Effect.gen(function*() {
|
||||
const todos = yield* TodoRepository
|
||||
|
||||
return yield* S.encode(S.OptionFromNullOr(JsonifiableTodo))(
|
||||
return yield* encodeOptionalTodo(
|
||||
yield* todos.getByID(input)
|
||||
)
|
||||
}))),
|
||||
|
||||
Reference in New Issue
Block a user