aboutsummaryrefslogtreecommitdiff
path: root/src/util/Scripting.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-02-09 19:13:24 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-02-09 19:13:24 -0500
commit11134bc5ce01d0a025d311a4f83e67ff6e63ce1c (patch)
treee401d8004481b3d664c751ae2e668c72b6be7aac /src/util/Scripting.ts
parentc06745a99ed85b215d0ae48bfb2af7c955f0b016 (diff)
Moved client code to client folder
Diffstat (limited to 'src/util/Scripting.ts')
-rw-r--r--src/util/Scripting.ts58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/util/Scripting.ts b/src/util/Scripting.ts
deleted file mode 100644
index 0e83ab4f0..000000000
--- a/src/util/Scripting.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-// import * as ts from "typescript"
-let ts = (window as any).ts;
-import { Opt, Field } from "../fields/Field";
-import { Document as DocumentImport } from "../fields/Document";
-import { NumberField as NumberFieldImport, NumberField } from "../fields/NumberField";
-import { ImageField as ImageFieldImport } from "../fields/ImageField";
-import { TextField as TextFieldImport, TextField } from "../fields/TextField";
-import { RichTextField as RichTextFieldImport } from "../fields/RichTextField";
-import { KeyStore as KeyStoreImport } from "../fields/Key";
-
-export interface ExecutableScript {
- (): any;
-
- compiled: boolean;
-}
-
-function ExecScript(script: string, diagnostics: Opt<any[]>): ExecutableScript {
- const compiled = !(diagnostics && diagnostics.some(diag => diag.category == ts.DiagnosticCategory.Error));
-
- let func: () => Opt<Field>;
- if (compiled) {
- func = function (): Opt<Field> {
- let KeyStore = KeyStoreImport;
- let Document = DocumentImport;
- let NumberField = NumberFieldImport;
- let TextField = TextFieldImport;
- let ImageField = ImageFieldImport;
- let RichTextField = RichTextFieldImport;
- let window = undefined;
- let document = undefined;
- let retVal = eval(script);
-
- return retVal;
- };
- } else {
- func = () => undefined;
- }
-
- return Object.assign(func,
- {
- compiled
- });
-}
-
-export function CompileScript(script: string): ExecutableScript {
- let result = (window as any).ts.transpileModule(script, {})
-
- return ExecScript(result.outputText, result.diagnostics);
-}
-
-export function ToField(data: any): Opt<Field> {
- if (typeof data == "string") {
- return new TextField(data);
- } else if (typeof data == "number") {
- return new NumberField(data);
- }
- return undefined;
-} \ No newline at end of file