26 lines
691 B
TypeScript
26 lines
691 B
TypeScript
import {
|
|
Api,
|
|
Fetch,
|
|
FetcherOptions,
|
|
RNCookieManager,
|
|
ToughCookieJar,
|
|
wrapReactNativeCookieManager,
|
|
wrapToughCookie,
|
|
} from '@skolplattformen/api'
|
|
import { ApiSkolplattformen } from './api'
|
|
export { features } from './features'
|
|
|
|
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 as any, cookieManager, options)
|
|
}
|
|
|
|
export default init
|