"use strict";
var ModuleBodyRenamer_1 = require("./ModuleBodyRenamer");
var getRenameInfosFromVariablesInModule_1 = require("./getRenameInfosFromVariablesInModule");
var renameInModule_1 = require("./renameInModule");
function renameInMainFileNamespaces(renameInfo, namespaces) {
var renameInfos = [renameInfo];
namespaces.forEach(function (namespaceDef, i) {
renameInfos.push(renameInfo.createWithoutFirstXNamespaces(i + 1));
renameInfos.push.apply(renameInfos, getRenameInfosFromVariablesInModule_1.getRenameInfosFromVariablesInModule({
moduleDef: namespaceDef,
currentRenameInfos: renameInfos
}));
var nextNamespace = i + 1 < namespaces.length ? namespaces[i + 1] : null;
renameInfos.forEach(function (info) {
ModuleBodyRenamer_1.ModuleBodyRenamer.renameInModule(info, namespaceDef);
namespaceDef.namespaces.filter(function (n) { return n !== nextNamespace; }).forEach(function (childNamespaceDef) {
renameInModule_1.renameInModule(renameInfos, childNamespaceDef);
});
});
});
}
exports.renameInMainFileNamespaces = renameInMainFileNamespaces;
//# sourceMappingURL=renameInMainFileNamespaces.js.map
|