An open API service indexing awesome lists of open source software.

https://github.com/hrsh7th/deno-json-rpc

Strongly typed json-rpc module for deno.
https://github.com/hrsh7th/deno-json-rpc

Last synced: 5 months ago
JSON representation

Strongly typed json-rpc module for deno.

Awesome Lists containing this project

README

          

# typed-json-rpc

Strongly typed JSON-RPC module.

# Usage

```typescript
import { RPC, VSCodeIO } from 'https://deno.land/x/typed_json_rpc/mod.ts'

type TextDocumentDefinitionRequest = {
method: 'textDocument/definition';
params: vscode.TextDocumentPositionParams;
result: vscode.Location | vscode.Location[];
};

const rpc = new RPC<{
IncomingRequest: TextDocumentDefinitionRequest;
OutgoingRequest: never;
IncomingNotification: never;
OutgoingNotification: never;
}>({
io: new VSCodeIO({
reader: Deno.stdin,
writer: Deno.stdout,
})
});

rpc.onRequest('textDocument/definition', params => {
return await findDefinition(params);
});

rpc.start();
```