From 7018cc77a3dae90fe5b3d26b6dccb2b6f72cce1d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 18 Feb 2024 00:43:55 +0200 Subject: [PATCH] server-ts: Port services/search/expressions/and --- .../search/expressions/{and.js => and.ts} | 16 ++++++++++------ src/services/search/services/parse.js | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) rename src/services/search/expressions/{and.js => and.ts} (60%) diff --git a/src/services/search/expressions/and.js b/src/services/search/expressions/and.ts similarity index 60% rename from src/services/search/expressions/and.js rename to src/services/search/expressions/and.ts index e853318b9..4457dfc21 100644 --- a/src/services/search/expressions/and.js +++ b/src/services/search/expressions/and.ts @@ -1,10 +1,14 @@ "use strict"; -const Expression = require('./expression'); -const TrueExp = require('./true'); +import NoteSet = require('../note_set'); +import SearchContext = require('../search_context'); +import Expression = require('./expression'); +import TrueExp = require('./true'); class AndExp extends Expression { - static of(subExpressions) { + private subExpressions: Expression[]; + + static of(subExpressions: Expression[]) { subExpressions = subExpressions.filter(exp => !!exp); if (subExpressions.length === 1) { @@ -16,12 +20,12 @@ class AndExp extends Expression { } } - constructor(subExpressions) { + constructor(subExpressions: Expression[]) { super(); this.subExpressions = subExpressions; } - execute(inputNoteSet, executionContext, searchContext) { + execute(inputNoteSet: NoteSet, executionContext: {}, searchContext: SearchContext) { for (const subExpression of this.subExpressions) { inputNoteSet = subExpression.execute(inputNoteSet, executionContext, searchContext); } @@ -30,4 +34,4 @@ class AndExp extends Expression { } } -module.exports = AndExp; +export = AndExp; diff --git a/src/services/search/services/parse.js b/src/services/search/services/parse.js index 9edb4bb87..94b5fdd7e 100644 --- a/src/services/search/services/parse.js +++ b/src/services/search/services/parse.js @@ -1,7 +1,7 @@ "use strict"; const dayjs = require("dayjs"); -const AndExp = require('../expressions/and.js'); +const AndExp = require('../expressions/and'); const OrExp = require('../expressions/or.js'); const NotExp = require('../expressions/not.js'); const ChildOfExp = require('../expressions/child_of.js');