aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/build-declarations.js
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-07 16:10:05 +0800
committerGitHub <noreply@github.com>2024-06-07 16:10:05 +0800
commite1d895cc9abb0f7ffac8acc043746cbe2e5f4fe1 (patch)
tree39e0faa590db7b2b4fdc1e6458a77566252acbd1 /scripts/build-declarations.js
parent739a832d87c00e3b5977a24bba5654fa5ea7a702 (diff)
downloadllm-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.js22
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,
});
}