quick-rpc
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

quick-rpc

Implement RPC server and client with Quick RPC.

Usage

Server-side:

import rpc from 'quick-rpc';
import { t, vld } from 'vld-ts';

const User = t.obj({
    name: t.str,
    age: t.num
}), isUser = vld(User);

const router = rpc.router({
    user: rpc.proc(isUser)
        .fn('create', input => {
            // Do something with input
            return {
                status: 200,
                message: 'User created successfully'
            }
        }, JSON.stringify) // Pass response serializer if required by underlying framework
});

export type App = typeof router;

Client-side (need an adapter implementation for client):

import { Infer } from 'quick-rpc';
import type { App } from '/path/to/rpc/router';

// Use this type for client implementation
type Client = Infer<App>;

Readme

Keywords

none

Package Sidebar

Install

npm i quick-rpc

Weekly Downloads

1

Version

1.0.0

License

none

Unpacked Size

6.7 kB

Total Files

10

Last publish

Collaborators

  • reve-node