UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

31 lines (29 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const errors = require("./../../errors"); const callBaseFill_1 = require("./../callBaseFill"); const setBodyTextForNode_1 = require("./helpers/setBodyTextForNode"); function BodyableNode(Base) { return class extends Base { getBodyOrThrow() { return errors.throwIfNullOrUndefined(this.getBody(), "A node body is required to do this operation."); } getBody() { const body = this.compilerNode.body; return body == null ? undefined : this.global.compilerFactory.getNodeFromCompilerNode(body, this.sourceFile); } setBodyText(textOrWriterFunction) { const body = this.getBodyOrThrow(); setBodyTextForNode_1.setBodyTextForNode(body, textOrWriterFunction); return this; } fill(structure) { callBaseFill_1.callBaseFill(Base.prototype, this, structure); if (structure.bodyText != null) this.setBodyText(structure.bodyText); return this; } }; } exports.BodyableNode = BodyableNode; //# sourceMappingURL=BodyableNode.js.map