"use strict";
var RenameInfo_1 = require("./RenameInfo");
var indexOfAllDefinitionsInText_1 = require("./indexOfAllDefinitionsInText");
// todo: split this up
function getRenameInfosFromDefaultExport(opts) {
var file = opts.file, currentRenameInfos = opts.currentRenameInfos;
var renameInfos = [];
if (file.defaultExportExpression != null) {
currentRenameInfos.filter(function (i) { return i.hasNamespaces(); }).forEach(function (renameInfo) {
var indexOfFullName = indexOfAllDefinitionsInText_1.indexOfAllDefinitionsInText(file.defaultExportExpression.text, renameInfo.fullNameFrom);
var isDefinitionDefaultExported = indexOfFullName.length === 1;
if (!isDefinitionDefaultExported) {
var numberNamespaces = renameInfo.getNumberOfNamespaces();
for (var i = numberNamespaces; i > 0; i--) {
var namespaceName = renameInfo.getFirstXNamespacesFromFullName(numberNamespaces);
var indexesOfNamespace = indexOfAllDefinitionsInText_1.indexOfAllDefinitionsInText(file.defaultExportExpression.text, namespaceName);
var namespaceInDefaultExport = indexesOfNamespace.length === 1 && indexesOfNamespace[0] === 0;
if (namespaceInDefaultExport) {
renameInfos.push(new RenameInfo_1.RenameInfo({
fullNameFrom: "default." + renameInfo.getFullNameParts().slice(numberNamespaces).join("."),
fullNameTo: "default." + renameInfo.getFullReplaceParts().slice(numberNamespaces).join(".")
}));
break;
}
}
}
});
}
return renameInfos;
}
exports.getRenameInfosFromDefaultExport = getRenameInfosFromDefaultExport;
//# sourceMappingURL=getRenameInfosFromDefaultExport.js.map
|