aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-01-14 11:35:17 +0530
committerAkshay Nair <phenax5@gmail.com>2023-01-14 11:35:17 +0530
commit4746652abfb7aed46627d27a55919d2986885735 (patch)
tree1cb4807b9a049c1c04f8b5b9c0113a43416f4a5a /src
parentb347afc70c305b47860a40bac43c3fe407a3c25a (diff)
downloadts-types-lang-4746652abfb7aed46627d27a55919d2986885735.tar.gz
ts-types-lang-4746652abfb7aed46627d27a55919d2986885735.zip
feat: adds custom effect overriding
Diffstat (limited to 'src')
-rw-r--r--src/eval.ts10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/eval.ts b/src/eval.ts
index d7055a3..a7b1fb1 100644
--- a/src/eval.ts
+++ b/src/eval.ts
@@ -58,15 +58,13 @@ export const evaluateType = async (
prevEnv = ctx.currentEnv
}
+ if (name && ctx.hasCustomEffect(name)) {
+ return ctx.runCustomEffect(name, args)
+ }
+
return match(name, {
- // TODO: Allow overriding effects
...envEffects(ctx, args),
-
_: async () => {
- if (name && ctx.hasCustomEffect(name)) {
- return ctx.runCustomEffect(name, args)
- }
-
console.log(ctx.typeToString(effTyp))
throw new Error(`${name} effect is not handled`)
},