diff options
Diffstat (limited to 'src/lang/builtin/sbuiltin.ts')
| -rw-r--r-- | src/lang/builtin/sbuiltin.ts | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/lang/builtin/sbuiltin.ts b/src/lang/builtin/sbuiltin.ts deleted file mode 100644 index 01f197e..0000000 --- a/src/lang/builtin/sbuiltin.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ASTNode, StackFrame } from "../core/common"; -import { CallFn, FnPrim, GetEvaluatedChildren, EvalError } from "../core/eval"; -import { ExtractNumber, ToString } from "../util"; - -export type SBUILTIN_Call< - Node extends ASTNode, - Frame extends StackFrame -> = GetEvaluatedChildren<Node, Frame> extends [ - infer Fn extends FnPrim, - ...infer Values extends readonly any[] -] - ? CallFn<Fn, Values, Frame> - : EvalError<`Invalid params for function call: ${ToString< - GetEvaluatedChildren<Node, Frame> - >}`>; - -export type SBUILTIN_Map< - Node extends ASTNode, - Frame extends StackFrame -> = GetEvaluatedChildren<Node, Frame> extends [ - infer Arr extends readonly any[], - infer Fn extends FnPrim -] - ? { [Idx in keyof Arr]: CallFn<Fn, [Arr[Idx], ExtractNumber<Idx>], Frame> } - : EvalError<`Invalid params for map: ${ToString< - GetEvaluatedChildren<Node, Frame> - >}`>; |
