ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
17 lines (16 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var nodeHandlers_1 = require("./nodeHandlers");
function replaceTreeChangingChildOrder(opts) {
var changingParent = opts.parent, oldIndex = opts.oldIndex, newIndex = opts.newIndex, replacementSourceFile = opts.replacementSourceFile;
var sourceFile = changingParent.getSourceFile();
var compilerFactory = sourceFile.global.compilerFactory;
var changeChildOrderParentHandler = new nodeHandlers_1.ChangeChildOrderParentHandler(compilerFactory, { oldIndex: oldIndex, newIndex: newIndex });
if (changingParent === sourceFile)
changeChildOrderParentHandler.handleNode(sourceFile, replacementSourceFile);
else {
var parentFinderReplacement = new nodeHandlers_1.ParentFinderReplacementNodeHandler(compilerFactory, changeChildOrderParentHandler, changingParent);
parentFinderReplacement.handleNode(sourceFile, replacementSourceFile);
}
}
exports.replaceTreeChangingChildOrder = replaceTreeChangingChildOrder;