import {CreateCodeConfig, TsNode} from "./model/TsNodeFactory"; import {EOL} from "os"; import {tsNodesToLines} from "./model/util"; import {INewFileContext, NewFileContext, NewFileGenerator} from "./syntax/syntax"; const DEFAULT_CODE_CONFIG = { EOL, indent: " ", baseIndent: "" } export function file(code: NewFileGenerator, config?: CreateCodeConfig) { config = Object.assign({}, DEFAULT_CODE_CONFIG, config) const context = new NewFileContext() code(context, context) return context.createTsCode(config) }