// frontend package
import type { RpcRouterLike } from "@shared"
const makeClient = HttpRpcResolver.makeClient<RpcRouter>(myUrl)
// shared package
export class GetUserIds ...
export class GetUser ...
export type RpcRouterLike = InferRpcRouter<[GetUserIds, GetUser]> // where the magic happens
// backend package
import { GetUserIds, GetUser } from "@shared"
const router = RpcRouter.make(
Rpc.stream(GetUserIds, ...),
Rpc.effect(GetUser, ...)
)
// frontend package
import type { RpcRouterLike } from "@shared"
const makeClient = HttpRpcResolver.makeClient<RpcRouter>(myUrl)
// shared package
export class GetUserIds ...
export class GetUser ...
export type RpcRouterLike = InferRpcRouter<[GetUserIds, GetUser]> // where the magic happens
// backend package
import { GetUserIds, GetUser } from "@shared"
const router = RpcRouter.make(
Rpc.stream(GetUserIds, ...),
Rpc.effect(GetUser, ...)
)