UNPKG

@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
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; }