skolplattformen-backup/libs/api-skolplattformen/lib/index.ts

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