@rxap/remote-method
Version:
This package provides abstractions for defining and executing remote methods in Angular applications. It includes features such as automatic refreshing, proxying, and error handling. It offers a structured way to manage remote calls and their dependencies
67 lines (66 loc) • 2.78 kB
TypeScript
import { Injector } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';
import { BaseRemoteMethod, BaseRemoteMethodMetadata } from '@rxap/remote-method';
import * as i0 from "@angular/core";
export interface HttpRemoteMethodMetadata extends BaseRemoteMethodMetadata {
url: string | (() => string);
method: 'DELETE' | 'GET' | 'HEAD' | 'JSONP' | 'OPTIONS' | 'POST' | 'PUT' | 'PATCH';
headers?: HttpHeaders;
reportProgress?: boolean;
params?: HttpParams;
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
withCredentials?: boolean;
timeout?: number;
retry?: number;
}
export interface HttpRemoteMethodParameter<PathParams = any> {
headers?: HttpHeaders;
reportProgress?: boolean;
params?: HttpParams;
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
withCredentials?: boolean;
body?: any | null;
setHeaders?: {
[name: string]: string | string[];
};
setParams?: {
[param: string]: string;
};
pathParams?: PathParams;
}
export declare abstract class BaseHttpRemoteMethod<ReturnType = any, PathParams = any, Parameter extends object = HttpRemoteMethodParameter<PathParams>, MetaData extends HttpRemoteMethodMetadata = HttpRemoteMethodMetadata> extends BaseRemoteMethod<ReturnType, Parameter, MetaData> {
readonly http: HttpClient;
timeout: number;
protected _httpRequest: HttpRequest<ReturnType>;
constructor(http: HttpClient, injector: Injector, metaData?: any | null);
init(): void;
updateRequest(parameters: Partial<HttpRemoteMethodParameter>): HttpRequest<ReturnType>;
buildUrlWithParams(url: string, pathParams?: PathParams): string;
protected getRequestUrl(): string;
static ɵfac: i0.ɵɵFactoryDeclaration<BaseHttpRemoteMethod<any, any, any, any>, [null, null, { optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDeclaration<BaseHttpRemoteMethod<any, any, any, any>>;
}
export interface HttpRemoteMethodMetadata extends BaseRemoteMethodMetadata {
url: string | (() => string);
method: 'DELETE' | 'GET' | 'HEAD' | 'JSONP' | 'OPTIONS' | 'POST' | 'PUT' | 'PATCH';
headers?: HttpHeaders;
reportProgress?: boolean;
params?: HttpParams;
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
withCredentials?: boolean;
}
export interface HttpRemoteMethodParameter<PathParams = any> {
headers?: HttpHeaders;
reportProgress?: boolean;
params?: HttpParams;
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
withCredentials?: boolean;
body?: any | null;
setHeaders?: {
[name: string]: string | string[];
};
setParams?: {
[param: string]: string;
};
pathParams?: PathParams;
}