Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
A small router with one Effect procedure.
effect-orpc
import { Context, Effect, Layer } from "effect"; import { eos } from "effect-orpc"; import * as z from "zod"; class Greeter extends Context.Service< Greeter, { readonly greet: (name: string) => Effect.Effect<string> } >()("Greeter") {} const GreeterLive = Layer.succeed(Greeter, { greet: (name) => Effect.succeed(`Hello, ${name}!`), }); const procedure = eos.provide(GreeterLive); export const router = { greet: procedure .input(z.object({ name: z.string() })) .output(z.string()) .effect(function* ({ input }) { const greeter = yield* Greeter; return yield* greeter.greet(input.name); }), }; const greet = router.greet.callable(); console.log(await greet({ name: "Ada" }));
Was this page helpful?