Index: lib/elemHide.js |
=================================================================== |
--- a/lib/elemHide.js |
+++ b/lib/elemHide.js |
@@ -401,16 +401,39 @@ |
} |
} |
return {code, selectors: includeSelectors ? selectors : null}; |
} |
}; |
/** |
+ * Yields rules from a style sheet returned by |
+ * <code>{@link createStyleSheet}</code>. |
+ * |
+ * @param {string} styleSheet A style sheet returned by |
+ * <code>{@link createStyleSheet}</code>. If the given style sheet is |
+ * <em>not</em> a value previously returned by a call to |
+ * <code>{@link createStyleSheet}</code>, the behavior is undefined. |
+ * @yields {string} A rule from the given style sheet. |
+ */ |
+function* rulesFromStyleSheet(styleSheet) |
+{ |
+ let startIndex = 0; |
+ while (startIndex < styleSheet.length) |
+ { |
+ let ruleTerminatorIndex = styleSheet.indexOf("\n", startIndex); |
+ yield styleSheet.substring(startIndex, ruleTerminatorIndex); |
+ startIndex = ruleTerminatorIndex + 1; |
+ } |
+} |
+ |
+exports.rulesFromStyleSheet = rulesFromStyleSheet; |
+ |
+/** |
* Splits a list of selectors into groups determined by the value of |
* <code>{@link selectorGroupSize}</code>. |
* |
* @param {Array.<string>} selectors |
* @yields {Array.<string>} |
*/ |
function* splitSelectors(selectors) |
{ |