/** * Utilities to build responses */ interface AnyError { message: string; } export type StoreState = { loading: boolean; data: Type | void; error: AnyError | void; }; export function initialResponse(initialState: T): StoreState { return { loading: true, data: initialState, error: undefined }; } export function errorResponse(error: AnyError): StoreState { return { loading: false, data: undefined, error }; } export function response(data: T): StoreState { return { loading: false, data, error: undefined }; }