@mutant-ws/fetch-browser

1.4.0 • Public • Published

fetch-browser

Thin wrapper over window.fetch. Sister library of @mutant-ws/fetch-node.

Install

npm i @mutant-ws/fetch-browser

Initialize

import { set } from "@mutant-ws/fetch-browser"

set({
  // Throws if not set and using relative paths
  baseURL: "http://localhost",
})

Default headers

import { set } from "@mutant-ws/fetch-browser"

set({
  // Persistent headers
  headers: {
    // Library defaults
    "accept": "application/json",
    "content-type": "application/json",

    // Set JWT for authorized requests
    authorization: "signed-payload-with-base64-over",
  },
})

Query string parameters

There is no built-in way to handle query params but you can set a custom transform function.

import { set } from "@mutant-ws/fetch-browser"
import { stringify } from "qs"

set({
  // Throws if query params passed and no stringify function defined
  queryStringifyFn: source =>
    stringify(source, {
      allowDots: true,
      encode: false,
      arrayFormat: "brackets",
      strictNullHandling: true,
    })
})

GET

import { GET } from "@mutant-ws/fetch-browser"

const myIP = await GET("https://api.ipify.org", {
  query: {
    format: "json"
  }
})
// => {"ip":"213.127.80.141"}

PATCH

POST

DELETE

MULTIPART

Changelog

See the releases section for details.

Readme

Keywords

Package Sidebar

Install

npm i @mutant-ws/fetch-browser

Weekly Downloads

0

Version

1.4.0

License

MIT

Unpacked Size

23.3 kB

Total Files

15

Last publish

Collaborators

  • andreid