Revert previous merge from #9595

This reverts commit eb8f69dd03.
This commit is contained in:
Jeremy Ruston 2026-01-20 16:04:28 +00:00
parent a45a8723c0
commit 3f654bccaa
2 changed files with 5 additions and 10 deletions

View file

@ -230,8 +230,8 @@ exports.getFilterRunPrefixes = function() {
return this.filterRunPrefixes;
}
exports.filterTiddlers = function(filterString,widget,source,options) {
var fn = this.compileFilter(filterString,options);
exports.filterTiddlers = function(filterString,widget,source) {
var fn = this.compileFilter(filterString);
try {
const fnResult = fn.call(this,source,widget);
return fnResult;
@ -244,11 +244,8 @@ exports.filterTiddlers = function(filterString,widget,source,options) {
Compile a filter into a function with the signature fn(source,widget) where:
source: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)
widget: an optional widget node for retrieving the current tiddler etc.
options: optional hashmap of options
options.defaultFilterRunPrefix: the default filter run prefix to use when none is specified
*/
exports.compileFilter = function(filterString,options) {
var defaultFilterRunPrefix = options?.defaultFilterRunPrefix || "or";
exports.compileFilter = function(filterString) {
if(!this.filterCache) {
this.filterCache = Object.create(null);
this.filterCacheCount = 0;
@ -357,7 +354,7 @@ exports.compileFilter = function(filterString,options) {
var options = {wiki: self, suffixes: operation.suffixes || []};
switch(operation.prefix || "") {
case "": // No prefix means that the operation is unioned into the result
return filterRunPrefixes[defaultFilterRunPrefix](operationSubFunction, options);
return filterRunPrefixes["or"](operationSubFunction, options);
case "=": // The results of the operation are pushed into the result without deduplication
return filterRunPrefixes["all"](operationSubFunction, options);
case "-": // The results of this operation are removed from the main result

View file

@ -13,9 +13,7 @@ Filter operator returning its operand evaluated as a filter
Export our filter function
*/
exports.subfilter = function(source,operator,options) {
var suffixes = operator.suffixes || [],
defaultFilterRunPrefix = (suffixes[0] || [])[0] || "or";
var list = options.wiki.filterTiddlers(operator.operand,options.widget,source,{defaultFilterRunPrefix});
var list = options.wiki.filterTiddlers(operator.operand,options.widget,source);
if(operator.prefix === "!") {
var results = [];
source(function(tiddler,title) {