@mainframe/rpc-request

Request-based RPC

Stats

StarsIssuesVersionUpdatedCreatedSize
@mainframe/rpc-request
110.2.03 years ago4 years agoMinified + gzip package size for @mainframe/rpc-request in KB

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 @mainframe/rpc-request

Usage

import RequestRPC from '@mainframe/rpc-request'
import httpTransport from '@mainframe/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

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.