json-rpc-creator

JSON-RPC 2.0 objects creator

Usage no npm install needed!

<script type="module">
  import jsonRpcCreator from 'https://cdn.skypack.dev/json-rpc-creator';
</script>

README

json-rpc-creator

JSON-RPC 2.0 data structures creator.

The module does not check types, nor convert unsupported types (e.g., undefined to null). This is to allow JSON-RPC to support as many types and protocols as possible.

Install

npm install --save json-rpc-creator
# or
yarn add json-rpc-creator

API

notification

function notification<T>(method: string, params?: JsonRpcParams<T>): JsonRpcNotification<T>
function notification<T>(obj: Omit<JsonRpcNotification<T>, 'jsonrpc'>): JsonRpcNotification<T>

request

function request<T>(id: JsonRpcId, method: string, params?: JsonRpcParams<T>): JsonRpcRequest<T>
function request<T>(obj: Omit<JsonRpcRequest<T>, 'jsonrpc'>): JsonRpcRequest<T>

success

function success<T>(id: JsonRpcId, result: T): JsonRpcSuccess<T>
function success<T>(obj: Omit<JsonRpcSuccess<T>, 'jsonrpc'>): JsonRpcSuccess<T>

error

function error<T>(id: JsonRpcId, code: number, message: string, data?: T): JsonRpcError<T>
function error<T>(id: JsonRpcId, error: JsonRpcErrorObject<T>): JsonRpcError<T>
function error<T>(obj: Omit<JsonRpcError<T>, 'jsonrpc'>): JsonRpcError<T>

batch

function batch<T>(...requests: Array<JsonRpcRequest<T> | JsonRpcNotification<T>>): Array<JsonRpcRequest<T> | JsonRpcNotification<T>>
function batch<T>(...responses: Array<JsonRpcResponse<T>>): Array<JsonRpcResponse<T>>