blob: 04c605e5874c18948a58568d5b4da9ea834d89af [file] [log] [blame]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDeclarationsInFile = void 0;
var web_component_analyzer_1 = require("web-component-analyzer");
function getDeclarationsInFile(definition, sourceFile) {
var declarations = new Set();
emitDeclarationsInFile(definition, sourceFile, function (decl) { return declarations.add(decl); });
return Array.from(declarations);
}
exports.getDeclarationsInFile = getDeclarationsInFile;
function emitDeclarationsInFile(definition, sourceFile, emit) {
var declaration = definition.declaration;
if (declaration == null) {
return;
}
if (declaration.sourceFile.fileName === sourceFile.fileName) {
if (emit(declaration) === false) {
return;
}
}
(0, web_component_analyzer_1.visitAllHeritageClauses)(declaration, function (clause) {
if (clause.declaration && clause.declaration.sourceFile === sourceFile) {
if (emit(clause.declaration) === false) {
return;
}
}
});
}