aboutsummaryrefslogtreecommitdiff
path: root/src/types.ts
blob: a3cf3bbc0ea1eaa7536f06c9d765f171f6de1c73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
}