From d6b6da1a8314bb8758021074e7db45669c8dfa4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Sat, 10 Aug 2024 01:59:22 -0700 Subject: [PATCH] Fixed logic for upgrading nonexistent filter to expression --- index.js | 2 +- index.spec.mjs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index f673d2f..5be55da 100644 --- a/index.js +++ b/index.js @@ -137,7 +137,7 @@ function decimalYearFromDate(date) { * that require the feature to overlap with the date range. */ function constrainFilterByDateRange(filter, dateRange) { - if (typeof filter !== 'undefined' || isLegacyFilter(filter)) { + if (typeof filter !== 'undefined' && isLegacyFilter(filter)) { return constrainLegacyFilterByDateRange(filter, dateRange); } else { return constrainExpressionFilterByDateRange(filter, dateRange); diff --git a/index.spec.mjs b/index.spec.mjs index 05ea65e..9acff16 100644 --- a/index.spec.mjs +++ b/index.spec.mjs @@ -6,6 +6,7 @@ import { dateRangeFromISODate, decimalYearFromDate, dateRangeFromDate, + constrainFilterByDateRange, constrainLegacyFilterByDateRange, constrainExpressionFilterByDateRange, isLegacyFilter, @@ -172,6 +173,14 @@ describe('isLegacyFilter', () => { }); }); +describe('constrainFilterByDateRange', () => { + it('should upgrade nonexistent filter to expression-based filter', () => { + let upgraded = constrainFilterByDateRange(undefined, { startDecimalYear: 2013 }); + assert.equal(upgraded.length, 10); + assert.equal(upgraded[0], 'let'); + }); +}); + describe('constrainLegacyFilterByDateRange', () => { it('should upgrade top-level non-combining filter', () => { let original = ['in', 'class', 'primary', 'secondary', 'tertiary'];