From 78550c0d1c7037b17bdaa9413351b759b20772c0 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 13 Aug 2023 18:46:16 +0530 Subject: feat: adds conditionals --- src/eval.ts | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/eval.ts') diff --git a/src/eval.ts b/src/eval.ts index a70c760..1a55364 100644 --- a/src/eval.ts +++ b/src/eval.ts @@ -70,6 +70,15 @@ const getFunctions = (name: string, args: Expr[], actions: EvalActions) => } }, + if: async () => { + const cond = await evalExpr(args[0], actions) + const FALSEY = ['0', 'false'] + if (cond && !FALSEY.includes(cond.replace(/(^'|")|('|"$)/g, ''))) { + return evalExpr(args[1], actions) + } else { + return evalExpr(args[2], actions) + } + }, delay: async () => { const num = await evalExpr(args[0], actions) num && (await actions.delay(parseInt(num, 10))) -- cgit v1.3.1