aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-09 13:35:40 -0500
committeranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-09 13:35:40 -0500
commitd0afcae39eccd41f5ad5e485c8d93b318d978b51 (patch)
treed9f7eafd77741be30e5429ecf48acb0c89363a31
parentb79f9c09c35f5a25dc699e2413c05da2b0fc791d (diff)
slight restructure of ScriptManager
-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