@ng-doc/builder
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
35 lines • 1.26 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.findDeclarations = findDeclarations;
const core_1 = require("@ng-doc/core");
const fast_glob_1 = require("fast-glob");
const is_public_declaration_1 = require("../is-public-declaration");
const is_supported_declaration_1 = require("../is-supported-declaration");
/**
*
* @param path
* @param project
* @param paths
* @param ignore
*/
function findDeclarations(project, paths, ignore) {
const filePaths = (0, core_1.asArray)(paths)
.map((i) => (0, fast_glob_1.sync)(i, {
ignore,
absolute: true,
}))
.flat();
return project
.addSourceFilesAtPaths(filePaths)
.map((sourceFile) => Array.from(sourceFile.getExportedDeclarations().values()))
.flat(2)
.reduce((acc, declaration) => {
if ((0, is_supported_declaration_1.isSupportedDeclaration)(declaration) && (0, is_public_declaration_1.isPublicDeclaration)(declaration)) {
const filePath = declaration.getSourceFile().getFilePath();
const name = declaration.getName();
acc.set(`${filePath}#${name}`, declaration);
}
return acc;
}, new Map());
}
//# sourceMappingURL=find-declarations.js.map
;