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

This commit is contained in:
Elian Doran 2024-02-18 01:06:42 +02:00
parent 460982d290
commit c63d05b582
No known key found for this signature in database
2 changed files with 11 additions and 8 deletions

View File

@ -1,11 +1,14 @@
"use strict"; "use strict";
const Expression = require('./expression'); import Expression = require('./expression');
const NoteSet = require('../note_set'); import NoteSet = require('../note_set');
const TrueExp = require('./true'); import TrueExp = require('./true');
import SearchContext = require('../search_context');
class OrExp extends Expression { class OrExp 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) {
@ -19,13 +22,13 @@ class OrExp 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) {
const resultNoteSet = new NoteSet(); const resultNoteSet = new NoteSet();
for (const subExpression of this.subExpressions) { for (const subExpression of this.subExpressions) {
@ -36,4 +39,4 @@ class OrExp extends Expression {
} }
} }
module.exports = OrExp; export = OrExp;

View File

@ -2,7 +2,7 @@
const dayjs = require("dayjs"); const dayjs = require("dayjs");
const AndExp = require('../expressions/and'); const AndExp = require('../expressions/and');
const OrExp = require('../expressions/or.js'); const OrExp = require('../expressions/or');
const NotExp = require('../expressions/not'); const NotExp = require('../expressions/not');
const ChildOfExp = require('../expressions/child_of'); const ChildOfExp = require('../expressions/child_of');
const DescendantOfExp = require('../expressions/descendant_of'); const DescendantOfExp = require('../expressions/descendant_of');