27 lines
691 B
TypeScript
27 lines
691 B
TypeScript
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);
|
|
}
|
|
}
|