UNPKG

prettier-plugin-curly

Version:

Prettier plugin to enforce consistent brace style for all control statements. 🥌

35 lines (34 loc) • 1 kB
function wrapInBlock(node) { return { body: [node], directives: [], type: "BlockStatement" }; } const allowedBodyNodeTypes = /* @__PURE__ */ new Set(["BlockStatement", "EmptyStatement"]); const allowedIfAlternateNodeTypes = /* @__PURE__ */ new Set(["BlockStatement", "IfStatement"]); function modifyNodeIfMissingBrackets(path) { const { node } = path; switch (node.type) { case "DoWhileStatement": case "ForInStatement": case "ForOfStatement": case "ForStatement": case "WhileStatement": if (!allowedBodyNodeTypes.has(node.body.type)) { node.body = wrapInBlock(node.body); } break; case "IfStatement": { if (!allowedBodyNodeTypes.has(node.consequent.type)) { node.consequent = wrapInBlock(node.consequent); } if (node.alternate && !allowedIfAlternateNodeTypes.has(node.alternate.type)) { node.alternate = wrapInBlock(node.alternate); } } } } export { modifyNodeIfMissingBrackets };