Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use JSONBigUtils of tsp-typescript-client for vscode messages #306

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 0 additions & 34 deletions vscode-trace-common/src/signals/vscode-signal-converter.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import JSONBigConfig from 'json-bigint';
import { signalManager } from 'traceviewer-base/lib/signals/signal-manager';
import { Experiment } from 'tsp-typescript-client/lib/models/experiment';
import { OutputDescriptor } from 'tsp-typescript-client/lib/models/output-descriptor';
import { JSONBigUtils } from 'tsp-typescript-client/lib/utils/jsonbig-utils';
import * as vscode from 'vscode';
import {
webviewReady,
Expand All @@ -11,15 +11,9 @@ import {
experimentSelected,
setTspClient
} from 'vscode-trace-common/lib/messages/vscode-messages';
import { convertSignalExperiment } from 'vscode-trace-common/lib/signals/vscode-signal-converter';
import { ClientType, getTspClientUrl } from 'vscode-trace-extension/src/utils/backend-tsp-client-provider';
import { TraceViewerPanel } from '../../trace-viewer-panel/trace-viewer-webview-panel';
import { AbstractTraceExplorerProvider } from '../abstract-trace-explorer-provider';
import { ClientType, getTspClientUrl } from 'vscode-trace-extension/src/utils/backend-tsp-client-provider';

const JSONBig = JSONBigConfig({
useNativeBigInt: true
});

export class TraceExplorerAvailableViewsProvider extends AbstractTraceExplorerProvider {
public static readonly viewType = 'traceExplorer.availableViews';
public readonly _webviewScript = 'analysisPanel.js';
Expand Down Expand Up @@ -54,7 +48,7 @@ export class TraceExplorerAvailableViewsProvider extends AbstractTraceExplorerPr
if (data?.descriptor) {
// FIXME: JSONBig.parse() created bigint if numbers are small.
// Not an issue right now for output descriptors.
const descriptor = JSONBig.parse(data.descriptor) as OutputDescriptor;
const descriptor : OutputDescriptor = JSONBigUtils.parse(data.descriptor, OutputDescriptor);
TraceViewerPanel.addOutputToCurrent(descriptor);
}
};
Expand All @@ -64,7 +58,7 @@ export class TraceExplorerAvailableViewsProvider extends AbstractTraceExplorerPr
this._selectionOngoing = true;
if (data?.wrapper) {
// Avoid endless forwarding of signal
this._selectedExperiment = convertSignalExperiment(JSONBig.parse(data.wrapper));
this._selectedExperiment = JSONBigUtils.parse(data.wrapper, Experiment);
} else {
this._selectedExperiment = undefined;
}
Expand Down Expand Up @@ -105,7 +99,7 @@ export class TraceExplorerAvailableViewsProvider extends AbstractTraceExplorerPr
protected doHandleExperimentSelectedSignal(experiment: Experiment | undefined): void {
if (!this._selectionOngoing && this._view) {
this._selectedExperiment = experiment;
const wrapper = experiment ? JSONBig.stringify(experiment) : undefined;
const wrapper = experiment ? JSONBigUtils.stringify(experiment) : undefined;
this._messenger.sendNotification(experimentSelected, this._webviewParticipant, { wrapper });
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import JSONBigConfig from 'json-bigint';
import { signalManager } from 'traceviewer-base/lib/signals/signal-manager';
import { Experiment } from 'tsp-typescript-client/lib/models/experiment';
import { JSONBigUtils } from 'tsp-typescript-client/lib/utils/jsonbig-utils';
import * as vscode from 'vscode';
import { convertSignalExperiment } from 'vscode-trace-common/lib/signals/vscode-signal-converter';
import { TraceViewerPanel } from '../../trace-viewer-panel/trace-viewer-webview-panel';
import { ClientType, getTspClientUrl, updateNoExperimentsContext } from '../../utils/backend-tsp-client-provider';
import {
Expand All @@ -21,10 +20,6 @@ import {
} from 'vscode-trace-common/lib/messages/vscode-messages';
import { AbstractTraceExplorerProvider } from '../abstract-trace-explorer-provider';

const JSONBig = JSONBigConfig({
useNativeBigInt: true
});

export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorerProvider {
public static readonly viewType = 'traceExplorer.openedTracesView';
protected readonly _webviewScript = 'openedTracesPanel.js';
Expand Down Expand Up @@ -67,7 +62,7 @@ export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorer

private _onVscodeReOpenTrace = (data: any): void => {
if (data?.wrapper) {
const experiment = convertSignalExperiment(JSONBig.parse(data.wrapper));
const experiment: Experiment = JSONBigUtils.parse(data.wrapper, Experiment);
const existingPanel = TraceViewerPanel.getExistingPanel(experiment.name);
const panel = TraceViewerPanel.createOrShow(
this._extensionUri,
Expand All @@ -85,7 +80,8 @@ export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorer
private _onVscodeCloseTrace = (data: any): void => {
if (data?.wrapper) {
// just remove the panel here
TraceViewerPanel.disposePanel(this._extensionUri, JSONBig.parse(data.wrapper).name);
const experiment : Experiment = JSONBigUtils.parse(data.wrapper, Experiment);
TraceViewerPanel.disposePanel(this._extensionUri, experiment.name);
signalManager().emit('EXPERIMENT_SELECTED', undefined);
}
};
Expand All @@ -97,7 +93,7 @@ export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorer
private _onVscodeExperimentSelected = (data: any): void => {
let experiment: Experiment | undefined;
if (data?.wrapper) {
experiment = convertSignalExperiment(JSONBig.parse(data.wrapper));
experiment = JSONBigUtils.parse(data.wrapper, Experiment);
} else {
experiment = undefined;
}
Expand All @@ -106,7 +102,7 @@ export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorer

protected doHandleExperimentOpenedSignal(experiment: Experiment): void {
if (this._view && experiment) {
const wrapper: string = JSONBig.stringify(experiment);
const wrapper = JSONBigUtils.stringify(experiment);
this._messenger.sendNotification(experimentOpened, this._webviewParticipant, wrapper);
}
}
Expand All @@ -117,7 +113,7 @@ export class TraceExplorerOpenedTracesViewProvider extends AbstractTraceExplorer
}
if (this._view) {
this._selectedExperiment = experiment;
const wrapper: string = JSONBig.stringify(experiment);
const wrapper = JSONBigUtils.stringify(experiment);
this._messenger.sendNotification(traceViewerTabActivated, this._webviewParticipant, wrapper);

if (!this._view.visible) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import * as vscode from 'vscode';
import JSONBigConfig from 'json-bigint';
import { signalManager } from 'traceviewer-base/lib/signals/signal-manager';
import { TimeRangeUpdatePayload } from 'traceviewer-base/lib/signals/time-range-data-signal-payloads';
import { TimeRangeDataMap } from 'traceviewer-react-components/lib/components/utils/time-range-data-map';
Expand All @@ -15,12 +14,9 @@ import {
viewRangeUpdated,
restoreView
} from 'vscode-trace-common/lib/messages/vscode-messages';
import { JSONBigUtils } from 'tsp-typescript-client/lib/utils/jsonbig-utils';
import { AbstractTraceExplorerProvider } from '../abstract-trace-explorer-provider';

const JSONBig = JSONBigConfig({
useNativeBigInt: true
});

export class TraceExplorerTimeRangeDataProvider extends AbstractTraceExplorerProvider {
public static readonly viewType = 'traceExplorer.timeRangeDataView';
protected readonly _webviewScript = 'timeRangePanel.js';
Expand All @@ -35,8 +31,10 @@ export class TraceExplorerTimeRangeDataProvider extends AbstractTraceExplorerPro

// VSCODE message handlers
private _onVscodeRequestSelectionRangeChange = (data: any): void => {
const parsedData = data ? JSONBig.parse(data) : undefined;
signalManager().emit('REQUEST_SELECTION_RANGE_CHANGE', parsedData);
if (data) {
const result = JSONBigUtils.parse<TimeRangeUpdatePayload>(data);
signalManager().emit('REQUEST_SELECTION_RANGE_CHANGE', result);
}
};

protected init(
Expand All @@ -63,7 +61,7 @@ export class TraceExplorerTimeRangeDataProvider extends AbstractTraceExplorerPro
activeData: this._experimentDataMap.activeData
};
this._messenger.sendNotification(restoreView, this._webviewParticipant, {
data: JSONBig.stringify(data)
data: JSONBigUtils.stringify(data)
});
}
});
Expand All @@ -88,17 +86,17 @@ export class TraceExplorerTimeRangeDataProvider extends AbstractTraceExplorerPro
}

private onViewRangeUpdated = (update: TimeRangeUpdatePayload) => {
this._messenger.sendNotification(viewRangeUpdated, this._webviewParticipant, JSONBig.stringify(update));
this._messenger.sendNotification(viewRangeUpdated, this._webviewParticipant, JSONBigUtils.stringify(update));
this._experimentDataMap.updateViewRange(update);
};

private onSelectionRangeUpdated = (update: TimeRangeUpdatePayload) => {
this._messenger.sendNotification(selectionRangeUpdated, this._webviewParticipant, JSONBig.stringify(update));
this._messenger.sendNotification(selectionRangeUpdated, this._webviewParticipant, JSONBigUtils.stringify(update));
this._experimentDataMap.updateSelectionRange(update);
};

private onExperimentSelected = (experiment: Experiment | undefined) => {
const data = { wrapper: experiment ? JSONBig.stringify(experiment) : undefined };
const data = { wrapper: experiment ? JSONBigUtils.stringify(experiment) : undefined };
this._messenger.sendNotification(experimentSelected, this._webviewParticipant, data);
if (experiment) {
this._experimentDataMap.updateAbsoluteRange(experiment);
Expand All @@ -107,13 +105,13 @@ export class TraceExplorerTimeRangeDataProvider extends AbstractTraceExplorerPro
};

private onExperimentUpdated = (experiment: Experiment) => {
const data = { wrapper: JSONBig.stringify(experiment) };
const data = { wrapper: JSONBigUtils.stringify(experiment) };
this._messenger.sendNotification(experimentUpdated, this._webviewParticipant, data);
this._experimentDataMap.updateAbsoluteRange(experiment);
};

private onExperimentClosed = (experiment: Experiment) => {
const data = { wrapper: JSONBig.stringify(experiment) };
const data = { wrapper: JSONBigUtils.stringify(experiment) };
this._messenger.sendNotification(experimentClosed, this._webviewParticipant, data);
this._experimentDataMap.delete(experiment);
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import * as fs from 'fs';
import JSONBigConfig from 'json-bigint';
import * as path from 'path';
import { ItemPropertiesSignalPayload } from 'traceviewer-base/lib/signals/item-properties-signal-payload';
import { signalManager } from 'traceviewer-base/lib/signals/signal-manager';
import { TimeRangeUpdatePayload } from 'traceviewer-base/lib/signals/time-range-data-signal-payloads';
import { Experiment } from 'tsp-typescript-client/lib/models/experiment';
import { MarkerSet } from 'tsp-typescript-client/lib/models/markerset';
import { OutputDescriptor } from 'tsp-typescript-client/lib/models/output-descriptor';
import * as vscode from 'vscode';
import type { Messenger } from 'vscode-messenger';
import { NotificationType, WebviewIdMessageParticipant } from 'vscode-messenger-common';
Expand Down Expand Up @@ -42,16 +38,15 @@ import {
updateMarkerCategoryState,
updateMarkerSetState
} from 'vscode-trace-common/lib/messages/vscode-messages';
import { convertSignalExperiment } from 'vscode-trace-common/lib/signals/vscode-signal-converter';
import { Experiment } from 'tsp-typescript-client/lib/models/experiment';
import { MarkerSet } from 'tsp-typescript-client/lib/models/markerset';
import { OutputDescriptor } from 'tsp-typescript-client/lib/models/output-descriptor';
import { JSONBigUtils } from 'tsp-typescript-client/lib/utils/jsonbig-utils';
import { handleRemoveMessage, handleStatusMessage, setStatusFromPanel } from '../common/trace-message';
import { traceExtensionWebviewManager } from '../extension';
import { ClientType, getTraceServerUrl, getTspClientUrl } from '../utils/backend-tsp-client-provider';
import { TraceServerConnectionStatusService } from '../utils/trace-server-status';

const JSONBig = JSONBigConfig({
useNativeBigInt: true
});

interface QuickPickItem extends vscode.QuickPickItem {
id: string;
}
Expand Down Expand Up @@ -415,7 +410,7 @@ export class TraceViewerPanel {

protected doHandleExperimentSelectedSignal(experiment: Experiment | undefined): void {
if (this._experiment && experiment && this._experiment.UUID === experiment.UUID) {
const wrapper: string = JSONBig.stringify(experiment);
const wrapper = JSONBigUtils.stringify(experiment);
const data = { wrapper };
this._messenger.sendNotification(experimentSelected, this._webviewParticipant, data);
}
Expand All @@ -426,19 +421,19 @@ export class TraceViewerPanel {
}

protected doHandleRequestSelectionRangeChange(payload: TimeRangeUpdatePayload): void {
this._messenger.sendNotification(experimentSelected, this._webviewParticipant, JSONBig.stringify(payload));
this._messenger.sendNotification(experimentSelected, this._webviewParticipant, JSONBigUtils.stringify(payload));
}
setExperiment(experiment: Experiment): void {
this._experiment = experiment;
const wrapper: string = JSONBig.stringify(experiment);
const wrapper = JSONBigUtils.stringify(experiment);
const data = { wrapper };
this._messenger.sendNotification(setExperiment, this._webviewParticipant, data);
signalManager().emit('EXPERIMENT_OPENED', experiment);
signalManager().emit('TRACEVIEWERTAB_ACTIVATED', experiment);
}

addOutput(descriptor: OutputDescriptor): void {
const wrapper: string = JSONBig.stringify(descriptor);
const wrapper = JSONBigUtils.stringify(descriptor);
const data = { wrapper };
this._messenger.sendNotification(addOutput, this._webviewParticipant, data);
}
Expand Down Expand Up @@ -550,7 +545,7 @@ export class TraceViewerPanel {
private doHandleVscodeWebViewReady(): void {
// Post the tspTypescriptClient
if (this._experiment) {
const wrapper: string = JSONBig.stringify(this._experiment);
const wrapper = JSONBigUtils.stringify(this._experiment);
const data = { data: getTspClientUrl(ClientType.FRONTEND), experiment: wrapper };
this._messenger.sendNotification(setTspClient, this._webviewParticipant, data);
} else {
Expand Down Expand Up @@ -628,20 +623,20 @@ export class TraceViewerPanel {

private doHandleVscodeViewRangeUpdated(data: any): void {
if (data) {
signalManager().emit('VIEW_RANGE_UPDATED', JSONBig.parse(data));
const result = JSONBigUtils.parse<TimeRangeUpdatePayload>(data);
signalManager().emit('VIEW_RANGE_UPDATED', result);
}
}

private doHandleVscodeSelectionRangeUpdated(data: any): void {
if (data) {
signalManager().emit('SELECTION_RANGE_UPDATED', JSONBig.parse(data));
signalManager().emit('SELECTION_RANGE_UPDATED', JSONBigUtils.parse<TimeRangeUpdatePayload>(data));
}
}

private doHandleExperimentUpdated(data: any): void {
if (data) {
const experiment = convertSignalExperiment(JSONBig.parse(data));
signalManager().emit('EXPERIMENT_UPDATED', experiment);
signalManager().emit('EXPERIMENT_UPDATED', JSONBigUtils.parse(data, Experiment));
}
}

Expand Down
1 change: 0 additions & 1 deletion vscode-trace-webviews/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"css-loader": "^5.0.1",

"style-loader": "^2.0.0",
"svg-url-loader": "^7.1.1",
"ts-loader": "^8.0.14",
Expand Down
Loading
Loading