From d0afcae39eccd41f5ad5e485c8d93b318d978b51 Mon Sep 17 00:00:00 2001 From: anika-ahluwalia Date: Tue, 9 Jun 2020 13:35:40 -0500 Subject: slight restructure of ScriptManager --- src/client/util/ScriptManager.ts | 44 ++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'src') 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(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 -- cgit v1.2.3-70-g09d2