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

15.79% Statements 3/19
0% Branches 0/15
0% Functions 0/5
16.67% Lines 3/18
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 35                                                               
"use strict";
var getRenameInfosFromNamedImportPart_1 = require("./getRenameInfosFromNamedImportPart");
// todo: split up
function getRenameInfosFromImports(opts) {
    var exportedRenameInfos = opts.exportedRenameInfos, searchingModuleSpecifier = opts.searchingModuleSpecifier, file = opts.file;
    var importedRenameInfos = [];
    var validExportedRenameInfos = exportedRenameInfos.filter(function (i) { return !i.isRootDefaultExportOfFile() || i.hasNamespaces(); });
    file.imports.forEach(function (importDef) {
        // todo: better module specifier matching check
        if (searchingModuleSpecifier === importDef.moduleSpecifier) {
            validExportedRenameInfos.forEach(function (renameInfo) {
                if (importDef.defaultImport != null) {
                    var defaultImportName = importDef.defaultImport.name;
                    if (defaultImportName != null && renameInfo.hasNamespaces() && renameInfo.isRootDefaultExportOfFile()) {
                        importedRenameInfos.push(renameInfo.createWithNewFirstNamespace(defaultImportName));
                    }
                }
                if (importDef.starImportName != null && !renameInfo.isRootDefaultExportOfFile()) {
                    importedRenameInfos.push(renameInfo.createWithPrependedNamespace(importDef.starImportName));
                }
                importDef.namedImports.forEach(function (named) {
                    importedRenameInfos.push.apply(importedRenameInfos, getRenameInfosFromNamedImportPart_1.getRenameInfosFromNamedImportPart({
                        currentRenameInfo: renameInfo,
                        namedImportPart: named
                    }));
                });
            });
        }
    });
    return importedRenameInfos;
}
exports.getRenameInfosFromImports = getRenameInfosFromImports;
 
//# sourceMappingURL=getRenameInfosFromImports.js.map