UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

73 lines (72 loc) 2.35 kB
import { AddEntitiesOptions, EntityService, EntityState, EntityStore, getEntityType, getIDType } from '@datorama/akita'; import { Observable } from 'rxjs'; import { HttpConfig, Msg, NgEntityServiceParams } from './types'; import { HttpMethod } from './ng-entity-service-notifier'; import { NgEntityServiceLoader } from './ng-entity-service.loader'; export declare const mapResponse: (config: HttpConfig<any>) => import("rxjs").OperatorFunction<{}, any>; export declare class NgEntityService<S extends EntityState = any> extends EntityService<S> { protected store: EntityStore<S>; private config; baseUrl: string; loader: NgEntityServiceLoader; private http; private notifier; private globalConfig; private mergedConfig; private dispatchSuccess; private dispatchError; constructor(store: EntityStore<S>, config?: NgEntityServiceParams); readonly api: string; readonly resourceName: any; setBaseUrl(api: string): void; /** * * Get all or one entity - Creates a GET request * * service.get().subscribe() * service.get({ headers, params, url }) * * service.get(id) * service.get(id, { headers, params, url }) * */ get<T>(id?: getIDType<S>, config?: HttpConfig & { append?: boolean; } & Msg): Observable<T>; get<T>(config?: HttpConfig & { append?: boolean; } & Msg): Observable<T>; /** * * Add a new entity - Creates a POST request * * service.add(entity) * service.add(entity, config) * */ add<T>(entity: getEntityType<S>, config?: HttpConfig & Pick<AddEntitiesOptions, 'prepend'> & Msg): Observable<T>; /** * * Update an entity - Creates a PUT/PATCH request * * service.update(id, entity) * service.update(id, entity, config) * */ update<T>(id: getIDType<S>, entity: Partial<getEntityType<S>>, config?: HttpConfig & { method: HttpMethod.PUT | HttpMethod.PATCH; } & Msg): Observable<T>; /** * * Delete an entity - Creates a DELETE request * * service.delete(id) * service.delete(id, config) * */ delete<T>(id: getIDType<S>, config?: HttpConfig & Msg): Observable<T>; private getHttpMethod; private getConfigValue; private resolveUrl; private handleError; }