let Prefixer = require('./prefixer') class AtRule extends Prefixer { /** * Clone and add prefixes for at-rule */ add(rule, prefix) { let prefixed = prefix + rule.name let already = rule.parent.some( i => i.name === prefixed && i.params === rule.params ) if (already) { return undefined } let cloned = this.clone(rule, { name: prefixed }) return rule.parent.insertBefore(rule, cloned) } /** * Clone node with prefixes */ process(node) { let parent = this.parentPrefix(node) for (let prefix of this.prefixes) { if (!parent || parent === prefix) { this.add(node, prefix) } } } } module.exports = AtRule