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:
20
lib/xast.js
20
lib/xast.js
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user