aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/context.ts12
-rw-r--r--src/eval.ts4
-rw-r--r--tsconfig.json1
3 files changed, 12 insertions, 5 deletions
diff --git a/src/context.ts b/src/context.ts
index 14b5115..bdae0d3 100644
--- a/src/context.ts
+++ b/src/context.ts
@@ -12,7 +12,11 @@ export interface CtxOptions {
export const createContext = (options: CtxOptions): Ctx => {
const project = new Project({
compilerOptions: {
- target: ScriptTarget.ES3,
+ target: ScriptTarget.ESNext,
+ strict: true,
+ alwaysStrict: true,
+ disableSizeLimit: true,
+ isolatedModules: true,
},
})
@@ -27,7 +31,7 @@ export const createContext = (options: CtxOptions): Ctx => {
}
const typeToString = (ty: Type | undefined): string =>
- ty ? typeChecker.compilerObject.typeToString(ty.compilerType) : ''
+ ty ? typeChecker.getTypeText(ty) : ''
const [resultTypeNode] = sourceFile.addStatements(
`type ${RESULT_TYPE_NAME} = {}`
@@ -56,7 +60,9 @@ export const createContext = (options: CtxOptions): Ctx => {
const getTypeValue = (ty: Type | undefined): any => {
try {
return JSON.parse(typeToString(ty))
- } catch(_) { return }
+ } catch(_) {
+ return null
+ }
}
const ctx: Ctx = {
diff --git a/src/eval.ts b/src/eval.ts
index 8c8940f..19a5557 100644
--- a/src/eval.ts
+++ b/src/eval.ts
@@ -23,9 +23,11 @@ export const evaluateType = async (
effTyp: Type
): Promise<string[]> => {
const name = effTyp.getSymbol()?.getName()
-
const args = effTyp.getTypeArguments()
+ // console.log(ctx.typeToString(effTyp))
+ // console.log(name, args.map(ctx.typeToString))
+
return match(name, {
DefineEffect: async () => {
const [nameTyp, exprTyp] = args
diff --git a/tsconfig.json b/tsconfig.json
index 7c7eece..d8496d7 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -15,7 +15,6 @@
"strictPropertyInitialization": true,
"useUnknownInCatchVariables": true,
"alwaysStrict": true,
- "noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noUncheckedIndexedAccess": true,