aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/util/ScriptManager.ts44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/client/util/ScriptManager.ts b/src/client/util/ScriptManager.ts
index 65869d2ad..72d134800 100644
--- a/src/client/util/ScriptManager.ts
+++ b/src/client/util/ScriptManager.ts
@@ -36,6 +36,7 @@ export class ScriptManager {
scriptList.push(scriptDoc);
if (ScriptManager.Instance.ScriptManagerDoc) {
ScriptManager.Instance.ScriptManagerDoc.data = new List<Doc>(scriptList);
+ ScriptManager.addScriptToGlobals(scriptDoc);
return true;
}
return false;
@@ -57,29 +58,32 @@ export class ScriptManager {
}
return false;
}
-}
-
-const scriptList = ScriptManager.Instance.getAllScripts();
-scriptList.forEach((scriptDoc: Doc) => {
-
- const params = Cast(scriptDoc.compileParams, listSpec("string"), []);
- const p = params.reduce((o: ScriptParam, p: string) => { o[p] = "any"; return o; }, {} as ScriptParam);
- const f = new Function(...Array.from(Object.keys(p)), StrCast(scriptDoc.rawScript));
-
- let parameters = "(";
- params.forEach((element: string, i: number) => {
- if (i === params.length - 1) {
- parameters = parameters + element + ")";
+ public static addScriptToGlobals(scriptDoc: Doc): void {
+ const params = Cast(scriptDoc.compileParams, listSpec("string"), []);
+ const p = params.reduce((o: ScriptParam, p: string) => { o[p] = "any"; return o; }, {} as ScriptParam);
+ const f = new Function(...Array.from(Object.keys(p)), StrCast(scriptDoc.rawScript));
+
+ let parameters = "(";
+ params.forEach((element: string, i: number) => {
+ if (i === params.length - 1) {
+ parameters = parameters + element + ")";
+ } else {
+ parameters = parameters + element + ", ";
+ }
+ });
+
+ if (parameters === "(") {
+ Scripting.addGlobal(f, StrCast(scriptDoc.description), "", StrCast(scriptDoc.funcName));
} else {
- parameters = parameters + element + ", ";
+ Scripting.addGlobal(f, StrCast(scriptDoc.description), parameters, StrCast(scriptDoc.funcName));
}
- });
-
- if (parameters === "(") {
- Scripting.addGlobal(f, StrCast(scriptDoc.description), "", StrCast(scriptDoc.funcName));
- } else {
- Scripting.addGlobal(f, StrCast(scriptDoc.description), parameters, StrCast(scriptDoc.funcName));
}
+}
+
+const scriptList = ScriptManager.Instance.getAllScripts();
+
+scriptList.forEach((scriptDoc: Doc) => {
+ ScriptManager.addScriptToGlobals(scriptDoc);
}); \ No newline at end of file