import { IOfflineService, IOfflineServiceImplementation, } from '../interfaces/offline.interface' import { ApisauceInstance } from '../services/api/apisauce' import { PLATFORM_SERVICES, resolveService } from './platformResolver' export class OfflineServiceProvider implements IOfflineService { api: ApisauceInstance implementation?: IOfflineServiceImplementation constructor(api: ApisauceInstance) { this.api = api } async initialize() { const serviceProvider = await resolveService( PLATFORM_SERVICES.OFFLINE, this.api, ) if (!serviceProvider) { return } this.implementation = serviceProvider } initialized() { return !!this.implementation } }