UNPKG

@sussudio/platform

Version:

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

34 lines (33 loc) 1.01 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ export class TelemetryAppenderChannel { appenders; constructor(appenders) { this.appenders = appenders; } listen(_, event) { throw new Error(`Event not found: ${event}`); } call(_, command, { eventName, data }) { this.appenders.forEach((a) => a.log(eventName, data)); return Promise.resolve(null); } } export class TelemetryAppenderClient { channel; constructor(channel) { this.channel = channel; } log(eventName, data) { this.channel .call('log', { eventName, data }) .then(undefined, (err) => `Failed to log telemetry: ${console.warn(err)}`); return Promise.resolve(null); } flush() { // TODO return Promise.resolve(); } }