20 lines
637 B
TypeScript
20 lines
637 B
TypeScript
import { ApiSkolplattformen } from './api'
|
|
import { Api, FetcherOptions, Fetch, RNCookieManager,
|
|
ToughCookieJar,
|
|
wrapReactNativeCookieManager,
|
|
wrapToughCookie } from '@skolplattformen/api'
|
|
|
|
const init = (
|
|
fetchImpl: Fetch,
|
|
cookieManagerImpl: RNCookieManager | ToughCookieJar,
|
|
options?: FetcherOptions
|
|
): Api => {
|
|
// prettier-ignore
|
|
const cookieManager = ((cookieManagerImpl as RNCookieManager).get)
|
|
? wrapReactNativeCookieManager(cookieManagerImpl as RNCookieManager)
|
|
: wrapToughCookie(cookieManagerImpl as ToughCookieJar)
|
|
return new ApiSkolplattformen(fetchImpl, cookieManager, options)
|
|
}
|
|
|
|
export default init
|