@salus-js/http-client
TypeScript icon, indicating that this package has built-in type declarations

0.16.0 • Public • Published

Intro

A library for making type-safe HTTP requests built on the popular Axios client.

Usage

@salus-js/http-client builds on @salus-js/codec and @salus-js/http to make runtime type-checked HTTP requests a breeze. Let's run through a quick sample:

import { t } from '@salus-js/codec'
import { http } from '@salus-js/http'
import { AxiosClient } from '@salus-js/http-client'

const todoResource = t.object({
  userId: t.number,
  id: t.number,
  title: t.string,
  completed: t.boolean
})

const todoParams = t.object({
  id: t.number
})

const getTodo = http.get('/todos/:id', {
  params: todoParams,
  response: todoResource
})

const client = AxiosClient.create('https://jsonplaceholder.typicode.com/')

const responsePromise = client.execute(getTodo, {
  params: {
    id: 1
  }
})

responsePromise.then((response) => {
  console.log(response.data)
})

Guide

Client Instance

When creating a new instance of the Salus Axios client, you need to specify a default baseURL. This URL will be prepended to all paths defined in your operations. Note that you are able to override the baseURL for a specific request.

Package Sidebar

Install

npm i @salus-js/http-client

Weekly Downloads

5

Version

0.16.0

License

MIT

Unpacked Size

8.39 kB

Total Files

9

Last publish

Collaborators

  • colin.morelli
  • werkshy
  • zia-r