From b98680cdab7976060547e7d498af06871d0b2f3d Mon Sep 17 00:00:00 2001 From: Dirk Date: Thu, 3 Oct 2024 09:42:41 +0200 Subject: [PATCH] feat: add support for binary exp using '+' operartor --- packages/helix-shared-indexer/src/index-resource.js | 11 +++++++++++ .../helix-shared-indexer/test/index-resource.test.js | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/packages/helix-shared-indexer/src/index-resource.js b/packages/helix-shared-indexer/src/index-resource.js index c974e911..32c2a4cc 100644 --- a/packages/helix-shared-indexer/src/index-resource.js +++ b/packages/helix-shared-indexer/src/index-resource.js @@ -126,6 +126,17 @@ function evaluate(expression, context) { case Jsep.IDENTIFIER: { return vars[node.name]; } + case Jsep.BINARY_EXP: { + switch (node.operator) { + case '+': { + return evalNode(node.left) + evalNode(node.right); + } + default: { + log.warn('evaluate binary operator not supported: ', node.operator); + return null; + } + } + } case Jsep.LITERAL: { return node.value; } diff --git a/packages/helix-shared-indexer/test/index-resource.test.js b/packages/helix-shared-indexer/test/index-resource.test.js index 0f04b112..8c9fa7a4 100644 --- a/packages/helix-shared-indexer/test/index-resource.test.js +++ b/packages/helix-shared-indexer/test/index-resource.test.js @@ -24,6 +24,9 @@ version: 1 indices: default: properties: + canonical: + select: main + value: path + '.html' author: select: main > div:nth-of-type(3) > p:nth-of-type(1) value: | @@ -186,6 +189,7 @@ describe('Index Resource Tests', () => { const headers = new Headers({ 'last-modified': 'Mon, 22 Feb 2021 15:28:00 GMT' }); const record = indexResource('/abc/de/ab/fg/abcd', { body: BODY, headers }, config.indices[0], console); assert.deepEqual(record, { + canonical: '/abc/de/ab/fg/abcd.html', 'all-matches': [ 'https://my.domain.com/assets/asset-link', 'https://my.domain.com/assets/asset-link2',