29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.genIndexFile = void 0;
|
|
const file_1 = require("../file");
|
|
function genIndexFile(registry, files) {
|
|
const fileToExport = registry.allFiles()
|
|
.filter((fileDescriptor) => {
|
|
let hasExports = false;
|
|
registry.visitTypes(fileDescriptor, descriptor => {
|
|
// we are not interested in synthetic types like map entry messages
|
|
if (registry.isSyntheticElement(descriptor))
|
|
return;
|
|
hasExports = true;
|
|
});
|
|
return hasExports;
|
|
})
|
|
.map((file => { var _a; return (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(".proto", ""); }));
|
|
const compiledFiles = files.filter(file => file.getContent() !== "").map(file => {
|
|
return file.fileName.replace(".ts", "");
|
|
});
|
|
if (compiledFiles.length > 0) {
|
|
fileToExport.push(...compiledFiles);
|
|
}
|
|
const indexFile = new file_1.File('index.ts');
|
|
return indexFile.setContent(fileToExport.map((fileName) => {
|
|
return `export * from "./${fileName}";`;
|
|
}).join("\n"));
|
|
}
|
|
exports.genIndexFile = genIndexFile;
|