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

commonMain.kase.progress.ProgressionConstructors.kt Maven / Gradle / Ivy

There is a newer version: 3.0.13
Show newest version
@file:Suppress("NOTHING_TO_INLINE")

package kase.progress

import kase.ProgressionStageBuilder
import kase.internal.SimpleNumberProgressionImpl


inline fun Progression(
    done: Number,
    total: Number
): SimpleProgression = SimpleNumberProgressionImpl(done, total)

fun  Progression(vararg stages: String) : List> {
    val builder = StageProgressionBuilder(stages)
    return builder.stages
}

class StageProgressionBuilder(private val names: Array) {
    val stages = names.mapIndexed { index, s -> ProgressionStageBuilderImpl(s, index) }

    inner class ProgressionStageBuilderImpl(
        val name: String,
        val index: Int
    ) : ProgressionStageBuilder {
        override fun invoke(done: T, total: T): SimpleProgression {
            TODO()
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy