@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
36 lines (34 loc) • 1.64 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>;
}