From f92f62738d688a504049b4389f1dad42f5d495ef Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Tue, 12 Feb 2019 20:24:26 -0500 Subject: [PATCH] Optimize scopeSelector (#20819) https://jsbench.github.io/#e00c46505b5b875d2dcd5894d6e46adc --- src/dom.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/dom.js b/src/dom.js index 1dcc0e9bb0d7..4058b4452099 100644 --- a/src/dom.js +++ b/src/dom.js @@ -528,15 +528,12 @@ function isScopeSelectorSupported(parent) { * scopeSelector('article >', 'div, ul'); // article > div, article > ul * ``` * - * @param {string} ancestorSelector - * @param {string} descendantSelector + * @param {string} distribute + * @param {string} selector * @return {string} */ -function scopeSelector(ancestorSelector, descendantSelector) { - return descendantSelector - .split(',') - .map(subSelector => `${ancestorSelector} ${subSelector}`) - .join(','); +function scopeSelector(distribute, selector) { + return selector.replace(/^|,/g, `$&${distribute} `); } export const scopeSelectorForTesting = scopeSelector;