Implements GetDebugVisualizationDataExtractor

This commit is contained in:
Henning Dieterichs
2019-10-06 11:33:36 +02:00
parent b2217066b6
commit ffa3c3f335
2 changed files with 34 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
import { ExtractedData } from "../../DataExtractionResult";
import { DataExtractor, ExtractionCollector } from "..";
export class GetDebugVisualizationDataExtractor
implements DataExtractor<ExtractedData> {
readonly id = "get-debug-visualization";
getExtractions(
data: unknown,
extractionCollector: ExtractionCollector<ExtractedData>,
evalFn: <TEval>(expression: string) => TEval
): void {
if (
typeof data === "object" &&
data &&
"getDebugVisualization" in data
) {
extractionCollector.addExtraction({
id: this.id,
name: "getDebugVisualization",
priority: 500,
extractData() {
return (data as any).getDebugVisualization();
},
});
}
}
}

View File

@@ -1,14 +1,20 @@
import { getDataExtractorApi } from "../DataExtractorApi";
import { TypeScriptAstDataExtractor } from "./TypeScriptDataExtractors";
import { AsIsDataExtractor } from "./AsIsDataExtractor";
import { GetDebugVisualizationDataExtractor } from "./GetDebugVisualizationDataExtractor";
export { AsIsDataExtractor, TypeScriptAstDataExtractor };
export {
AsIsDataExtractor,
TypeScriptAstDataExtractor,
GetDebugVisualizationDataExtractor,
};
export function registerAll() {
const api = getDataExtractorApi();
for (const item of [
new TypeScriptAstDataExtractor(),
new AsIsDataExtractor(),
new GetDebugVisualizationDataExtractor(),
]) {
api.registerExtractor(item);
}