UNPKG

apiflux

Version:

apiflux is a powerful and lightweight JavaScript library for making API requests effortlessly. It provides built-in error handling, retry logic, and support for query parameters, ensuring reliable HTTP requests. Perfect for developers who want a cleaner a

71 lines (56 loc) 2.19 kB
# ApiFlux 🚀 **ApiFlux** is a powerful and lightweight JavaScript library for making API requests with ease. It provides built-in error handling, retry logic, and support for query parameters, making HTTP requests simpler and more reliable. --- ## Basic Usage 🚀 `smartFetch(url, params, options)` - `url` (string) - The API endpoint to request data from. - `params` (object) - Query parameters to append to the URL. Default is an empty object. - `options` (object) - Additional fetch options, including: - `method` (string) - HTTP method (GET, POST, PUT, DELETE, etc.). Default is 'GET'. - `retries` (number) - Number of retry attempts for failed requests. Default is 3. - `retryDelay` (number) - Delay between retry attempts in milliseconds. Default is 1000. Example: ```js import smartFetch from 'apiflux'; const fetchData = async () => { const data = await smartFetch('https://catfact.ninja/fact'); console.log(data); }; fetchData(); ``` --- Example with query parameter: ```js const fetchDataWithParams = async () => { const data = await smartFetch('https://api.example.com/search', { q: 'javascript' }); console.log(data); }; fetchDataWithParams(); ``` --- Example with Post Request: ```js const postData = async () => { const data = await smartFetch('https://api.example.com/create', {}, { method: 'POST', body: JSON.stringify({ name: 'John', age: 30 }), headers: { 'Content-Type': 'application/json' } }); console.log(data); }; postData(); ``` --- ## Features ✨ - **Universal HTTP Support:** Works with all HTTP methods (GET, POST, PUT, DELETE, etc.). - **Built-in Error Handling:** Automatically detects and handles server and network errors. - **Retry Mechanism:** Retries failed requests with customizable retry attempts and delay. - **Query Parameters Made Easy:** Effortlessly attach query parameters to your requests. - **Smart Response Handling:** Automatically parses JSON or returns plain text based on response type. --- ## Installation ⬇️ Install ApiFlux using npm: ```sh npm install apiflux