From c29e8b974ede37f950171f248a0901ed2068b0be Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Mon, 11 Sep 2023 02:44:21 +0200 Subject: [PATCH] Implement boolean negation, array concatenation operators --- src/transformers/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/transformers/index.js b/src/transformers/index.js index 8ae4bbc..19a974f 100644 --- a/src/transformers/index.js +++ b/src/transformers/index.js @@ -82,7 +82,7 @@ let trivial = { }, NixUnaryOperation: (_node, { defer }) => { return defer((node) => { - if (node.operator === "-") { + if (node.operator === "-" || node.operator === "!") { return types.unaryExpression(node.operator, node.argument, true); } else { throw new Error(`Unsupported operator: ${node.operator}`); @@ -100,6 +100,11 @@ let trivial = { types.spreadElement(node.left), types.spreadElement(node.right) ]); + } else if (node.operator === "++") { + return types.arrayExpression([ + types.spreadElement(node.left), + types.spreadElement(node.right) + ]); } else { return types.binaryExpression(node.operator, node.left, node.right); }