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

Function getNewImports

test/fixtures/snapshot/typescript.js:153872–153896  ·  view source on GitHub ↗
(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport)

Source from the content-addressed store, hash-verified

153870 return addAsTypeOnly === 2 /* AddAsTypeOnly.Required */;
153871 }
153872 function getNewImports(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport) {
153873 var quotedModuleSpecifier = ts.makeStringLiteral(moduleSpecifier, quotePreference);
153874 var statements;
153875 if (defaultImport !== undefined || (namedImports === null || namedImports === void 0 ? void 0 : namedImports.length)) {
153876 var topLevelTypeOnly_1 = (!defaultImport || needsTypeOnly(defaultImport)) && ts.every(namedImports, needsTypeOnly);
153877 statements = ts.combine(statements, ts.makeImport(defaultImport && ts.factory.createIdentifier(defaultImport.name), namedImports === null || namedImports === void 0 ? void 0 : namedImports.map(function (_a) {
153878 var addAsTypeOnly = _a.addAsTypeOnly, name = _a.name;
153879 return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */,
153880 /*propertyName*/ undefined, ts.factory.createIdentifier(name));
153881 }), moduleSpecifier, quotePreference, topLevelTypeOnly_1));
153882 }
153883 if (namespaceLikeImport) {
153884 var declaration = namespaceLikeImport.importKind === 3 /* ImportKind.CommonJS */
153885 ? ts.factory.createImportEqualsDeclaration(
153886 /*decorators*/ undefined,
153887 /*modifiers*/ undefined, needsTypeOnly(namespaceLikeImport), ts.factory.createIdentifier(namespaceLikeImport.name), ts.factory.createExternalModuleReference(quotedModuleSpecifier))
153888 : ts.factory.createImportDeclaration(
153889 /*decorators*/ undefined,
153890 /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport),
153891 /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier,
153892 /*assertClause*/ undefined);
153893 statements = ts.combine(statements, declaration);
153894 }
153895 return ts.Debug.checkDefined(statements);
153896 }
153897 function getNewRequires(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport) {
153898 var quotedModuleSpecifier = ts.makeStringLiteral(moduleSpecifier, quotePreference);
153899 var statements;

Callers

nothing calls this directly

Calls 4

needsTypeOnlyFunction · 0.85
everyMethod · 0.80
combineMethod · 0.80
mapMethod · 0.65

Tested by

no test coverage detected