Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smeijer/fetch-addons
A collection of add-ons for the fetch API
https://github.com/smeijer/fetch-addons
Last synced: 16 days ago
JSON representation
A collection of add-ons for the fetch API
- Host: GitHub
- URL: https://github.com/smeijer/fetch-addons
- Owner: smeijer
- License: mit
- Created: 2023-07-05T09:44:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-11T15:20:28.000Z (2 months ago)
- Last Synced: 2024-10-12T09:17:51.288Z (about 1 month ago)
- Language: TypeScript
- Size: 11.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
Awesome Lists containing this project
README
# Fetch Addons
> A collection of addons for the fetch API.
## Install
```sh
npm install fetch-addons
```## Usage
```js
import * as addons from 'fetch-addons';
```### toCurl
Serializes a `Request` object to a cURL command. Handy for logging and replaying failed requests.
```js
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`.
```js
import { getRequest } from 'fetch-addons';// fetch(input, init);
const request = getRequest(input, init);
const request = getRequest(request);
```### getHeaders
Get a `Headers` object from `HeadersInit`.
```js
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.
```js
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' }
```