From 571c9f544cb40b4acfee63fb8827d33ad5d77b22 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 18 Feb 2024 00:50:14 +0200 Subject: [PATCH] server-ts: Port services/search/expressions/label_comparison --- ...abel_comparison.js => label_comparison.ts} | 20 +++++++++++++------ src/services/search/services/parse.js | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) rename src/services/search/expressions/{label_comparison.js => label_comparison.ts} (64%) diff --git a/src/services/search/expressions/label_comparison.js b/src/services/search/expressions/label_comparison.ts similarity index 64% rename from src/services/search/expressions/label_comparison.js rename to src/services/search/expressions/label_comparison.ts index 1d6f7572b..b455f82ca 100644 --- a/src/services/search/expressions/label_comparison.js +++ b/src/services/search/expressions/label_comparison.ts @@ -1,11 +1,19 @@ "use strict"; -const Expression = require('./expression'); -const NoteSet = require('../note_set'); -const becca = require('../../../becca/becca'); +import Expression = require('./expression'); +import NoteSet = require('../note_set'); +import becca = require('../../../becca/becca'); +import SearchContext = require('../search_context'); + +type Comparator = (value: string) => boolean; class LabelComparisonExp extends Expression { - constructor(attributeType, attributeName, comparator) { + + private attributeType: string; + private attributeName: string; + private comparator: Comparator; + + constructor(attributeType: string, attributeName: string, comparator: Comparator) { super(); this.attributeType = attributeType; @@ -13,7 +21,7 @@ class LabelComparisonExp extends Expression { this.comparator = comparator; } - execute(inputNoteSet, executionContext, searchContext) { + execute(inputNoteSet: NoteSet, executionContext: {}, searchContext: SearchContext) { const attrs = becca.findAttributes(this.attributeType, this.attributeName); const resultNoteSet = new NoteSet(); @@ -38,4 +46,4 @@ class LabelComparisonExp extends Expression { } } -module.exports = LabelComparisonExp; +export = LabelComparisonExp; diff --git a/src/services/search/services/parse.js b/src/services/search/services/parse.js index 372f2c979..e50034a93 100644 --- a/src/services/search/services/parse.js +++ b/src/services/search/services/parse.js @@ -10,7 +10,7 @@ const ParentOfExp = require('../expressions/parent_of.js'); const RelationWhereExp = require('../expressions/relation_where.js'); const PropertyComparisonExp = require('../expressions/property_comparison.js'); const AttributeExistsExp = require('../expressions/attribute_exists'); -const LabelComparisonExp = require('../expressions/label_comparison.js'); +const LabelComparisonExp = require('../expressions/label_comparison'); const NoteFlatTextExp = require('../expressions/note_flat_text.js'); const NoteContentFulltextExp = require('../expressions/note_content_fulltext.js'); const OrderByAndLimitExp = require('../expressions/order_by_and_limit.js');