diff --git a/lib/pushprocessor.js b/lib/pushprocessor.js index 1a9b2aaab..10533b148 100644 --- a/lib/pushprocessor.js +++ b/lib/pushprocessor.js @@ -150,27 +150,28 @@ module.exports = function(client) { var val = valueForDottedKey(cond.key, ev); if (!val || typeof val != 'string') { return false; } + var pat; if (cond.key == 'content.body') { - pat = '\\b'+globToRegexp(cond.pattern)+'\\b'; + pat = '\\b' + globToRegexp(cond.pattern) + '\\b'; } else { - pat = '^'+globToRegexp(cond.pattern)+'$'; + pat = '^' + globToRegexp(cond.pattern) + '$'; } - var val = valueForDottedKey(cond['key'], ev); - if (!val || typeof val != 'string') return false; var regex = new RegExp(pat, 'i'); return !!val.match(regex); }; var globToRegexp = function(glob) { - // From https://github.com/matrix-org/synapse/blob/abbee6b29be80a77e05730707602f3bbfc3f38cb/synapse/push/__init__.py#L132 - // Because micromatch is about 130KB with dependencies, and minimatch is not much better. + // From + // https://github.com/matrix-org/synapse/blob/abbee6b29be80a77e05730707602f3bbfc3f38cb/synapse/push/__init__.py#L132 + // Because micromatch is about 130KB with dependencies, + // and minimatch is not much better. var pat = escapeRegExp(glob); pat = pat.replace(/\\\*/, '.*'); pat = pat.replace(/\?/, '.'); pat = pat.replace(/\\\[(!|)(.*)\\]/, function(match, p1, p2, offset, string) { var first = p1 && '^' || ''; var second = p2.replace(/\\\-/, '-'); - return '['+first+second+']'; + return '[' + first + second + ']'; }); return pat; };