src/services/functions.mjs
BeforeProposed
+2−3
44export function call(node, evaluate) {
55 if (node.name === 'IF') {
66 if (node.args.length !== 3) fail('#ARGS!');
7 const values = node.args.map(evaluate);
8 const condition = boolean(scalar(values[0]));
9 return values[condition ? 1 : 2];
7 const condition = boolean(scalar(evaluate(node.args[0])));
8 return evaluate(node.args[condition ? 1 : 2]);
109 }
1110 if (!['SUM', 'COUNT', 'MIN', 'MAX', 'AVERAGE'].includes(node.name)) fail('#NAME?');
1211 return aggregate(node.name, node.args.map(evaluate));