@jacraig/request is a powerful yet lightweight library designed to simplify HTTP requests using the native fetch API while adding functionality such as caching, retry logic, and timeouts. It aims to provide developers with a convenient and flexible solution for handling HTTP requests in JavaScript and TypeScript applications.
You can install @jacraig/request via npm:
npm install @jacraig/request
Here's a basic example of how you can use @jacraig/request to make a fetch request:
import { Request } from '@jacraig/request';
let returnValue = await Request.get('https://jsonplaceholder.somewhere.com/post.json').send();
In order to use caching, retry logic, or timeouts, you can use the extra methods on the returned Request object to set options:
import { Request, StorageMode } from '@jacraig/request';
let returnValue = await Request.get('https://jsonplaceholder.somewhere.com/post.json')
    .withStorageMode(StorageMode.StorageAndUpdate)
    .withTimeout(5000)
    .withRetryAttempts(3)
    .send();
If you prefer to use callbacks instead of promises, you can do so by passing a callback function to the onSuccess method:
import { Request } from '@jacraig/request';
Request.get('https://jsonplaceholder.somewhere.com/post.json')
    .onSuccess((response) => {
        console.log(response);
    })
    .send();
For more detailed information on how to use @jacraig/request, please refer to the documentation on GitHub Pages.
@jacraig/request is licensed under the Apache 2.0 License