1
0
mirror of https://github.com/svg/svgo.git synced 2025-07-29 20:21:14 +03:00

Refactor removeUnusedNS plugin (#1559)

- covered with types
- migrated to visitor plugin api
- dropped traverse utility which is replaced by visitor
This commit is contained in:
Bogdan Chadkin
2021-09-10 20:30:34 +03:00
committed by GitHub
parent d9102930ca
commit 6eb4524aef
3 changed files with 44 additions and 86 deletions

View File

@ -55,26 +55,6 @@ const closestByName = (node, name) => {
};
exports.closestByName = closestByName;
const traverseBreak = Symbol();
exports.traverseBreak = traverseBreak;
/**
* @type {(node: any, fn: any) => any}
*/
const traverse = (node, fn) => {
if (fn(node) === traverseBreak) {
return traverseBreak;
}
if (node.type === 'root' || node.type === 'element') {
for (const child of node.children) {
if (traverse(child, fn) === traverseBreak) {
return traverseBreak;
}
}
}
};
exports.traverse = traverse;
const visitSkip = Symbol();
exports.visitSkip = visitSkip;