From 28dfa2b17cbaf28a9593c6ac4b83da4db6d9be56 Mon Sep 17 00:00:00 2001 From: Nicolas Stepien Date: Mon, 27 Feb 2012 02:05:23 +0100 Subject: [PATCH] Get rid of the extra `test` function in the filter. --- 4chan_x.user.js | 21 ++++++++------------- script.coffee | 20 +++++++------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/4chan_x.user.js b/4chan_x.user.js index e13553e39..7b73fbb9f 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -602,25 +602,20 @@ }; }, node: function(root) { - var isOP, key, klass; + var Filter, isOP, key, klass, value, _i, _len, _ref; klass = root.className; if (/\binlined\b/.test(klass)) return; if (!(isOP = klass === 'op')) root = $('td[id]', root); for (key in filter.filters) { - if (filter.test(root, key, isOP)) return; + value = filter[key](root, isOP); + if (value === false) continue; + _ref = filter.filters[key]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + Filter = _ref[_i]; + if (Filter(root, value, isOP)) return; + } } }, - test: function(root, key, isOP) { - var filter, value, _i, _len, _ref; - value = this[key](root, isOP); - if (value === false) return false; - _ref = this.filters[key]; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - filter = _ref[_i]; - if (filter(root, value, isOP)) return true; - } - return false; - }, name: function(root, isOP) { var name; name = isOP ? $('.postername', root) : $('.commentpostername', root); diff --git a/script.coffee b/script.coffee index 6c258a4f1..eb77a9b78 100644 --- a/script.coffee +++ b/script.coffee @@ -526,19 +526,13 @@ filter = unless isOP = klass is 'op' root = $ 'td[id]', root for key of filter.filters - if filter.test root, key, isOP - return - - test: (root, key, isOP) -> - value = @[key] root, isOP - if value is false - # Return if there's nothing to filter (no tripcode for example). - return false - - for filter in @filters[key] - if filter root, value, isOP - return true - false + value = filter[key] root, isOP + if value is false + # Continue if there's nothing to filter (no tripcode for example). + continue + for Filter in filter.filters[key] + if Filter root, value, isOP + return name: (root, isOP) -> name = if isOP then $ '.postername', root else $ '.commentpostername', root