@putout/engine-parser
Version:
33 lines (24 loc) • 618 B
JavaScript
const {generate} = require('@putout/babel');
const align = require('align-spaces');
const defaultOptions = {
alignSpaces: true,
};
module.exports.print = (ast, options) => {
const {source, alignSpaces} = {
...defaultOptions,
...options,
};
let {code} = generate(ast, {
...source && {
experimental_preserveFormat: true,
retainLines: true,
},
}, source);
if (code[0] === '\n')
code = code.trimStart();
code += '\n';
if (!alignSpaces)
return code;
return align(code);
};
;