@elastic-suite/gally-admin-shared
Version:
Shared package for gally admin BO
31 lines (25 loc) • 550 B
text/typescript
import { IResource } from './api'
import { IError } from './network'
export enum LoadStatus {
FAILED,
IDLE,
LOADING,
SUCCEEDED,
}
export interface IFetch<D> {
data?: D
error?: Error
status: LoadStatus
}
export interface IGraphqlResponse<D> {
data: D
}
export type ISearchParameters = Record<
string,
string | number | boolean | (string | number | boolean)[]
>
export type IFetchApi = <T extends object>(
resource: IResource | string,
searchParameters?: ISearchParameters,
options?: RequestInit
) => Promise<T | IError>