UNPKG

prettier-plugin-solidity

Version:

A Prettier Plugin for automatically formatting your Solidity code.

25 lines 1.02 kB
import { NonterminalKind } from '@nomicfoundation/slang/cst'; import { createKindCheckFunction } from '../slang-utils/create-kind-check-function.js'; import { printIndentedGroupOrSpacedDocument } from '../slang-printers/print-indented-group-or-spaced-document.js'; import { extractVariant } from '../slang-utils/extract-variant.js'; import { SlangNode } from './SlangNode.js'; import { Statement } from './Statement.js'; const isIfStatementOrBlock = createKindCheckFunction([ NonterminalKind.Block, NonterminalKind.IfStatement ]); export class ElseBranch extends SlangNode { constructor(ast, options) { super(ast); this.kind = NonterminalKind.ElseBranch; this.body = extractVariant(new Statement(ast.body, options)); this.updateMetadata(this.body); } print(path, print) { return [ 'else', printIndentedGroupOrSpacedDocument(path.call(print, 'body'), !isIfStatementOrBlock(this.body)) ]; } } //# sourceMappingURL=ElseBranch.js.map