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

This commit is contained in:
Elian Doran 2024-02-18 00:47:25 +02:00
parent ccc51e0123
commit 35886c3b00
No known key found for this signature in database
2 changed files with 10 additions and 7 deletions

View File

@ -1,17 +1,20 @@
"use strict"; "use strict";
const Expression = require('./expression'); import Expression = require('./expression');
const NoteSet = require('../note_set'); import NoteSet = require('../note_set');
const becca = require('../../../becca/becca'); import becca = require('../../../becca/becca');
import SearchContext = require('../search_context');
class DescendantOfExp extends Expression { class DescendantOfExp extends Expression {
constructor(subExpression) { private subExpression: Expression;
constructor(subExpression: Expression) {
super(); super();
this.subExpression = subExpression; this.subExpression = subExpression;
} }
execute(inputNoteSet, executionContext, searchContext) { execute(inputNoteSet: NoteSet, executionContext: {}, searchContext: SearchContext) {
const subInputNoteSet = new NoteSet(Object.values(becca.notes)); const subInputNoteSet = new NoteSet(Object.values(becca.notes));
const subResNoteSet = this.subExpression.execute(subInputNoteSet, executionContext, searchContext); const subResNoteSet = this.subExpression.execute(subInputNoteSet, executionContext, searchContext);
@ -25,4 +28,4 @@ class DescendantOfExp extends Expression {
} }
} }
module.exports = DescendantOfExp; export = DescendantOfExp;

View File

@ -5,7 +5,7 @@ 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'); const ChildOfExp = require('../expressions/child_of');
const DescendantOfExp = require('../expressions/descendant_of.js'); const DescendantOfExp = require('../expressions/descendant_of');
const ParentOfExp = require('../expressions/parent_of.js'); const ParentOfExp = require('../expressions/parent_of.js');
const RelationWhereExp = require('../expressions/relation_where.js'); const RelationWhereExp = require('../expressions/relation_where.js');
const PropertyComparisonExp = require('../expressions/property_comparison.js'); const PropertyComparisonExp = require('../expressions/property_comparison.js');