[stdlib] Explicit visibility and return types: DOM API

This commit is contained in:
Ilya Gorbunov
2023-11-07 22:30:30 +01:00
committed by Space Team
parent ce427b96b3
commit 4d8cf4903c
9 changed files with 19 additions and 18 deletions
@@ -9,7 +9,7 @@ import org.w3c.dom.*
/** Returns true if the element has the given CSS class style in its 'class' attribute */
@SinceKotlin("1.4")
fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+)$cssClass($|\s+.*)""".toRegex())
public fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+)$cssClass($|\s+.*)""".toRegex())
/**
* Adds CSS class to element. Has no effect if all specified classes are already in class attribute of the element
@@ -17,7 +17,7 @@ fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+)
* @return true if at least one class has been added
*/
@SinceKotlin("1.4")
fun Element.addClass(vararg cssClasses: String): Boolean {
public fun Element.addClass(vararg cssClasses: String): Boolean {
val missingClasses = cssClasses.filterNot { hasClass(it) }
if (missingClasses.isNotEmpty()) {
val presentClasses = className.trim()
@@ -40,7 +40,7 @@ fun Element.addClass(vararg cssClasses: String): Boolean {
* @return true if at least one class has been removed
*/
@SinceKotlin("1.4")
fun Element.removeClass(vararg cssClasses: String): Boolean {
public fun Element.removeClass(vararg cssClasses: String): Boolean {
if (cssClasses.any { hasClass(it) }) {
val toBeRemoved = cssClasses.toSet()
className = className.trim().split("\\s+".toRegex()).filter { it !in toBeRemoved }.joinToString(" ")
@@ -6,8 +6,8 @@
package org.w3c.dom
public external interface ItemArrayLike<out T : JsAny?> : JsAny {
val length: Int
fun item(index: Int): T?
public val length: Int
public fun item(index: Int): T?
}
public fun <T : JsAny?> ItemArrayLike<T>.asList(): List<T> = object : AbstractList<T>() {
@@ -21,7 +21,7 @@ public fun Node.clear() {
* @return this element
*/
@SinceKotlin("1.4")
fun Element.appendText(text: String): Element {
public fun Element.appendText(text: String): Element {
appendChild(ownerDocument!!.createTextNode(text))
return this
}