inline-styles-parse
Version:
Handles inline styles for consumption by a CSS parser that expects a full CSS rule instead.
22 lines (18 loc) • 753 B
JavaScript
// prepares css rule from passed declarations
var declarationsToRule = function(declarations, selector) {
if(!selector) { selector = '.dummy'; }
return selector + '{' + declarations + '}';
};
var rxRuleDeclarations = /([\s\S]*?){([\s\S]*?)}/i; // \s\S instead . for dotall
// extracts declarations from passed css rule
var ruleToDeclarations = function(rule) {
var matches = rule.match(rxRuleDeclarations);
if(!matches || matches.length < 2) {
throw Error('Error parsing rule ' + rule);
return false;
}
return matches[2];
};
module.exports.rxRuleDeclarations = rxRuleDeclarations;
module.exports.declarationsToRule = declarationsToRule;
module.exports.ruleToDeclarations = ruleToDeclarations;