sussudio
Version:
An unofficial VS Code Internal API
30 lines (29 loc) • 1.68 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 type { IExtendedTelemetryItem, ITelemetryItem, ITelemetryUnloadState } from '@microsoft/1ds-core-js';
import type { IXHROverride } from '@microsoft/1ds-post-js';
import { ITelemetryAppender } from "./telemetryUtils.mjs";
export interface IAppInsightsCore {
pluginVersionString: string;
track(item: ITelemetryItem | IExtendedTelemetryItem): void;
unload(isAsync: boolean, unloadComplete: (unloadState: ITelemetryUnloadState) => void): void;
}
export declare abstract class AbstractOneDataSystemAppender implements ITelemetryAppender {
private readonly _isInternalTelemetry;
private _eventPrefix;
private _defaultData;
private _xhrOverride?;
protected _aiCoreOrKey: IAppInsightsCore | string | undefined;
private _asyncAiCore;
protected readonly endPointUrl = "https://mobile.events.data.microsoft.com/OneCollector/1.0";
protected readonly endPointHealthUrl = "https://mobile.events.data.microsoft.com/ping";
constructor(_isInternalTelemetry: boolean, _eventPrefix: string, _defaultData: {
[key: string]: any;
} | null, iKeyOrClientFactory: string | (() => IAppInsightsCore), // allow factory function for testing
_xhrOverride?: IXHROverride | undefined);
private _withAIClient;
log(eventName: string, data?: any): void;
flush(): Promise<any>;
}