RPC work
This commit is contained in:
@@ -3,11 +3,11 @@
|
||||
"type": "module",
|
||||
"exports": {
|
||||
"./data": "./src/data/index.ts",
|
||||
"./rpc": "./src/rpc/index.ts",
|
||||
"./traits": "./src/traits/index.ts"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@effect/rpc": "^0.31.18",
|
||||
"@effect/schema": "^0.68.15",
|
||||
"@thilawyn/thilalib": "^0.1.5",
|
||||
"effect": "^3.4.6"
|
||||
|
||||
@@ -1,11 +1 @@
|
||||
import { Rpc } from "@effect/rpc"
|
||||
import { Schema as S } from "@effect/schema"
|
||||
import { JsonifiableTodo } from "../data"
|
||||
|
||||
|
||||
export class GetTodos extends Rpc.StreamRequest<GetTodos>()(
|
||||
"GetTodos",
|
||||
S.Never,
|
||||
JsonifiableTodo,
|
||||
{},
|
||||
) {}
|
||||
export type { Router } from "@todo-tests/server"
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{
|
||||
"name": "@todo-tests/server",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./src/router.ts"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@effect/platform": "^0.58.18",
|
||||
"@effect/platform-bun": "^0.38.17",
|
||||
"@effect/rpc-http": "^0.29.18",
|
||||
"@effect/schema": "^0.68.15",
|
||||
"@thilawyn/thilalib": "^0.1.5",
|
||||
"@todo-tests/common": "workspace:*",
|
||||
|
||||
4
packages/server/src/router.ts
Normal file
4
packages/server/src/router.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import type { RPCRouter } from "./rpc/RPCRouter"
|
||||
|
||||
|
||||
export type Router = RPCRouter.Router
|
||||
@@ -23,6 +23,5 @@ export class RPCRouter extends Context.Tag("RPCRouter")<RPCRouter,
|
||||
|
||||
export module RPCRouter {
|
||||
export type Router = Context.Tag.Service<RPCRouter>
|
||||
|
||||
export const Live = Layer.effect(RPCRouter, router)
|
||||
}
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tanstack/react-query": "4",
|
||||
"@trpc/client": "^10.45.2",
|
||||
"@trpc/react-query": "^10.45.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
|
||||
5
packages/webui/src/trpc/trpc.ts
Normal file
5
packages/webui/src/trpc/trpc.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import type { Router } from "@todo-tests/common/rpc"
|
||||
import { createTRPCReact } from "@trpc/react-query"
|
||||
|
||||
|
||||
export const trpc = createTRPCReact<Router>()
|
||||
Reference in New Issue
Block a user