@datorama/akita
Version:
State Management Tailored-Made for JS Applications
73 lines (72 loc) • 2.35 kB
TypeScript
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;
}