From 8d39ce95ebb26ea32ddc8b3102334b2081641df2 Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Tue, 28 Feb 2023 01:32:20 +0800 Subject: [PATCH] FieldIndexer performance: use `isShadowTiddler` instead of `allTitles` (#7299) * feat: use `isShadowTiddler` insteadof `allTitles` * fix: use `tiddlerExists` instead --- core/modules/indexers/field-indexer.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/modules/indexers/field-indexer.js b/core/modules/indexers/field-indexer.js index e49583610..3aefc99ac 100644 --- a/core/modules/indexers/field-indexer.js +++ b/core/modules/indexers/field-indexer.js @@ -32,18 +32,18 @@ FieldIndexer.prototype.setMaxIndexedValueLength = function(length) { FieldIndexer.prototype.addIndexMethods = function() { var self = this; + // get all tiddlers, including those overwrite shadow tiddlers this.wiki.each.byField = function(name,value) { - var titles = self.wiki.allTitles(), - lookup = self.lookup(name,value); + var lookup = self.lookup(name,value); return lookup && lookup.filter(function(title) { - return titles.indexOf(title) !== -1; + return self.wiki.tiddlerExists(title) }); }; + // get shadow tiddlers, including shadow tiddlers that is overwritten this.wiki.eachShadow.byField = function(name,value) { - var titles = self.wiki.allShadowTitles(), - lookup = self.lookup(name,value); + var lookup = self.lookup(name,value); return lookup && lookup.filter(function(title) { - return titles.indexOf(title) !== -1; + return self.wiki.isShadowTiddler(title) }); }; this.wiki.eachTiddlerPlusShadows.byField = function(name,value) {