UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

36 lines (34 loc) 1.64 kB
/*--------------------------------------------------------------------------------------------- * 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>; }