backtrace-js
Version:
Backtrace.io error reporting tool for client-side applications
62 lines (61 loc) • 2.67 kB
TypeScript
import { IBacktraceClientOptions, InitBacktraceClientOptions } from './model/backtraceClientOptions';
import { BacktraceMetrics } from './model/backtraceMetrics';
import { BacktraceReport } from './model/backtraceReport';
import { BacktraceResult } from './model/backtraceResult';
import { Breadcrumbs } from './model/breadcrumbs';
/**
* Backtrace client
*/
export declare class BacktraceClient {
options: IBacktraceClientOptions;
breadcrumbs: Breadcrumbs;
readonly attributes: {
[index: string]: any;
};
private _backtraceApi;
readonly _backtraceMetrics: BacktraceMetrics | undefined;
private _clientRateLimit;
constructor(clientOptions: InitBacktraceClientOptions);
private getClientAttributes;
/**
* Memorize selected values from application.
* Memorized attributes will be available in your Backtrace report.
* Memorized attributes will be only available for one report.
* @param key attribute key
* @param value attribute value
*/
memorize(key: string, value: any): void;
/**
* Set custom client attribute
* Memorized attributes will be available in your Backtrace report.
* Memorized attributes will be only available for one report.
* @param key attribute key
* @param value attribute value
*/
setAttribute(key: string, value: any): void;
createReport(payload: Error | string, reportAttributes?: object | undefined, attachment?: string | object): BacktraceReport;
/**
* Send report asynchronously to Backtrace
* @param payload report payload
* @param reportAttributes attributes
* @param attachment data to be converted to a Blob and sent as attachment with report
*/
reportAsync(payload: Error | string, reportAttributes?: object | undefined, attachment?: string | object): Promise<BacktraceResult>;
/**
* Send report synchronosuly to Backtrace
* @param payload report payload - error or string
* @param reportAttributes attributes
* @param attachment data to be converted to a Blob and sent as attachment with report
*/
reportSync(payload: Error | string, reportAttributes?: object | undefined, attachment?: string | object): BacktraceResult;
sendReport(report: BacktraceReport, callback?: (err?: Error, res?: BacktraceResult) => void): BacktraceResult;
sendAsync(report: BacktraceReport): Promise<BacktraceResult>;
private testClientLimits;
private samplingHit;
private getSubmitUrl;
private registerHandlers;
private registerPromiseHandler;
private registerGlobalHandler;
private readAttributes;
private getOptionsWithDefaults;
}