Urara-Blog/node_modules/.pnpm-store/v3/files/d6/04b391d94e222e20df706cfb8e6bd8a27c21958948de2505be6864c3ffde446502806928ba62d2f89452d3398a9e05330731c6a13335cb38ba46b04b1f37d9
2022-08-14 01:14:53 +08:00

35 lines
702 B
Text

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