jsdoc-rest-api
Version:
A utility that generates a rest api from your JsDoc annotations.
39 lines (30 loc) • 765 B
JavaScript
const mapFiles = require("map-files");
const controllerRoutesGenerator = require("./generator/controllerRoutesGenerator");
/**
*
* @param {{
source: String // Must be a glob from the root folder
* }} config
*/
function generateJson(config) {
const { source: sourceFilesGlob } = config;
const container = [];
mapFiles(sourceFilesGlob, {
renameKey: file => generateJsonForFile(file, container)
});
return container;
}
function generateJsonForFile(file, container) {
const routes = controllerRoutesGenerator.genRoutes(file);
if (!routes) {
return;
}
container.push({
fileName: file.basename,
fileAbsolutePath: file.history[0].replace(file.base, ""),
fileRootPath: file.path,
routes
});
}
module.exports = generateJson;
;