@rest-api/react-models
Version:
[](https://www.npmjs.com/package/@rest-api/react-models) [](https://codecov.io/gh/hector7/rest-
39 lines (38 loc) • 1.91 kB
TypeScript
import { RestModel, UrlCallbackParam } from ".";
import { Schema, StringOrNumberKeys } from "../Schema";
import ComplexIdRestModel from './ComplexIdRestModel';
import BasicIdRestModel from './basic/BasicIdRestModel';
export default class ComplexSearchRestModel<OptType = any, S extends Schema<any> = any, IdKey extends StringOrNumberKeys<S['RealType']> & StringOrNumberKeys<S['PopulatedType']> & string = any, GetItem = any, MetaData = any> extends RestModel<OptType, S, IdKey, GetItem, MetaData> {
constructor(idModel: BasicIdRestModel<S, IdKey> | ComplexIdRestModel<OptType, S, IdKey>, optSchema: Schema<OptType, any, any>, url: UrlCallbackParam<OptType>);
useFetchIfNeeded(opts: OptType, queryString?: string | URLSearchParams): void;
useInvalidate(opts: OptType, queryString?: string | URLSearchParams): () => void;
useGet(opts: OptType, queryString?: string | URLSearchParams): {
reload: () => void;
error: import("../../..").HttpError | null;
initialized: boolean;
invalidated: boolean;
loading: boolean;
items: NonNullable<S["RealType"]>[];
metadata: MetaData | null;
};
useFetchPopulatedIfNeeded(opts: OptType, queryString?: string | URLSearchParams): void;
useGetPopulated(opts: OptType, queryString?: string | URLSearchParams): {
reload: () => void;
invalidated: boolean;
error: import("../../..").HttpError | null;
initialized: boolean;
loading: boolean; /** @internal */
metadata: MetaData | null;
populated: true;
items: S["FullPopulatedType"][];
} | {
reload: () => void;
invalidated: boolean;
error: import("../../..").HttpError | null;
initialized: boolean;
loading: boolean; /** @internal */
metadata: MetaData | null;
populated: false;
items: S["PopulatedType"][];
};
}