JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14221
  • Score
    100M100P100Q130945F
  • License MIT

A collection of addons for the fetch API

Package Exports

  • fetch-addons
  • fetch-addons/headers
  • fetch-addons/package.json
  • fetch-addons/request
  • fetch-addons/to-curl

Readme

Fetch Addons

A collection of addons for the fetch API.

Install

npm install fetch-addons

Usage

import * as addons from 'fetch-addons';

toCurl

Serializes a Request object to a cURL command. Handy for logging and replaying failed requests.

import { toCurl } from 'fetch-addons';

// fetch(input, init)
toCurl(input, init);
toCurl(request);

// curl --url 'https://example.com' \
//   --request 'POST' \
//   --header 'content-type: application/json' \
//   --data '{"foo":"bar"}'`

getRequest

Get a Request object from RequestInit.

import { getRequest } from 'fetch-addons';

// fetch(input, init);
const request = getRequest(input, init);
const request = getRequest(request);

getHeaders

Get a Headers object from HeadersInit.

import { getHeaders } from 'fetch-addons';

// fetch(input, init);
const headers = getHeaders(init.headers);

fetch('https://example.com').then((response) => {
    const headers = getHeaders(response.headers);
});

deleteEmptyHeaders

Delete empty headers from a Headers object.

import { deleteEmptyHeaders } from 'fetch-addons';

const request = new Request('https://example.com', {
    headers: {
        'content-type': 'application/json',
        'x-1': '',
        'x-2': 'undefined',
        'x-3': 'null',
    },
});

deleteEmptyHeaders(request.headers);
// Headers { 'content-type': 'application/json' }