/** * 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 }; }