diff options
Diffstat (limited to 'scripts/build-declarations.js')
| -rw-r--r-- | scripts/build-declarations.js | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/scripts/build-declarations.js b/scripts/build-declarations.js index e1a2892..35a75ee 100644 --- a/scripts/build-declarations.js +++ b/scripts/build-declarations.js @@ -2,19 +2,23 @@ const fs = require("fs"); -function main() { +const TOOL_ENTRY_FUNC = "run"; + +function main(isTool = true) { const scriptfile = process.argv[2]; const contents = fs.readFileSync(process.argv[2], "utf8"); - const functions = extractFunctions(contents); + const functions = extractFunctions(contents, isTool); let declarations = functions.map(({ funcName, jsdoc }) => { const { description, params } = parseJsDoc(jsdoc, funcName); const declaration = buildDeclaration(funcName, description, params); return declaration; }); - const name = getBasename(scriptfile); - if (declarations.length > 0) { - declarations = declarations.slice(0, 1); - declarations[0].name = name; + if (isTool) { + const name = getBasename(scriptfile); + if (declarations.length > 0) { + declarations = declarations.slice(0, 1); + declarations[0].name = name; + } } console.log(JSON.stringify(declarations, null, 2)); } @@ -23,7 +27,7 @@ function main() { * @param {string} contents * @param {bool} isTool */ -function extractFunctions(contents, isTool = true) { +function extractFunctions(contents, isTool) { const output = []; const lines = contents.split("\n"); let isInComment = false; @@ -45,9 +49,9 @@ function extractFunctions(contents, isTool = true) { continue; } if (isTool) { - if (/function main/.test(line)) { + if (new RegExp(`function ${TOOL_ENTRY_FUNC}`).test(line)) { output.push({ - funcName: "main", + funcName: TOOL_ENTRY_FUNC, jsdoc, }); } |
