Adds plotly and plot-y-values data extractor.

This commit is contained in:
Henning Dieterichs
2020-02-12 20:49:13 +01:00
parent 080ac36b01
commit c127306f47
8 changed files with 3388 additions and 31 deletions

View File

@@ -0,0 +1,38 @@
import { ExtractedData } from "../../../DataExtractionResult";
import {
DataExtractor,
ExtractionCollector,
DataExtractorContext,
} from "../DataExtractorApi";
import { CommonDataTypes } from "../../../CommonDataTypes";
export class PlotDataExtractor implements DataExtractor<ExtractedData> {
readonly id = "plot";
getExtractions(
data: unknown,
collector: ExtractionCollector<ExtractedData>,
context: DataExtractorContext
): void {
if (!Array.isArray(data)) {
return;
}
if (data.some(x => typeof x !== "number")) {
return;
}
collector.addExtraction({
id: "plot-y",
name: "Plot as y-Values",
priority: 1001,
extractData() {
return {
kind: {
plotly: true,
},
data: [{ y: data }],
} as CommonDataTypes.Plotly;
},
});
}
}

View File

@@ -3,6 +3,7 @@ import { TypeScriptAstDataExtractor } from "./TypeScriptDataExtractors";
import { AsIsDataExtractor } from "./AsIsDataExtractor";
import { GetDebugVisualizationDataExtractor } from "./GetDebugVisualizationDataExtractor";
import { ToStringDataExtractor } from "./ToStringExtractor";
import { PlotDataExtractor } from "./PlotlyDataExtractor";
/**
* The default data extractors should be registered by VS Code automatically.
@@ -14,6 +15,7 @@ export function registerDefaultDataExtractors(api: DataExtractorApi) {
new AsIsDataExtractor(),
new GetDebugVisualizationDataExtractor(),
new ToStringDataExtractor(),
new PlotDataExtractor(),
]) {
api.registerExtractor(item);
}