ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
43 lines (42 loc) • 1.84 kB
TypeScript
import { HttpClient, RequestInit } from "aurelia-fetch-client";
import { NumberService } from "./number-service";
import { AjaxErrorHandler as IErrorHandler } from "./handle-errors-service";
import { LoggingService } from "./logging-service";
import { I18N } from 'aurelia-i18n';
export declare class Ajax {
private http;
private errorHandler;
private loggingService;
private numberService;
private i18n;
static GlobalBaseUrl: string;
static GlobalRequestInit: RequestInit;
BaseUrl: string;
noCacheHeader: any;
private _initialized;
constructor(http: HttpClient, errorHandler: IErrorHandler, loggingService: LoggingService, numberService: NumberService, i18n: I18N);
private configure();
private fetch<T>(url, init);
fetchNumber(url: string, init?: RequestInit): Promise<IAjaxResult<number>>;
fetchText(url: string, init?: RequestInit): Promise<IAjaxResult<string>>;
fetchJson<T>(url: string, init?: RequestInit): Promise<IAjaxResult<any>>;
put<T>(url: string, data: Object, init?: RequestInit): Promise<IAjaxResult<T>>;
post<T>(url: string, data?: Object, init?: RequestInit): Promise<IAjaxResult<T>>;
delete<T>(url: string, init?: RequestInit): Promise<IAjaxResult<T>>;
private getAjaxResponse<T>(response);
private getAjaxResultForType(response, dataReturnType);
private handleJavaScriptException<T>(ex);
private handleTypeError<T>(ex);
private handleServerException<T>(ex);
private handleDOMException<T>(ex);
private handleServerError<T>(error);
}
export interface IAjaxResult<T> {
Success: boolean;
ErrorCode?: number;
ErrorMessage?: string;
Data?: T;
}
export interface IErrorHandler {
HandleError(friendlyMessage: string, diagnosticMessage?: string): Promise<void>;
}