diff --git a/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt b/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt index 11966e23aab..5aae49e7a8a 100644 --- a/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt +++ b/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt @@ -7,7 +7,3 @@ package kotlin.js @PublishedApi internal val undefined: Nothing? = null - -@PublishedApi -internal fun newJsObject(): Dynamic = - js("({})") diff --git a/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt b/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt index c41fc9d5b7e..7ca9908c321 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt @@ -924,11 +924,17 @@ public external open class Int8Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Int8Array.get(index: Int): Byte = asDynamic().getByte(index) +@PublishedApi +internal fun getMethodImplForInt8Array(obj: Int8Array, index: Int): Byte { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Int8Array.set(index: Int, value: Byte) { asDynamic()[index] = value } +public inline operator fun Int8Array.get(index: Int): Byte = getMethodImplForInt8Array(this, index) + +@PublishedApi +internal fun setMethodImplForInt8Array(obj: Int8Array, index: Int, value: Byte) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Int8Array.set(index: Int, value: Byte) = setMethodImplForInt8Array(this, index, value) /** * Exposes the JavaScript [Uint8Array](https://developer.mozilla.org/en/docs/Web/API/Uint8Array) to Kotlin @@ -951,11 +957,17 @@ public external open class Uint8Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Uint8Array.get(index: Int): Byte = asDynamic().getByte(index) +@PublishedApi +internal fun getMethodImplForUint8Array(obj: Uint8Array, index: Int): Byte { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Uint8Array.set(index: Int, value: Byte) { asDynamic()[index] = value } +public inline operator fun Uint8Array.get(index: Int): Byte = getMethodImplForUint8Array(this, index) + +@PublishedApi +internal fun setMethodImplForUint8Array(obj: Uint8Array, index: Int, value: Byte) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Uint8Array.set(index: Int, value: Byte) = setMethodImplForUint8Array(this, index, value) /** * Exposes the JavaScript [Uint8ClampedArray](https://developer.mozilla.org/en/docs/Web/API/Uint8ClampedArray) to Kotlin @@ -978,11 +990,17 @@ public external open class Uint8ClampedArray : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Uint8ClampedArray.get(index: Int): Byte = asDynamic().getByte(index) +@PublishedApi +internal fun getMethodImplForUint8ClampedArray(obj: Uint8ClampedArray, index: Int): Byte { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Uint8ClampedArray.set(index: Int, value: Byte) { asDynamic()[index] = value } +public inline operator fun Uint8ClampedArray.get(index: Int): Byte = getMethodImplForUint8ClampedArray(this, index) + +@PublishedApi +internal fun setMethodImplForUint8ClampedArray(obj: Uint8ClampedArray, index: Int, value: Byte) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Uint8ClampedArray.set(index: Int, value: Byte) = setMethodImplForUint8ClampedArray(this, index, value) /** * Exposes the JavaScript [Int16Array](https://developer.mozilla.org/en/docs/Web/API/Int16Array) to Kotlin @@ -1005,11 +1023,17 @@ public external open class Int16Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Int16Array.get(index: Int): Short = asDynamic().getShort(index) +@PublishedApi +internal fun getMethodImplForInt16Array(obj: Int16Array, index: Int): Short { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Int16Array.set(index: Int, value: Short) { asDynamic()[index] = value } +public inline operator fun Int16Array.get(index: Int): Short = getMethodImplForInt16Array(this, index) + +@PublishedApi +internal fun setMethodImplForInt16Array(obj: Int16Array, index: Int, value: Short) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Int16Array.set(index: Int, value: Short) = setMethodImplForInt16Array(this, index, value) /** * Exposes the JavaScript [Uint16Array](https://developer.mozilla.org/en/docs/Web/API/Uint16Array) to Kotlin @@ -1032,11 +1056,17 @@ public external open class Uint16Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Uint16Array.get(index: Int): Short = asDynamic().getShort(index) +@PublishedApi +internal fun getMethodImplForUint16Array(obj: Uint16Array, index: Int): Short { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Uint16Array.set(index: Int, value: Short) { asDynamic()[index] = value } +public inline operator fun Uint16Array.get(index: Int): Short = getMethodImplForUint16Array(this, index) + +@PublishedApi +internal fun setMethodImplForUint16Array(obj: Uint16Array, index: Int, value: Short) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Uint16Array.set(index: Int, value: Short) = setMethodImplForUint16Array(this, index, value) /** * Exposes the JavaScript [Int32Array](https://developer.mozilla.org/en/docs/Web/API/Int32Array) to Kotlin @@ -1059,11 +1089,17 @@ public external open class Int32Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Int32Array.get(index: Int): Int = asDynamic().getInt(index) +@PublishedApi +internal fun getMethodImplForInt32Array(obj: Int32Array, index: Int): Int { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Int32Array.set(index: Int, value: Int) { asDynamic()[index] = value } +public inline operator fun Int32Array.get(index: Int): Int = getMethodImplForInt32Array(this, index) + +@PublishedApi +internal fun setMethodImplForInt32Array(obj: Int32Array, index: Int, value: Int) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Int32Array.set(index: Int, value: Int) = setMethodImplForInt32Array(this, index, value) /** * Exposes the JavaScript [Uint32Array](https://developer.mozilla.org/en/docs/Web/API/Uint32Array) to Kotlin @@ -1086,11 +1122,17 @@ public external open class Uint32Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Uint32Array.get(index: Int): Int = asDynamic().getInt(index) +@PublishedApi +internal fun getMethodImplForUint32Array(obj: Uint32Array, index: Int): Int { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Uint32Array.set(index: Int, value: Int) { asDynamic()[index] = value } +public inline operator fun Uint32Array.get(index: Int): Int = getMethodImplForUint32Array(this, index) + +@PublishedApi +internal fun setMethodImplForUint32Array(obj: Uint32Array, index: Int, value: Int) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Uint32Array.set(index: Int, value: Int) = setMethodImplForUint32Array(this, index, value) /** * Exposes the JavaScript [Float32Array](https://developer.mozilla.org/en/docs/Web/API/Float32Array) to Kotlin @@ -1113,11 +1155,17 @@ public external open class Float32Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Float32Array.get(index: Int): Float = asDynamic().getFloat(index) +@PublishedApi +internal fun getMethodImplForFloat32Array(obj: Float32Array, index: Int): Float { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Float32Array.set(index: Int, value: Float) { asDynamic()[index] = value } +public inline operator fun Float32Array.get(index: Int): Float = getMethodImplForFloat32Array(this, index) + +@PublishedApi +internal fun setMethodImplForFloat32Array(obj: Float32Array, index: Int, value: Float) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Float32Array.set(index: Int, value: Float) = setMethodImplForFloat32Array(this, index, value) /** * Exposes the JavaScript [Float64Array](https://developer.mozilla.org/en/docs/Web/API/Float64Array) to Kotlin @@ -1140,11 +1188,17 @@ public external open class Float64Array : ArrayBufferView, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun Float64Array.get(index: Int): Double = asDynamic().getDouble(index) +@PublishedApi +internal fun getMethodImplForFloat64Array(obj: Float64Array, index: Int): Double { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Float64Array.set(index: Int, value: Double) { asDynamic()[index] = value } +public inline operator fun Float64Array.get(index: Int): Double = getMethodImplForFloat64Array(this, index) + +@PublishedApi +internal fun setMethodImplForFloat64Array(obj: Float64Array, index: Int, value: Double) { js("obj[index] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Float64Array.set(index: Int, value: Double) = setMethodImplForFloat64Array(this, index, value) /** * Exposes the JavaScript [DataView](https://developer.mozilla.org/en/docs/Web/API/DataView) to Kotlin diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt index 9836430d896..1d09eefec34 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt @@ -19,8 +19,11 @@ public external abstract class MediaList : ItemArrayLike, JsAny { override fun item(index: Int): JsString? } +@PublishedApi +internal fun getMethodImplForMediaList(obj: MediaList, index: Int): String? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun MediaList.get(index: Int): String? = asDynamic().getString(index) +public inline operator fun MediaList.get(index: Int): String? = getMethodImplForMediaList(this, index) /** * Exposes the JavaScript [StyleSheet](https://developer.mozilla.org/en/docs/Web/API/StyleSheet) to Kotlin @@ -52,8 +55,11 @@ public external abstract class StyleSheetList : ItemArrayLike, JsAny override fun item(index: Int): StyleSheet? } +@PublishedApi +internal fun getMethodImplForStyleSheetList(obj: StyleSheetList, index: Int): StyleSheet? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun StyleSheetList.get(index: Int): StyleSheet? = asDynamic().getAny(index) +public inline operator fun StyleSheetList.get(index: Int): StyleSheet? = getMethodImplForStyleSheetList(this, index) /** * Exposes the JavaScript [LinkStyle](https://developer.mozilla.org/en/docs/Web/API/LinkStyle) to Kotlin @@ -70,8 +76,11 @@ public external abstract class CSSRuleList : ItemArrayLike, JsAny { override fun item(index: Int): CSSRule? } +@PublishedApi +internal fun getMethodImplForCSSRuleList(obj: CSSRuleList, index: Int): CSSRule? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun CSSRuleList.get(index: Int): CSSRule? = asDynamic().getAny(index) +public inline operator fun CSSRuleList.get(index: Int): CSSRule? = getMethodImplForCSSRuleList(this, index) /** * Exposes the JavaScript [CSSRule](https://developer.mozilla.org/en/docs/Web/API/CSSRule) to Kotlin @@ -464,8 +473,11 @@ public external abstract class CSSStyleDeclaration : ItemArrayLike, Js override fun item(index: Int): JsString } +@PublishedApi +internal fun getMethodImplForCSSStyleDeclaration(obj: CSSStyleDeclaration, index: Int): String? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun CSSStyleDeclaration.get(index: Int): String? = asDynamic().getString(index) +public inline operator fun CSSStyleDeclaration.get(index: Int): String? = getMethodImplForCSSStyleDeclaration(this, index) public external interface ElementCSSInlineStyle : JsAny { val style: CSSStyleDeclaration diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt index 4d599872e0e..6a3801dce87 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt @@ -80,8 +80,8 @@ public external abstract class MediaKeySession : EventTarget, JsAny { open val expiration: Double open val closed: Promise open val keyStatuses: MediaKeyStatusMap - open var onkeystatuseschange: ((Event) -> Dynamic?)? - open var onmessage: ((MessageEvent) -> Dynamic?)? + open var onkeystatuseschange: ((Event) -> JsAny?)? + open var onmessage: ((MessageEvent) -> JsAny?)? fun generateRequest(initDataType: String, initData: JsAny?): Promise fun load(sessionId: String): Promise fun update(response: JsAny?): Promise @@ -152,11 +152,11 @@ public external interface MediaKeysRequirement : JsAny { companion object } -public inline val MediaKeysRequirement.Companion.REQUIRED: MediaKeysRequirement get() = "required".asDynamic().unsafeCast() +public inline val MediaKeysRequirement.Companion.REQUIRED: MediaKeysRequirement get() = "required".toJsString().unsafeCast() -public inline val MediaKeysRequirement.Companion.OPTIONAL: MediaKeysRequirement get() = "optional".asDynamic().unsafeCast() +public inline val MediaKeysRequirement.Companion.OPTIONAL: MediaKeysRequirement get() = "optional".toJsString().unsafeCast() -public inline val MediaKeysRequirement.Companion.NOT_ALLOWED: MediaKeysRequirement get() = "not-allowed".asDynamic().unsafeCast() +public inline val MediaKeysRequirement.Companion.NOT_ALLOWED: MediaKeysRequirement get() = "not-allowed".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -165,9 +165,9 @@ public external interface MediaKeySessionType : JsAny { companion object } -public inline val MediaKeySessionType.Companion.TEMPORARY: MediaKeySessionType get() = "temporary".asDynamic().unsafeCast() +public inline val MediaKeySessionType.Companion.TEMPORARY: MediaKeySessionType get() = "temporary".toJsString().unsafeCast() -public inline val MediaKeySessionType.Companion.PERSISTENT_LICENSE: MediaKeySessionType get() = "persistent-license".asDynamic().unsafeCast() +public inline val MediaKeySessionType.Companion.PERSISTENT_LICENSE: MediaKeySessionType get() = "persistent-license".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -176,19 +176,19 @@ public external interface MediaKeyStatus : JsAny { companion object } -public inline val MediaKeyStatus.Companion.USABLE: MediaKeyStatus get() = "usable".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.USABLE: MediaKeyStatus get() = "usable".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.EXPIRED: MediaKeyStatus get() = "expired".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.EXPIRED: MediaKeyStatus get() = "expired".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.RELEASED: MediaKeyStatus get() = "released".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.RELEASED: MediaKeyStatus get() = "released".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.OUTPUT_RESTRICTED: MediaKeyStatus get() = "output-restricted".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.OUTPUT_RESTRICTED: MediaKeyStatus get() = "output-restricted".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.OUTPUT_DOWNSCALED: MediaKeyStatus get() = "output-downscaled".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.OUTPUT_DOWNSCALED: MediaKeyStatus get() = "output-downscaled".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.STATUS_PENDING: MediaKeyStatus get() = "status-pending".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.STATUS_PENDING: MediaKeyStatus get() = "status-pending".toJsString().unsafeCast() -public inline val MediaKeyStatus.Companion.INTERNAL_ERROR: MediaKeyStatus get() = "internal-error".asDynamic().unsafeCast() +public inline val MediaKeyStatus.Companion.INTERNAL_ERROR: MediaKeyStatus get() = "internal-error".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -197,10 +197,10 @@ public external interface MediaKeyMessageType : JsAny { companion object } -public inline val MediaKeyMessageType.Companion.LICENSE_REQUEST: MediaKeyMessageType get() = "license-request".asDynamic().unsafeCast() +public inline val MediaKeyMessageType.Companion.LICENSE_REQUEST: MediaKeyMessageType get() = "license-request".toJsString().unsafeCast() -public inline val MediaKeyMessageType.Companion.LICENSE_RENEWAL: MediaKeyMessageType get() = "license-renewal".asDynamic().unsafeCast() +public inline val MediaKeyMessageType.Companion.LICENSE_RENEWAL: MediaKeyMessageType get() = "license-renewal".toJsString().unsafeCast() -public inline val MediaKeyMessageType.Companion.LICENSE_RELEASE: MediaKeyMessageType get() = "license-release".asDynamic().unsafeCast() +public inline val MediaKeyMessageType.Companion.LICENSE_RELEASE: MediaKeyMessageType get() = "license-release".toJsString().unsafeCast() -public inline val MediaKeyMessageType.Companion.INDIVIDUALIZATION_REQUEST: MediaKeyMessageType get() = "individualization-request".asDynamic().unsafeCast() \ No newline at end of file +public inline val MediaKeyMessageType.Companion.INDIVIDUALIZATION_REQUEST: MediaKeyMessageType get() = "individualization-request".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt index 5da7b4c508d..5b07be9e9b1 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt @@ -30,11 +30,17 @@ public external abstract class HTMLAllCollection : JsAny { fun namedItem(name: String): UnionElementOrHTMLCollection? } -@kotlin.internal.InlineOnly -public inline operator fun HTMLAllCollection.get(index: Int): Element? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForHTMLAllCollection(obj: HTMLAllCollection, index: Int): Element? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun HTMLAllCollection.get(name: String): UnionElementOrHTMLCollection? = asDynamic().getAny(name) +public inline operator fun HTMLAllCollection.get(index: Int): Element? = getMethodImplForHTMLAllCollection(this, index) + +@PublishedApi +internal fun getMethodImplForHTMLAllCollection(obj: HTMLAllCollection, name: String): UnionElementOrHTMLCollection? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun HTMLAllCollection.get(name: String): UnionElementOrHTMLCollection? = getMethodImplForHTMLAllCollection(this, name) /** * Exposes the JavaScript [HTMLFormControlsCollection](https://developer.mozilla.org/en/docs/Web/API/HTMLFormControlsCollection) to Kotlin @@ -58,8 +64,11 @@ public external abstract class HTMLOptionsCollection : HTMLCollection, JsAny { fun remove(index: Int) } +@PublishedApi +internal fun setMethodImplForHTMLOptionsCollection(obj: HTMLOptionsCollection, index: Int, option: HTMLOptionElement?) { js("obj[index] = option;") } + @kotlin.internal.InlineOnly -public inline operator fun HTMLOptionsCollection.set(index: Int, option: HTMLOptionElement?) { asDynamic()[index] = option } +public inline operator fun HTMLOptionsCollection.set(index: Int, option: HTMLOptionElement?) = setMethodImplForHTMLOptionsCollection(this, index, option) /** * Exposes the JavaScript [HTMLElement](https://developer.mozilla.org/en/docs/Web/API/HTMLElement) to Kotlin @@ -142,11 +151,17 @@ public external abstract class HTMLUnknownElement : HTMLElement, JsAny { */ public external abstract class DOMStringMap : JsAny -@kotlin.internal.InlineOnly -public inline operator fun DOMStringMap.get(name: String): String? = asDynamic().getString(name) +@PublishedApi +internal fun getMethodImplForDOMStringMap(obj: DOMStringMap, name: String): String? { js("return obj[name];") } @kotlin.internal.InlineOnly -public inline operator fun DOMStringMap.set(name: String, value: String) { asDynamic()[name] = value } +public inline operator fun DOMStringMap.get(name: String): String? = getMethodImplForDOMStringMap(this, name) + +@PublishedApi +internal fun setMethodImplForDOMStringMap(obj: DOMStringMap, name: String, value: String) { js("obj[name] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun DOMStringMap.set(name: String, value: String) = setMethodImplForDOMStringMap(this, name, value) /** * Exposes the JavaScript [HTMLHtmlElement](https://developer.mozilla.org/en/docs/Web/API/HTMLHtmlElement) to Kotlin @@ -1301,8 +1316,8 @@ public external abstract class HTMLMediaElement : HTMLElement, JsAny { open val videoTracks: VideoTrackList open val textTracks: TextTrackList open val mediaKeys: MediaKeys? - open var onencrypted: ((Event) -> Dynamic?)? - open var onwaitingforkey: ((Event) -> Dynamic?)? + open var onencrypted: ((Event) -> JsAny?)? + open var onwaitingforkey: ((Event) -> JsAny?)? fun load() fun canPlayType(type: String): CanPlayTypeResult fun fastSeek(time: Double) @@ -1362,14 +1377,17 @@ public external abstract class MediaError : JsAny { */ public external abstract class AudioTrackList : EventTarget, JsAny { open val length: Int - open var onchange: ((Event) -> Dynamic?)? - open var onaddtrack: ((TrackEvent) -> Dynamic?)? - open var onremovetrack: ((TrackEvent) -> Dynamic?)? + open var onchange: ((Event) -> JsAny?)? + open var onaddtrack: ((TrackEvent) -> JsAny?)? + open var onremovetrack: ((TrackEvent) -> JsAny?)? fun getTrackById(id: String): AudioTrack? } +@PublishedApi +internal fun getMethodImplForAudioTrackList(obj: AudioTrackList, index: Int): AudioTrack? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun AudioTrackList.get(index: Int): AudioTrack? = asDynamic().getAny(index) +public inline operator fun AudioTrackList.get(index: Int): AudioTrack? = getMethodImplForAudioTrackList(this, index) /** * Exposes the JavaScript [AudioTrack](https://developer.mozilla.org/en/docs/Web/API/AudioTrack) to Kotlin @@ -1389,14 +1407,17 @@ public external abstract class AudioTrack : UnionAudioTrackOrTextTrackOrVideoTra public external abstract class VideoTrackList : EventTarget, JsAny { open val length: Int open val selectedIndex: Int - open var onchange: ((Event) -> Dynamic?)? - open var onaddtrack: ((TrackEvent) -> Dynamic?)? - open var onremovetrack: ((TrackEvent) -> Dynamic?)? + open var onchange: ((Event) -> JsAny?)? + open var onaddtrack: ((TrackEvent) -> JsAny?)? + open var onremovetrack: ((TrackEvent) -> JsAny?)? fun getTrackById(id: String): VideoTrack? } +@PublishedApi +internal fun getMethodImplForVideoTrackList(obj: VideoTrackList, index: Int): VideoTrack? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun VideoTrackList.get(index: Int): VideoTrack? = asDynamic().getAny(index) +public inline operator fun VideoTrackList.get(index: Int): VideoTrack? = getMethodImplForVideoTrackList(this, index) /** * Exposes the JavaScript [VideoTrack](https://developer.mozilla.org/en/docs/Web/API/VideoTrack) to Kotlin @@ -1412,14 +1433,17 @@ public external abstract class VideoTrack : UnionAudioTrackOrTextTrackOrVideoTra public external abstract class TextTrackList : EventTarget, JsAny { open val length: Int - open var onchange: ((Event) -> Dynamic?)? - open var onaddtrack: ((TrackEvent) -> Dynamic?)? - open var onremovetrack: ((TrackEvent) -> Dynamic?)? + open var onchange: ((Event) -> JsAny?)? + open var onaddtrack: ((TrackEvent) -> JsAny?)? + open var onremovetrack: ((TrackEvent) -> JsAny?)? fun getTrackById(id: String): TextTrack? } +@PublishedApi +internal fun getMethodImplForTextTrackList(obj: TextTrackList, index: Int): TextTrack? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun TextTrackList.get(index: Int): TextTrack? = asDynamic().getAny(index) +public inline operator fun TextTrackList.get(index: Int): TextTrack? = getMethodImplForTextTrackList(this, index) /** * Exposes the JavaScript [TextTrack](https://developer.mozilla.org/en/docs/Web/API/TextTrack) to Kotlin @@ -1433,7 +1457,7 @@ public external abstract class TextTrack : EventTarget, UnionAudioTrackOrTextTra open var mode: TextTrackMode open val cues: TextTrackCueList? open val activeCues: TextTrackCueList? - open var oncuechange: ((Event) -> Dynamic?)? + open var oncuechange: ((Event) -> JsAny?)? open val sourceBuffer: SourceBuffer? fun addCue(cue: TextTrackCue) fun removeCue(cue: TextTrackCue) @@ -1444,8 +1468,11 @@ public external abstract class TextTrackCueList : JsAny { fun getCueById(id: String): TextTrackCue? } +@PublishedApi +internal fun getMethodImplForTextTrackCueList(obj: TextTrackCueList, index: Int): TextTrackCue? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun TextTrackCueList.get(index: Int): TextTrackCue? = asDynamic().getAny(index) +public inline operator fun TextTrackCueList.get(index: Int): TextTrackCue? = getMethodImplForTextTrackCueList(this, index) /** * Exposes the JavaScript [TextTrackCue](https://developer.mozilla.org/en/docs/Web/API/TextTrackCue) to Kotlin @@ -1456,8 +1483,8 @@ public external abstract class TextTrackCue : EventTarget, JsAny { open var startTime: Double open var endTime: Double open var pauseOnExit: Boolean - open var onenter: ((Event) -> Dynamic?)? - open var onexit: ((Event) -> Dynamic?)? + open var onenter: ((Event) -> JsAny?)? + open var onexit: ((Event) -> JsAny?)? } /** @@ -1824,11 +1851,17 @@ public external abstract class HTMLFormElement : HTMLElement, JsAny { } } -@kotlin.internal.InlineOnly -public inline operator fun HTMLFormElement.get(index: Int): Element? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForHTMLFormElement(obj: HTMLFormElement, index: Int): Element? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun HTMLFormElement.get(name: String): UnionElementOrRadioNodeList? = asDynamic().getAny(name) +public inline operator fun HTMLFormElement.get(index: Int): Element? = getMethodImplForHTMLFormElement(this, index) + +@PublishedApi +internal fun getMethodImplForHTMLFormElement(obj: HTMLFormElement, name: String): UnionElementOrRadioNodeList? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun HTMLFormElement.get(name: String): UnionElementOrRadioNodeList? = getMethodImplForHTMLFormElement(this, name) /** * Exposes the JavaScript [HTMLLabelElement](https://developer.mozilla.org/en/docs/Web/API/HTMLLabelElement) to Kotlin @@ -2041,11 +2074,17 @@ public external abstract class HTMLSelectElement : HTMLElement, ItemArrayLike Dynamic?, options: ElementDefinitionOptions = definedExternally) + fun define(name: String, constructor: () -> JsAny?, options: ElementDefinitionOptions = definedExternally) fun get(name: String): JsAny? fun whenDefined(name: String): Promise } @@ -3006,8 +3045,11 @@ public external abstract class DataTransferItemList : JsAny { fun clear() } +@PublishedApi +internal fun getMethodImplForDataTransferItemList(obj: DataTransferItemList, index: Int): DataTransferItem? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun DataTransferItemList.get(index: Int): DataTransferItem? = asDynamic().getAny(index) +public inline operator fun DataTransferItemList.get(index: Int): DataTransferItem? = getMethodImplForDataTransferItemList(this, index) /** * Exposes the JavaScript [DataTransferItem](https://developer.mozilla.org/en/docs/Web/API/DataTransferItem) to Kotlin @@ -3111,8 +3153,11 @@ public external abstract class Window : EventTarget, GlobalEventHandlers, Window fun getComputedStyle(elt: Element, pseudoElt: String? = definedExternally): CSSStyleDeclaration } +@PublishedApi +internal fun getMethodImplForWindow(obj: Window, name: String): JsAny? { js("return obj[name];") } + @kotlin.internal.InlineOnly -public inline operator fun Window.get(name: String): JsAny? = asDynamic().getAny(name) +public inline operator fun Window.get(name: String): JsAny? = getMethodImplForWindow(this, name) public external abstract class BarProp : JsAny { open val visible: Boolean @@ -3240,14 +3285,14 @@ public external open class BeforeUnloadEvent : Event, JsAny { public external abstract class ApplicationCache : EventTarget, JsAny { open val status: Short - open var onchecking: ((Event) -> Dynamic?)? - open var onerror: ((Event) -> Dynamic?)? - open var onnoupdate: ((Event) -> Dynamic?)? - open var ondownloading: ((Event) -> Dynamic?)? - open var onprogress: ((ProgressEvent) -> Dynamic?)? - open var onupdateready: ((Event) -> Dynamic?)? - open var oncached: ((Event) -> Dynamic?)? - open var onobsolete: ((Event) -> Dynamic?)? + open var onchecking: ((Event) -> JsAny?)? + open var onerror: ((Event) -> JsAny?)? + open var onnoupdate: ((Event) -> JsAny?)? + open var ondownloading: ((Event) -> JsAny?)? + open var onprogress: ((ProgressEvent) -> JsAny?)? + open var onupdateready: ((Event) -> JsAny?)? + open var oncached: ((Event) -> JsAny?)? + open var onobsolete: ((Event) -> JsAny?)? fun update() fun abort() fun swapCache() @@ -3337,217 +3382,217 @@ public fun PromiseRejectionEventInit(promise: Promise?, reason: JsAny? = * Exposes the JavaScript [GlobalEventHandlers](https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers) to Kotlin */ public external interface GlobalEventHandlers : JsAny { - var onabort: ((Event) -> Dynamic?)? + var onabort: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onblur: ((FocusEvent) -> Dynamic?)? + var onblur: ((FocusEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncancel: ((Event) -> Dynamic?)? + var oncancel: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncanplay: ((Event) -> Dynamic?)? + var oncanplay: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncanplaythrough: ((Event) -> Dynamic?)? + var oncanplaythrough: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onchange: ((Event) -> Dynamic?)? + var onchange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onclick: ((MouseEvent) -> Dynamic?)? + var onclick: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onclose: ((Event) -> Dynamic?)? + var onclose: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncontextmenu: ((MouseEvent) -> Dynamic?)? + var oncontextmenu: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncuechange: ((Event) -> Dynamic?)? + var oncuechange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondblclick: ((MouseEvent) -> Dynamic?)? + var ondblclick: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondrag: ((DragEvent) -> Dynamic?)? + var ondrag: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragend: ((DragEvent) -> Dynamic?)? + var ondragend: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragenter: ((DragEvent) -> Dynamic?)? + var ondragenter: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragexit: ((DragEvent) -> Dynamic?)? + var ondragexit: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragleave: ((DragEvent) -> Dynamic?)? + var ondragleave: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragover: ((DragEvent) -> Dynamic?)? + var ondragover: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondragstart: ((DragEvent) -> Dynamic?)? + var ondragstart: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondrop: ((DragEvent) -> Dynamic?)? + var ondrop: ((DragEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ondurationchange: ((Event) -> Dynamic?)? + var ondurationchange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onemptied: ((Event) -> Dynamic?)? + var onemptied: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onended: ((Event) -> Dynamic?)? + var onended: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? + var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onfocus: ((FocusEvent) -> Dynamic?)? + var onfocus: ((FocusEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oninput: ((InputEvent) -> Dynamic?)? + var oninput: ((InputEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oninvalid: ((Event) -> Dynamic?)? + var oninvalid: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onkeydown: ((KeyboardEvent) -> Dynamic?)? + var onkeydown: ((KeyboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onkeypress: ((KeyboardEvent) -> Dynamic?)? + var onkeypress: ((KeyboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onkeyup: ((KeyboardEvent) -> Dynamic?)? + var onkeyup: ((KeyboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onload: ((Event) -> Dynamic?)? + var onload: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onloadeddata: ((Event) -> Dynamic?)? + var onloadeddata: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onloadedmetadata: ((Event) -> Dynamic?)? + var onloadedmetadata: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onloadend: ((Event) -> Dynamic?)? + var onloadend: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onloadstart: ((ProgressEvent) -> Dynamic?)? + var onloadstart: ((ProgressEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmousedown: ((MouseEvent) -> Dynamic?)? + var onmousedown: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmouseenter: ((MouseEvent) -> Dynamic?)? + var onmouseenter: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmouseleave: ((MouseEvent) -> Dynamic?)? + var onmouseleave: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmousemove: ((MouseEvent) -> Dynamic?)? + var onmousemove: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmouseout: ((MouseEvent) -> Dynamic?)? + var onmouseout: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmouseover: ((MouseEvent) -> Dynamic?)? + var onmouseover: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmouseup: ((MouseEvent) -> Dynamic?)? + var onmouseup: ((MouseEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onwheel: ((WheelEvent) -> Dynamic?)? + var onwheel: ((WheelEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpause: ((Event) -> Dynamic?)? + var onpause: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onplay: ((Event) -> Dynamic?)? + var onplay: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onplaying: ((Event) -> Dynamic?)? + var onplaying: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onprogress: ((ProgressEvent) -> Dynamic?)? + var onprogress: ((ProgressEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onratechange: ((Event) -> Dynamic?)? + var onratechange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onreset: ((Event) -> Dynamic?)? + var onreset: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onresize: ((Event) -> Dynamic?)? + var onresize: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onscroll: ((Event) -> Dynamic?)? + var onscroll: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onseeked: ((Event) -> Dynamic?)? + var onseeked: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onseeking: ((Event) -> Dynamic?)? + var onseeking: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onselect: ((Event) -> Dynamic?)? + var onselect: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onshow: ((Event) -> Dynamic?)? + var onshow: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onstalled: ((Event) -> Dynamic?)? + var onstalled: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onsubmit: ((Event) -> Dynamic?)? + var onsubmit: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onsuspend: ((Event) -> Dynamic?)? + var onsuspend: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ontimeupdate: ((Event) -> Dynamic?)? + var ontimeupdate: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ontoggle: ((Event) -> Dynamic?)? + var ontoggle: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onvolumechange: ((Event) -> Dynamic?)? + var onvolumechange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onwaiting: ((Event) -> Dynamic?)? + var onwaiting: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + var ongotpointercapture: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + var onlostpointercapture: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerdown: ((PointerEvent) -> Dynamic?)? + var onpointerdown: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointermove: ((PointerEvent) -> Dynamic?)? + var onpointermove: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerup: ((PointerEvent) -> Dynamic?)? + var onpointerup: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointercancel: ((PointerEvent) -> Dynamic?)? + var onpointercancel: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerover: ((PointerEvent) -> Dynamic?)? + var onpointerover: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerout: ((PointerEvent) -> Dynamic?)? + var onpointerout: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerenter: ((PointerEvent) -> Dynamic?)? + var onpointerenter: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpointerleave: ((PointerEvent) -> Dynamic?)? + var onpointerleave: ((PointerEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally } @@ -3556,61 +3601,61 @@ public external interface GlobalEventHandlers : JsAny { * Exposes the JavaScript [WindowEventHandlers](https://developer.mozilla.org/en/docs/Web/API/WindowEventHandlers) to Kotlin */ public external interface WindowEventHandlers : JsAny { - var onafterprint: ((Event) -> Dynamic?)? + var onafterprint: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onbeforeprint: ((Event) -> Dynamic?)? + var onbeforeprint: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally var onbeforeunload: ((BeforeUnloadEvent) -> String?)? get() = definedExternally set(value) = definedExternally - var onhashchange: ((HashChangeEvent) -> Dynamic?)? + var onhashchange: ((HashChangeEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onlanguagechange: ((Event) -> Dynamic?)? + var onlanguagechange: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onmessage: ((MessageEvent) -> Dynamic?)? + var onmessage: ((MessageEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onoffline: ((Event) -> Dynamic?)? + var onoffline: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var ononline: ((Event) -> Dynamic?)? + var ononline: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpagehide: ((PageTransitionEvent) -> Dynamic?)? + var onpagehide: ((PageTransitionEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpageshow: ((PageTransitionEvent) -> Dynamic?)? + var onpageshow: ((PageTransitionEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpopstate: ((PopStateEvent) -> Dynamic?)? + var onpopstate: ((PopStateEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onrejectionhandled: ((Event) -> Dynamic?)? + var onrejectionhandled: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onstorage: ((StorageEvent) -> Dynamic?)? + var onstorage: ((StorageEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onunhandledrejection: ((PromiseRejectionEvent) -> Dynamic?)? + var onunhandledrejection: ((PromiseRejectionEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onunload: ((Event) -> Dynamic?)? + var onunload: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally } public external interface DocumentAndElementEventHandlers : JsAny { - var oncopy: ((ClipboardEvent) -> Dynamic?)? + var oncopy: ((ClipboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var oncut: ((ClipboardEvent) -> Dynamic?)? + var oncut: ((ClipboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally - var onpaste: ((ClipboardEvent) -> Dynamic?)? + var onpaste: ((ClipboardEvent) -> JsAny?)? get() = definedExternally set(value) = definedExternally } @@ -3701,11 +3746,17 @@ public external abstract class PluginArray : ItemArrayLike, JsAny { fun namedItem(name: String): Plugin? } -@kotlin.internal.InlineOnly -public inline operator fun PluginArray.get(index: Int): Plugin? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForPluginArray(obj: PluginArray, index: Int): Plugin? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun PluginArray.get(name: String): Plugin? = asDynamic().getAny(name) +public inline operator fun PluginArray.get(index: Int): Plugin? = getMethodImplForPluginArray(this, index) + +@PublishedApi +internal fun getMethodImplForPluginArray(obj: PluginArray, name: String): Plugin? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun PluginArray.get(name: String): Plugin? = getMethodImplForPluginArray(this, name) /** * Exposes the JavaScript [MimeTypeArray](https://developer.mozilla.org/en/docs/Web/API/MimeTypeArray) to Kotlin @@ -3715,11 +3766,17 @@ public external abstract class MimeTypeArray : ItemArrayLike, JsAny { fun namedItem(name: String): MimeType? } -@kotlin.internal.InlineOnly -public inline operator fun MimeTypeArray.get(index: Int): MimeType? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForMimeTypeArray(obj: MimeTypeArray, index: Int): MimeType? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun MimeTypeArray.get(name: String): MimeType? = asDynamic().getAny(name) +public inline operator fun MimeTypeArray.get(index: Int): MimeType? = getMethodImplForMimeTypeArray(this, index) + +@PublishedApi +internal fun getMethodImplForMimeTypeArray(obj: MimeTypeArray, name: String): MimeType? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun MimeTypeArray.get(name: String): MimeType? = getMethodImplForMimeTypeArray(this, name) /** * Exposes the JavaScript [Plugin](https://developer.mozilla.org/en/docs/Web/API/Plugin) to Kotlin @@ -3732,11 +3789,17 @@ public external abstract class Plugin : ItemArrayLike, JsAny { fun namedItem(name: String): MimeType? } -@kotlin.internal.InlineOnly -public inline operator fun Plugin.get(index: Int): MimeType? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForPlugin(obj: Plugin, index: Int): MimeType? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun Plugin.get(name: String): MimeType? = asDynamic().getAny(name) +public inline operator fun Plugin.get(index: Int): MimeType? = getMethodImplForPlugin(this, index) + +@PublishedApi +internal fun getMethodImplForPlugin(obj: Plugin, name: String): MimeType? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun Plugin.get(name: String): MimeType? = getMethodImplForPlugin(this, name) /** * Exposes the JavaScript [MimeType](https://developer.mozilla.org/en/docs/Web/API/MimeType) to Kotlin @@ -3828,9 +3891,9 @@ public external open class EventSource(url: String, eventSourceInitDict: EventSo open val url: String open val withCredentials: Boolean open val readyState: Short - var onopen: ((Event) -> Dynamic?)? - var onmessage: ((MessageEvent) -> Dynamic?)? - var onerror: ((Event) -> Dynamic?)? + var onopen: ((Event) -> JsAny?)? + var onmessage: ((MessageEvent) -> JsAny?)? + var onerror: ((Event) -> JsAny?)? fun close() companion object { @@ -3856,12 +3919,12 @@ public external open class WebSocket(url: String, protocols: JsAny? = definedExt open val url: String open val readyState: Short open val bufferedAmount: JsNumber - var onopen: ((Event) -> Dynamic?)? - var onerror: ((Event) -> Dynamic?)? - var onclose: ((Event) -> Dynamic?)? + var onopen: ((Event) -> JsAny?)? + var onerror: ((Event) -> JsAny?)? + var onclose: ((Event) -> JsAny?)? open val extensions: String open val protocol: String - var onmessage: ((MessageEvent) -> Dynamic?)? + var onmessage: ((MessageEvent) -> JsAny?)? var binaryType: BinaryType fun close(code: Short = definedExternally, reason: String = definedExternally) fun send(data: String) @@ -3920,7 +3983,7 @@ public external open class MessageChannel : JsAny { * Exposes the JavaScript [MessagePort](https://developer.mozilla.org/en/docs/Web/API/MessagePort) to Kotlin */ public external abstract class MessagePort : EventTarget, UnionMessagePortOrWindowProxy, UnionMessagePortOrServiceWorker, UnionClientOrMessagePortOrServiceWorker, JsAny { - open var onmessage: ((MessageEvent) -> Dynamic?)? + open var onmessage: ((MessageEvent) -> JsAny?)? fun postMessage(message: JsAny?, transfer: JsArray = definedExternally) fun start() fun close() @@ -3931,7 +3994,7 @@ public external abstract class MessagePort : EventTarget, UnionMessagePortOrWind */ public external open class BroadcastChannel(name: String) : EventTarget, JsAny { open val name: String - var onmessage: ((MessageEvent) -> Dynamic?)? + var onmessage: ((MessageEvent) -> JsAny?)? fun postMessage(message: JsAny?) fun close() } @@ -3943,12 +4006,12 @@ public external abstract class WorkerGlobalScope : EventTarget, WindowOrWorkerGl open val self: WorkerGlobalScope open val location: WorkerLocation open val navigator: WorkerNavigator - open var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? - open var onlanguagechange: ((Event) -> Dynamic?)? - open var onoffline: ((Event) -> Dynamic?)? - open var ononline: ((Event) -> Dynamic?)? - open var onrejectionhandled: ((Event) -> Dynamic?)? - open var onunhandledrejection: ((PromiseRejectionEvent) -> Dynamic?)? + open var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? + open var onlanguagechange: ((Event) -> JsAny?)? + open var onoffline: ((Event) -> JsAny?)? + open var ononline: ((Event) -> JsAny?)? + open var onrejectionhandled: ((Event) -> JsAny?)? + open var onunhandledrejection: ((PromiseRejectionEvent) -> JsAny?)? fun importScripts(vararg urls: String) } @@ -3956,7 +4019,7 @@ public external abstract class WorkerGlobalScope : EventTarget, WindowOrWorkerGl * Exposes the JavaScript [DedicatedWorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/DedicatedWorkerGlobalScope) to Kotlin */ public external abstract class DedicatedWorkerGlobalScope : WorkerGlobalScope, JsAny { - open var onmessage: ((MessageEvent) -> Dynamic?)? + open var onmessage: ((MessageEvent) -> JsAny?)? fun postMessage(message: JsAny?, transfer: JsArray = definedExternally) fun close() } @@ -3967,7 +4030,7 @@ public external abstract class DedicatedWorkerGlobalScope : WorkerGlobalScope, J public external abstract class SharedWorkerGlobalScope : WorkerGlobalScope, JsAny { open val name: String open val applicationCache: ApplicationCache - open var onconnect: ((Event) -> Dynamic?)? + open var onconnect: ((Event) -> JsAny?)? fun close() } @@ -3975,7 +4038,7 @@ public external abstract class SharedWorkerGlobalScope : WorkerGlobalScope, JsAn * Exposes the JavaScript [AbstractWorker](https://developer.mozilla.org/en/docs/Web/API/AbstractWorker) to Kotlin */ public external interface AbstractWorker : JsAny { - var onerror: ((Event) -> Dynamic?)? + var onerror: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally } @@ -3984,8 +4047,8 @@ public external interface AbstractWorker : JsAny { * Exposes the JavaScript [Worker](https://developer.mozilla.org/en/docs/Web/API/Worker) to Kotlin */ public external open class Worker(scriptURL: String, options: WorkerOptions = definedExternally) : EventTarget, AbstractWorker, JsAny { - var onmessage: ((MessageEvent) -> Dynamic?)? - override var onerror: ((Event) -> Dynamic?)? + var onmessage: ((MessageEvent) -> JsAny?)? + override var onerror: ((Event) -> JsAny?)? fun terminate() fun postMessage(message: JsAny?, transfer: JsArray = definedExternally) } @@ -4007,7 +4070,7 @@ public fun WorkerOptions(type: WorkerType? = WorkerType.CLASSIC, credentials: Re */ public external open class SharedWorker(scriptURL: String, name: String = definedExternally, options: WorkerOptions = definedExternally) : EventTarget, AbstractWorker, JsAny { open val port: MessagePort - override var onerror: ((Event) -> Dynamic?)? + override var onerror: ((Event) -> JsAny?)? } /** @@ -4051,11 +4114,17 @@ public external abstract class Storage : JsAny { fun setItem(key: String, value: String) } -@kotlin.internal.InlineOnly -public inline operator fun Storage.get(key: String): String? = asDynamic().getString(key) +@PublishedApi +internal fun getMethodImplForStorage(obj: Storage, key: String): String? { js("return obj[key];") } @kotlin.internal.InlineOnly -public inline operator fun Storage.set(key: String, value: String) { asDynamic()[key] = value } +public inline operator fun Storage.get(key: String): String? = getMethodImplForStorage(this, key) + +@PublishedApi +internal fun setMethodImplForStorage(obj: Storage, key: String, value: String) { js("obj[key] = value;") } + +@kotlin.internal.InlineOnly +public inline operator fun Storage.set(key: String, value: String) = setMethodImplForStorage(this, key, value) /** * Exposes the JavaScript [WindowSessionStorage](https://developer.mozilla.org/en/docs/Web/API/WindowSessionStorage) to Kotlin @@ -4160,9 +4229,9 @@ public external abstract class HTMLMarqueeElement : HTMLElement, JsAny { open var trueSpeed: Boolean open var vspace: Int open var width: String - open var onbounce: ((Event) -> Dynamic?)? - open var onfinish: ((Event) -> Dynamic?)? - open var onstart: ((Event) -> Dynamic?)? + open var onbounce: ((Event) -> JsAny?)? + open var onfinish: ((Event) -> JsAny?)? + open var onstart: ((Event) -> JsAny?)? fun start() fun stop() @@ -4434,8 +4503,11 @@ public external abstract class NodeList : ItemArrayLike, JsAny { override fun item(index: Int): Node? } +@PublishedApi +internal fun getMethodImplForNodeList(obj: NodeList, index: Int): Node? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun NodeList.get(index: Int): Node? = asDynamic().getAny(index) +public inline operator fun NodeList.get(index: Int): Node? = getMethodImplForNodeList(this, index) /** * Exposes the JavaScript [HTMLCollection](https://developer.mozilla.org/en/docs/Web/API/HTMLCollection) to Kotlin @@ -4445,11 +4517,17 @@ public external abstract class HTMLCollection : ItemArrayLike, UnionEle fun namedItem(name: String): Element? } -@kotlin.internal.InlineOnly -public inline operator fun HTMLCollection.get(index: Int): Element? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForHTMLCollection(obj: HTMLCollection, index: Int): Element? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun HTMLCollection.get(name: String): Element? = asDynamic().getAny(name) +public inline operator fun HTMLCollection.get(index: Int): Element? = getMethodImplForHTMLCollection(this, index) + +@PublishedApi +internal fun getMethodImplForHTMLCollection(obj: HTMLCollection, name: String): Element? { js("return obj[name];") } + +@kotlin.internal.InlineOnly +public inline operator fun HTMLCollection.get(name: String): Element? = getMethodImplForHTMLCollection(this, name) /** * Exposes the JavaScript [MutationObserver](https://developer.mozilla.org/en/docs/Web/API/MutationObserver) to Kotlin @@ -4605,7 +4683,7 @@ public external open class Document : Node, GlobalEventHandlers, DocumentAndElem open val defaultView: Window? open val activeElement: Element? var designMode: String - var onreadystatechange: ((Event) -> Dynamic?)? + var onreadystatechange: ((Event) -> JsAny?)? var fgColor: String var linkColor: String var vlinkColor: String @@ -4619,82 +4697,82 @@ public external open class Document : Node, GlobalEventHandlers, DocumentAndElem open val rootElement: SVGSVGElement? open val fullscreenEnabled: Boolean open val fullscreen: Boolean - var onfullscreenchange: ((Event) -> Dynamic?)? - var onfullscreenerror: ((Event) -> Dynamic?)? - override var onabort: ((Event) -> Dynamic?)? - override var onblur: ((FocusEvent) -> Dynamic?)? - override var oncancel: ((Event) -> Dynamic?)? - override var oncanplay: ((Event) -> Dynamic?)? - override var oncanplaythrough: ((Event) -> Dynamic?)? - override var onchange: ((Event) -> Dynamic?)? - override var onclick: ((MouseEvent) -> Dynamic?)? - override var onclose: ((Event) -> Dynamic?)? - override var oncontextmenu: ((MouseEvent) -> Dynamic?)? - override var oncuechange: ((Event) -> Dynamic?)? - override var ondblclick: ((MouseEvent) -> Dynamic?)? - override var ondrag: ((DragEvent) -> Dynamic?)? - override var ondragend: ((DragEvent) -> Dynamic?)? - override var ondragenter: ((DragEvent) -> Dynamic?)? - override var ondragexit: ((DragEvent) -> Dynamic?)? - override var ondragleave: ((DragEvent) -> Dynamic?)? - override var ondragover: ((DragEvent) -> Dynamic?)? - override var ondragstart: ((DragEvent) -> Dynamic?)? - override var ondrop: ((DragEvent) -> Dynamic?)? - override var ondurationchange: ((Event) -> Dynamic?)? - override var onemptied: ((Event) -> Dynamic?)? - override var onended: ((Event) -> Dynamic?)? - override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? - override var onfocus: ((FocusEvent) -> Dynamic?)? - override var oninput: ((InputEvent) -> Dynamic?)? - override var oninvalid: ((Event) -> Dynamic?)? - override var onkeydown: ((KeyboardEvent) -> Dynamic?)? - override var onkeypress: ((KeyboardEvent) -> Dynamic?)? - override var onkeyup: ((KeyboardEvent) -> Dynamic?)? - override var onload: ((Event) -> Dynamic?)? - override var onloadeddata: ((Event) -> Dynamic?)? - override var onloadedmetadata: ((Event) -> Dynamic?)? - override var onloadend: ((Event) -> Dynamic?)? - override var onloadstart: ((ProgressEvent) -> Dynamic?)? - override var onmousedown: ((MouseEvent) -> Dynamic?)? - override var onmouseenter: ((MouseEvent) -> Dynamic?)? - override var onmouseleave: ((MouseEvent) -> Dynamic?)? - override var onmousemove: ((MouseEvent) -> Dynamic?)? - override var onmouseout: ((MouseEvent) -> Dynamic?)? - override var onmouseover: ((MouseEvent) -> Dynamic?)? - override var onmouseup: ((MouseEvent) -> Dynamic?)? - override var onwheel: ((WheelEvent) -> Dynamic?)? - override var onpause: ((Event) -> Dynamic?)? - override var onplay: ((Event) -> Dynamic?)? - override var onplaying: ((Event) -> Dynamic?)? - override var onprogress: ((ProgressEvent) -> Dynamic?)? - override var onratechange: ((Event) -> Dynamic?)? - override var onreset: ((Event) -> Dynamic?)? - override var onresize: ((Event) -> Dynamic?)? - override var onscroll: ((Event) -> Dynamic?)? - override var onseeked: ((Event) -> Dynamic?)? - override var onseeking: ((Event) -> Dynamic?)? - override var onselect: ((Event) -> Dynamic?)? - override var onshow: ((Event) -> Dynamic?)? - override var onstalled: ((Event) -> Dynamic?)? - override var onsubmit: ((Event) -> Dynamic?)? - override var onsuspend: ((Event) -> Dynamic?)? - override var ontimeupdate: ((Event) -> Dynamic?)? - override var ontoggle: ((Event) -> Dynamic?)? - override var onvolumechange: ((Event) -> Dynamic?)? - override var onwaiting: ((Event) -> Dynamic?)? - override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? - override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? - override var onpointerdown: ((PointerEvent) -> Dynamic?)? - override var onpointermove: ((PointerEvent) -> Dynamic?)? - override var onpointerup: ((PointerEvent) -> Dynamic?)? - override var onpointercancel: ((PointerEvent) -> Dynamic?)? - override var onpointerover: ((PointerEvent) -> Dynamic?)? - override var onpointerout: ((PointerEvent) -> Dynamic?)? - override var onpointerenter: ((PointerEvent) -> Dynamic?)? - override var onpointerleave: ((PointerEvent) -> Dynamic?)? - override var oncopy: ((ClipboardEvent) -> Dynamic?)? - override var oncut: ((ClipboardEvent) -> Dynamic?)? - override var onpaste: ((ClipboardEvent) -> Dynamic?)? + var onfullscreenchange: ((Event) -> JsAny?)? + var onfullscreenerror: ((Event) -> JsAny?)? + override var onabort: ((Event) -> JsAny?)? + override var onblur: ((FocusEvent) -> JsAny?)? + override var oncancel: ((Event) -> JsAny?)? + override var oncanplay: ((Event) -> JsAny?)? + override var oncanplaythrough: ((Event) -> JsAny?)? + override var onchange: ((Event) -> JsAny?)? + override var onclick: ((MouseEvent) -> JsAny?)? + override var onclose: ((Event) -> JsAny?)? + override var oncontextmenu: ((MouseEvent) -> JsAny?)? + override var oncuechange: ((Event) -> JsAny?)? + override var ondblclick: ((MouseEvent) -> JsAny?)? + override var ondrag: ((DragEvent) -> JsAny?)? + override var ondragend: ((DragEvent) -> JsAny?)? + override var ondragenter: ((DragEvent) -> JsAny?)? + override var ondragexit: ((DragEvent) -> JsAny?)? + override var ondragleave: ((DragEvent) -> JsAny?)? + override var ondragover: ((DragEvent) -> JsAny?)? + override var ondragstart: ((DragEvent) -> JsAny?)? + override var ondrop: ((DragEvent) -> JsAny?)? + override var ondurationchange: ((Event) -> JsAny?)? + override var onemptied: ((Event) -> JsAny?)? + override var onended: ((Event) -> JsAny?)? + override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? + override var onfocus: ((FocusEvent) -> JsAny?)? + override var oninput: ((InputEvent) -> JsAny?)? + override var oninvalid: ((Event) -> JsAny?)? + override var onkeydown: ((KeyboardEvent) -> JsAny?)? + override var onkeypress: ((KeyboardEvent) -> JsAny?)? + override var onkeyup: ((KeyboardEvent) -> JsAny?)? + override var onload: ((Event) -> JsAny?)? + override var onloadeddata: ((Event) -> JsAny?)? + override var onloadedmetadata: ((Event) -> JsAny?)? + override var onloadend: ((Event) -> JsAny?)? + override var onloadstart: ((ProgressEvent) -> JsAny?)? + override var onmousedown: ((MouseEvent) -> JsAny?)? + override var onmouseenter: ((MouseEvent) -> JsAny?)? + override var onmouseleave: ((MouseEvent) -> JsAny?)? + override var onmousemove: ((MouseEvent) -> JsAny?)? + override var onmouseout: ((MouseEvent) -> JsAny?)? + override var onmouseover: ((MouseEvent) -> JsAny?)? + override var onmouseup: ((MouseEvent) -> JsAny?)? + override var onwheel: ((WheelEvent) -> JsAny?)? + override var onpause: ((Event) -> JsAny?)? + override var onplay: ((Event) -> JsAny?)? + override var onplaying: ((Event) -> JsAny?)? + override var onprogress: ((ProgressEvent) -> JsAny?)? + override var onratechange: ((Event) -> JsAny?)? + override var onreset: ((Event) -> JsAny?)? + override var onresize: ((Event) -> JsAny?)? + override var onscroll: ((Event) -> JsAny?)? + override var onseeked: ((Event) -> JsAny?)? + override var onseeking: ((Event) -> JsAny?)? + override var onselect: ((Event) -> JsAny?)? + override var onshow: ((Event) -> JsAny?)? + override var onstalled: ((Event) -> JsAny?)? + override var onsubmit: ((Event) -> JsAny?)? + override var onsuspend: ((Event) -> JsAny?)? + override var ontimeupdate: ((Event) -> JsAny?)? + override var ontoggle: ((Event) -> JsAny?)? + override var onvolumechange: ((Event) -> JsAny?)? + override var onwaiting: ((Event) -> JsAny?)? + override var ongotpointercapture: ((PointerEvent) -> JsAny?)? + override var onlostpointercapture: ((PointerEvent) -> JsAny?)? + override var onpointerdown: ((PointerEvent) -> JsAny?)? + override var onpointermove: ((PointerEvent) -> JsAny?)? + override var onpointerup: ((PointerEvent) -> JsAny?)? + override var onpointercancel: ((PointerEvent) -> JsAny?)? + override var onpointerover: ((PointerEvent) -> JsAny?)? + override var onpointerout: ((PointerEvent) -> JsAny?)? + override var onpointerenter: ((PointerEvent) -> JsAny?)? + override var onpointerleave: ((PointerEvent) -> JsAny?)? + override var oncopy: ((ClipboardEvent) -> JsAny?)? + override var oncut: ((ClipboardEvent) -> JsAny?)? + override var onpaste: ((ClipboardEvent) -> JsAny?)? override val fullscreenElement: Element? override val children: HTMLCollection override val firstElementChild: Element? @@ -4774,8 +4852,11 @@ public external open class Document : Node, GlobalEventHandlers, DocumentAndElem } } +@PublishedApi +internal fun getMethodImplForDocument(obj: Document, name: String): JsAny? { js("return obj[name];") } + @kotlin.internal.InlineOnly -public inline operator fun Document.get(name: String): JsAny? = asDynamic().getAny(name) +public inline operator fun Document.get(name: String): JsAny? = getMethodImplForDocument(this, name) /** * Exposes the JavaScript [XMLDocument](https://developer.mozilla.org/en/docs/Web/API/XMLDocument) to Kotlin @@ -5024,11 +5105,17 @@ public external abstract class NamedNodeMap : ItemArrayLike, JsAny { fun getNamedItem(qualifiedName: String): Attr? } -@kotlin.internal.InlineOnly -public inline operator fun NamedNodeMap.get(index: Int): Attr? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForNamedNodeMap(obj: NamedNodeMap, index: Int): Attr? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun NamedNodeMap.get(qualifiedName: String): Attr? = asDynamic().getAny(qualifiedName) +public inline operator fun NamedNodeMap.get(index: Int): Attr? = getMethodImplForNamedNodeMap(this, index) + +@PublishedApi +internal fun getMethodImplForNamedNodeMap(obj: NamedNodeMap, qualifiedName: String): Attr? { js("return obj[qualifiedName];") } + +@kotlin.internal.InlineOnly +public inline operator fun NamedNodeMap.get(qualifiedName: String): Attr? = getMethodImplForNamedNodeMap(this, qualifiedName) /** * Exposes the JavaScript [Attr](https://developer.mozilla.org/en/docs/Web/API/Attr) to Kotlin @@ -5339,8 +5426,11 @@ public external abstract class DOMTokenList : ItemArrayLike, JsAny { override fun item(index: Int): JsString? } +@PublishedApi +internal fun getMethodImplForDOMTokenList(obj: DOMTokenList, index: Int): String? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun DOMTokenList.get(index: Int): String? = asDynamic().getString(index) +public inline operator fun DOMTokenList.get(index: Int): String? = getMethodImplForDOMTokenList(this, index) /** * Exposes the JavaScript [DOMPointReadOnly](https://developer.mozilla.org/en/docs/Web/API/DOMPointReadOnly) to Kotlin @@ -5432,8 +5522,11 @@ public external interface DOMRectList : ItemArrayLike, JsAny { override fun item(index: Int): DOMRect? } +@PublishedApi +internal fun getMethodImplForDOMRectList(obj: DOMRectList, index: Int): DOMRect? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun DOMRectList.get(index: Int): DOMRect? = asDynamic().getAny(index) +public inline operator fun DOMRectList.get(index: Int): DOMRect? = getMethodImplForDOMRectList(this, index) /** * Exposes the JavaScript [DOMQuad](https://developer.mozilla.org/en/docs/Web/API/DOMQuad) to Kotlin @@ -5570,7 +5663,7 @@ public fun ScrollToOptions(left: Double? = undefined, top: Double? = undefined, public external abstract class MediaQueryList : EventTarget, JsAny { open val media: String open val matches: Boolean - open var onchange: ((Event) -> Dynamic?)? + open var onchange: ((Event) -> JsAny?)? fun addListener(listener: EventListener?) fun addListener(listener: ((Event) -> Unit)?) fun removeListener(listener: EventListener?) @@ -5690,8 +5783,11 @@ public external abstract class TouchList : ItemArrayLike, JsAny { override fun item(index: Int): Touch? } +@PublishedApi +internal fun getMethodImplForTouchList(obj: TouchList, index: Int): Touch? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun TouchList.get(index: Int): Touch? = asDynamic().getAny(index) +public inline operator fun TouchList.get(index: Int): Touch? = getMethodImplForTouchList(this, index) public external open class TouchEvent : UIEvent, JsAny { open val touches: TouchList @@ -5714,80 +5810,80 @@ public external open class TouchEvent : UIEvent, JsAny { * Exposes the JavaScript [Image](https://developer.mozilla.org/en/docs/Web/API/Image) to Kotlin */ public external open class Image(width: Int = definedExternally, height: Int = definedExternally) : HTMLImageElement, JsAny { - override var onabort: ((Event) -> Dynamic?)? - override var onblur: ((FocusEvent) -> Dynamic?)? - override var oncancel: ((Event) -> Dynamic?)? - override var oncanplay: ((Event) -> Dynamic?)? - override var oncanplaythrough: ((Event) -> Dynamic?)? - override var onchange: ((Event) -> Dynamic?)? - override var onclick: ((MouseEvent) -> Dynamic?)? - override var onclose: ((Event) -> Dynamic?)? - override var oncontextmenu: ((MouseEvent) -> Dynamic?)? - override var oncuechange: ((Event) -> Dynamic?)? - override var ondblclick: ((MouseEvent) -> Dynamic?)? - override var ondrag: ((DragEvent) -> Dynamic?)? - override var ondragend: ((DragEvent) -> Dynamic?)? - override var ondragenter: ((DragEvent) -> Dynamic?)? - override var ondragexit: ((DragEvent) -> Dynamic?)? - override var ondragleave: ((DragEvent) -> Dynamic?)? - override var ondragover: ((DragEvent) -> Dynamic?)? - override var ondragstart: ((DragEvent) -> Dynamic?)? - override var ondrop: ((DragEvent) -> Dynamic?)? - override var ondurationchange: ((Event) -> Dynamic?)? - override var onemptied: ((Event) -> Dynamic?)? - override var onended: ((Event) -> Dynamic?)? - override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? - override var onfocus: ((FocusEvent) -> Dynamic?)? - override var oninput: ((InputEvent) -> Dynamic?)? - override var oninvalid: ((Event) -> Dynamic?)? - override var onkeydown: ((KeyboardEvent) -> Dynamic?)? - override var onkeypress: ((KeyboardEvent) -> Dynamic?)? - override var onkeyup: ((KeyboardEvent) -> Dynamic?)? - override var onload: ((Event) -> Dynamic?)? - override var onloadeddata: ((Event) -> Dynamic?)? - override var onloadedmetadata: ((Event) -> Dynamic?)? - override var onloadend: ((Event) -> Dynamic?)? - override var onloadstart: ((ProgressEvent) -> Dynamic?)? - override var onmousedown: ((MouseEvent) -> Dynamic?)? - override var onmouseenter: ((MouseEvent) -> Dynamic?)? - override var onmouseleave: ((MouseEvent) -> Dynamic?)? - override var onmousemove: ((MouseEvent) -> Dynamic?)? - override var onmouseout: ((MouseEvent) -> Dynamic?)? - override var onmouseover: ((MouseEvent) -> Dynamic?)? - override var onmouseup: ((MouseEvent) -> Dynamic?)? - override var onwheel: ((WheelEvent) -> Dynamic?)? - override var onpause: ((Event) -> Dynamic?)? - override var onplay: ((Event) -> Dynamic?)? - override var onplaying: ((Event) -> Dynamic?)? - override var onprogress: ((ProgressEvent) -> Dynamic?)? - override var onratechange: ((Event) -> Dynamic?)? - override var onreset: ((Event) -> Dynamic?)? - override var onresize: ((Event) -> Dynamic?)? - override var onscroll: ((Event) -> Dynamic?)? - override var onseeked: ((Event) -> Dynamic?)? - override var onseeking: ((Event) -> Dynamic?)? - override var onselect: ((Event) -> Dynamic?)? - override var onshow: ((Event) -> Dynamic?)? - override var onstalled: ((Event) -> Dynamic?)? - override var onsubmit: ((Event) -> Dynamic?)? - override var onsuspend: ((Event) -> Dynamic?)? - override var ontimeupdate: ((Event) -> Dynamic?)? - override var ontoggle: ((Event) -> Dynamic?)? - override var onvolumechange: ((Event) -> Dynamic?)? - override var onwaiting: ((Event) -> Dynamic?)? - override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? - override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? - override var onpointerdown: ((PointerEvent) -> Dynamic?)? - override var onpointermove: ((PointerEvent) -> Dynamic?)? - override var onpointerup: ((PointerEvent) -> Dynamic?)? - override var onpointercancel: ((PointerEvent) -> Dynamic?)? - override var onpointerover: ((PointerEvent) -> Dynamic?)? - override var onpointerout: ((PointerEvent) -> Dynamic?)? - override var onpointerenter: ((PointerEvent) -> Dynamic?)? - override var onpointerleave: ((PointerEvent) -> Dynamic?)? - override var oncopy: ((ClipboardEvent) -> Dynamic?)? - override var oncut: ((ClipboardEvent) -> Dynamic?)? - override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var onabort: ((Event) -> JsAny?)? + override var onblur: ((FocusEvent) -> JsAny?)? + override var oncancel: ((Event) -> JsAny?)? + override var oncanplay: ((Event) -> JsAny?)? + override var oncanplaythrough: ((Event) -> JsAny?)? + override var onchange: ((Event) -> JsAny?)? + override var onclick: ((MouseEvent) -> JsAny?)? + override var onclose: ((Event) -> JsAny?)? + override var oncontextmenu: ((MouseEvent) -> JsAny?)? + override var oncuechange: ((Event) -> JsAny?)? + override var ondblclick: ((MouseEvent) -> JsAny?)? + override var ondrag: ((DragEvent) -> JsAny?)? + override var ondragend: ((DragEvent) -> JsAny?)? + override var ondragenter: ((DragEvent) -> JsAny?)? + override var ondragexit: ((DragEvent) -> JsAny?)? + override var ondragleave: ((DragEvent) -> JsAny?)? + override var ondragover: ((DragEvent) -> JsAny?)? + override var ondragstart: ((DragEvent) -> JsAny?)? + override var ondrop: ((DragEvent) -> JsAny?)? + override var ondurationchange: ((Event) -> JsAny?)? + override var onemptied: ((Event) -> JsAny?)? + override var onended: ((Event) -> JsAny?)? + override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? + override var onfocus: ((FocusEvent) -> JsAny?)? + override var oninput: ((InputEvent) -> JsAny?)? + override var oninvalid: ((Event) -> JsAny?)? + override var onkeydown: ((KeyboardEvent) -> JsAny?)? + override var onkeypress: ((KeyboardEvent) -> JsAny?)? + override var onkeyup: ((KeyboardEvent) -> JsAny?)? + override var onload: ((Event) -> JsAny?)? + override var onloadeddata: ((Event) -> JsAny?)? + override var onloadedmetadata: ((Event) -> JsAny?)? + override var onloadend: ((Event) -> JsAny?)? + override var onloadstart: ((ProgressEvent) -> JsAny?)? + override var onmousedown: ((MouseEvent) -> JsAny?)? + override var onmouseenter: ((MouseEvent) -> JsAny?)? + override var onmouseleave: ((MouseEvent) -> JsAny?)? + override var onmousemove: ((MouseEvent) -> JsAny?)? + override var onmouseout: ((MouseEvent) -> JsAny?)? + override var onmouseover: ((MouseEvent) -> JsAny?)? + override var onmouseup: ((MouseEvent) -> JsAny?)? + override var onwheel: ((WheelEvent) -> JsAny?)? + override var onpause: ((Event) -> JsAny?)? + override var onplay: ((Event) -> JsAny?)? + override var onplaying: ((Event) -> JsAny?)? + override var onprogress: ((ProgressEvent) -> JsAny?)? + override var onratechange: ((Event) -> JsAny?)? + override var onreset: ((Event) -> JsAny?)? + override var onresize: ((Event) -> JsAny?)? + override var onscroll: ((Event) -> JsAny?)? + override var onseeked: ((Event) -> JsAny?)? + override var onseeking: ((Event) -> JsAny?)? + override var onselect: ((Event) -> JsAny?)? + override var onshow: ((Event) -> JsAny?)? + override var onstalled: ((Event) -> JsAny?)? + override var onsubmit: ((Event) -> JsAny?)? + override var onsuspend: ((Event) -> JsAny?)? + override var ontimeupdate: ((Event) -> JsAny?)? + override var ontoggle: ((Event) -> JsAny?)? + override var onvolumechange: ((Event) -> JsAny?)? + override var onwaiting: ((Event) -> JsAny?)? + override var ongotpointercapture: ((PointerEvent) -> JsAny?)? + override var onlostpointercapture: ((PointerEvent) -> JsAny?)? + override var onpointerdown: ((PointerEvent) -> JsAny?)? + override var onpointermove: ((PointerEvent) -> JsAny?)? + override var onpointerup: ((PointerEvent) -> JsAny?)? + override var onpointercancel: ((PointerEvent) -> JsAny?)? + override var onpointerover: ((PointerEvent) -> JsAny?)? + override var onpointerout: ((PointerEvent) -> JsAny?)? + override var onpointerenter: ((PointerEvent) -> JsAny?)? + override var onpointerleave: ((PointerEvent) -> JsAny?)? + override var oncopy: ((ClipboardEvent) -> JsAny?)? + override var oncut: ((ClipboardEvent) -> JsAny?)? + override var onpaste: ((ClipboardEvent) -> JsAny?)? override var contentEditable: String override val isContentEditable: Boolean override val style: CSSStyleDeclaration @@ -5834,80 +5930,80 @@ public external open class Image(width: Int = definedExternally, height: Int = d } public external open class Audio(src: String = definedExternally) : HTMLAudioElement, JsAny { - override var onabort: ((Event) -> Dynamic?)? - override var onblur: ((FocusEvent) -> Dynamic?)? - override var oncancel: ((Event) -> Dynamic?)? - override var oncanplay: ((Event) -> Dynamic?)? - override var oncanplaythrough: ((Event) -> Dynamic?)? - override var onchange: ((Event) -> Dynamic?)? - override var onclick: ((MouseEvent) -> Dynamic?)? - override var onclose: ((Event) -> Dynamic?)? - override var oncontextmenu: ((MouseEvent) -> Dynamic?)? - override var oncuechange: ((Event) -> Dynamic?)? - override var ondblclick: ((MouseEvent) -> Dynamic?)? - override var ondrag: ((DragEvent) -> Dynamic?)? - override var ondragend: ((DragEvent) -> Dynamic?)? - override var ondragenter: ((DragEvent) -> Dynamic?)? - override var ondragexit: ((DragEvent) -> Dynamic?)? - override var ondragleave: ((DragEvent) -> Dynamic?)? - override var ondragover: ((DragEvent) -> Dynamic?)? - override var ondragstart: ((DragEvent) -> Dynamic?)? - override var ondrop: ((DragEvent) -> Dynamic?)? - override var ondurationchange: ((Event) -> Dynamic?)? - override var onemptied: ((Event) -> Dynamic?)? - override var onended: ((Event) -> Dynamic?)? - override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? - override var onfocus: ((FocusEvent) -> Dynamic?)? - override var oninput: ((InputEvent) -> Dynamic?)? - override var oninvalid: ((Event) -> Dynamic?)? - override var onkeydown: ((KeyboardEvent) -> Dynamic?)? - override var onkeypress: ((KeyboardEvent) -> Dynamic?)? - override var onkeyup: ((KeyboardEvent) -> Dynamic?)? - override var onload: ((Event) -> Dynamic?)? - override var onloadeddata: ((Event) -> Dynamic?)? - override var onloadedmetadata: ((Event) -> Dynamic?)? - override var onloadend: ((Event) -> Dynamic?)? - override var onloadstart: ((ProgressEvent) -> Dynamic?)? - override var onmousedown: ((MouseEvent) -> Dynamic?)? - override var onmouseenter: ((MouseEvent) -> Dynamic?)? - override var onmouseleave: ((MouseEvent) -> Dynamic?)? - override var onmousemove: ((MouseEvent) -> Dynamic?)? - override var onmouseout: ((MouseEvent) -> Dynamic?)? - override var onmouseover: ((MouseEvent) -> Dynamic?)? - override var onmouseup: ((MouseEvent) -> Dynamic?)? - override var onwheel: ((WheelEvent) -> Dynamic?)? - override var onpause: ((Event) -> Dynamic?)? - override var onplay: ((Event) -> Dynamic?)? - override var onplaying: ((Event) -> Dynamic?)? - override var onprogress: ((ProgressEvent) -> Dynamic?)? - override var onratechange: ((Event) -> Dynamic?)? - override var onreset: ((Event) -> Dynamic?)? - override var onresize: ((Event) -> Dynamic?)? - override var onscroll: ((Event) -> Dynamic?)? - override var onseeked: ((Event) -> Dynamic?)? - override var onseeking: ((Event) -> Dynamic?)? - override var onselect: ((Event) -> Dynamic?)? - override var onshow: ((Event) -> Dynamic?)? - override var onstalled: ((Event) -> Dynamic?)? - override var onsubmit: ((Event) -> Dynamic?)? - override var onsuspend: ((Event) -> Dynamic?)? - override var ontimeupdate: ((Event) -> Dynamic?)? - override var ontoggle: ((Event) -> Dynamic?)? - override var onvolumechange: ((Event) -> Dynamic?)? - override var onwaiting: ((Event) -> Dynamic?)? - override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? - override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? - override var onpointerdown: ((PointerEvent) -> Dynamic?)? - override var onpointermove: ((PointerEvent) -> Dynamic?)? - override var onpointerup: ((PointerEvent) -> Dynamic?)? - override var onpointercancel: ((PointerEvent) -> Dynamic?)? - override var onpointerover: ((PointerEvent) -> Dynamic?)? - override var onpointerout: ((PointerEvent) -> Dynamic?)? - override var onpointerenter: ((PointerEvent) -> Dynamic?)? - override var onpointerleave: ((PointerEvent) -> Dynamic?)? - override var oncopy: ((ClipboardEvent) -> Dynamic?)? - override var oncut: ((ClipboardEvent) -> Dynamic?)? - override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var onabort: ((Event) -> JsAny?)? + override var onblur: ((FocusEvent) -> JsAny?)? + override var oncancel: ((Event) -> JsAny?)? + override var oncanplay: ((Event) -> JsAny?)? + override var oncanplaythrough: ((Event) -> JsAny?)? + override var onchange: ((Event) -> JsAny?)? + override var onclick: ((MouseEvent) -> JsAny?)? + override var onclose: ((Event) -> JsAny?)? + override var oncontextmenu: ((MouseEvent) -> JsAny?)? + override var oncuechange: ((Event) -> JsAny?)? + override var ondblclick: ((MouseEvent) -> JsAny?)? + override var ondrag: ((DragEvent) -> JsAny?)? + override var ondragend: ((DragEvent) -> JsAny?)? + override var ondragenter: ((DragEvent) -> JsAny?)? + override var ondragexit: ((DragEvent) -> JsAny?)? + override var ondragleave: ((DragEvent) -> JsAny?)? + override var ondragover: ((DragEvent) -> JsAny?)? + override var ondragstart: ((DragEvent) -> JsAny?)? + override var ondrop: ((DragEvent) -> JsAny?)? + override var ondurationchange: ((Event) -> JsAny?)? + override var onemptied: ((Event) -> JsAny?)? + override var onended: ((Event) -> JsAny?)? + override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? + override var onfocus: ((FocusEvent) -> JsAny?)? + override var oninput: ((InputEvent) -> JsAny?)? + override var oninvalid: ((Event) -> JsAny?)? + override var onkeydown: ((KeyboardEvent) -> JsAny?)? + override var onkeypress: ((KeyboardEvent) -> JsAny?)? + override var onkeyup: ((KeyboardEvent) -> JsAny?)? + override var onload: ((Event) -> JsAny?)? + override var onloadeddata: ((Event) -> JsAny?)? + override var onloadedmetadata: ((Event) -> JsAny?)? + override var onloadend: ((Event) -> JsAny?)? + override var onloadstart: ((ProgressEvent) -> JsAny?)? + override var onmousedown: ((MouseEvent) -> JsAny?)? + override var onmouseenter: ((MouseEvent) -> JsAny?)? + override var onmouseleave: ((MouseEvent) -> JsAny?)? + override var onmousemove: ((MouseEvent) -> JsAny?)? + override var onmouseout: ((MouseEvent) -> JsAny?)? + override var onmouseover: ((MouseEvent) -> JsAny?)? + override var onmouseup: ((MouseEvent) -> JsAny?)? + override var onwheel: ((WheelEvent) -> JsAny?)? + override var onpause: ((Event) -> JsAny?)? + override var onplay: ((Event) -> JsAny?)? + override var onplaying: ((Event) -> JsAny?)? + override var onprogress: ((ProgressEvent) -> JsAny?)? + override var onratechange: ((Event) -> JsAny?)? + override var onreset: ((Event) -> JsAny?)? + override var onresize: ((Event) -> JsAny?)? + override var onscroll: ((Event) -> JsAny?)? + override var onseeked: ((Event) -> JsAny?)? + override var onseeking: ((Event) -> JsAny?)? + override var onselect: ((Event) -> JsAny?)? + override var onshow: ((Event) -> JsAny?)? + override var onstalled: ((Event) -> JsAny?)? + override var onsubmit: ((Event) -> JsAny?)? + override var onsuspend: ((Event) -> JsAny?)? + override var ontimeupdate: ((Event) -> JsAny?)? + override var ontoggle: ((Event) -> JsAny?)? + override var onvolumechange: ((Event) -> JsAny?)? + override var onwaiting: ((Event) -> JsAny?)? + override var ongotpointercapture: ((PointerEvent) -> JsAny?)? + override var onlostpointercapture: ((PointerEvent) -> JsAny?)? + override var onpointerdown: ((PointerEvent) -> JsAny?)? + override var onpointermove: ((PointerEvent) -> JsAny?)? + override var onpointerup: ((PointerEvent) -> JsAny?)? + override var onpointercancel: ((PointerEvent) -> JsAny?)? + override var onpointerover: ((PointerEvent) -> JsAny?)? + override var onpointerout: ((PointerEvent) -> JsAny?)? + override var onpointerenter: ((PointerEvent) -> JsAny?)? + override var onpointerleave: ((PointerEvent) -> JsAny?)? + override var oncopy: ((ClipboardEvent) -> JsAny?)? + override var oncut: ((ClipboardEvent) -> JsAny?)? + override var onpaste: ((ClipboardEvent) -> JsAny?)? override var contentEditable: String override val isContentEditable: Boolean override val style: CSSStyleDeclaration @@ -5966,80 +6062,80 @@ public external open class Audio(src: String = definedExternally) : HTMLAudioEle * Exposes the JavaScript [Option](https://developer.mozilla.org/en/docs/Web/API/Option) to Kotlin */ public external open class Option(text: String = definedExternally, value: String = definedExternally, defaultSelected: Boolean = definedExternally, selected: Boolean = definedExternally) : HTMLOptionElement, JsAny { - override var onabort: ((Event) -> Dynamic?)? - override var onblur: ((FocusEvent) -> Dynamic?)? - override var oncancel: ((Event) -> Dynamic?)? - override var oncanplay: ((Event) -> Dynamic?)? - override var oncanplaythrough: ((Event) -> Dynamic?)? - override var onchange: ((Event) -> Dynamic?)? - override var onclick: ((MouseEvent) -> Dynamic?)? - override var onclose: ((Event) -> Dynamic?)? - override var oncontextmenu: ((MouseEvent) -> Dynamic?)? - override var oncuechange: ((Event) -> Dynamic?)? - override var ondblclick: ((MouseEvent) -> Dynamic?)? - override var ondrag: ((DragEvent) -> Dynamic?)? - override var ondragend: ((DragEvent) -> Dynamic?)? - override var ondragenter: ((DragEvent) -> Dynamic?)? - override var ondragexit: ((DragEvent) -> Dynamic?)? - override var ondragleave: ((DragEvent) -> Dynamic?)? - override var ondragover: ((DragEvent) -> Dynamic?)? - override var ondragstart: ((DragEvent) -> Dynamic?)? - override var ondrop: ((DragEvent) -> Dynamic?)? - override var ondurationchange: ((Event) -> Dynamic?)? - override var onemptied: ((Event) -> Dynamic?)? - override var onended: ((Event) -> Dynamic?)? - override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> Dynamic?)? - override var onfocus: ((FocusEvent) -> Dynamic?)? - override var oninput: ((InputEvent) -> Dynamic?)? - override var oninvalid: ((Event) -> Dynamic?)? - override var onkeydown: ((KeyboardEvent) -> Dynamic?)? - override var onkeypress: ((KeyboardEvent) -> Dynamic?)? - override var onkeyup: ((KeyboardEvent) -> Dynamic?)? - override var onload: ((Event) -> Dynamic?)? - override var onloadeddata: ((Event) -> Dynamic?)? - override var onloadedmetadata: ((Event) -> Dynamic?)? - override var onloadend: ((Event) -> Dynamic?)? - override var onloadstart: ((ProgressEvent) -> Dynamic?)? - override var onmousedown: ((MouseEvent) -> Dynamic?)? - override var onmouseenter: ((MouseEvent) -> Dynamic?)? - override var onmouseleave: ((MouseEvent) -> Dynamic?)? - override var onmousemove: ((MouseEvent) -> Dynamic?)? - override var onmouseout: ((MouseEvent) -> Dynamic?)? - override var onmouseover: ((MouseEvent) -> Dynamic?)? - override var onmouseup: ((MouseEvent) -> Dynamic?)? - override var onwheel: ((WheelEvent) -> Dynamic?)? - override var onpause: ((Event) -> Dynamic?)? - override var onplay: ((Event) -> Dynamic?)? - override var onplaying: ((Event) -> Dynamic?)? - override var onprogress: ((ProgressEvent) -> Dynamic?)? - override var onratechange: ((Event) -> Dynamic?)? - override var onreset: ((Event) -> Dynamic?)? - override var onresize: ((Event) -> Dynamic?)? - override var onscroll: ((Event) -> Dynamic?)? - override var onseeked: ((Event) -> Dynamic?)? - override var onseeking: ((Event) -> Dynamic?)? - override var onselect: ((Event) -> Dynamic?)? - override var onshow: ((Event) -> Dynamic?)? - override var onstalled: ((Event) -> Dynamic?)? - override var onsubmit: ((Event) -> Dynamic?)? - override var onsuspend: ((Event) -> Dynamic?)? - override var ontimeupdate: ((Event) -> Dynamic?)? - override var ontoggle: ((Event) -> Dynamic?)? - override var onvolumechange: ((Event) -> Dynamic?)? - override var onwaiting: ((Event) -> Dynamic?)? - override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? - override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? - override var onpointerdown: ((PointerEvent) -> Dynamic?)? - override var onpointermove: ((PointerEvent) -> Dynamic?)? - override var onpointerup: ((PointerEvent) -> Dynamic?)? - override var onpointercancel: ((PointerEvent) -> Dynamic?)? - override var onpointerover: ((PointerEvent) -> Dynamic?)? - override var onpointerout: ((PointerEvent) -> Dynamic?)? - override var onpointerenter: ((PointerEvent) -> Dynamic?)? - override var onpointerleave: ((PointerEvent) -> Dynamic?)? - override var oncopy: ((ClipboardEvent) -> Dynamic?)? - override var oncut: ((ClipboardEvent) -> Dynamic?)? - override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var onabort: ((Event) -> JsAny?)? + override var onblur: ((FocusEvent) -> JsAny?)? + override var oncancel: ((Event) -> JsAny?)? + override var oncanplay: ((Event) -> JsAny?)? + override var oncanplaythrough: ((Event) -> JsAny?)? + override var onchange: ((Event) -> JsAny?)? + override var onclick: ((MouseEvent) -> JsAny?)? + override var onclose: ((Event) -> JsAny?)? + override var oncontextmenu: ((MouseEvent) -> JsAny?)? + override var oncuechange: ((Event) -> JsAny?)? + override var ondblclick: ((MouseEvent) -> JsAny?)? + override var ondrag: ((DragEvent) -> JsAny?)? + override var ondragend: ((DragEvent) -> JsAny?)? + override var ondragenter: ((DragEvent) -> JsAny?)? + override var ondragexit: ((DragEvent) -> JsAny?)? + override var ondragleave: ((DragEvent) -> JsAny?)? + override var ondragover: ((DragEvent) -> JsAny?)? + override var ondragstart: ((DragEvent) -> JsAny?)? + override var ondrop: ((DragEvent) -> JsAny?)? + override var ondurationchange: ((Event) -> JsAny?)? + override var onemptied: ((Event) -> JsAny?)? + override var onended: ((Event) -> JsAny?)? + override var onerror: ((JsAny?, String, Int, Int, JsAny?) -> JsAny?)? + override var onfocus: ((FocusEvent) -> JsAny?)? + override var oninput: ((InputEvent) -> JsAny?)? + override var oninvalid: ((Event) -> JsAny?)? + override var onkeydown: ((KeyboardEvent) -> JsAny?)? + override var onkeypress: ((KeyboardEvent) -> JsAny?)? + override var onkeyup: ((KeyboardEvent) -> JsAny?)? + override var onload: ((Event) -> JsAny?)? + override var onloadeddata: ((Event) -> JsAny?)? + override var onloadedmetadata: ((Event) -> JsAny?)? + override var onloadend: ((Event) -> JsAny?)? + override var onloadstart: ((ProgressEvent) -> JsAny?)? + override var onmousedown: ((MouseEvent) -> JsAny?)? + override var onmouseenter: ((MouseEvent) -> JsAny?)? + override var onmouseleave: ((MouseEvent) -> JsAny?)? + override var onmousemove: ((MouseEvent) -> JsAny?)? + override var onmouseout: ((MouseEvent) -> JsAny?)? + override var onmouseover: ((MouseEvent) -> JsAny?)? + override var onmouseup: ((MouseEvent) -> JsAny?)? + override var onwheel: ((WheelEvent) -> JsAny?)? + override var onpause: ((Event) -> JsAny?)? + override var onplay: ((Event) -> JsAny?)? + override var onplaying: ((Event) -> JsAny?)? + override var onprogress: ((ProgressEvent) -> JsAny?)? + override var onratechange: ((Event) -> JsAny?)? + override var onreset: ((Event) -> JsAny?)? + override var onresize: ((Event) -> JsAny?)? + override var onscroll: ((Event) -> JsAny?)? + override var onseeked: ((Event) -> JsAny?)? + override var onseeking: ((Event) -> JsAny?)? + override var onselect: ((Event) -> JsAny?)? + override var onshow: ((Event) -> JsAny?)? + override var onstalled: ((Event) -> JsAny?)? + override var onsubmit: ((Event) -> JsAny?)? + override var onsuspend: ((Event) -> JsAny?)? + override var ontimeupdate: ((Event) -> JsAny?)? + override var ontoggle: ((Event) -> JsAny?)? + override var onvolumechange: ((Event) -> JsAny?)? + override var onwaiting: ((Event) -> JsAny?)? + override var ongotpointercapture: ((PointerEvent) -> JsAny?)? + override var onlostpointercapture: ((PointerEvent) -> JsAny?)? + override var onpointerdown: ((PointerEvent) -> JsAny?)? + override var onpointermove: ((PointerEvent) -> JsAny?)? + override var onpointerup: ((PointerEvent) -> JsAny?)? + override var onpointercancel: ((PointerEvent) -> JsAny?)? + override var onpointerover: ((PointerEvent) -> JsAny?)? + override var onpointerout: ((PointerEvent) -> JsAny?)? + override var onpointerenter: ((PointerEvent) -> JsAny?)? + override var onpointerleave: ((PointerEvent) -> JsAny?)? + override var oncopy: ((ClipboardEvent) -> JsAny?)? + override var oncut: ((ClipboardEvent) -> JsAny?)? + override var onpaste: ((ClipboardEvent) -> JsAny?)? override var contentEditable: String override val isContentEditable: Boolean override val style: CSSStyleDeclaration @@ -6116,11 +6212,11 @@ public external interface DocumentReadyState : JsAny { companion object } -public inline val DocumentReadyState.Companion.LOADING: DocumentReadyState get() = "loading".asDynamic().unsafeCast() +public inline val DocumentReadyState.Companion.LOADING: DocumentReadyState get() = "loading".toJsString().unsafeCast() -public inline val DocumentReadyState.Companion.INTERACTIVE: DocumentReadyState get() = "interactive".asDynamic().unsafeCast() +public inline val DocumentReadyState.Companion.INTERACTIVE: DocumentReadyState get() = "interactive".toJsString().unsafeCast() -public inline val DocumentReadyState.Companion.COMPLETE: DocumentReadyState get() = "complete".asDynamic().unsafeCast() +public inline val DocumentReadyState.Companion.COMPLETE: DocumentReadyState get() = "complete".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6129,11 +6225,11 @@ public external interface CanPlayTypeResult : JsAny { companion object } -public inline val CanPlayTypeResult.Companion.EMPTY: CanPlayTypeResult get() = "".asDynamic().unsafeCast() +public inline val CanPlayTypeResult.Companion.EMPTY: CanPlayTypeResult get() = "".toJsString().unsafeCast() -public inline val CanPlayTypeResult.Companion.MAYBE: CanPlayTypeResult get() = "maybe".asDynamic().unsafeCast() +public inline val CanPlayTypeResult.Companion.MAYBE: CanPlayTypeResult get() = "maybe".toJsString().unsafeCast() -public inline val CanPlayTypeResult.Companion.PROBABLY: CanPlayTypeResult get() = "probably".asDynamic().unsafeCast() +public inline val CanPlayTypeResult.Companion.PROBABLY: CanPlayTypeResult get() = "probably".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6142,11 +6238,11 @@ public external interface TextTrackMode : JsAny { companion object } -public inline val TextTrackMode.Companion.DISABLED: TextTrackMode get() = "disabled".asDynamic().unsafeCast() +public inline val TextTrackMode.Companion.DISABLED: TextTrackMode get() = "disabled".toJsString().unsafeCast() -public inline val TextTrackMode.Companion.HIDDEN: TextTrackMode get() = "hidden".asDynamic().unsafeCast() +public inline val TextTrackMode.Companion.HIDDEN: TextTrackMode get() = "hidden".toJsString().unsafeCast() -public inline val TextTrackMode.Companion.SHOWING: TextTrackMode get() = "showing".asDynamic().unsafeCast() +public inline val TextTrackMode.Companion.SHOWING: TextTrackMode get() = "showing".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6155,15 +6251,15 @@ public external interface TextTrackKind : JsAny { companion object } -public inline val TextTrackKind.Companion.SUBTITLES: TextTrackKind get() = "subtitles".asDynamic().unsafeCast() +public inline val TextTrackKind.Companion.SUBTITLES: TextTrackKind get() = "subtitles".toJsString().unsafeCast() -public inline val TextTrackKind.Companion.CAPTIONS: TextTrackKind get() = "captions".asDynamic().unsafeCast() +public inline val TextTrackKind.Companion.CAPTIONS: TextTrackKind get() = "captions".toJsString().unsafeCast() -public inline val TextTrackKind.Companion.DESCRIPTIONS: TextTrackKind get() = "descriptions".asDynamic().unsafeCast() +public inline val TextTrackKind.Companion.DESCRIPTIONS: TextTrackKind get() = "descriptions".toJsString().unsafeCast() -public inline val TextTrackKind.Companion.CHAPTERS: TextTrackKind get() = "chapters".asDynamic().unsafeCast() +public inline val TextTrackKind.Companion.CHAPTERS: TextTrackKind get() = "chapters".toJsString().unsafeCast() -public inline val TextTrackKind.Companion.METADATA: TextTrackKind get() = "metadata".asDynamic().unsafeCast() +public inline val TextTrackKind.Companion.METADATA: TextTrackKind get() = "metadata".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6172,13 +6268,13 @@ public external interface SelectionMode : JsAny { companion object } -public inline val SelectionMode.Companion.SELECT: SelectionMode get() = "select".asDynamic().unsafeCast() +public inline val SelectionMode.Companion.SELECT: SelectionMode get() = "select".toJsString().unsafeCast() -public inline val SelectionMode.Companion.START: SelectionMode get() = "start".asDynamic().unsafeCast() +public inline val SelectionMode.Companion.START: SelectionMode get() = "start".toJsString().unsafeCast() -public inline val SelectionMode.Companion.END: SelectionMode get() = "end".asDynamic().unsafeCast() +public inline val SelectionMode.Companion.END: SelectionMode get() = "end".toJsString().unsafeCast() -public inline val SelectionMode.Companion.PRESERVE: SelectionMode get() = "preserve".asDynamic().unsafeCast() +public inline val SelectionMode.Companion.PRESERVE: SelectionMode get() = "preserve".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6187,9 +6283,9 @@ public external interface CanvasFillRule : JsAny { companion object } -public inline val CanvasFillRule.Companion.NONZERO: CanvasFillRule get() = "nonzero".asDynamic().unsafeCast() +public inline val CanvasFillRule.Companion.NONZERO: CanvasFillRule get() = "nonzero".toJsString().unsafeCast() -public inline val CanvasFillRule.Companion.EVENODD: CanvasFillRule get() = "evenodd".asDynamic().unsafeCast() +public inline val CanvasFillRule.Companion.EVENODD: CanvasFillRule get() = "evenodd".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6198,11 +6294,11 @@ public external interface ImageSmoothingQuality : JsAny { companion object } -public inline val ImageSmoothingQuality.Companion.LOW: ImageSmoothingQuality get() = "low".asDynamic().unsafeCast() +public inline val ImageSmoothingQuality.Companion.LOW: ImageSmoothingQuality get() = "low".toJsString().unsafeCast() -public inline val ImageSmoothingQuality.Companion.MEDIUM: ImageSmoothingQuality get() = "medium".asDynamic().unsafeCast() +public inline val ImageSmoothingQuality.Companion.MEDIUM: ImageSmoothingQuality get() = "medium".toJsString().unsafeCast() -public inline val ImageSmoothingQuality.Companion.HIGH: ImageSmoothingQuality get() = "high".asDynamic().unsafeCast() +public inline val ImageSmoothingQuality.Companion.HIGH: ImageSmoothingQuality get() = "high".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6211,11 +6307,11 @@ public external interface CanvasLineCap : JsAny { companion object } -public inline val CanvasLineCap.Companion.BUTT: CanvasLineCap get() = "butt".asDynamic().unsafeCast() +public inline val CanvasLineCap.Companion.BUTT: CanvasLineCap get() = "butt".toJsString().unsafeCast() -public inline val CanvasLineCap.Companion.ROUND: CanvasLineCap get() = "round".asDynamic().unsafeCast() +public inline val CanvasLineCap.Companion.ROUND: CanvasLineCap get() = "round".toJsString().unsafeCast() -public inline val CanvasLineCap.Companion.SQUARE: CanvasLineCap get() = "square".asDynamic().unsafeCast() +public inline val CanvasLineCap.Companion.SQUARE: CanvasLineCap get() = "square".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6224,11 +6320,11 @@ public external interface CanvasLineJoin : JsAny { companion object } -public inline val CanvasLineJoin.Companion.ROUND: CanvasLineJoin get() = "round".asDynamic().unsafeCast() +public inline val CanvasLineJoin.Companion.ROUND: CanvasLineJoin get() = "round".toJsString().unsafeCast() -public inline val CanvasLineJoin.Companion.BEVEL: CanvasLineJoin get() = "bevel".asDynamic().unsafeCast() +public inline val CanvasLineJoin.Companion.BEVEL: CanvasLineJoin get() = "bevel".toJsString().unsafeCast() -public inline val CanvasLineJoin.Companion.MITER: CanvasLineJoin get() = "miter".asDynamic().unsafeCast() +public inline val CanvasLineJoin.Companion.MITER: CanvasLineJoin get() = "miter".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6237,15 +6333,15 @@ public external interface CanvasTextAlign : JsAny { companion object } -public inline val CanvasTextAlign.Companion.START: CanvasTextAlign get() = "start".asDynamic().unsafeCast() +public inline val CanvasTextAlign.Companion.START: CanvasTextAlign get() = "start".toJsString().unsafeCast() -public inline val CanvasTextAlign.Companion.END: CanvasTextAlign get() = "end".asDynamic().unsafeCast() +public inline val CanvasTextAlign.Companion.END: CanvasTextAlign get() = "end".toJsString().unsafeCast() -public inline val CanvasTextAlign.Companion.LEFT: CanvasTextAlign get() = "left".asDynamic().unsafeCast() +public inline val CanvasTextAlign.Companion.LEFT: CanvasTextAlign get() = "left".toJsString().unsafeCast() -public inline val CanvasTextAlign.Companion.RIGHT: CanvasTextAlign get() = "right".asDynamic().unsafeCast() +public inline val CanvasTextAlign.Companion.RIGHT: CanvasTextAlign get() = "right".toJsString().unsafeCast() -public inline val CanvasTextAlign.Companion.CENTER: CanvasTextAlign get() = "center".asDynamic().unsafeCast() +public inline val CanvasTextAlign.Companion.CENTER: CanvasTextAlign get() = "center".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6254,17 +6350,17 @@ public external interface CanvasTextBaseline : JsAny { companion object } -public inline val CanvasTextBaseline.Companion.TOP: CanvasTextBaseline get() = "top".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.TOP: CanvasTextBaseline get() = "top".toJsString().unsafeCast() -public inline val CanvasTextBaseline.Companion.HANGING: CanvasTextBaseline get() = "hanging".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.HANGING: CanvasTextBaseline get() = "hanging".toJsString().unsafeCast() -public inline val CanvasTextBaseline.Companion.MIDDLE: CanvasTextBaseline get() = "middle".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.MIDDLE: CanvasTextBaseline get() = "middle".toJsString().unsafeCast() -public inline val CanvasTextBaseline.Companion.ALPHABETIC: CanvasTextBaseline get() = "alphabetic".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.ALPHABETIC: CanvasTextBaseline get() = "alphabetic".toJsString().unsafeCast() -public inline val CanvasTextBaseline.Companion.IDEOGRAPHIC: CanvasTextBaseline get() = "ideographic".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.IDEOGRAPHIC: CanvasTextBaseline get() = "ideographic".toJsString().unsafeCast() -public inline val CanvasTextBaseline.Companion.BOTTOM: CanvasTextBaseline get() = "bottom".asDynamic().unsafeCast() +public inline val CanvasTextBaseline.Companion.BOTTOM: CanvasTextBaseline get() = "bottom".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6273,11 +6369,11 @@ public external interface CanvasDirection : JsAny { companion object } -public inline val CanvasDirection.Companion.LTR: CanvasDirection get() = "ltr".asDynamic().unsafeCast() +public inline val CanvasDirection.Companion.LTR: CanvasDirection get() = "ltr".toJsString().unsafeCast() -public inline val CanvasDirection.Companion.RTL: CanvasDirection get() = "rtl".asDynamic().unsafeCast() +public inline val CanvasDirection.Companion.RTL: CanvasDirection get() = "rtl".toJsString().unsafeCast() -public inline val CanvasDirection.Companion.INHERIT: CanvasDirection get() = "inherit".asDynamic().unsafeCast() +public inline val CanvasDirection.Companion.INHERIT: CanvasDirection get() = "inherit".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6286,9 +6382,9 @@ public external interface ScrollRestoration : JsAny { companion object } -public inline val ScrollRestoration.Companion.AUTO: ScrollRestoration get() = "auto".asDynamic().unsafeCast() +public inline val ScrollRestoration.Companion.AUTO: ScrollRestoration get() = "auto".toJsString().unsafeCast() -public inline val ScrollRestoration.Companion.MANUAL: ScrollRestoration get() = "manual".asDynamic().unsafeCast() +public inline val ScrollRestoration.Companion.MANUAL: ScrollRestoration get() = "manual".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6297,9 +6393,9 @@ public external interface ImageOrientation : JsAny { companion object } -public inline val ImageOrientation.Companion.NONE: ImageOrientation get() = "none".asDynamic().unsafeCast() +public inline val ImageOrientation.Companion.NONE: ImageOrientation get() = "none".toJsString().unsafeCast() -public inline val ImageOrientation.Companion.FLIPY: ImageOrientation get() = "flipY".asDynamic().unsafeCast() +public inline val ImageOrientation.Companion.FLIPY: ImageOrientation get() = "flipY".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6308,11 +6404,11 @@ public external interface PremultiplyAlpha : JsAny { companion object } -public inline val PremultiplyAlpha.Companion.NONE: PremultiplyAlpha get() = "none".asDynamic().unsafeCast() +public inline val PremultiplyAlpha.Companion.NONE: PremultiplyAlpha get() = "none".toJsString().unsafeCast() -public inline val PremultiplyAlpha.Companion.PREMULTIPLY: PremultiplyAlpha get() = "premultiply".asDynamic().unsafeCast() +public inline val PremultiplyAlpha.Companion.PREMULTIPLY: PremultiplyAlpha get() = "premultiply".toJsString().unsafeCast() -public inline val PremultiplyAlpha.Companion.DEFAULT: PremultiplyAlpha get() = "default".asDynamic().unsafeCast() +public inline val PremultiplyAlpha.Companion.DEFAULT: PremultiplyAlpha get() = "default".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6321,9 +6417,9 @@ public external interface ColorSpaceConversion : JsAny { companion object } -public inline val ColorSpaceConversion.Companion.NONE: ColorSpaceConversion get() = "none".asDynamic().unsafeCast() +public inline val ColorSpaceConversion.Companion.NONE: ColorSpaceConversion get() = "none".toJsString().unsafeCast() -public inline val ColorSpaceConversion.Companion.DEFAULT: ColorSpaceConversion get() = "default".asDynamic().unsafeCast() +public inline val ColorSpaceConversion.Companion.DEFAULT: ColorSpaceConversion get() = "default".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6332,13 +6428,13 @@ public external interface ResizeQuality : JsAny { companion object } -public inline val ResizeQuality.Companion.PIXELATED: ResizeQuality get() = "pixelated".asDynamic().unsafeCast() +public inline val ResizeQuality.Companion.PIXELATED: ResizeQuality get() = "pixelated".toJsString().unsafeCast() -public inline val ResizeQuality.Companion.LOW: ResizeQuality get() = "low".asDynamic().unsafeCast() +public inline val ResizeQuality.Companion.LOW: ResizeQuality get() = "low".toJsString().unsafeCast() -public inline val ResizeQuality.Companion.MEDIUM: ResizeQuality get() = "medium".asDynamic().unsafeCast() +public inline val ResizeQuality.Companion.MEDIUM: ResizeQuality get() = "medium".toJsString().unsafeCast() -public inline val ResizeQuality.Companion.HIGH: ResizeQuality get() = "high".asDynamic().unsafeCast() +public inline val ResizeQuality.Companion.HIGH: ResizeQuality get() = "high".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6347,9 +6443,9 @@ public external interface BinaryType : JsAny { companion object } -public inline val BinaryType.Companion.BLOB: BinaryType get() = "blob".asDynamic().unsafeCast() +public inline val BinaryType.Companion.BLOB: BinaryType get() = "blob".toJsString().unsafeCast() -public inline val BinaryType.Companion.ARRAYBUFFER: BinaryType get() = "arraybuffer".asDynamic().unsafeCast() +public inline val BinaryType.Companion.ARRAYBUFFER: BinaryType get() = "arraybuffer".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6358,9 +6454,9 @@ public external interface WorkerType : JsAny { companion object } -public inline val WorkerType.Companion.CLASSIC: WorkerType get() = "classic".asDynamic().unsafeCast() +public inline val WorkerType.Companion.CLASSIC: WorkerType get() = "classic".toJsString().unsafeCast() -public inline val WorkerType.Companion.MODULE: WorkerType get() = "module".asDynamic().unsafeCast() +public inline val WorkerType.Companion.MODULE: WorkerType get() = "module".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6369,9 +6465,9 @@ public external interface ShadowRootMode : JsAny { companion object } -public inline val ShadowRootMode.Companion.OPEN: ShadowRootMode get() = "open".asDynamic().unsafeCast() +public inline val ShadowRootMode.Companion.OPEN: ShadowRootMode get() = "open".toJsString().unsafeCast() -public inline val ShadowRootMode.Companion.CLOSED: ShadowRootMode get() = "closed".asDynamic().unsafeCast() +public inline val ShadowRootMode.Companion.CLOSED: ShadowRootMode get() = "closed".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6380,11 +6476,11 @@ public external interface ScrollBehavior : JsAny { companion object } -public inline val ScrollBehavior.Companion.AUTO: ScrollBehavior get() = "auto".asDynamic().unsafeCast() +public inline val ScrollBehavior.Companion.AUTO: ScrollBehavior get() = "auto".toJsString().unsafeCast() -public inline val ScrollBehavior.Companion.INSTANT: ScrollBehavior get() = "instant".asDynamic().unsafeCast() +public inline val ScrollBehavior.Companion.INSTANT: ScrollBehavior get() = "instant".toJsString().unsafeCast() -public inline val ScrollBehavior.Companion.SMOOTH: ScrollBehavior get() = "smooth".asDynamic().unsafeCast() +public inline val ScrollBehavior.Companion.SMOOTH: ScrollBehavior get() = "smooth".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6393,13 +6489,13 @@ public external interface ScrollLogicalPosition : JsAny { companion object } -public inline val ScrollLogicalPosition.Companion.START: ScrollLogicalPosition get() = "start".asDynamic().unsafeCast() +public inline val ScrollLogicalPosition.Companion.START: ScrollLogicalPosition get() = "start".toJsString().unsafeCast() -public inline val ScrollLogicalPosition.Companion.CENTER: ScrollLogicalPosition get() = "center".asDynamic().unsafeCast() +public inline val ScrollLogicalPosition.Companion.CENTER: ScrollLogicalPosition get() = "center".toJsString().unsafeCast() -public inline val ScrollLogicalPosition.Companion.END: ScrollLogicalPosition get() = "end".asDynamic().unsafeCast() +public inline val ScrollLogicalPosition.Companion.END: ScrollLogicalPosition get() = "end".toJsString().unsafeCast() -public inline val ScrollLogicalPosition.Companion.NEAREST: ScrollLogicalPosition get() = "nearest".asDynamic().unsafeCast() +public inline val ScrollLogicalPosition.Companion.NEAREST: ScrollLogicalPosition get() = "nearest".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -6408,10 +6504,10 @@ public external interface CSSBoxType : JsAny { companion object } -public inline val CSSBoxType.Companion.MARGIN: CSSBoxType get() = "margin".asDynamic().unsafeCast() +public inline val CSSBoxType.Companion.MARGIN: CSSBoxType get() = "margin".toJsString().unsafeCast() -public inline val CSSBoxType.Companion.BORDER: CSSBoxType get() = "border".asDynamic().unsafeCast() +public inline val CSSBoxType.Companion.BORDER: CSSBoxType get() = "border".toJsString().unsafeCast() -public inline val CSSBoxType.Companion.PADDING: CSSBoxType get() = "padding".asDynamic().unsafeCast() +public inline val CSSBoxType.Companion.PADDING: CSSBoxType get() = "padding".toJsString().unsafeCast() -public inline val CSSBoxType.Companion.CONTENT: CSSBoxType get() = "content".asDynamic().unsafeCast() \ No newline at end of file +public inline val CSSBoxType.Companion.CONTENT: CSSBoxType get() = "content".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt index 4f754a3ced0..127b905976b 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt @@ -21,8 +21,8 @@ public external open class MediaStream() : EventTarget, MediaProvider, JsAny { constructor(tracks: JsArray) open val id: String open val active: Boolean - var onaddtrack: ((MediaStreamTrackEvent) -> Dynamic?)? - var onremovetrack: ((MediaStreamTrackEvent) -> Dynamic?)? + var onaddtrack: ((MediaStreamTrackEvent) -> JsAny?)? + var onremovetrack: ((MediaStreamTrackEvent) -> JsAny?)? fun getAudioTracks(): JsArray fun getVideoTracks(): JsArray fun getTracks(): JsArray @@ -41,11 +41,11 @@ public external abstract class MediaStreamTrack : EventTarget, JsAny { open val label: String open var enabled: Boolean open val muted: Boolean - open var onmute: ((Event) -> Dynamic?)? - open var onunmute: ((Event) -> Dynamic?)? + open var onmute: ((Event) -> JsAny?)? + open var onunmute: ((Event) -> JsAny?)? open val readyState: MediaStreamTrackState - open var onended: ((Event) -> Dynamic?)? - open var onoverconstrained: ((Event) -> Dynamic?)? + open var onended: ((Event) -> JsAny?)? + open var onoverconstrained: ((Event) -> JsAny?)? fun clone(): MediaStreamTrack fun stop() fun getCapabilities(): MediaTrackCapabilities @@ -333,7 +333,7 @@ public fun OverconstrainedErrorEventInit(error: JsAny? = null, bubbles: Boolean? * Exposes the JavaScript [MediaDevices](https://developer.mozilla.org/en/docs/Web/API/MediaDevices) to Kotlin */ public external abstract class MediaDevices : EventTarget, JsAny { - open var ondevicechange: ((Event) -> Dynamic?)? + open var ondevicechange: ((Event) -> JsAny?)? fun enumerateDevices(): Promise> fun getSupportedConstraints(): MediaTrackSupportedConstraints fun getUserMedia(constraints: MediaStreamConstraints = definedExternally): Promise @@ -370,7 +370,7 @@ public external interface MediaStreamConstraints : JsAny { public fun MediaStreamConstraints(video: JsAny? = false.toJsBoolean(), audio: JsAny? = false.toJsBoolean()): MediaStreamConstraints { js("return { video, audio };") } public external interface ConstrainablePattern : JsAny { - var onoverconstrained: ((Event) -> Dynamic?)? + var onoverconstrained: ((Event) -> JsAny?)? get() = definedExternally set(value) = definedExternally fun getCapabilities(): Capabilities @@ -491,9 +491,9 @@ public external interface MediaStreamTrackState : JsAny { companion object } -public inline val MediaStreamTrackState.Companion.LIVE: MediaStreamTrackState get() = "live".asDynamic().unsafeCast() +public inline val MediaStreamTrackState.Companion.LIVE: MediaStreamTrackState get() = "live".toJsString().unsafeCast() -public inline val MediaStreamTrackState.Companion.ENDED: MediaStreamTrackState get() = "ended".asDynamic().unsafeCast() +public inline val MediaStreamTrackState.Companion.ENDED: MediaStreamTrackState get() = "ended".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -502,13 +502,13 @@ public external interface VideoFacingModeEnum : JsAny { companion object } -public inline val VideoFacingModeEnum.Companion.USER: VideoFacingModeEnum get() = "user".asDynamic().unsafeCast() +public inline val VideoFacingModeEnum.Companion.USER: VideoFacingModeEnum get() = "user".toJsString().unsafeCast() -public inline val VideoFacingModeEnum.Companion.ENVIRONMENT: VideoFacingModeEnum get() = "environment".asDynamic().unsafeCast() +public inline val VideoFacingModeEnum.Companion.ENVIRONMENT: VideoFacingModeEnum get() = "environment".toJsString().unsafeCast() -public inline val VideoFacingModeEnum.Companion.LEFT: VideoFacingModeEnum get() = "left".asDynamic().unsafeCast() +public inline val VideoFacingModeEnum.Companion.LEFT: VideoFacingModeEnum get() = "left".toJsString().unsafeCast() -public inline val VideoFacingModeEnum.Companion.RIGHT: VideoFacingModeEnum get() = "right".asDynamic().unsafeCast() +public inline val VideoFacingModeEnum.Companion.RIGHT: VideoFacingModeEnum get() = "right".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -517,9 +517,9 @@ public external interface VideoResizeModeEnum : JsAny { companion object } -public inline val VideoResizeModeEnum.Companion.NONE: VideoResizeModeEnum get() = "none".asDynamic().unsafeCast() +public inline val VideoResizeModeEnum.Companion.NONE: VideoResizeModeEnum get() = "none".toJsString().unsafeCast() -public inline val VideoResizeModeEnum.Companion.CROP_AND_SCALE: VideoResizeModeEnum get() = "crop-and-scale".asDynamic().unsafeCast() +public inline val VideoResizeModeEnum.Companion.CROP_AND_SCALE: VideoResizeModeEnum get() = "crop-and-scale".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -528,8 +528,8 @@ public external interface MediaDeviceKind : JsAny { companion object } -public inline val MediaDeviceKind.Companion.AUDIOINPUT: MediaDeviceKind get() = "audioinput".asDynamic().unsafeCast() +public inline val MediaDeviceKind.Companion.AUDIOINPUT: MediaDeviceKind get() = "audioinput".toJsString().unsafeCast() -public inline val MediaDeviceKind.Companion.AUDIOOUTPUT: MediaDeviceKind get() = "audiooutput".asDynamic().unsafeCast() +public inline val MediaDeviceKind.Companion.AUDIOOUTPUT: MediaDeviceKind get() = "audiooutput".toJsString().unsafeCast() -public inline val MediaDeviceKind.Companion.VIDEOINPUT: MediaDeviceKind get() = "videoinput".asDynamic().unsafeCast() \ No newline at end of file +public inline val MediaDeviceKind.Companion.VIDEOINPUT: MediaDeviceKind get() = "videoinput".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt index 5a75956aadb..4162e870c1e 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt @@ -21,9 +21,9 @@ public external open class MediaSource : EventTarget, MediaProvider, JsAny { open val activeSourceBuffers: SourceBufferList open val readyState: ReadyState var duration: Double - var onsourceopen: ((Event) -> Dynamic?)? - var onsourceended: ((Event) -> Dynamic?)? - var onsourceclose: ((Event) -> Dynamic?)? + var onsourceopen: ((Event) -> JsAny?)? + var onsourceended: ((Event) -> JsAny?)? + var onsourceclose: ((Event) -> JsAny?)? fun addSourceBuffer(type: String): SourceBuffer fun removeSourceBuffer(sourceBuffer: SourceBuffer) fun endOfStream(error: EndOfStreamError = definedExternally) @@ -48,11 +48,11 @@ public external abstract class SourceBuffer : EventTarget, JsAny { open val textTracks: TextTrackList open var appendWindowStart: Double open var appendWindowEnd: Double - open var onupdatestart: ((Event) -> Dynamic?)? - open var onupdate: ((Event) -> Dynamic?)? - open var onupdateend: ((Event) -> Dynamic?)? - open var onerror: ((Event) -> Dynamic?)? - open var onabort: ((Event) -> Dynamic?)? + open var onupdatestart: ((Event) -> JsAny?)? + open var onupdate: ((Event) -> JsAny?)? + open var onupdateend: ((Event) -> JsAny?)? + open var onerror: ((Event) -> JsAny?)? + open var onabort: ((Event) -> JsAny?)? fun appendBuffer(data: JsAny?) fun abort() fun remove(start: Double, end: Double) @@ -63,12 +63,15 @@ public external abstract class SourceBuffer : EventTarget, JsAny { */ public external abstract class SourceBufferList : EventTarget, JsAny { open val length: Int - open var onaddsourcebuffer: ((Event) -> Dynamic?)? - open var onremovesourcebuffer: ((Event) -> Dynamic?)? + open var onaddsourcebuffer: ((Event) -> JsAny?)? + open var onremovesourcebuffer: ((Event) -> JsAny?)? } +@PublishedApi +internal fun getMethodImplForSourceBufferList(obj: SourceBufferList, index: Int): SourceBuffer? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun SourceBufferList.get(index: Int): SourceBuffer? = asDynamic().getAny(index) +public inline operator fun SourceBufferList.get(index: Int): SourceBuffer? = getMethodImplForSourceBufferList(this, index) /* please, don't implement this interface! */ @JsName("null") @@ -77,11 +80,11 @@ public external interface ReadyState : JsAny { companion object } -public inline val ReadyState.Companion.CLOSED: ReadyState get() = "closed".asDynamic().unsafeCast() +public inline val ReadyState.Companion.CLOSED: ReadyState get() = "closed".toJsString().unsafeCast() -public inline val ReadyState.Companion.OPEN: ReadyState get() = "open".asDynamic().unsafeCast() +public inline val ReadyState.Companion.OPEN: ReadyState get() = "open".toJsString().unsafeCast() -public inline val ReadyState.Companion.ENDED: ReadyState get() = "ended".asDynamic().unsafeCast() +public inline val ReadyState.Companion.ENDED: ReadyState get() = "ended".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -90,9 +93,9 @@ public external interface EndOfStreamError : JsAny { companion object } -public inline val EndOfStreamError.Companion.NETWORK: EndOfStreamError get() = "network".asDynamic().unsafeCast() +public inline val EndOfStreamError.Companion.NETWORK: EndOfStreamError get() = "network".toJsString().unsafeCast() -public inline val EndOfStreamError.Companion.DECODE: EndOfStreamError get() = "decode".asDynamic().unsafeCast() +public inline val EndOfStreamError.Companion.DECODE: EndOfStreamError get() = "decode".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -101,6 +104,6 @@ public external interface AppendMode : JsAny { companion object } -public inline val AppendMode.Companion.SEGMENTS: AppendMode get() = "segments".asDynamic().unsafeCast() +public inline val AppendMode.Companion.SEGMENTS: AppendMode get() = "segments".toJsString().unsafeCast() -public inline val AppendMode.Companion.SEQUENCE: AppendMode get() = "sequence".asDynamic().unsafeCast() \ No newline at end of file +public inline val AppendMode.Companion.SEQUENCE: AppendMode get() = "sequence".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt index e162939dcba..292fadab009 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt @@ -192,11 +192,17 @@ public external abstract class SVGNameList : JsAny { fun getItem(index: Int): JsAny? } -@kotlin.internal.InlineOnly -public inline operator fun SVGNameList.get(index: Int): JsAny? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForSVGNameList(obj: SVGNameList, index: Int): JsAny? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGNameList.set(index: Int, newItem: JsAny?) { asDynamic()[index] = newItem } +public inline operator fun SVGNameList.get(index: Int): JsAny? = getMethodImplForSVGNameList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGNameList(obj: SVGNameList, index: Int, newItem: JsAny?) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGNameList.set(index: Int, newItem: JsAny?) = setMethodImplForSVGNameList(this, index, newItem) /** * Exposes the JavaScript [SVGNumberList](https://developer.mozilla.org/en/docs/Web/API/SVGNumberList) to Kotlin @@ -213,11 +219,17 @@ public external abstract class SVGNumberList : JsAny { fun getItem(index: Int): SVGNumber } -@kotlin.internal.InlineOnly -public inline operator fun SVGNumberList.get(index: Int): SVGNumber? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForSVGNumberList(obj: SVGNumberList, index: Int): SVGNumber? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGNumberList.set(index: Int, newItem: SVGNumber) { asDynamic()[index] = newItem } +public inline operator fun SVGNumberList.get(index: Int): SVGNumber? = getMethodImplForSVGNumberList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGNumberList(obj: SVGNumberList, index: Int, newItem: SVGNumber) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGNumberList.set(index: Int, newItem: SVGNumber) = setMethodImplForSVGNumberList(this, index, newItem) /** * Exposes the JavaScript [SVGLengthList](https://developer.mozilla.org/en/docs/Web/API/SVGLengthList) to Kotlin @@ -234,11 +246,17 @@ public external abstract class SVGLengthList : JsAny { fun getItem(index: Int): SVGLength } -@kotlin.internal.InlineOnly -public inline operator fun SVGLengthList.get(index: Int): SVGLength? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForSVGLengthList(obj: SVGLengthList, index: Int): SVGLength? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGLengthList.set(index: Int, newItem: SVGLength) { asDynamic()[index] = newItem } +public inline operator fun SVGLengthList.get(index: Int): SVGLength? = getMethodImplForSVGLengthList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGLengthList(obj: SVGLengthList, index: Int, newItem: SVGLength) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGLengthList.set(index: Int, newItem: SVGLength) = setMethodImplForSVGLengthList(this, index, newItem) /** * Exposes the JavaScript [SVGAnimatedBoolean](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedBoolean) to Kotlin @@ -335,11 +353,17 @@ public external abstract class SVGStringList : JsAny { fun getItem(index: Int): String } -@kotlin.internal.InlineOnly -public inline operator fun SVGStringList.get(index: Int): String? = asDynamic().getString(index) +@PublishedApi +internal fun getMethodImplForSVGStringList(obj: SVGStringList, index: Int): String? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGStringList.set(index: Int, newItem: String) { asDynamic()[index] = newItem } +public inline operator fun SVGStringList.get(index: Int): String? = getMethodImplForSVGStringList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGStringList(obj: SVGStringList, index: Int, newItem: String) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGStringList.set(index: Int, newItem: String) = setMethodImplForSVGStringList(this, index, newItem) /** * Exposes the JavaScript [SVGUnitTypes](https://developer.mozilla.org/en/docs/Web/API/SVGUnitTypes) to Kotlin @@ -789,11 +813,17 @@ public external abstract class SVGTransformList : JsAny { fun getItem(index: Int): SVGTransform } -@kotlin.internal.InlineOnly -public inline operator fun SVGTransformList.get(index: Int): SVGTransform? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForSVGTransformList(obj: SVGTransformList, index: Int): SVGTransform? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGTransformList.set(index: Int, newItem: SVGTransform) { asDynamic()[index] = newItem } +public inline operator fun SVGTransformList.get(index: Int): SVGTransform? = getMethodImplForSVGTransformList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGTransformList(obj: SVGTransformList, index: Int, newItem: SVGTransform) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGTransformList.set(index: Int, newItem: SVGTransform) = setMethodImplForSVGTransformList(this, index, newItem) /** * Exposes the JavaScript [SVGAnimatedTransformList](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedTransformList) to Kotlin @@ -1033,11 +1063,17 @@ public external abstract class SVGPointList : JsAny { fun getItem(index: Int): DOMPoint } -@kotlin.internal.InlineOnly -public inline operator fun SVGPointList.get(index: Int): DOMPoint? = asDynamic().getAny(index) +@PublishedApi +internal fun getMethodImplForSVGPointList(obj: SVGPointList, index: Int): DOMPoint? { js("return obj[index];") } @kotlin.internal.InlineOnly -public inline operator fun SVGPointList.set(index: Int, newItem: DOMPoint) { asDynamic()[index] = newItem } +public inline operator fun SVGPointList.get(index: Int): DOMPoint? = getMethodImplForSVGPointList(this, index) + +@PublishedApi +internal fun setMethodImplForSVGPointList(obj: SVGPointList, index: Int, newItem: DOMPoint) { js("obj[index] = newItem;") } + +@kotlin.internal.InlineOnly +public inline operator fun SVGPointList.set(index: Int, newItem: DOMPoint) = setMethodImplForSVGPointList(this, index, newItem) /** * Exposes the JavaScript [SVGPolylineElement](https://developer.mozilla.org/en/docs/Web/API/SVGPolylineElement) to Kotlin diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt index ef4acaa0356..fb7970d8b2a 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt @@ -153,21 +153,21 @@ public external interface RequestType : JsAny { companion object } -public inline val RequestType.Companion.EMPTY: RequestType get() = "".asDynamic().unsafeCast() +public inline val RequestType.Companion.EMPTY: RequestType get() = "".toJsString().unsafeCast() -public inline val RequestType.Companion.AUDIO: RequestType get() = "audio".asDynamic().unsafeCast() +public inline val RequestType.Companion.AUDIO: RequestType get() = "audio".toJsString().unsafeCast() -public inline val RequestType.Companion.FONT: RequestType get() = "font".asDynamic().unsafeCast() +public inline val RequestType.Companion.FONT: RequestType get() = "font".toJsString().unsafeCast() -public inline val RequestType.Companion.IMAGE: RequestType get() = "image".asDynamic().unsafeCast() +public inline val RequestType.Companion.IMAGE: RequestType get() = "image".toJsString().unsafeCast() -public inline val RequestType.Companion.SCRIPT: RequestType get() = "script".asDynamic().unsafeCast() +public inline val RequestType.Companion.SCRIPT: RequestType get() = "script".toJsString().unsafeCast() -public inline val RequestType.Companion.STYLE: RequestType get() = "style".asDynamic().unsafeCast() +public inline val RequestType.Companion.STYLE: RequestType get() = "style".toJsString().unsafeCast() -public inline val RequestType.Companion.TRACK: RequestType get() = "track".asDynamic().unsafeCast() +public inline val RequestType.Companion.TRACK: RequestType get() = "track".toJsString().unsafeCast() -public inline val RequestType.Companion.VIDEO: RequestType get() = "video".asDynamic().unsafeCast() +public inline val RequestType.Companion.VIDEO: RequestType get() = "video".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -176,35 +176,35 @@ public external interface RequestDestination : JsAny { companion object } -public inline val RequestDestination.Companion.EMPTY: RequestDestination get() = "".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.EMPTY: RequestDestination get() = "".toJsString().unsafeCast() -public inline val RequestDestination.Companion.DOCUMENT: RequestDestination get() = "document".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.DOCUMENT: RequestDestination get() = "document".toJsString().unsafeCast() -public inline val RequestDestination.Companion.EMBED: RequestDestination get() = "embed".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.EMBED: RequestDestination get() = "embed".toJsString().unsafeCast() -public inline val RequestDestination.Companion.FONT: RequestDestination get() = "font".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.FONT: RequestDestination get() = "font".toJsString().unsafeCast() -public inline val RequestDestination.Companion.IMAGE: RequestDestination get() = "image".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.IMAGE: RequestDestination get() = "image".toJsString().unsafeCast() -public inline val RequestDestination.Companion.MANIFEST: RequestDestination get() = "manifest".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.MANIFEST: RequestDestination get() = "manifest".toJsString().unsafeCast() -public inline val RequestDestination.Companion.MEDIA: RequestDestination get() = "media".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.MEDIA: RequestDestination get() = "media".toJsString().unsafeCast() -public inline val RequestDestination.Companion.OBJECT: RequestDestination get() = "object".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.OBJECT: RequestDestination get() = "object".toJsString().unsafeCast() -public inline val RequestDestination.Companion.REPORT: RequestDestination get() = "report".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.REPORT: RequestDestination get() = "report".toJsString().unsafeCast() -public inline val RequestDestination.Companion.SCRIPT: RequestDestination get() = "script".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.SCRIPT: RequestDestination get() = "script".toJsString().unsafeCast() -public inline val RequestDestination.Companion.SERVICEWORKER: RequestDestination get() = "serviceworker".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.SERVICEWORKER: RequestDestination get() = "serviceworker".toJsString().unsafeCast() -public inline val RequestDestination.Companion.SHAREDWORKER: RequestDestination get() = "sharedworker".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.SHAREDWORKER: RequestDestination get() = "sharedworker".toJsString().unsafeCast() -public inline val RequestDestination.Companion.STYLE: RequestDestination get() = "style".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.STYLE: RequestDestination get() = "style".toJsString().unsafeCast() -public inline val RequestDestination.Companion.WORKER: RequestDestination get() = "worker".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.WORKER: RequestDestination get() = "worker".toJsString().unsafeCast() -public inline val RequestDestination.Companion.XSLT: RequestDestination get() = "xslt".asDynamic().unsafeCast() +public inline val RequestDestination.Companion.XSLT: RequestDestination get() = "xslt".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -213,13 +213,13 @@ public external interface RequestMode : JsAny { companion object } -public inline val RequestMode.Companion.NAVIGATE: RequestMode get() = "navigate".asDynamic().unsafeCast() +public inline val RequestMode.Companion.NAVIGATE: RequestMode get() = "navigate".toJsString().unsafeCast() -public inline val RequestMode.Companion.SAME_ORIGIN: RequestMode get() = "same-origin".asDynamic().unsafeCast() +public inline val RequestMode.Companion.SAME_ORIGIN: RequestMode get() = "same-origin".toJsString().unsafeCast() -public inline val RequestMode.Companion.NO_CORS: RequestMode get() = "no-cors".asDynamic().unsafeCast() +public inline val RequestMode.Companion.NO_CORS: RequestMode get() = "no-cors".toJsString().unsafeCast() -public inline val RequestMode.Companion.CORS: RequestMode get() = "cors".asDynamic().unsafeCast() +public inline val RequestMode.Companion.CORS: RequestMode get() = "cors".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -228,11 +228,11 @@ public external interface RequestCredentials : JsAny { companion object } -public inline val RequestCredentials.Companion.OMIT: RequestCredentials get() = "omit".asDynamic().unsafeCast() +public inline val RequestCredentials.Companion.OMIT: RequestCredentials get() = "omit".toJsString().unsafeCast() -public inline val RequestCredentials.Companion.SAME_ORIGIN: RequestCredentials get() = "same-origin".asDynamic().unsafeCast() +public inline val RequestCredentials.Companion.SAME_ORIGIN: RequestCredentials get() = "same-origin".toJsString().unsafeCast() -public inline val RequestCredentials.Companion.INCLUDE: RequestCredentials get() = "include".asDynamic().unsafeCast() +public inline val RequestCredentials.Companion.INCLUDE: RequestCredentials get() = "include".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -241,17 +241,17 @@ public external interface RequestCache : JsAny { companion object } -public inline val RequestCache.Companion.DEFAULT: RequestCache get() = "default".asDynamic().unsafeCast() +public inline val RequestCache.Companion.DEFAULT: RequestCache get() = "default".toJsString().unsafeCast() -public inline val RequestCache.Companion.NO_STORE: RequestCache get() = "no-store".asDynamic().unsafeCast() +public inline val RequestCache.Companion.NO_STORE: RequestCache get() = "no-store".toJsString().unsafeCast() -public inline val RequestCache.Companion.RELOAD: RequestCache get() = "reload".asDynamic().unsafeCast() +public inline val RequestCache.Companion.RELOAD: RequestCache get() = "reload".toJsString().unsafeCast() -public inline val RequestCache.Companion.NO_CACHE: RequestCache get() = "no-cache".asDynamic().unsafeCast() +public inline val RequestCache.Companion.NO_CACHE: RequestCache get() = "no-cache".toJsString().unsafeCast() -public inline val RequestCache.Companion.FORCE_CACHE: RequestCache get() = "force-cache".asDynamic().unsafeCast() +public inline val RequestCache.Companion.FORCE_CACHE: RequestCache get() = "force-cache".toJsString().unsafeCast() -public inline val RequestCache.Companion.ONLY_IF_CACHED: RequestCache get() = "only-if-cached".asDynamic().unsafeCast() +public inline val RequestCache.Companion.ONLY_IF_CACHED: RequestCache get() = "only-if-cached".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -260,11 +260,11 @@ public external interface RequestRedirect : JsAny { companion object } -public inline val RequestRedirect.Companion.FOLLOW: RequestRedirect get() = "follow".asDynamic().unsafeCast() +public inline val RequestRedirect.Companion.FOLLOW: RequestRedirect get() = "follow".toJsString().unsafeCast() -public inline val RequestRedirect.Companion.ERROR: RequestRedirect get() = "error".asDynamic().unsafeCast() +public inline val RequestRedirect.Companion.ERROR: RequestRedirect get() = "error".toJsString().unsafeCast() -public inline val RequestRedirect.Companion.MANUAL: RequestRedirect get() = "manual".asDynamic().unsafeCast() +public inline val RequestRedirect.Companion.MANUAL: RequestRedirect get() = "manual".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -273,14 +273,14 @@ public external interface ResponseType : JsAny { companion object } -public inline val ResponseType.Companion.BASIC: ResponseType get() = "basic".asDynamic().unsafeCast() +public inline val ResponseType.Companion.BASIC: ResponseType get() = "basic".toJsString().unsafeCast() -public inline val ResponseType.Companion.CORS: ResponseType get() = "cors".asDynamic().unsafeCast() +public inline val ResponseType.Companion.CORS: ResponseType get() = "cors".toJsString().unsafeCast() -public inline val ResponseType.Companion.DEFAULT: ResponseType get() = "default".asDynamic().unsafeCast() +public inline val ResponseType.Companion.DEFAULT: ResponseType get() = "default".toJsString().unsafeCast() -public inline val ResponseType.Companion.ERROR: ResponseType get() = "error".asDynamic().unsafeCast() +public inline val ResponseType.Companion.ERROR: ResponseType get() = "error".toJsString().unsafeCast() -public inline val ResponseType.Companion.OPAQUE: ResponseType get() = "opaque".asDynamic().unsafeCast() +public inline val ResponseType.Companion.OPAQUE: ResponseType get() = "opaque".toJsString().unsafeCast() -public inline val ResponseType.Companion.OPAQUEREDIRECT: ResponseType get() = "opaqueredirect".asDynamic().unsafeCast() \ No newline at end of file +public inline val ResponseType.Companion.OPAQUEREDIRECT: ResponseType get() = "opaqueredirect".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt index 66e507e87f2..191c7a275d2 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt @@ -58,8 +58,11 @@ public external abstract class FileList : ItemArrayLike, JsAny { override fun item(index: Int): File? } +@PublishedApi +internal fun getMethodImplForFileList(obj: FileList, index: Int): File? { js("return obj[index];") } + @kotlin.internal.InlineOnly -public inline operator fun FileList.get(index: Int): File? = asDynamic().getAny(index) +public inline operator fun FileList.get(index: Int): File? = getMethodImplForFileList(this, index) /** * Exposes the JavaScript [FileReader](https://developer.mozilla.org/en/docs/Web/API/FileReader) to Kotlin @@ -68,12 +71,12 @@ public external open class FileReader : EventTarget, JsAny { open val readyState: Short open val result: JsAny? open val error: JsAny? - var onloadstart: ((ProgressEvent) -> Dynamic?)? - var onprogress: ((ProgressEvent) -> Dynamic?)? - var onload: ((Event) -> Dynamic?)? - var onabort: ((Event) -> Dynamic?)? - var onerror: ((Event) -> Dynamic?)? - var onloadend: ((Event) -> Dynamic?)? + var onloadstart: ((ProgressEvent) -> JsAny?)? + var onprogress: ((ProgressEvent) -> JsAny?)? + var onload: ((Event) -> JsAny?)? + var onabort: ((Event) -> JsAny?)? + var onerror: ((Event) -> JsAny?)? + var onloadend: ((Event) -> JsAny?)? fun readAsArrayBuffer(blob: Blob) fun readAsBinaryString(blob: Blob) fun readAsText(blob: Blob, label: String = definedExternally) diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt index b0124daa8c6..a48491664b3 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt @@ -17,8 +17,8 @@ import org.w3c.workers.* * Exposes the JavaScript [Notification](https://developer.mozilla.org/en/docs/Web/API/Notification) to Kotlin */ public external open class Notification(title: String, options: NotificationOptions = definedExternally) : EventTarget, JsAny { - var onclick: ((MouseEvent) -> Dynamic?)? - var onerror: ((Event) -> Dynamic?)? + var onclick: ((MouseEvent) -> JsAny?)? + var onerror: ((Event) -> JsAny?)? open val title: String open val dir: NotificationDirection open val lang: String @@ -155,11 +155,11 @@ public external interface NotificationPermission : JsAny { companion object } -public inline val NotificationPermission.Companion.DEFAULT: NotificationPermission get() = "default".asDynamic().unsafeCast() +public inline val NotificationPermission.Companion.DEFAULT: NotificationPermission get() = "default".toJsString().unsafeCast() -public inline val NotificationPermission.Companion.DENIED: NotificationPermission get() = "denied".asDynamic().unsafeCast() +public inline val NotificationPermission.Companion.DENIED: NotificationPermission get() = "denied".toJsString().unsafeCast() -public inline val NotificationPermission.Companion.GRANTED: NotificationPermission get() = "granted".asDynamic().unsafeCast() +public inline val NotificationPermission.Companion.GRANTED: NotificationPermission get() = "granted".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -168,8 +168,8 @@ public external interface NotificationDirection : JsAny { companion object } -public inline val NotificationDirection.Companion.AUTO: NotificationDirection get() = "auto".asDynamic().unsafeCast() +public inline val NotificationDirection.Companion.AUTO: NotificationDirection get() = "auto".toJsString().unsafeCast() -public inline val NotificationDirection.Companion.LTR: NotificationDirection get() = "ltr".asDynamic().unsafeCast() +public inline val NotificationDirection.Companion.LTR: NotificationDirection get() = "ltr".toJsString().unsafeCast() -public inline val NotificationDirection.Companion.RTL: NotificationDirection get() = "rtl".asDynamic().unsafeCast() \ No newline at end of file +public inline val NotificationDirection.Companion.RTL: NotificationDirection get() = "rtl".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt index 214d6796d2f..587319d6546 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt @@ -21,7 +21,7 @@ import org.w3c.notifications.* public external abstract class ServiceWorker : EventTarget, AbstractWorker, UnionMessagePortOrServiceWorker, UnionClientOrMessagePortOrServiceWorker, JsAny { open val scriptURL: String open val state: ServiceWorkerState - open var onstatechange: ((Event) -> Dynamic?)? + open var onstatechange: ((Event) -> JsAny?)? fun postMessage(message: JsAny?, transfer: JsArray = definedExternally) } @@ -33,7 +33,7 @@ public external abstract class ServiceWorkerRegistration : EventTarget, JsAny { open val waiting: ServiceWorker? open val active: ServiceWorker? open val scope: String - open var onupdatefound: ((Event) -> Dynamic?)? + open var onupdatefound: ((Event) -> JsAny?)? open val APISpace: JsAny? fun update(): Promise fun unregister(): Promise @@ -48,8 +48,8 @@ public external abstract class ServiceWorkerRegistration : EventTarget, JsAny { public external abstract class ServiceWorkerContainer : EventTarget, JsAny { open val controller: ServiceWorker? open val ready: Promise - open var oncontrollerchange: ((Event) -> Dynamic?)? - open var onmessage: ((MessageEvent) -> Dynamic?)? + open var oncontrollerchange: ((Event) -> JsAny?)? + open var onmessage: ((MessageEvent) -> JsAny?)? fun register(scriptURL: String, options: RegistrationOptions = definedExternally): Promise fun getRegistration(clientURL: String = definedExternally): Promise fun getRegistrations(): Promise> @@ -113,14 +113,14 @@ public fun ServiceWorkerMessageEventInit(data: JsAny? = undefined, origin: Strin public external abstract class ServiceWorkerGlobalScope : WorkerGlobalScope, JsAny { open val clients: Clients open val registration: ServiceWorkerRegistration - open var oninstall: ((Event) -> Dynamic?)? - open var onactivate: ((Event) -> Dynamic?)? - open var onfetch: ((FetchEvent) -> Dynamic?)? - open var onforeignfetch: ((Event) -> Dynamic?)? - open var onmessage: ((MessageEvent) -> Dynamic?)? - open var onnotificationclick: ((NotificationEvent) -> Dynamic?)? - open var onnotificationclose: ((NotificationEvent) -> Dynamic?)? - open var onfunctionalevent: ((Event) -> Dynamic?)? + open var oninstall: ((Event) -> JsAny?)? + open var onactivate: ((Event) -> JsAny?)? + open var onfetch: ((FetchEvent) -> JsAny?)? + open var onforeignfetch: ((Event) -> JsAny?)? + open var onmessage: ((MessageEvent) -> JsAny?)? + open var onnotificationclick: ((NotificationEvent) -> JsAny?)? + open var onnotificationclose: ((NotificationEvent) -> JsAny?)? + open var onfunctionalevent: ((Event) -> JsAny?)? fun skipWaiting(): Promise } @@ -392,15 +392,15 @@ public external interface ServiceWorkerState : JsAny { companion object } -public inline val ServiceWorkerState.Companion.INSTALLING: ServiceWorkerState get() = "installing".asDynamic().unsafeCast() +public inline val ServiceWorkerState.Companion.INSTALLING: ServiceWorkerState get() = "installing".toJsString().unsafeCast() -public inline val ServiceWorkerState.Companion.INSTALLED: ServiceWorkerState get() = "installed".asDynamic().unsafeCast() +public inline val ServiceWorkerState.Companion.INSTALLED: ServiceWorkerState get() = "installed".toJsString().unsafeCast() -public inline val ServiceWorkerState.Companion.ACTIVATING: ServiceWorkerState get() = "activating".asDynamic().unsafeCast() +public inline val ServiceWorkerState.Companion.ACTIVATING: ServiceWorkerState get() = "activating".toJsString().unsafeCast() -public inline val ServiceWorkerState.Companion.ACTIVATED: ServiceWorkerState get() = "activated".asDynamic().unsafeCast() +public inline val ServiceWorkerState.Companion.ACTIVATED: ServiceWorkerState get() = "activated".toJsString().unsafeCast() -public inline val ServiceWorkerState.Companion.REDUNDANT: ServiceWorkerState get() = "redundant".asDynamic().unsafeCast() +public inline val ServiceWorkerState.Companion.REDUNDANT: ServiceWorkerState get() = "redundant".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -409,13 +409,13 @@ public external interface FrameType : JsAny { companion object } -public inline val FrameType.Companion.AUXILIARY: FrameType get() = "auxiliary".asDynamic().unsafeCast() +public inline val FrameType.Companion.AUXILIARY: FrameType get() = "auxiliary".toJsString().unsafeCast() -public inline val FrameType.Companion.TOP_LEVEL: FrameType get() = "top-level".asDynamic().unsafeCast() +public inline val FrameType.Companion.TOP_LEVEL: FrameType get() = "top-level".toJsString().unsafeCast() -public inline val FrameType.Companion.NESTED: FrameType get() = "nested".asDynamic().unsafeCast() +public inline val FrameType.Companion.NESTED: FrameType get() = "nested".toJsString().unsafeCast() -public inline val FrameType.Companion.NONE: FrameType get() = "none".asDynamic().unsafeCast() +public inline val FrameType.Companion.NONE: FrameType get() = "none".toJsString().unsafeCast() /* please, don't implement this interface! */ @JsName("null") @@ -424,10 +424,10 @@ public external interface ClientType : JsAny { companion object } -public inline val ClientType.Companion.WINDOW: ClientType get() = "window".asDynamic().unsafeCast() +public inline val ClientType.Companion.WINDOW: ClientType get() = "window".toJsString().unsafeCast() -public inline val ClientType.Companion.WORKER: ClientType get() = "worker".asDynamic().unsafeCast() +public inline val ClientType.Companion.WORKER: ClientType get() = "worker".toJsString().unsafeCast() -public inline val ClientType.Companion.SHAREDWORKER: ClientType get() = "sharedworker".asDynamic().unsafeCast() +public inline val ClientType.Companion.SHAREDWORKER: ClientType get() = "sharedworker".toJsString().unsafeCast() -public inline val ClientType.Companion.ALL: ClientType get() = "all".asDynamic().unsafeCast() \ No newline at end of file +public inline val ClientType.Companion.ALL: ClientType get() = "all".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt index b2108b6cf5e..c8bc6c29874 100644 --- a/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt @@ -18,13 +18,13 @@ import org.w3c.files.* * Exposes the JavaScript [XMLHttpRequestEventTarget](https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequestEventTarget) to Kotlin */ public external abstract class XMLHttpRequestEventTarget : EventTarget, JsAny { - open var onloadstart: ((ProgressEvent) -> Dynamic?)? - open var onprogress: ((ProgressEvent) -> Dynamic?)? - open var onabort: ((Event) -> Dynamic?)? - open var onerror: ((Event) -> Dynamic?)? - open var onload: ((Event) -> Dynamic?)? - open var ontimeout: ((Event) -> Dynamic?)? - open var onloadend: ((Event) -> Dynamic?)? + open var onloadstart: ((ProgressEvent) -> JsAny?)? + open var onprogress: ((ProgressEvent) -> JsAny?)? + open var onabort: ((Event) -> JsAny?)? + open var onerror: ((Event) -> JsAny?)? + open var onload: ((Event) -> JsAny?)? + open var ontimeout: ((Event) -> JsAny?)? + open var onloadend: ((Event) -> JsAny?)? } public external abstract class XMLHttpRequestUpload : XMLHttpRequestEventTarget, JsAny @@ -33,7 +33,7 @@ public external abstract class XMLHttpRequestUpload : XMLHttpRequestEventTarget, * Exposes the JavaScript [XMLHttpRequest](https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest) to Kotlin */ public external open class XMLHttpRequest : XMLHttpRequestEventTarget, JsAny { - var onreadystatechange: ((Event) -> Dynamic?)? + var onreadystatechange: ((Event) -> JsAny?)? open val readyState: Short var timeout: Int var withCredentials: Boolean @@ -115,14 +115,14 @@ public external interface XMLHttpRequestResponseType : JsAny { companion object } -public inline val XMLHttpRequestResponseType.Companion.EMPTY: XMLHttpRequestResponseType get() = "".asDynamic().unsafeCast() +public inline val XMLHttpRequestResponseType.Companion.EMPTY: XMLHttpRequestResponseType get() = "".toJsString().unsafeCast() -public inline val XMLHttpRequestResponseType.Companion.ARRAYBUFFER: XMLHttpRequestResponseType get() = "arraybuffer".asDynamic().unsafeCast() +public inline val XMLHttpRequestResponseType.Companion.ARRAYBUFFER: XMLHttpRequestResponseType get() = "arraybuffer".toJsString().unsafeCast() -public inline val XMLHttpRequestResponseType.Companion.BLOB: XMLHttpRequestResponseType get() = "blob".asDynamic().unsafeCast() +public inline val XMLHttpRequestResponseType.Companion.BLOB: XMLHttpRequestResponseType get() = "blob".toJsString().unsafeCast() -public inline val XMLHttpRequestResponseType.Companion.DOCUMENT: XMLHttpRequestResponseType get() = "document".asDynamic().unsafeCast() +public inline val XMLHttpRequestResponseType.Companion.DOCUMENT: XMLHttpRequestResponseType get() = "document".toJsString().unsafeCast() -public inline val XMLHttpRequestResponseType.Companion.JSON: XMLHttpRequestResponseType get() = "json".asDynamic().unsafeCast() +public inline val XMLHttpRequestResponseType.Companion.JSON: XMLHttpRequestResponseType get() = "json".toJsString().unsafeCast() -public inline val XMLHttpRequestResponseType.Companion.TEXT: XMLHttpRequestResponseType get() = "text".asDynamic().unsafeCast() \ No newline at end of file +public inline val XMLHttpRequestResponseType.Companion.TEXT: XMLHttpRequestResponseType get() = "text".toJsString().unsafeCast() \ No newline at end of file diff --git a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/convertToModel.kt b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/convertToModel.kt index 6b7bada5851..b3acaef6ee3 100644 --- a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/convertToModel.kt +++ b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/convertToModel.kt @@ -37,7 +37,6 @@ import org.jetbrains.dukat.astModel.VariableModel import org.jetbrains.dukat.astModel.Variance import org.jetbrains.dukat.astModel.expressions.literals.StringLiteralExpressionModel import org.jetbrains.dukat.astModel.modifiers.VisibilityModifierModel -import org.jetbrains.dukat.astModel.statements.AssignmentStatementModel import org.jetbrains.dukat.astModel.statements.BlockStatementModel import org.jetbrains.dukat.astModel.statements.ExpressionStatementModel import org.jetbrains.dukat.astModel.statements.ReturnStatementModel @@ -49,7 +48,6 @@ import org.jetbrains.dukat.idlDeclarations.* import org.jetbrains.dukat.idlLowerings.IDLLowering import org.jetbrains.dukat.panic.raiseConcern import org.jetbrains.dukat.stdlib.TSLIBROOT -import org.jetbrains.dukat.stdlib.isDynamic import org.jetbrains.dukat.stdlib.isTsStdlibPrefixed import org.jetbrains.dukat.translator.ROOT_PACKAGENAME import java.io.File @@ -82,6 +80,11 @@ private val INLINE_ONLY_ANNOTATION = AnnotationModel( params = listOf() ) +private val PUBLISHED_API_ANNOTATION = AnnotationModel( + name = IdentifierEntity("PublishedApi"), + params = listOf() +) + private class IdlFileConverter( private val fileDeclaration: IDLFileDeclaration, private val typeMap: Map, @@ -155,22 +158,6 @@ private class IdlFileConverter( } } - private fun createGetterForDynamic(expression: ExpressionModel, type: TypeModel, key: String): ExpressionModel { - val identifierExpression = IdentifierExpressionModel(IdentifierEntity(key)) - return if (!true /* Use static getters */) { - IndexExpressionModel(expression, identifierExpression) - } else { - val converter = IdentifierEntity((type as? TypeValueModel)?.value?.staticConverter() ?: "getAny") - PropertyAccessExpressionModel( - left = expression, - right = CallExpressionModel( - expression = IdentifierExpressionModel(converter), - arguments = listOf(identifierExpression), - ) - ) - } - } - private fun String.stdFqName(): NameEntity? { val name = toStdMap[this] ?: this return if (stdLibTypes.contains(name)) { @@ -219,13 +206,7 @@ private class IdlFileConverter( } private fun IDLFunctionTypeDeclaration.convertToModel(): FunctionTypeModel { - - val returnTypeModel = if (returnType.name == "any") { - TypeValueModel(IdentifierEntity("dynamic"), listOf(), null, null) - } else { - returnType.convertToModel() - } - + val returnTypeModel = returnType.convertToModel() return FunctionTypeModel( parameters = arguments.filterNot { it.variadic }.map { it.convertToLambdaParameterModel() }, type = returnTypeModel, @@ -282,16 +263,51 @@ private class IdlFileConverter( ) } - private fun IDLSetterDeclaration.processAsTopLevel(ownerName: NameEntity): FunctionModel { - return FunctionModel( + private fun IDLSetterDeclaration.processAsTopLevel(ownerName: NameEntity): List { + val privateSetterName = IdentifierEntity("setMethodImplFor" + (ownerName as IdentifierEntity).value) + val unitType = TypeValueModel( + value = IdentifierEntity("Unit"), + params = listOf(), + metaDescription = null, + fqName = "Unit".stdFqName() + ) + + val privateSetterImpl = FunctionModel( + name = privateSetterName, + parameters = listOf( + ParameterModel( + "obj", + type = TypeValueModel(ownerName, params = emptyList(), null, null), + initializer = null, + vararg = false, + modifier = null + ), + key.convertToParameterModel(), + value.convertToParameterModel(), + ), + type = unitType, + typeParameters = listOf(), + export = false, + inline = false, + extend = null, + operator = false, + annotations = mutableListOf( + PUBLISHED_API_ANNOTATION + ), + body = BlockStatementModel( + listOf( + ExpressionStatementModel(callJsFunction("obj[${key.name}] = ${value.name};")) + ) + ), + visibilityModifier = VisibilityModifierModel.INTERNAL, + comment = null, + external = false + ) + + val publicSetter = FunctionModel( name = IdentifierEntity("set"), parameters = listOf(key.convertToParameterModel(), value.convertToParameterModel()), - type = TypeValueModel( - value = IdentifierEntity("Unit"), - params = listOf(), - metaDescription = null, - fqName = "Unit".stdFqName() - ), + type = unitType, typeParameters = listOf(), annotations = mutableListOf( INLINE_ONLY_ANNOTATION @@ -303,28 +319,65 @@ private class IdlFileConverter( name = ownerName, typeParameters = listOf() ), - body = BlockStatementModel(listOf( - AssignmentStatementModel( - IndexExpressionModel( - CallExpressionModel( - IdentifierExpressionModel(IdentifierEntity("asDynamic")), - listOf() + body = BlockStatementModel( + listOf( + ReturnStatementModel( + CallExpressionModel( + expression = IdentifierExpressionModel(privateSetterName), + arguments = listOf( + ThisExpressionModel(), + IdentifierExpressionModel(IdentifierEntity(key.name)), + IdentifierExpressionModel(IdentifierEntity(value.name)) ), - IdentifierExpressionModel( - IdentifierEntity(key.name) - ) - ), - IdentifierExpressionModel(IdentifierEntity(value.name)) + ) ) - )), - visibilityModifier = VisibilityModifierModel.DEFAULT, + ) + ), + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = true ) + return listOf(privateSetterImpl, publicSetter) } - private fun IDLGetterDeclaration.processAsTopLevel(ownerName: NameEntity): FunctionModel { - return FunctionModel( + private fun IDLGetterDeclaration.processAsTopLevel(ownerName: NameEntity): List { + val keyExpression = IdentifierExpressionModel(IdentifierEntity(value = key.name)) + IdentifierEntity((valueType.toNullableIfNotPrimitive().convertToModel() as? TypeValueModel)?.value?.staticConverter() ?: "getAny") + + val privateGetterName = IdentifierEntity("getMethodImplFor" + (ownerName as IdentifierEntity).value) + + val privateGetterImpl = FunctionModel( + name = privateGetterName, + parameters = listOf( + ParameterModel( + "obj", + type = TypeValueModel(ownerName, params = emptyList(), null, null), + initializer = null, + vararg = false, + modifier = null + ), + key.convertToParameterModel() + ), + type = valueType.toNullableIfNotPrimitive().convertToModel(), + typeParameters = listOf(), + export = false, + inline = false, + extend = null, + operator = false, + annotations = mutableListOf( + PUBLISHED_API_ANNOTATION + ), + body = BlockStatementModel( + listOf( + ExpressionStatementModel(callJsFunction("return obj[${key.name}];")) + ) + ), + visibilityModifier = VisibilityModifierModel.INTERNAL, + comment = null, + external = false + ) + + val publicGetter = FunctionModel( name = IdentifierEntity("get"), parameters = listOf(key.convertToParameterModel()), type = valueType.toNullableIfNotPrimitive().convertToModel(), @@ -339,24 +392,22 @@ private class IdlFileConverter( name = ownerName, typeParameters = listOf() ), - body = BlockStatementModel(listOf( + body = BlockStatementModel( + listOf( ReturnStatementModel( - createGetterForDynamic( - expression = CallExpressionModel( - IdentifierExpressionModel( - IdentifierEntity("asDynamic") - ), - listOf() - ), - type = valueType.toNullableIfNotPrimitive().convertToModel(), - key = key.name, + CallExpressionModel( + expression = IdentifierExpressionModel(privateGetterName), + arguments = listOf(ThisExpressionModel(), keyExpression), ) ) - )), - visibilityModifier = VisibilityModifierModel.DEFAULT, + ) + ), + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = true ) + + return listOf(privateGetterImpl, publicGetter) } private fun IDLInterfaceDeclaration.convertToModel(): List { @@ -386,7 +437,7 @@ private class IdlFileConverter( name = IdentifierEntity(""), members = staticMemberModels, parentEntities = listOf(), - visibilityModifier = VisibilityModifierModel.DEFAULT, + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = true ) @@ -424,7 +475,7 @@ private class IdlFileConverter( comment = null, annotations = annotationModels, external = true, - visibilityModifier = VisibilityModifierModel.DEFAULT + visibilityModifier = VisibilityModifierModel.PUBLIC ) } else { ClassModel( @@ -446,11 +497,11 @@ private class IdlFileConverter( } else { InheritanceModifierModel.OPEN }, - visibilityModifier = VisibilityModifierModel.DEFAULT + visibilityModifier = VisibilityModifierModel.PUBLIC ) } - val getterModels = getters.map { it.processAsTopLevel(declaration.name) } - val setterModels = setters.map { it.processAsTopLevel(declaration.name) } + val getterModels = getters.flatMap { it.processAsTopLevel(declaration.name) } + val setterModels = setters.flatMap { it.processAsTopLevel(declaration.name) } return listOf(declaration) + getterModels + setterModels } @@ -476,22 +527,7 @@ private class IdlFileConverter( val defaultValueModel = IdentifierExpressionModel( IdentifierEntity(newDefaultValue!!) ) - if (newDefaultValue != "undefined" && type is TypeValueModel && type.value.isDynamic) { - ExpressionStatementModel( - PropertyAccessExpressionModel( - defaultValueModel, - CallExpressionModel( - IdentifierExpressionModel( - IdentifierEntity("unsafeCast") - ), - listOf(), - typeParameters = listOf(type) - ) - ) - ) - } else { - ExpressionStatementModel(defaultValueModel) - } + ExpressionStatementModel(defaultValueModel) } else { null }, @@ -500,20 +536,6 @@ private class IdlFileConverter( ) } - private fun IDLDictionaryMemberDeclaration.convertToAssignmentStatementModel(): AssignmentStatementModel { - return AssignmentStatementModel( - IndexExpressionModel( - IdentifierExpressionModel( - IdentifierEntity("o") - ), - StringLiteralExpressionModel(name) - ), - IdentifierExpressionModel( - IdentifierEntity(name) - ) - ) - } - fun callJsFunction(code: String): CallExpressionModel = CallExpressionModel( expression = IdentifierExpressionModel(IdentifierEntity("js")), @@ -543,7 +565,7 @@ private class IdlFileConverter( comment = null, annotations = mutableListOf(), external = true, - visibilityModifier = VisibilityModifierModel.DEFAULT + visibilityModifier = VisibilityModifierModel.PUBLIC ) val generatedFunction = FunctionModel( name = IdentifierEntity(name), @@ -566,7 +588,7 @@ private class IdlFileConverter( operator = false, extend = null, body = BlockStatementModel(generateFunctionBody()), - visibilityModifier = VisibilityModifierModel.DEFAULT, + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = false ) @@ -581,7 +603,7 @@ private class IdlFileConverter( name = IdentifierEntity(""), members = listOf(), parentEntities = listOf(), - visibilityModifier = VisibilityModifierModel.DEFAULT, + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = false ), @@ -607,7 +629,7 @@ private class IdlFileConverter( ) ), external = true, - visibilityModifier = VisibilityModifierModel.DEFAULT + visibilityModifier = VisibilityModifierModel.PUBLIC ) val generatedVariables = members.map { memberName -> val processedName = processEnumMember(memberName) @@ -631,7 +653,7 @@ private class IdlFileConverter( memberName.removeSurrounding("\"") ), CallExpressionModel( - IdentifierExpressionModel(IdentifierEntity("asDynamic")), + IdentifierExpressionModel(IdentifierEntity("toJsString")), listOf() ) ), @@ -660,7 +682,7 @@ private class IdlFileConverter( ), typeParameters = listOf() ), - visibilityModifier = VisibilityModifierModel.DEFAULT, + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, explicitlyDeclaredType = true ) @@ -674,7 +696,7 @@ private class IdlFileConverter( members = attributes.mapNotNull { it.convertToModel() } + operations.mapNotNull { it.convertToModel() }, parentEntities = listOf(), - visibilityModifier = VisibilityModifierModel.DEFAULT, + visibilityModifier = VisibilityModifierModel.PUBLIC, comment = null, external = true ) @@ -696,7 +718,7 @@ private class IdlFileConverter( comment = null, annotations = mutableListOf(), external = true, - visibilityModifier = VisibilityModifierModel.DEFAULT + visibilityModifier = VisibilityModifierModel.PUBLIC ) } diff --git a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/translator.kt b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/translator.kt index 53f07293aac..9f57b03c2b5 100644 --- a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/translator.kt +++ b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/wasm/translator.kt @@ -41,7 +41,6 @@ fun translateIdlToSourceSet(fileName: String): SourceSetModel { .lower(ReplaceDynamics()) // Wasm-specific .addKDocs() .relocateDeclarations() - .resolveTopLevelVisibility(alwaysPublic()) .addImportsForUsedPackages() .omitStdLib() .lower(WasmPostProcessingHacks()) @@ -97,8 +96,3 @@ class WasmPostProcessingHacks : TopLevelModelLowering { } } } - - -private fun alwaysPublic(): VisibilityModifierResolver = object : VisibilityModifierResolver { - override fun resolve(): VisibilityModifierModel = VisibilityModifierModel.PUBLIC -}