@rest-api/react-models
Version:
[](https://www.npmjs.com/package/@rest-api/react-models) [](https://codecov.io/gh/hector7/rest-
32 lines (31 loc) • 2.95 kB
TypeScript
import { RequestType, RestApiReducerType } from "../models/ReducerStorage";
import { HttpError } from "../..";
import { StringOrNumberKeys } from "../models/Schema";
export declare function generalAction<Item, MetaData, IdKey extends keyof Item & string>(state: RestApiReducerType<Item, MetaData, IdKey>, uri: string, req: Partial<RestApiReducerType<Item, MetaData, IdKey>['searchs']['']>): RestApiReducerType<Item, MetaData, IdKey>['searchs'];
export declare function idAction<Item, MetaData, IdKey extends keyof Item & string>(state: RestApiReducerType<Item, MetaData, IdKey>['ids'], idKey: IdKey, id: string | number, req: Partial<RestApiReducerType<Item, MetaData, IdKey>['ids']['']['']>): RestApiReducerType<Item, MetaData, IdKey>['ids'];
export declare function isInvalidated(req?: RequestType<any>): boolean;
export declare function isInitialized(req?: RequestType<any>): boolean;
export declare function isFetching(req?: RequestType<any>): boolean;
export declare function getError(req?: RequestType<any>): HttpError | null;
export declare function getResult<T>(req: RequestType<T>): T | null;
export declare function getItems<Item, Key extends keyof Item & string>(state: RestApiReducerType<Item, any, Key>, idKey: keyof Item & string, uri: string): Item[];
export declare function getMetadata<Metadata>(state: RestApiReducerType<any, Metadata, any>, uri: string): Metadata | null;
export declare function getGeneralRequest<T, Metadata, Key extends keyof T & string>(state: RestApiReducerType<T, Metadata, Key>, uri: string): RequestType<{
ids: T[Key][];
metadata: Metadata;
}>;
export declare function storeIdRequest<Item>(state: RestApiReducerType<Item, any, any>, idKey: string, id: any, req: Partial<RequestType<Item>>): RestApiReducerType<Item, any, any>;
export declare function mapAllRequest<Item, MetaData, Key extends keyof Item & string>(state: RestApiReducerType<Item, MetaData, Key>, mapRequest: (req: RequestType<{
ids: (Item[Key])[];
metadata: MetaData;
}>) => RequestType<{
ids: (Item[Key])[];
metadata: MetaData;
}>): RestApiReducerType<Item, MetaData, Key>;
export declare function storeRequest<Item, MetaData, Key extends keyof Item & string>(state: RestApiReducerType<Item, MetaData, Key>, uri: string, req: Partial<RequestType<{
ids: (Item[Key])[];
metadata: MetaData;
}>>): RestApiReducerType<Item, MetaData, Key>;
export declare function storeItem<Item, K extends keyof Item & string>(state: RestApiReducerType<Item, any, any>, item: Item, keys: K[], lastUpdated: Date): RestApiReducerType<Item, any, any>;
export declare function storeItems<Item, MetaData, IdKey extends StringOrNumberKeys<Item> & string>(state: RestApiReducerType<Item, MetaData, IdKey>, idKeys: IdKey[], lastUpdated: Date, items: Item[]): RestApiReducerType<Item, MetaData, IdKey>['ids'];
export declare function getIdRequest<Item>(state: RestApiReducerType<Item, any, any>, idKey: string, id: any): RequestType<Item>;