lit-analyzer
Version:
CLI that type checks bindings in lit-html templates
29 lines (28 loc) • 1.07 kB
JavaScript
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;
}
}
});
}
;