Code Formatter
How to write a code formatter
reference: https://www.ntietz.com/blog/writing-basic-code-formatter/
prettier is based on this paper
code gen
type LowcodeInterface = {
identifier: string;
fields: { name: string, type: string, comment?: string }[];
comment?: string;
}
function printField(field: { name: string, type: string, comment?: string }) {
return (field.comment ? ' /* ' + field.comment + ' */' + "\n" : "")
+ " " + field.name + ": " + field.type;
}
function printInterface(lowcodeInterface: LowcodeInterface) {
return (lowcodeInterface.comment ? '/* ' + lowcodeInterface.comment + " */\n" : "")
+ "interface " + lowcodeInterface.identifier + " {\n"
+ lowcodeInterface.fields.map(printField).join('\n')
+ "\n}";
}
export { printInterface };