angular4-hal
Version:
This Angular module offers a HAL/JSON http-client to easily interact with a Spring Data Rest API or any API that implements the Spring Data Rest resource model
80 lines (79 loc) • 3.98 kB
TypeScript
import { Observable } from 'rxjs';
import { Resource } from './resource';
import { Sort } from './sort';
import { ResourceArray } from './resource-array';
import { ExternalService } from './external.service';
import { HalOptions, HalParam } from './rest.service';
import { SubTypeBuilder } from './subtype-builder';
export declare class ResourceService {
private externalService;
constructor(externalService: ExternalService);
private static getURL;
private handleError;
getAll<T extends Resource>(type: {
new (): T;
}, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable<ResourceArray<T>>;
get<T extends Resource>(type: {
new (): T;
}, resource: string, id: any, params?: HalParam[], builder?: SubTypeBuilder): Observable<T>;
getBySelfLink<T extends Resource>(type: {
new (): T;
}, resourceLink: string): Observable<T>;
search<T extends Resource>(type: {
new (): T;
}, query: string, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable<ResourceArray<T>>;
searchSingle<T extends Resource>(type: {
new (): T;
}, query: string, resource: string, options?: HalOptions): Observable<T>;
customQuery<T extends Resource>(type: {
new (): T;
}, query: string, resource: string, _embedded: string, options?: HalOptions, subType?: SubTypeBuilder): Observable<ResourceArray<T>>;
customQueryPost<T extends Resource>(type: {
new (): T;
}, query: string, resource: string, _embedded: string, options?: HalOptions, body?: any, subType?: SubTypeBuilder): Observable<ResourceArray<T>>;
getByRelation<T extends Resource>(type: {
new (): T;
}, resourceLink: string): Observable<T>;
getByRelationArray<T extends Resource>(type: {
new (): T;
}, resourceLink: string, _embedded: string, builder?: SubTypeBuilder): Observable<ResourceArray<T>>;
getProjection<T extends Resource>(type: {
new (): T;
}, resource: string, id: string, projectionName: string): Observable<T>;
getProjectionArray<T extends Resource>(type: {
new (): T;
}, resource: string, projectionName: string): Observable<T[]>;
count(resource: string, query?: string, options?: HalOptions): Observable<number>;
create<T extends Resource>(selfResource: string, entity: T): Observable<Observable<never> | T>;
update<T extends Resource>(entity: T): Observable<Observable<never> | T>;
patch<T extends Resource>(entity: T): Observable<Observable<never> | T>;
delete<T extends Resource>(entity: T): Observable<Object>;
hasNext<T extends Resource>(resourceArray: ResourceArray<T>): boolean;
hasPrev<T extends Resource>(resourceArray: ResourceArray<T>): boolean;
hasFirst<T extends Resource>(resourceArray: ResourceArray<T>): boolean;
hasLast<T extends Resource>(resourceArray: ResourceArray<T>): boolean;
next<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}): Observable<ResourceArray<T>>;
prev<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}): Observable<ResourceArray<T>>;
first<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}): Observable<ResourceArray<T>>;
last<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}): Observable<ResourceArray<T>>;
page<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}, id: number): Observable<ResourceArray<T>>;
sortElements<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}, ...sort: Sort[]): Observable<ResourceArray<T>>;
size<T extends Resource>(resourceArray: ResourceArray<T>, type: {
new (): T;
}, size: number): Observable<ResourceArray<T>>;
private getResourceUrl;
private setUrls;
private setUrlsResource;
}