diff options
| author | sigoden <sigoden@gmail.com> | 2024-06-07 16:10:05 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-07 16:10:05 +0800 |
| commit | e1d895cc9abb0f7ffac8acc043746cbe2e5f4fe1 (patch) | |
| tree | 39e0faa590db7b2b4fdc1e6458a77566252acbd1 /scripts/build-declarations.js | |
| parent | 739a832d87c00e3b5977a24bba5654fa5ea7a702 (diff) | |
| download | llm-functions-docker-e1d895cc9abb0f7ffac8acc043746cbe2e5f4fe1.tar.gz | |
refactor: py/js entry func name (#31)
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, }); } |
