server-ts: Port services/search/expressions/and

This commit is contained in:
Elian Doran 2024-02-18 00:43:55 +02:00
parent 8d2eddd14d
commit 7018cc77a3
No known key found for this signature in database
2 changed files with 11 additions and 7 deletions

View File

@ -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;

View File

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