- Notifications
You must be signed in to change notification settings - Fork0
A fully typed lightweight wrapper with more powerful and flexible features of fetch api
License
MaloLebrin/fetch-api-wrapper
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A fully typed lightweight wrapper with more powerful and flexible features offetch api
- Fully tested withVitest
- Create documentation withVitepress
- Create offical release
- Create automatic deploy new release on push tag
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The process described here has several goals:
- Maintain Fetch-api-wrapper's quality
- Fix problems that are important to users
- Enable a sustainable system for Fetch-api-wrapper's maintainers to review contributions
You can create PR as your wish to fix bug, and create features
✅ The features of Fetch api wrapper can be used without concern. They are tested and already used in some projects
npm i @malolebrin/fetch-api-wrapper// oryarn add @malolebrin/fetch-api-wrapper// orpnpm i @malolebrin/fetch-api-wrapperFetch api wrapper can be used in any javascript or typescript project (vanilla, react, vue, etc...)
This package was built to use the fetch api in a very simple way with a minimal configuration.
The package was built with two possible possibilities for the user.You can use FetchApiWrapper class
import{FetchWrapper}from'@malolebrin/fetch-api-wrapper'constapi=newFetchWrapper({baseUrl:'<your url>',token:'<your token>',headers:'<your headers>',})
Or useFetchWrapper hook.
import{useFetchWrapper}from'@malolebrin/fetch-api-wrapper'const{ deleteApi, postApi, patchApi, putApi, getApi, isSuccess, submissionErrors, setIsSubmitting,}=useFetchWrapper({baseUrl:'<your url>',token:'<your token>',headers:'<your headers>',})
It depends on your preference. Look at the documentation to understand how to use these two utilities
import{FetchWrapper}from'@malolebrin/fetch-api-wrapper'constapi=newFetchWrapper({baseUrl:'<your url>',token:'<your token>',headers:'<your headers>',})
You can now use the api constant with headers and tokens directly associated with it. 🚀
const{ data, success, status, statusText}=awaitapi.get<TSInterface>('<my path>')
const{ data, success, status, statusText}=awaitapi.post<TSInterface>('<my path>',body)
const{ data, success, status, statusText}=awaitapi.put<TSInterface>('<my path>/:id',body)
const{ data, success, status, statusText}=awaitapi.patch<TSInterface>('<my path>/:id',body)
const{ data, success, status, statusText}=awaitapi.delete<TSInterface>('<my path>/:id')
import{useFetchWrapper}from'@malolebrin/fetch-api-wrapper'const{ deleteApi, postApi, patchApi, putApi, getApi, isSuccess, submissionErrors, setIsSubmitting,}=useFetchWrapper({baseUrl:'<your url>',token:'<your token>',headers:'<your headers>',})
You can now use the api constant with headers and tokens directly associated with it. 🚀
const{ data, success, status, statusText}=awaitgetApi<TSInterface>('<my path>')
const{ data, success, status, statusText}=awaitpostApi<TSInterface>('<my path>',body)
const{ data, success, status, statusText}=awaitputApi<TSInterface>('<my path>/:id',body)
const{ data, success, status, statusText}=awaitpatchApi<TSInterface>('<my path>/:id',body)
const{ data, success, status, statusText}=awaitdeleteApi<TSInterface>('<my path>/:id')
MIT License © 2022Malo Lebrin
About
A fully typed lightweight wrapper with more powerful and flexible features of fetch api
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.