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-

69 lines (68 loc) 2.08 kB
import { Subject, Observer } from "./Observable"; import { RequestType } from "./ReducerStorage"; import { RestModel } from "./restmodels"; export declare class ModelState<R extends RestModel<any, any, any, any, any>> implements Subject { private observers; private _state; private model; constructor(r: RestModel<any, any, any, any, any>); get modelName(): string; get state(): { searchs: { [url: string]: RequestType<{ ids: any[]; metadata: any; }>; }; ids: { [key: string]: { [id: string]: RequestType<any>; }; }; }; addKeyModel(key: string): void; attach(observer: Observer): void; detach(observer: Observer): void; notify(): void; getRequest(url: string): RequestType<{ ids: R['itemType'][]; metadata: any; }>; getRequestById(key: string, id: string): RequestType<R['model']['schema']['RealType']>; /** * updateGet for an internal use */ updateGet<R extends RestModel<any, any, any, any, any>>(url: string, request: Partial<RequestType<{ ids: R['itemType'][]; metadata: any; }>>): void; /** * updateGetById for an internal use */ updateGetById(key: string, id: string, request: Partial<RequestType<R['model']['schema']['RealType']>>): void; } export declare class State implements Observer, Subject { private observers; private _state; get state(): { [modelName: string]: { searchs: { [url: string]: RequestType<{ ids: any[]; metadata: any; }>; }; ids: { [key: string]: { [id: string]: RequestType<any>; }; }; }; }; attach(observer: Observer): void; detach(observer: Observer): void; notify(): void; update(subject: ModelState<any>): void; } declare const _default: State; export default _default;