Skip to main content

TypeScript Types

Manager

interface Manager<Actions = ActionTypes> {
getMiddleware(): Middleware<Actions>;
cleanup(): void;
init?: (state: State<any>) => void;
}
type Middleware<Actions = any> = <C extends Controller<Actions>>(
controller: C,
) => (next: C['dispatch']) => C['dispatch'];

More about manager.

NetworkError

interface NetworkError extends Error {
status: number;
response?: Response;
}

UnknownError

This is a catch-all for errors thrown in fetch functions. It is recommended to try to conform to the NetworkError interface above

type UnknownError = Error & { status?: unknown; response?: unknown };

State

interface State<T> {
readonly entities: {
readonly [entityKey: string]: { readonly [pk: string]: T } | undefined;
};
readonly indexes: NormalizedIndex;
readonly results: { readonly [key: string]: unknown | PK[] | PK | undefined };
readonly meta: {
readonly [key: string]: {
readonly date: number;
readonly error?: ErrorTypes;
readonly expiresAt: number;
readonly prevExpiresAt?: number;
readonly invalidated?: boolean;
readonly errorPolicy?: 'hard' | 'soft' | undefined;
};
};
readonly entityMeta: {
readonly [entityKey: string]: {
readonly [pk: string]: {
readonly date: number;
readonly expiresAt: number;
readonly fetchedAt: number;
};
};
};
readonly optimistic: (
| previousActions.ReceiveAction
| previousActions.OptimisticAction
)[];
readonly lastReset: Date | number;
}