import StateManagementProvider from './stateManagementProvider'; import SwrBoundary from './swrBoundary'; export default class StateManagementService implements StateManagementProvider { private provider: StateManagementProvider; constructor(provider: StateManagementProvider) { this.provider = provider; } static swr() { const stateManagement = new StateManagementService(new SwrBoundary()); return stateManagement; } useGetQuery<DataType>( key: string, httpHandler: () => Promise<DataType> ): { data: DataType | undefined; isLoading: boolean; error?: string | undefined; } { return this.provider.useGetQuery(key, httpHandler); } }