org.hnau.base.extensions.container.NullableSingleIterableExtensions.kt Maven / Gradle / Ivy
package org.hnau.base.extensions.container
import java.util.*
import kotlin.collections.LinkedHashSet
fun T?.toSingleItemOrEmptyList() =
this?.let { listOf(this) } ?: listOf()
fun T?.toSingleItemOrEmptyMutableList() =
this?.let { mutableListOf(it) } ?: mutableListOf()
fun T?.toSingleItemOrEmptyArrayList() =
this?.let { arrayListOf(this) } ?: arrayListOf()
fun T?.toSingleItemOrEmptyLinkedList() =
LinkedList().apply { this@toSingleItemOrEmptyLinkedList?.let { add(it) } }
fun T?.toSingleItemOrEmptySet() =
this?.let { setOf(this) } ?: setOf()
fun T?.toSingleItemOrEmptyMutableSet() =
this?.let { mutableSetOf(this) } ?: mutableSetOf()
fun T?.toSingleItemOrEmptyHashSet() =
this?.let { hashSetOf(this) } ?: hashSetOf()
fun T?.toSingleItemOrEmptyLinkedHashSet() =
LinkedHashSet().apply { this@toSingleItemOrEmptyLinkedHashSet?.let { add(it) } }
inline fun T?.toSingleItemOrEmptyArray() =
this?.let { arrayOf(this) } ?: emptyArray()