All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hnau.base.extensions.container.NullableSingleIterableExtensions.kt Maven / Gradle / Ivy

There is a newer version: 2.1.9
Show newest version
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()




© 2015 - 2024 Weber Informatics LLC | Privacy Policy