diff options
| author | Akshay Nair <phenax5@gmail.com> | 2023-01-12 17:11:36 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2023-01-12 17:11:36 +0530 |
| commit | 83b6bcaa81a645e1b3936d856fbb84ea219ee04e (patch) | |
| tree | 66471660cc70c56a5472fd3dd45c480fe86eea2d | |
| parent | d87c171a59a1293aa223d98fc19d4e5a694516c3 (diff) | |
| download | ts-types-lang-83b6bcaa81a645e1b3936d856fbb84ea219ee04e.tar.gz ts-types-lang-83b6bcaa81a645e1b3936d856fbb84ea219ee04e.zip | |
feat: adds exit process effect
| -rw-r--r-- | src/eval.ts | 5 | ||||
| -rw-r--r-- | stdlib/sys.ts | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/eval.ts b/src/eval.ts index 19a5557..c34e911 100644 --- a/src/eval.ts +++ b/src/eval.ts @@ -116,6 +116,11 @@ export const evaluateType = async ( return [resultKey] }, + Exit: async () => { + const exitCode = args[0] && ctx.getTypeValue(args[0]) + process.exit(exitCode) + }, + ReadLine: async () => { const line = await readLineFromStdin() const [resultKey, _] = ctx.createResult(`${JSON.stringify(line)}`) diff --git a/stdlib/sys.ts b/stdlib/sys.ts index e170c6c..68f713d 100644 --- a/stdlib/sys.ts +++ b/stdlib/sys.ts @@ -8,3 +8,6 @@ export interface JsExpr<_Expr extends string> extends Effect<any> {} export interface DefineEffect<_Name extends string, _Func extends string> extends Effect {} + +export interface Exit<_ extends number | undefined = undefined> extends Effect {} + |
