1.0.4 • Published 1 year ago

@knovator/api v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@knovator/api

npm npm npm bundle size

@knovator/api provides simple wrapper for api calls and makes it much easier to mange your api calls. It provides two methods fetchUrl and setAPIConfig.

setAPIConfig

You need to set wrapper's config one time before calling api. You can find docs for it.

configtypeuse
getTokenfunction or stringfor private APIs getToken method to get an updated token from localStorage or state or it's up to you and you also pass a string to it
baseUrlstringAPI endpoint url (Note:do not pass '/' at the end of url)
prefixfunction or stringYou can use a common prefix between API Endpoint and the URL of API. a prefix is an optional parameter. A prefix can be the function as well as string type. If you are using prefix as a function then you will get your passed config in arguments.
onErrorfunctionIt is optional but if you pass function then it will be called on any error in API
handleCachebooleanTo enable API cancellation set it true. When enabled, If the last API URL and the current API URL are the same then the last API will get canceled to prevent unnecessary API calls.
tokenPrefixfalse or stringby default it will use Bearer for prefix, to not pass any prefix with authorization pass false
import { setAPIConfig } from "@knovator/api"

const getToken = () => {
    // do something and return token for authorization
    return token
}

setAPIConfig({
    getToken: getToken(),
    prefix: 'admin',
    baseUrl: `${process.env.FETCH_URL}`,
})
...

fetchUrl

fetchUrl takes single parameter under that

ParamUseDefault Value
typetype of api call like get, post etc.get
urlis is url of your api call (not including endpoint of api). refer Example to understand itundefined
datapayload that you want to pass in api{}
configsome configurations like headers, authToken (default true) and hash{}
import fetchUrl from "@knovator/api"

function App() {
    ...
    useEffect(() => {
        // for get method
        fetchUrl({
            url: 'users'
        }).then(res => console.log('success', res))
        // for post or other method
         fetchUrl({
            method: 'post',
            url: 'user'
            data: { name: "VimLeSai" }
        }).then(res => console.log('success', res))
    }, [])
    ...
}
1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago