UNPKG

sussudio

Version:

An unofficial VS Code Internal API

33 lines (32 loc) 1.11 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(); } }