MCPcopy Create free account
hub / github.com/nodejs/node / collectDependencyGroups

Function collectDependencyGroups

test/fixtures/snapshot/typescript.js:105927–105950  ·  view source on GitHub ↗

* Collects the dependency groups for this files imports. * * @param externalImports The imports for the file.

(externalImports)

Source from the content-addressed store, hash-verified

105925 * @param externalImports The imports for the file.
105926 */
105927 function collectDependencyGroups(externalImports) {
105928 var groupIndices = new ts.Map();
105929 var dependencyGroups = [];
105930 for (var _i = 0, externalImports_1 = externalImports; _i < externalImports_1.length; _i++) {
105931 var externalImport = externalImports_1[_i];
105932 var externalModuleName = ts.getExternalModuleNameLiteral(factory, externalImport, currentSourceFile, host, resolver, compilerOptions);
105933 if (externalModuleName) {
105934 var text = externalModuleName.text;
105935 var groupIndex = groupIndices.get(text);
105936 if (groupIndex !== undefined) {
105937 // deduplicate/group entries in dependency list by the dependency name
105938 dependencyGroups[groupIndex].externalImports.push(externalImport);
105939 }
105940 else {
105941 groupIndices.set(text, dependencyGroups.length);
105942 dependencyGroups.push({
105943 name: externalModuleName,
105944 externalImports: [externalImport]
105945 });
105946 }
105947 }
105948 }
105949 return dependencyGroups;
105950 }
105951 /**
105952 * Adds the statements for the module body function for the source file.
105953 *

Callers 1

transformSourceFileFunction · 0.85

Calls 3

getMethod · 0.65
pushMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected