Jak mohu získat vykreslený innerHTML, který obsahuje Shadow DOM?

V projektu používám webové komponenty se stínovým DOM a rád bych zkopíroval vnitřní HTML stránky jako vykreslený.

Myslím, že musím napsat funkční smyčky přes každý uzel DOM a získat buď stínové potomky DOM, pokud jsou k dispozici, nebo světlé děti DOM.

node.shadowRoot ? node.shadowRoot.children : node.children

Mám potíže se správným nastavením a jsem překvapen, že na Googlu nemohu nic najít.