prettier-plugin-solidity
Version:
A Prettier Plugin for automatically formatting your Solidity code.
23 lines • 1.17 kB
JavaScript
import { doc } from 'prettier';
import { printSeparatedList } from '../common/printer-helpers.js';
const { group, indentIfBreak } = doc.builders;
const embraceVariables = (document, embrace) => embrace ? ['(', printSeparatedList(document), ')'] : document;
const initialValue = (node, path, print) => node.initialValue ? [' = ', path.call(print, 'initialValue')] : '';
export const VariableDeclarationStatement = {
print: ({ node, path, print }) => {
const startsWithVar = node.variables.filter((x) => x === null || x === void 0 ? void 0 : x.typeName).length === 0;
const declarationDoc = group([
startsWithVar ? 'var ' : '',
embraceVariables(path.map(print, 'variables'), node.variables.length > 1 || startsWithVar)
], { id: Symbol('VariableDeclarationStatement.variables') });
const initialValueDoc = initialValue(node, path, print);
return group([
declarationDoc,
indentIfBreak(initialValueDoc, {
groupId: declarationDoc.id
}),
node.omitSemicolon ? '' : ';'
]);
}
};
//# sourceMappingURL=VariableDeclarationStatement.js.map