kitcall
is a lib focused on calling asynchronous HTTP APIs through a problem-freely, faster and more semantic way.
Yarn | PNPM | NPM |
---|---|---|
yarn install kitcall |
pnpm add kitcall |
npm install kitcall |
Take a look how to use it:
import call from 'kitcall';
const request = call({
baseURL: 'https://api.github.com/users',
});
async function myAsyncFunction() {
const [response, statusCode] = await request('GET /mrlemoos/repos');
console.log(response);
// List my repos here :)
}
// Or
const request = call()
async function myAsyncFunction() {
const [response, statusCode] = await request('GET https://api.github.com/users/mrlemoos/repos');
console.log(response);
// List my repos here too!
}
But we're not done just yet, call can help you on treating the errors your machine or the remote server returns when a HTTP request is made, either globally or locally.
const request = call({
baseURL: 'https://api.github.com/users',
});
// Locally
async function myAsyncFunction() {
try {
const [response, statusCode] = await request('GET /mrlemoos/repos12u0939asda0sd0');
} catch (err) {
// Error caught down here :)
}
}
// Or globally
const request = call({
baseURL: 'https://api.github.com/users',
onCatch: (err) => {
// Error caught up here :)
}
})
async function myAsyncFunction() {
const [response, statusCode] = await request('GET /mrlemoos/repos12u0939asda0sd0');
}
In the CallOptions
parameter, we have these options:
Property | Type definition |
---|---|
onCatch | ((error: Error) => void) |
onSuccess | (result: unknown) => void |
baseURL | string |
-
We add the HTTP method at first and in uppercase, giving the explicitness so a project developers know shortly which method is being used over which endpoint of their application.
-
It is a multiple instance possibility. That means that kitcall can be created in as many files as you like, adding single responsibility to specific pieces of your code.
-
If you want to use a
baseURL
to determine the URL where the service is running, it's way easier to get the data from with just passing the endpoint after the method, so we don't need to rewrite the protocol, the hostname and so on if we need to just call a request. -
Happy coding 😄