CodeOutput - Add component to show stringified AST, has versions for initial and current AST

This commit is contained in:
2020-01-25 07:40:27 +05:30
parent 4d865386bf
commit 090574ec8f
3 changed files with 41 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
import React from "react";
import { connect } from "react-redux";
import * as ts from "typescript";
import { AppState } from "../../store";
interface CodeOutputProps {
sourceFile?: ts.SourceFile;
}
function CodeOutput(props: CodeOutputProps) {
const { sourceFile } = props;
if (sourceFile === undefined) {
return null;
}
const printer = ts.createPrinter();
const codeString = printer.printFile(sourceFile);
return <div>{codeString}</div>;
}
type CodeOutputStateProps = CodeOutputProps;
const mapStateToPropsForInitial = (state: AppState): CodeOutputStateProps => ({
sourceFile: state.sourceFiles.inititalSourceFile
});
const mapStateToPropsForCurrent = (state: AppState): CodeOutputStateProps => ({
sourceFile: state.sourceFiles.currentSourceFile
});
const CodeOutputForInitial = connect(mapStateToPropsForInitial)(CodeOutput);
const CodeOutputForCurrent = connect(mapStateToPropsForCurrent)(CodeOutput);
export {
CodeOutputForInitial,
CodeOutputForCurrent,
CodeOutput as CodeOutputUnconnected,
CodeOutputProps
};
+1
View File
@@ -0,0 +1 @@
export * from "./CodeOutput";