UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

32 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNamedImportReferences = getNamedImportReferences; const ng_morph_1 = require("ng-morph"); const constants_1 = require("../constants"); function getNamedImportReferences(namedImport, moduleSpecifier = ['**/**'], files = constants_1.ALL_TS_FILES) { const importDeclarations = (0, ng_morph_1.getImports)(files, { namedImports: [namedImport], moduleSpecifier: Array.isArray(moduleSpecifier) ? moduleSpecifier : [moduleSpecifier, `${moduleSpecifier}/**`], }); const namedImports = importDeclarations.map((declaration) => { var _a; return (_a = declaration .getNamedImports() .find((specifier) => specifier.getName() === namedImport)) === null || _a === void 0 ? void 0 : _a.getNameNode(); }); return (0, ng_morph_1.arrayFlat)(namedImports.map((specifier) => { if (!specifier || !ng_morph_1.Node.isIdentifier(specifier)) { return []; } return specifier.findReferencesAsNodes().filter( /** * Otherwise, each `findReferencesAsNodes` will return references across THE WHOLE project. * It will cause a lot of duplicates in the result and significantly slow down the process. */ (ref) => ref.getSourceFile().getFilePath() === specifier.getSourceFile().getFilePath()); })); } //# sourceMappingURL=get-named-import-references.js.map