Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// we start iterating from the last score=0 entry
// to correctly inject pseudo classes etc.
const startIndex = renderer.scoreIndex[nodeReference] || 0
for (let i = startIndex, len = cssRules.length; i < len; ++i) {
if (cssRules[i].score > score) {
index = i
break
}
}
}
const cssRule = generateCSSRule(selector, declaration)
if (support.length > 0) {
const cssSupportRule = generateCSSSupportRule(support, cssRule)
node.sheet.insertRule(cssSupportRule, index)
} else {
node.sheet.insertRule(cssRule, index)
}
if (score === 0) {
renderer.scoreIndex[nodeReference] = index
}
cssRules[index].score = score
} catch (e) {
// We're disabled these warnings due to false-positive errors with browser prefixes
// See https://github.com/robinweser/fela/issues/634
// console.warn(
// `An error occurred while inserting the rules into DOM.\n`,
// declaration.replace(/;/g, ';\n'),
export default function generateRule(
selector: string,
declaration: string,
support?: string = ''
): string {
const rule = generateCSSRule(selector, declaration)
if (support.length > 0) {
return generateCSSSupportRule(support, rule)
}
return rule
}