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');