UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

37 lines (35 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ts = require("typescript"); const errors = require("./../../errors"); const manipulation_1 = require("./../../manipulation"); const callBaseFill_1 = require("./../callBaseFill"); const common_1 = require("./../common"); const base_1 = require("./../base"); const base_2 = require("./base"); exports.PropertyDeclarationBase = base_1.DecoratableNode(base_2.AbstractableNode(base_1.ScopedNode(base_1.StaticableNode(base_1.DocumentationableNode(base_1.ReadonlyableNode(base_1.QuestionTokenableNode(base_1.InitializerExpressionableNode(base_1.TypedNode(base_1.PropertyNamedNode(base_1.ModifierableNode(common_1.Node))))))))))); class PropertyDeclaration extends exports.PropertyDeclarationBase { /** * Fills the node from a structure. * @param structure - Structure to fill. */ fill(structure) { callBaseFill_1.callBaseFill(exports.PropertyDeclarationBase.prototype, this, structure); return this; } /** * Removes the property. */ remove() { const parent = this.getParentOrThrow(); switch (parent.getKind()) { case ts.SyntaxKind.ClassDeclaration: manipulation_1.removeClassMember(this); break; default: throw new errors.NotImplementedError(`Not implemented parent syntax kind: ${parent.getKindName()}`); } } } exports.PropertyDeclaration = PropertyDeclaration; //# sourceMappingURL=PropertyDeclaration.js.map