You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/compiler/generate/utils/walkHtml.js

19 lines
402 B

export default function walkHtml ( html, visitors ) {
function visit ( node ) {
const visitor = visitors[ node.type ];
if ( !visitor ) throw new Error( `Not implemented: ${node.type}` );
if ( visitor.enter ) visitor.enter( node );
if ( node.children ) {
node.children.forEach( child => {
visit( child );
});
}
if ( visitor.leave ) visitor.leave( node );
}
visit( html );
}