filter: Cache/store sorted_term_types.

Given that the sorted term types depends only on the filter, it makes
sense to only build them once and cache the results.
This commit is contained in:
YashRE42
2020-03-15 19:49:18 +05:30
committed by Tim Abbott
parent 83ad56aa64
commit 4d972e1d10
2 changed files with 29 additions and 1 deletions

View File

@@ -502,6 +502,13 @@ Filter.prototype = {
},
sorted_term_types: function () {
if (this._sorted_term_types === undefined) {
this._sorted_term_types = this._build_sorted_term_types();
}
return this._sorted_term_types;
},
_build_sorted_term_types: function () {
const terms = this._operators;
const term_types = terms.map(Filter.term_type);
const sorted_terms = Filter.sorted_term_types(term_types);