diapal-panel/src/driven/boundaries/state-management/stateManagementService.ts

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);
}
}