UNPKG

@rest-api/react-models

Version:

[![npm version](https://img.shields.io/npm/v/@rest-api/react-models)](https://www.npmjs.com/package/@rest-api/react-models) [![codecov](https://codecov.io/gh/hector7/rest-api-react-models/branch/master/graph/badge.svg)](https://codecov.io/gh/hector7/rest-

39 lines (38 loc) 1.91 kB
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"][]; }; }