@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
35 lines (33 loc) • 1.23 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { DisposableStore } from '@sussudio/base/common/lifecycle.mjs';
import { ITelemetryService } from './telemetry.mjs';
export interface ErrorEvent {
callstack: string;
msg?: string;
file?: string;
line?: number;
column?: number;
uncaught_error_name?: string;
uncaught_error_msg?: string;
count?: number;
}
export declare namespace ErrorEvent {
function compare(a: ErrorEvent, b: ErrorEvent): 0 | 1 | -1;
}
export default abstract class BaseErrorTelemetry {
static ERROR_FLUSH_TIMEOUT: number;
private _telemetryService;
private _flushDelay;
private _flushHandle;
private _buffer;
protected readonly _disposables: DisposableStore;
constructor(telemetryService: ITelemetryService, flushDelay?: number);
dispose(): void;
protected installErrorListeners(): void;
private _onErrorEvent;
protected _enqueue(e: ErrorEvent): void;
private _flushBuffer;
}