Fetch Opts
Fetch Opts is a lightweight JavaScript library that simplifies the process of creating fetch options for the Fetch API. It provides a chainable interface for building fetch options, making it easier to work with various options such as Bearer tokens, methods, content types, bodies, credentials, and custom headers.
Installation
NPM:
npm install fetch-opts
Yarn:
yarn add fetch-opts
Usage
import { FetchOptionsBuilder } from 'fetch-opts';
// Create a new instance of the builder.
const builder = new FetchOptionsBuilder();
const requestBody = {
email: 'myemail@mail.com',
password: 'password123',
};
// Chain the methods to set the desired options.
const fetchOptions = builder
.method('POST')
.contentType('application/json')
.body(requestBody)
.credentials('include')
.build();
fetch('https://api.example.com/signin', fetchOptions)
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error('Error:', error));
API Reference
Method | Parameters | Description |
---|---|---|
bearerToken |
accessToken: string or number |
Sets the Bearer token for the request. |
method |
method: string |
Sets the HTTP method for the request. |
contentType |
contentType: string |
Sets the Content-Type header for the request. Includes built-in types for common content types . |
body |
body: any |
Sets the request body. If the method is 'GET', it will display a warning and ignore the body. |
credentials |
credentials: string |
Sets the credentials mode for the request. |
customHeader |
key: string, value: string |
Sets a custom header for the request. |
build |
| Builds and returns the final fetch options object. |
Contributing
Contributions are welcome from the community! If you're interested in contributing, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes, and add tests for your changes.
Commit your changes.
Note that Husky is set up to automatically run tests and format your code using Prettier before each commit. Make sure your changes pass the tests.
Push your branch to your fork.
- Open a pull request from your fork to the main repository.
License
This project is licensed under MIT