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

commonMain.animals_nature._allAnimalsNature.kt Maven / Gradle / Ivy

package org.kodein.emoji.animals_nature

import org.kodein.emoji.Emoji
import org.kodein.emoji.EmojiFinder
import org.kodein.emoji.animals_nature.animal_mammal.*
import org.kodein.emoji.animals_nature.animal_bird.*
import org.kodein.emoji.animals_nature.animal_amphibian.*
import org.kodein.emoji.animals_nature.animal_reptile.*
import org.kodein.emoji.animals_nature.animal_marine.*
import org.kodein.emoji.animals_nature.animal_bug.*
import org.kodein.emoji.animals_nature.plant_flower.*
import org.kodein.emoji.animals_nature.plant_other.*


internal fun EmojiFinder.addAllAnimalsNature() {
    addAllAnimalMammal()
    addAllAnimalBird()
    addAllAnimalAmphibian()
    addAllAnimalReptile()
    addAllAnimalMarine()
    addAllAnimalBug()
    addAllPlantFlower()
    addAllPlantOther()
}

internal suspend fun SequenceScope.yieldAllAnimalsNature() {
    yieldAllAnimalMammal()
    yieldAllAnimalBird()
    yieldAllAnimalAmphibian()
    yieldAllAnimalReptile()
    yieldAllAnimalMarine()
    yieldAllAnimalBug()
    yieldAllPlantFlower()
    yieldAllPlantOther()
}

internal val countAnimalsNature = 153

/**
 * All Emoji of the Animals & Nature group.
*/
public fun Emoji.Companion.sequenceAnimalsNature(): Sequence =
    sequence { yieldAllAnimalsNature() }

/**
 * All Emoji of the Animals & Nature group.
 *
 * WARNING: This can be quite heavy to construct.
 * This method should be called in background and its result should be cached.
*/
public fun Emoji.Companion.allAnimalsNature(): List =
    ArrayList(countAnimalsNature).also { list -> sequenceAnimalsNature().forEach { list.add(it) } }

internal fun allAnimalsNatureSubgroups(): Map List> =
    mapOf(
        "animal_mammal" to { Emoji.listAnimalMammal() },
        "animal_bird" to { Emoji.listAnimalBird() },
        "animal_amphibian" to { Emoji.listAnimalAmphibian() },
        "animal_reptile" to { Emoji.listAnimalReptile() },
        "animal_marine" to { Emoji.listAnimalMarine() },
        "animal_bug" to { Emoji.listAnimalBug() },
        "plant_flower" to { Emoji.listPlantFlower() },
        "plant_other" to { Emoji.listPlantOther() },
    )




© 2015 - 2025 Weber Informatics LLC | Privacy Policy