@erebos/rpc-request

Request-based RPC

Usage no npm install needed!

<script type="module">
  import erebosRpcRequest from 'https://cdn.skypack.dev/@erebos/rpc-request';
</script>

README

rpc-request

Class extending rpc-base to handle stateless JSON-RPC 2.0 calls.

See transport-create-http, transport-http-browser and transport-http-node for possible transports and rpc-stream to handle stateful JSON-RPC 2.0 calls.

Installation

yarn add @erebos/rpc-request

Usage

import RequestRPC from '@erebos/rpc-request'
import httpTransport from '@erebos/transport-http-node'

class MyAPI extends RequestRPC {
  constructor(url: string) {
    super(httpTransport(url))
  }

  getUser(id: string): Promise<{ name: string }> {
    return this.request('getUser', [id])
  }
}

const api = new MyAPI('http://my-api-url')
api.getUser('1234')

Types

type FetchFunction = <D = any, R = any>(data: D) => Promise<R>

API

See the BaseRPC API for inherited methods and properties.

new RequestRPC()

Arguments

  1. fetch: FetchFunction: function making the server call using the JSON-RPC request Object and returning the response.

.request()

Arguments

  1. method: string
  2. params: T = any

Returns Promise<R = any>

License

MIT