aboutsummaryrefslogtreecommitdiff
path: root/src/types.ts
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-01-08 22:53:09 +0530
committerAkshay Nair <phenax5@gmail.com>2023-01-08 22:53:09 +0530
commita41d70afe7692e4ef344bc3c599115009f2dad15 (patch)
tree64fb57effa636a60751ea27178cf9a63b3b434ab /src/types.ts
parentc79c5bf7a44c59cd1e484a538e2dddf264012f57 (diff)
downloadts-types-lang-a41d70afe7692e4ef344bc3c599115009f2dad15.tar.gz
ts-types-lang-a41d70afe7692e4ef344bc3c599115009f2dad15.zip
refactor: splits runtime up to use context
Diffstat (limited to '')
-rw-r--r--src/types.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/types.ts b/src/types.ts
new file mode 100644
index 0000000..a3cf3bb
--- /dev/null
+++ b/src/types.ts
@@ -0,0 +1,17 @@
+import { ExportedDeclarations, Node, SourceFile, Type, TypeChecker } from "ts-morph"
+
+export interface Ctx {
+ sourceFile: SourceFile
+ typeChecker: TypeChecker
+ entryPoint: ExportedDeclarations
+ typeToString: (ty: Type | undefined) => string
+
+ createResult: (ty: string) => [string, Node | undefined]
+ getResultExpr: (key?: string) => string
+ printResultNode: () => void
+
+ addCustomEffect: (name: string, expr: string) => void
+ runCustomEffect: (name: string, args: Type[]) => Promise<string[]>
+ hasCustomEffect: (name: string) => boolean
+}
+