diff --git a/core/modules/filters/all.js b/core/modules/filters/all.js index 853fe0a7f..a36749e92 100644 --- a/core/modules/filters/all.js +++ b/core/modules/filters/all.js @@ -52,7 +52,7 @@ exports.all = function(source,operator,options) { results.pushTop(subop(source,operator.prefix,options)); } } - return results.toArray(); + return results.makeTiddlerIterator(options.wiki); }; })(); diff --git a/core/modules/filters/links.js b/core/modules/filters/links.js index e1a859bc1..0305f4b7f 100644 --- a/core/modules/filters/links.js +++ b/core/modules/filters/links.js @@ -20,7 +20,7 @@ exports.links = function(source,operator,options) { source(function(tiddler,title) { results.pushTop(options.wiki.getTiddlerLinks(title)); }); - return results.toArray(); + return results.makeTiddlerIterator(options.wiki); }; })(); diff --git a/core/modules/utils/linked-list.js b/core/modules/utils/linked-list.js index 06242b454..dca096419 100644 --- a/core/modules/utils/linked-list.js +++ b/core/modules/utils/linked-list.js @@ -95,6 +95,15 @@ LinkedList.prototype.toArray = function() { return output; }; +LinkedList.prototype.makeTiddlerIterator = function(wiki) { + var self = this; + return function(callback) { + self.each(function(title) { + callback(wiki.getTiddler(title),title); + }); + }; +}; + function _removeOne(list,value) { var prevEntry = list.prev[value], nextEntry = list.next[value],