Error tests
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { Context, Effect, Layer } from "effect"
|
import { TRPCError } from "@trpc/server"
|
||||||
|
import { Context, Data, Effect, Layer } from "effect"
|
||||||
import { TRPCBuilder } from "../trpc/TRPCBuilder"
|
import { TRPCBuilder } from "../trpc/TRPCBuilder"
|
||||||
import { RPCProcedureBuilder } from "./procedures/RPCProcedureBuilder"
|
import { RPCProcedureBuilder } from "./procedures/RPCProcedureBuilder"
|
||||||
import { todoRouter } from "./routers/todo"
|
import { todoRouter } from "./routers/todo"
|
||||||
@@ -9,14 +10,26 @@ export const router = Effect.gen(function*() {
|
|||||||
const procedure = yield* RPCProcedureBuilder
|
const procedure = yield* RPCProcedureBuilder
|
||||||
|
|
||||||
return t.router({
|
return t.router({
|
||||||
ping: procedure.query(({ ctx }) =>
|
ping: procedure.query(({ ctx }) => ctx.run(
|
||||||
ctx.run(Effect.succeed("pong"))
|
Effect.succeed("pong")
|
||||||
),
|
)),
|
||||||
|
|
||||||
|
fail1: procedure.query(({ ctx }) => ctx.run(
|
||||||
|
Effect.fail(new AnError({ aValue: "A value" }))
|
||||||
|
)),
|
||||||
|
fail2: procedure.query(({ ctx }) => ctx.run(
|
||||||
|
Effect.fail(new TRPCError({ code: "NOT_IMPLEMENTED" }))
|
||||||
|
)),
|
||||||
|
|
||||||
todo: yield* todoRouter,
|
todo: yield* todoRouter,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
class AnError extends Data.TaggedError("AnError")<{
|
||||||
|
aValue: string
|
||||||
|
}> {}
|
||||||
|
|
||||||
|
|
||||||
export class RPCRouter extends Context.Tag("RPCRouter")<RPCRouter,
|
export class RPCRouter extends Context.Tag("RPCRouter")<RPCRouter,
|
||||||
Effect.Effect.Success<typeof router>
|
Effect.Effect.Success<typeof router>
|
||||||
>() {}
|
>() {}
|
||||||
|
|||||||
Reference in New Issue
Block a user