all files / dist/utils/renameDefinitionAs/ getRenameInfosFromDefaultExport.js

19.05% Statements 4/21
0% Branches 0/8
0% Functions 0/3
20% Lines 4/20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                                                           
"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