# 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`: ```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 1. Documentation 2. Null Checks/Enforcements in all languages 3. More and better tests