Como detectamos se uma raiz de sombra foi criada com a API v0 ou v1?
Suponha que um módulo JS exporteshadowRoot
que foi criado com qualquerel.createShadowRoot
ouel.attachShadow
(não sabemos qual). Como detectamos se a raiz é uma raiz de sombra v0 ou uma raiz de sombra v1 (ou seja, como detectamos qual método foi usado para criar a raiz)?
f.e., O que eu preencheria nas seguintes declarações condicionais?
// for argument's sake, we don't create the root, we only get a reference
// to it:
import shadowRoot from 'somewhere'
function getShadowRootVersion(root) {
if ( ... )
return 'v0'
if ( ... )
return 'v1'
}
console.log(getShadowRootVersion(shadowRoot)) // should output "v0" or "v1".
Mais informações:
Queremos descobrir se uma raiz de sombra foi criada a partir decreateShadowRoot
ou deattachShadow
. As raízes resultantes são diferentes: na raiz criada comcreateShadowRoot
, <content>
elementos são usados para distribuir elementos. Nas raízes criadas comattachShadow
, <content>
elementos não fazem nada e<slot>
elementos são usados no lugar. Como detectamos qual método foi usado para criar uma raiz (ou seja, se temos uma raiz v0 ou uma raiz v1)?