omaksi / ts-rpc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ts-rpc

ts-rpc is a simple RPC library written in TypeScript with support for sharing types between the client and server.

yarn add @omaksi/ts-rpc

Usage

Configure RPC type:

type HelloWorldRPC = {
  method: 'hello'
  params: {
    world: string
  }
  result: {
    message: string
  }
}

Server (express middleware)

const rpcHandlerMiddleware = RpcHandlerMiddleware({
  hello: Handle<HelloWorldRPC> = (params) => ({ 
    message: `Hello ${params.world}` 
  })},
})

Client:

const result = await Call<HelloWorldRPC>('hello', { world: 'Neptune' })
console.log(result.message) // Hello Neptune

Example

See examples directory for full example.

License

MIT

About


Languages

Language:TypeScript 72.1%Language:JavaScript 24.7%Language:HTML 3.3%