A simple toolkit for creating OpenRPC-compatible Nest.js controllers!
This toolkit provides two key features to help you build and deploy your server:
- A build-time script that generates TypeScript declarations based on all OpenRPC documents in your codebase
- A runtime decorator that allows you to make Nest.js controllers as OpenRPC-compatible.
npm i -S gist:1f543b4a9b7f134907e11b098b47372e
// package.json
"scripts": {
"prebuild": "node ./node_modules/@tompere/openrpc-ts-generator/typings.js"
}
import { JsonRpcEndpoint } from "@tompere/openrpc-ts-generator/JsonRpcEndpoint";
import * as openrpcDocument from './foo.openrpc.json';
import { FooRpcMethods } from './foo.openrpc'; // *.d.ts file
@JsonRpcEndpoint({
openrpcDocument,
version: 'v1',
basePath: '/my-rpc-endpint', // optional, default: `/rpc`
})
export class FooController implements FooRpcMethods {
// TODO implement according to interface definition
}