@risemaxi/api-client
v0.4.1
Published
Client Library for Rise
Readme
Rise API client
This package contains an api client for Risevest. The contract is generated from an OpenAPI file, and then a client is built around this contract.
It uses typebox to generate the contract from an OpenAPI file, and also react-query
Installation
npm install @risemaxi/api-client --saveOR
yarn add @risemaxi/api-client
ORbun install @risemaxi/api-clientUsage
This lib also ships with a cli rise-api, so you can use it to generate the contract at will, just run:
bunx rise-api generate <input-file>The input file can be a local file or a url pointing to a file. For example
bunx rise-api generate ./swagger.yamlExample
import { createRiseApiClient, createRiseApiHooks } from '@risemaxi/api-client'
const apiClient = createRiseApiClient(async (method, url, params) => {
const data = await fetch(url)
const res = await data.json()
return data
} , 'api.com' false)
const apiHooks = createRiseApiHooks(riseApi);
...
// Then later use the client like so:
apiClient.get('/plans', {
query: {},
})
apiClient.post('/plans', {
body: { id: "some-uuid" },
})
// Or use the hooks like so:
const { data } = apiHooks.useGet('/plans', {
query: {},
})Parameters
| Name | Type | Default
|----------------|----------|---------
| fetcher | Function |
| baseUrl | String Optional | ""
| enableParsing| Boolean Optional | true
