.vscode | ||
.yarn | ||
examples | ||
src | ||
templates | ||
.editorconfig | ||
.gitignore | ||
.yarnrc.yml | ||
meta.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
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 |
rust | Rust |
dart | Dart |
c# | C# |
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 {
@Description("This Function adds two number")
@Param("v1", "The first Number")
@Param("v2", "The second Number")
@Returns("The added values of the two numbers")
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.
TODOS
- Documentation
- Null Checks/Enforcements in all languages
- More and better tests