44 lines
951 B
Markdown
44 lines
951 B
Markdown
|
# 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`:
|
||
|
|
||
|
```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
|