mirror of
https://github.com/jlengrand/compose-multiplatform.git
synced 2026-05-18 08:11:18 +00:00
Relax upperbound for ElementBuilder to Element
It's still a lie since there's a HTMLElement cast later on but it will make possible further improvements
This commit is contained in:
@@ -80,13 +80,13 @@ class DisposableEffectHolder(
|
||||
interface ElementBuilder<TElement : Element> {
|
||||
fun create(): TElement
|
||||
|
||||
private open class ElementBuilderImplementation<TElement : HTMLElement>(private val tagName: String) : ElementBuilder<TElement> {
|
||||
private open class ElementBuilderImplementation<TElement : Element>(private val tagName: String) : ElementBuilder<TElement> {
|
||||
private val el: Element by lazy { document.createElement(tagName) }
|
||||
override fun create(): TElement = el.cloneNode() as TElement
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun <TElement : HTMLElement> createBuilder(tagName: String): ElementBuilder<TElement> {
|
||||
fun <TElement : Element> createBuilder(tagName: String): ElementBuilder<TElement> {
|
||||
return object : ElementBuilderImplementation<TElement>(tagName) {}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user