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"; "use strict";
const Expression = require('./expression'); import NoteSet = require('../note_set');
const TrueExp = require('./true'); import SearchContext = require('../search_context');
import Expression = require('./expression');
import TrueExp = require('./true');
class AndExp extends Expression { class AndExp extends Expression {
static of(subExpressions) { private subExpressions: Expression[];
static of(subExpressions: Expression[]) {
subExpressions = subExpressions.filter(exp => !!exp); subExpressions = subExpressions.filter(exp => !!exp);
if (subExpressions.length === 1) { if (subExpressions.length === 1) {
@ -16,12 +20,12 @@ class AndExp extends Expression {
} }
} }
constructor(subExpressions) { constructor(subExpressions: Expression[]) {
super(); super();
this.subExpressions = subExpressions; this.subExpressions = subExpressions;
} }
execute(inputNoteSet, executionContext, searchContext) { execute(inputNoteSet: NoteSet, executionContext: {}, searchContext: SearchContext) {
for (const subExpression of this.subExpressions) { for (const subExpression of this.subExpressions) {
inputNoteSet = subExpression.execute(inputNoteSet, executionContext, searchContext); 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"; "use strict";
const dayjs = require("dayjs"); const dayjs = require("dayjs");
const AndExp = require('../expressions/and.js'); const AndExp = require('../expressions/and');
const OrExp = require('../expressions/or.js'); const OrExp = require('../expressions/or.js');
const NotExp = require('../expressions/not.js'); const NotExp = require('../expressions/not.js');
const ChildOfExp = require('../expressions/child_of.js'); const ChildOfExp = require('../expressions/child_of.js');