@mapcss/preset-svg
Version:
SVG as CSS for MapCSS
23 lines (22 loc) • 686 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeDuplicatedDecl = void 0;
/** Removes duplicate `decl` nodes in the same `rule`.
* The criterion for duplication is that `prop` is equal.
* The node that appears first has priority.
*/
function removeDuplicatedDecl(root) {
const newRoot = root.clone();
newRoot.walkRules((rule) => {
const set = new Set();
rule.walkDecls((decl) => {
const prop = decl.prop;
if (set.has(prop)) {
decl.remove();
}
set.add(prop);
});
});
return newRoot;
}
exports.removeDuplicatedDecl = removeDuplicatedDecl;