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
|