Go to file
2022-01-01 01:08:05 +00:00
.yarn First Commit 2021-12-31 21:38:26 +00:00
examples Adding parameter and response validation. 2022-01-01 00:39:15 +00:00
lib Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00
src Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00
templates Adding parameter and response validation. 2022-01-01 00:39:15 +00:00
.editorconfig First Commit 2021-12-31 21:38:26 +00:00
.gitignore First Commit 2021-12-31 21:38:26 +00:00
.yarnrc.yml First Commit 2021-12-31 21:38:26 +00:00
package.json Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00
README.md Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00
tsconfig.json Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00
yarn.lock Removing prettier for now. Adding CLI option and making it bundle before release to decrease startup time. 2022-01-01 01:08:05 +00:00

JSON-RPC 2.0 Code-Gen

Type/Service definition language and code generator for json-rpc 2.0. Currently generating code for NodeJS, Deno and the Web. Other targets are possible, but not implemented yet.

Name Description
ts-node Typescript for NodeJS
ts-esm Typescript in ESM format for Deno

Usage

Create a definition file like test.jrpc:

enum TestEnum {
  VAL1,
  VAL2,
  VAL10 = 10,
  VAL11,
  VAL12
}

type Test {
  testen: TestEnum;
  someString: string;
  someNumber: number;
  array: string[];
  map: {number, TestEnum};
}

service TestService {
  AddNumbers(v1: number,  v2: number): number;


  notification SendTest(test: Test);
}

Then run the generator like this jrpc compile test.jrpc -o=ts-node:output/.

This will generate the Client and Server code in the specified folder.

//TODO: Make Documentation better