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

commonMain.viewmodel.ScopeConfig.kt Maven / Gradle / Ivy

@file:Suppress("NON_EXPORTABLE_TYPE", "WRONG_EXPORTED_DECLARATION")

package viewmodel

import cache.Cache
import koncurrent.Executor
import koncurrent.SynchronousExecutor
import kotlinx.serialization.StringFormat
import logging.ConsoleAppender
import logging.Logger
import viewmodel.internal.ScopeConfigImpl
import viewmodel.internal.StatefulViewModelConfigImpl
import kotlin.js.JsExport
import kotlin.js.JsName
import kotlin.jvm.*

@JsExport
interface ScopeConfig : ViewModelConfig {
    val api: A

    fun  map(transformer: (A) -> R): ScopeConfig

    companion object {

        @JsName("ofService")
        @JvmName("ofService")
        @JvmOverloads
        @JvmStatic
        operator fun  invoke(
            api: A,
            executor: Executor = ViewModelConfig.DEFAULT_EXECUTOR,
            logger: Logger = ViewModelConfig.DEFAULT_LOGGER,
            cache: Cache = ViewModelConfig.DEFAULT_CACHE,
            codec: StringFormat = ViewModelConfig.DEFAULT_CODEC
        ): ScopeConfig = ScopeConfigImpl(api, executor, logger, cache, codec)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy