diff --git a/build.gradle.kts b/build.gradle.kts index 873fffff5..c3730e65c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,6 +21,7 @@ buildscript { classpath(libs.kover.plugin) classpath(libs.atomic.fu.gradle.plugin) classpath(libs.kmmBridge.gradle.plugin) + classpath(libs.binary.compatibility.validator) } } diff --git a/cache/build.gradle.kts b/cache/build.gradle.kts deleted file mode 100644 index 6f8ea45e7..000000000 --- a/cache/build.gradle.kts +++ /dev/null @@ -1,127 +0,0 @@ -@file:Suppress("UnstableApiUsage") - -import com.vanniktech.maven.publish.SonatypeHost.S01 -import org.jetbrains.dokka.gradle.DokkaTask -import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl - -plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - `maven-publish` - kotlin("native.cocoapods") - id("kotlinx-atomicfu") -} - -kotlin { - android() - jvm() - iosArm64() - iosX64() - linuxX64() - iosSimulatorArm64() - js { - browser() - nodejs() - } - @OptIn(ExperimentalWasmDsl::class) - wasmJs { - nodejs() - } - cocoapods { - summary = "Cache5" - homepage = "https://github.com/MobileNativeFoundation/Store" - ios.deploymentTarget = "13" - version = libs.versions.store.get() - } - - sourceSets { - all { - languageSettings.apply { - optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - optIn("kotlin.RequiresOptIn") - } - } - - val commonMain by getting { - dependencies { - api(libs.kotlinx.atomic.fu) - api(project(":core")) - implementation(libs.kotlinx.coroutines.core) - } - } - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(libs.junit) - implementation(libs.kotlinx.coroutines.test) - } - } - - val jvmMain by getting - val androidMain by getting - val nativeMain by creating { - dependsOn(commonMain) - } - } - - jvmToolchain(17) -} - -android { - namespace = "org.mobilenativefoundation.store.cache5" - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(S01) - signAllPublications() -} - -koverMerged { - enable() - - xmlReport { - onCheck.set(true) - reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) - } - - htmlReport { - onCheck.set(true) - reportDir.set(layout.projectDirectory.dir("kover/html")) - } - - verify { - onCheck.set(true) - } -} diff --git a/core/build.gradle.kts b/core/build.gradle.kts deleted file mode 100644 index 6200ddb53..000000000 --- a/core/build.gradle.kts +++ /dev/null @@ -1,111 +0,0 @@ -import com.vanniktech.maven.publish.SonatypeHost -import org.jetbrains.dokka.gradle.DokkaTask -import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl - -plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - id("co.touchlab.faktory.kmmbridge") - `maven-publish` - kotlin("native.cocoapods") - id("kotlinx-atomicfu") -} - -kotlin { - android() - jvm() - iosArm64() - iosX64() - linuxX64() - iosSimulatorArm64() - js { - browser() - nodejs() - } - @OptIn(ExperimentalWasmDsl::class) - wasmJs { - nodejs() - } - - sourceSets { - val commonMain by getting { - dependencies { - implementation(libs.kotlin.stdlib) - } - } - } - - jvmToolchain(17) -} - -android { - namespace = "org.mobilenativefoundation.store.core5" - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(SonatypeHost.S01) - signAllPublications() -} - -addGithubPackagesRepository() -kmmbridge { - githubReleaseArtifacts() - githubReleaseVersions() - versionPrefix.set(libs.versions.store.get()) - spm() -} - -koverMerged { - enable() - - xmlReport { - onCheck.set(true) - reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) - } - - htmlReport { - onCheck.set(true) - reportDir.set(layout.projectDirectory.dir("kover/html")) - } - - verify { - onCheck.set(true) - } -} - -atomicfu { - transformJvm = false - transformJs = false -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e2d730357..2b19f2aae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,6 +23,7 @@ ktlint = "0.39.0" kover = "0.6.0" store = "5.1.0-alpha02" truth = "1.1.3" +binary-compatibility-validator = "0.15.0-Beta.2" [libraries] android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" } @@ -55,6 +56,8 @@ junit = { group = "junit", name = "junit", version.ref = "junit" } google-truth = { group = "com.google.truth", name = "truth", version.ref = "truth" } touchlab-kermit = { group = "co.touchlab", name = "kermit", version.ref = "kermit" } turbine = "app.cash.turbine:turbine:1.0.0" +binary-compatibility-validator = {module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "binary-compatibility-validator"} [plugins] -ktlint = {id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlintGradle"} \ No newline at end of file +ktlint = {id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlintGradle"} +binary-compatibility-validator = {id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "binary-compatibility-validator"} \ No newline at end of file diff --git a/multicast/build.gradle.kts b/multicast/build.gradle.kts deleted file mode 100644 index 2ba1ed49a..000000000 --- a/multicast/build.gradle.kts +++ /dev/null @@ -1,123 +0,0 @@ -@file:Suppress("UnstableApiUsage") - -import com.vanniktech.maven.publish.SonatypeHost.S01 -import org.jetbrains.dokka.gradle.DokkaTask - -plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - `maven-publish` - kotlin("native.cocoapods") - id("kotlinx-atomicfu") -} - -kotlin { - android() - jvm() - iosArm64() - iosX64() - linuxX64() - iosSimulatorArm64() - js { - browser() - nodejs() - } - cocoapods { - summary = "Multicast5" - homepage = "https://github.com/MobileNativeFoundation/Store" - ios.deploymentTarget = "13" - version = libs.versions.store.get() - } - - sourceSets { - all { - languageSettings.apply { - optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - optIn("kotlin.RequiresOptIn") - } - } - - val commonMain by getting { - dependencies { - api(libs.kotlinx.atomic.fu) - implementation(libs.kotlinx.coroutines.core) - } - } - - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(libs.junit) - implementation(libs.kotlinx.coroutines.test) - implementation(libs.turbine) - } - } - - val jvmMain by getting - val androidMain by getting - val nativeMain by creating { - dependsOn(commonMain) - } - } - - jvmToolchain(17) -} - -android { - namespace = "org.mobilenativefoundation.store.multicast5" - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(S01) - signAllPublications() -} - -koverMerged { - enable() - - xmlReport { - onCheck.set(true) - reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) - } - - htmlReport { - onCheck.set(true) - reportDir.set(layout.projectDirectory.dir("kover/html")) - } - - verify { - onCheck.set(true) - } -} diff --git a/paging/build.gradle.kts b/paging/build.gradle.kts deleted file mode 100644 index 96ca43b27..000000000 --- a/paging/build.gradle.kts +++ /dev/null @@ -1,125 +0,0 @@ -import com.vanniktech.maven.publish.SonatypeHost -import org.jetbrains.dokka.gradle.DokkaTask - -plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - id("co.touchlab.faktory.kmmbridge") - `maven-publish` - kotlin("native.cocoapods") - id("kotlinx-atomicfu") -} - -kotlin { - android() - jvm() - iosArm64() - iosX64() - linuxX64() - iosSimulatorArm64() - js { - browser() - nodejs() - } - cocoapods { - summary = "Store5/Paging" - homepage = "https://github.com/MobileNativeFoundation/Store" - ios.deploymentTarget = "13" - version = libs.versions.store.get() - } - - sourceSets { - val commonMain by getting { - dependencies { - implementation(libs.kotlin.stdlib) - implementation(project(":store")) - implementation(project(":cache")) - api(project(":core")) - implementation(libs.kotlinx.coroutines.core) - } - } - - val androidMain by getting - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(libs.turbine) - implementation(libs.kotlinx.coroutines.test) - } - } - } - - jvmToolchain(17) -} - -android { - namespace = "org.mobilenativefoundation.store.paging5" - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(SonatypeHost.S01) - signAllPublications() -} - -addGithubPackagesRepository() -kmmbridge { - githubReleaseArtifacts() - githubReleaseVersions() - versionPrefix.set(libs.versions.store.get()) - spm() -} - -koverMerged { - enable() - - xmlReport { - onCheck.set(true) - reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) - } - - htmlReport { - onCheck.set(true) - reportDir.set(layout.projectDirectory.dir("kover/html")) - } - - verify { - onCheck.set(true) - } -} - -atomicfu { - transformJvm = false - transformJs = false -} diff --git a/paging/docs/design_doc.md b/paging/docs/design_doc.md deleted file mode 100644 index 493a95ffb..000000000 --- a/paging/docs/design_doc.md +++ /dev/null @@ -1,246 +0,0 @@ -# Technical Design Doc: Native Paging Support in Store5 - -## Context and Scope -Feature request: [MobileNativeFoundation/Store#250](https://github.com/MobileNativeFoundation/Store/issues/250) - -This proposal addresses the need for paging support in Store. This enhancement aims to provide a simple, efficient, and flexible way to handle complex operations on large datasets. - -## Goals and Non-Goals -### Goals -- Provide native support for page-based and cursor-based fetches, handling both single items and collections. -- Enable read and write operations within a paging store. -- Support complex loading and fetching operations such as sorting and filtering. -- Ensure thread safety and concurrency support. -- Layer on top of existing Store APIs: no breaking changes! -### Non-Goals -- Integration with Paging3. -- Providing a one-size-fits-all solution: our approach should be flexible to cater to different use cases. - -## The Actual Design - -### APIs -#### StoreKey -An interface that defines keys used by Store for data-fetching operations. Allows Store to load individual items and collections of items. Provides mechanisms for ID-based fetch, page-based fetch, and cursor-based fetch. Includes options for sorting and filtering. - -```kotlin - interface StoreKey { - interface Single : StoreKey { - val id: Id - } - interface Collection : StoreKey { - val insertionStrategy: InsertionStrategy - interface Page : Collection { - val page: Int - val size: Int - val sort: Sort? - val filters: List>? - } - interface Cursor : Collection { - val cursor: Id? - val size: Int - val sort: Sort? - val filters: List>? - } - } - } -``` - -#### StoreData -An interface that defines items that can be uniquely identified. Every item that implements the `StoreData` interface must have a means of identification. This is useful in scenarios when data can be represented as singles or collections. - -```kotlin - interface StoreData { - interface Single : StoreData { - val id: Id - } - interface Collection> : StoreData { - val items: List - fun copyWith(items: List): Collection - fun insertItems(strategy: InsertionStrategy, items: List): Collection - } - } -``` - -#### KeyProvider -An interface to derive keys based on provided data. `StoreMultiCache` depends on `KeyProvider` to: - -1. Derive a single key for a collection item based on the collection’s key and that item’s value. -2. Insert a single item into the correct collection based on its key and value. - -```kotlin - interface KeyProvider> { - fun from(key: StoreKey.Collection, value: Single): StoreKey.Single - fun from(key: StoreKey.Single, value: Single): StoreKey.Collection - } -``` - -### Implementations - -#### StoreMultiCache -Thread-safe caching system with collection decomposition. Manages data with utility functions to get, invalidate, and add items to the cache. Depends on `StoreMultiCacheAccessor` for internal data management. Should be used instead of `MultiCache`. - -```kotlin - class StoreMultiCache, Single : StoreData.Single, Collection : StoreData.Collection, Output : StoreData>( - private val keyProvider: KeyProvider, - singlesCache: Cache, Single> = CacheBuilder, Single>().build(), - collectionsCache: Cache, Collection> = CacheBuilder, Collection>().build(), - ): Cache -``` - -#### StoreMultiCacheAccessor -Thread-safe intermediate data manager for a caching system supporting list decomposition. Tracks keys for rapid data retrieval and modification. - -#### LaunchPagingStore -Main entry point for the paging mechanism. This will launch and manage a `StateFlow` that reflects the current state of the Store. - -```kotlin - fun , Output : StoreData> Store.launchPagingStore( - scope: CoroutineScope, - keys: Flow, - ): StateFlow> - - @OptIn(ExperimentalStoreApi::class) - fun , Output : StoreData> MutableStore.launchPagingStore( - scope: CoroutineScope, - keys: Flow, - ): StateFlow> -``` - -## Usage -### StoreKey Example -```kotlin - sealed class ExampleKey : StoreKey { - data class Cursor( - override val cursor: String?, - override val size: Int, - override val sort: StoreKey.Sort? = null, - override val filters: List>? = null, - override val insertionStrategy: InsertionStrategy = InsertionStrategy.APPEND - ) : StoreKey.Collection.Cursor, ExampleKey() - - data class Single( - override val id: String - ) : StoreKey.Single, ExampleKey() - } -``` - -### StoreData Example -```kotlin - sealed class ExampleData : StoreData { - data class Single(val postId: String, val title: String) : StoreData.Single, ExampleData() { - override val id: String get() = postId - } - - data class Collection(val singles: List) : StoreData.Collection, ExampleData() { - override val items: List get() = singles - override fun copyWith(items: List): StoreData.Collection = copy(singles = items) - override fun insertItems(strategy: InsertionStrategy, items: List): StoreData.Collection { - - return when (strategy) { - InsertionStrategy.APPEND -> { - val updatedItems = items.toMutableList() - updatedItems.addAll(singles) - copyWith(items = updatedItems) - } - - InsertionStrategy.PREPEND -> { - val updatedItems = singles.toMutableList() - updatedItems.addAll(items) - copyWith(items = updatedItems) - } - } - } - } - } -``` - -### LaunchPagingStore Example -```kotlin - @OptIn(ExperimentalStoreApi::class) - class ExampleViewModel( - private val store: MutableStore, - private val coroutineScope: CoroutineScope = viewModelScope, - private val loadSize: Int = DEFAULT_LOAD_SIZE - ) : ViewModel() { - - private val keys = MutableStateFlow(ExampleKey.Cursor(null, loadSize)) - private val _loading = MutableStateFlow(false) - private val _error = MutableStateFlow(null) - - val stateFlow = store.launchPagingStore(coroutineScope, keys) - val loading: StateFlow = _loading.asStateFlow() - val error: StateFlow = _error.asStateFlow() - - init { - TODO("Observe loading and error states and perform any other necessary initializations") - } - - fun loadMore() { - if (_loading.value) return // Prevent loading more if already loading - _loading.value = true - - coroutineScope.launch { - try { - val currentKey = keys.value - val currentCursor = currentKey.cursor - val nextCursor = determineNextCursor(currentCursor) - val nextKey = currentKey.copy(cursor = nextCursor) - keys.value = nextKey - } catch (e: Throwable) { - _error.value = e - } finally { - _loading.value = false - } - } - } - - fun write(key: ExampleKey.Single, value: ExampleData.Single) { - coroutineScope.launch { - try { - store.write(StoreWriteRequest.of(key, value)) - } catch (e: Throwable) { - _error.value = e - } - } - } - - private fun determineNextCursor(cursor: String?): String? { - // Implementation based on specific use case - // Return the next cursor or null if there are no more items to load - TODO("Provide an implementation or handle accordingly") - } - - companion object { - private const val DEFAULT_LOAD_SIZE = 100 - } - } -``` - -## Degree of Constraint -- Data items must implement the `StoreData` interface, ensuring they can be uniquely identified. -- Keys for loading data must implement the `StoreKey` interface. - -## Deprecations -- MultiCache -- Identifiable - -## Alternatives Considered -### Tailored Solution for Paging -#### Direct integration with Paging3 -Paging3 doesn’t have built-in support for: -- Singles and collections -- Write operations -- Sorting and filtering operations - -### Custom `StoreKey` and `StoreData` Structures -#### Loose Typing -#### Annotations and Reflection -#### Functional Programming Approach - -## Cross-Cutting Concerns -- Will Paging3 extensions be a maintenance nightmare? -- Will these APIs be simpler than Paging3? - -## Future Directions -- Bindings for Paging3 (follow-up PR) -- Support for KMP Compose UI (follow-up PR) \ No newline at end of file diff --git a/paging/gradle.properties b/paging/gradle.properties deleted file mode 100644 index 75852bdb3..000000000 --- a/paging/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_NAME=org.mobilenativefoundation.store -POM_ARTIFACT_ID=paging5 -POM_PACKAGING=jar \ No newline at end of file diff --git a/paging/kover/coverage.xml b/paging/kover/coverage.xml deleted file mode 100644 index 15886ada8..000000000 --- a/paging/kover/coverage.xml +++ /dev/null @@ -1,1052 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paging/src/commonMain/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStore.kt b/paging/src/commonMain/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStore.kt deleted file mode 100644 index 3fee41c26..000000000 --- a/paging/src/commonMain/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStore.kt +++ /dev/null @@ -1,116 +0,0 @@ -@file:Suppress("UNCHECKED_CAST") - -package org.mobilenativefoundation.store.paging5 - -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.drop -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.launch -import org.mobilenativefoundation.store.core5.ExperimentalStoreApi -import org.mobilenativefoundation.store.core5.StoreData -import org.mobilenativefoundation.store.core5.StoreKey -import org.mobilenativefoundation.store.store5.MutableStore -import org.mobilenativefoundation.store.store5.Store -import org.mobilenativefoundation.store.store5.StoreReadRequest -import org.mobilenativefoundation.store.store5.StoreReadResponse - -private class StopProcessingException : Exception() - -/** - * Initializes and returns a [StateFlow] that reflects the state of the Store, updating by a flow of provided keys. - * @param scope A [CoroutineScope]. - * @param keys A flow of keys that dictate how the Store should be updated. - * @param stream A lambda that invokes [Store.stream]. - * @return A read-only [StateFlow] reflecting the state of the Store. - */ -@ExperimentalStoreApi -private fun , Output : StoreData> launchPagingStore( - scope: CoroutineScope, - keys: Flow, - stream: (key: Key) -> Flow>, -): StateFlow> { - val stateFlow = MutableStateFlow>(StoreReadResponse.Initial) - - scope.launch { - try { - val firstKey = keys.first() - if (firstKey !is StoreKey.Collection<*>) throw IllegalArgumentException("Invalid key type") - - stream(firstKey).collect { response -> - if (response is StoreReadResponse.Data) { - val joinedDataResponse = joinData(firstKey, stateFlow.value, response) - stateFlow.emit(joinedDataResponse) - } else { - stateFlow.emit(response) - } - - if (response is StoreReadResponse.Data || - response is StoreReadResponse.Error || - response is StoreReadResponse.NoNewData - ) { - throw StopProcessingException() - } - } - } catch (_: StopProcessingException) { - } - - keys.drop(1).collect { key -> - if (key !is StoreKey.Collection<*>) throw IllegalArgumentException("Invalid key type") - val firstDataResponse = stream(key).first { it.dataOrNull() != null } as StoreReadResponse.Data - val joinedDataResponse = joinData(key, stateFlow.value, firstDataResponse) - stateFlow.emit(joinedDataResponse) - } - } - - return stateFlow.asStateFlow() -} - -/** - * Initializes and returns a [StateFlow] that reflects the state of the [Store], updating by a flow of provided keys. - * @see [launchPagingStore]. - */ -@ExperimentalStoreApi -fun , Output : StoreData> Store.launchPagingStore( - scope: CoroutineScope, - keys: Flow, -): StateFlow> { - return launchPagingStore(scope, keys) { key -> - this.stream(StoreReadRequest.fresh(key)) - } -} - -/** - * Initializes and returns a [StateFlow] that reflects the state of the [Store], updating by a flow of provided keys. - * @see [launchPagingStore]. - */ -@ExperimentalStoreApi -fun , Output : StoreData> MutableStore.launchPagingStore( - scope: CoroutineScope, - keys: Flow, -): StateFlow> { - return launchPagingStore(scope, keys) { key -> - this.stream(StoreReadRequest.fresh(key)) - } -} - -@ExperimentalStoreApi -private fun , Output : StoreData> joinData( - key: Key, - prevResponse: StoreReadResponse, - currentResponse: StoreReadResponse.Data, -): StoreReadResponse.Data { - val lastOutput = - when (prevResponse) { - is StoreReadResponse.Data -> prevResponse.value as? StoreData.Collection> - else -> null - } - - val currentData = currentResponse.value as StoreData.Collection> - - val joinedOutput = (lastOutput?.insertItems(key.insertionStrategy, currentData.items) ?: currentData) as Output - return StoreReadResponse.Data(joinedOutput, currentResponse.origin) -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStoreTests.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStoreTests.kt deleted file mode 100644 index 3ab4f97c7..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/LaunchPagingStoreTests.kt +++ /dev/null @@ -1,174 +0,0 @@ -package org.mobilenativefoundation.store.paging5 - -import app.cash.turbine.test -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.flow.flowOf -import kotlinx.coroutines.test.TestScope -import kotlinx.coroutines.test.runTest -import org.mobilenativefoundation.store.core5.ExperimentalStoreApi -import org.mobilenativefoundation.store.paging5.util.FakePostApi -import org.mobilenativefoundation.store.paging5.util.FakePostDatabase -import org.mobilenativefoundation.store.paging5.util.PostApi -import org.mobilenativefoundation.store.paging5.util.PostData -import org.mobilenativefoundation.store.paging5.util.PostDatabase -import org.mobilenativefoundation.store.paging5.util.PostKey -import org.mobilenativefoundation.store.paging5.util.PostPutRequestResult -import org.mobilenativefoundation.store.paging5.util.PostStoreFactory -import org.mobilenativefoundation.store.store5.MutableStore -import org.mobilenativefoundation.store.store5.StoreReadRequest -import org.mobilenativefoundation.store.store5.StoreReadResponse -import org.mobilenativefoundation.store.store5.StoreReadResponseOrigin -import org.mobilenativefoundation.store.store5.StoreWriteRequest -import kotlin.test.BeforeTest -import kotlin.test.Test -import kotlin.test.assertEquals -import kotlin.test.assertIs - -@OptIn(ExperimentalStoreApi::class) -class LaunchPagingStoreTests { - private val testScope = TestScope() - - private val userId = "123" - private lateinit var api: PostApi - private lateinit var db: PostDatabase - private lateinit var store: MutableStore - - @BeforeTest - fun setup() { - api = FakePostApi() - db = FakePostDatabase(userId) - val factory = PostStoreFactory(api, db) - store = factory.create() - } - - @Test - fun transitionFromInitialToData() = - testScope.runTest { - val key = PostKey.Cursor("1", 10) - val keys = flowOf(key) - val stateFlow = store.launchPagingStore(this, keys) - - stateFlow.test { - val state1 = awaitItem() - assertIs(state1) - val state2 = awaitItem() - assertIs(state2) - val state3 = awaitItem() - assertIs>(state3) - expectNoEvents() - } - } - - @Test - fun multipleValidKeysEmittedInSuccession() = - testScope.runTest { - val key1 = PostKey.Cursor("1", 10) - val key2 = PostKey.Cursor("11", 10) - val keys = flowOf(key1, key2) - val stateFlow = store.launchPagingStore(this, keys) - - stateFlow.test { - val state1 = awaitItem() - assertIs(state1) - val state2 = awaitItem() - assertIs(state2) - val state3 = awaitItem() - assertIs>(state3) - assertEquals("1", state3.value.posts[0].postId) - - val state4 = awaitItem() - assertIs>(state4) - assertEquals("11", state4.value.posts[0].postId) - assertEquals("1", state4.value.posts[10].postId) - val data4 = state4.value - assertIs(data4) - assertEquals(20, data4.items.size) - expectNoEvents() - } - } - - @Test - fun sameKeyEmittedMultipleTimes() = - testScope.runTest { - val key = PostKey.Cursor("1", 10) - val keys = flowOf(key, key) - val stateFlow = store.launchPagingStore(this, keys) - - stateFlow.test { - val state1 = awaitItem() - assertIs(state1) - val state2 = awaitItem() - assertIs(state2) - val state3 = awaitItem() - assertIs>(state3) - expectNoEvents() - } - } - - @Test - fun multipleKeysWithReadsAndWrites() = - testScope.runTest { - val api = FakePostApi() - val db = FakePostDatabase(userId) - val factory = PostStoreFactory(api = api, db = db) - val store = factory.create() - - val key1 = PostKey.Cursor("1", 10) - val key2 = PostKey.Cursor("11", 10) - val keys = flowOf(key1, key2) - - val stateFlow = store.launchPagingStore(this, keys) - stateFlow.test { - val initialState = awaitItem() - assertIs(initialState) - val loadingState = awaitItem() - assertIs(loadingState) - val loadedState1 = awaitItem() - assertIs>(loadedState1) - val data1 = loadedState1.value - assertEquals(10, data1.posts.size) - val loadedState2 = awaitItem() - assertIs>(loadedState2) - val data2 = loadedState2.value - assertEquals(20, data2.posts.size) - } - - val cached = - store.stream(StoreReadRequest.cached(key1, refresh = false)) - .first { it.dataOrNull() != null } - assertIs>(cached) - assertEquals(StoreReadResponseOrigin.Cache, cached.origin) - val data = cached.requireData() - assertIs(data) - assertEquals(10, data.posts.size) - - val cached2 = - store.stream(StoreReadRequest.cached(PostKey.Single("2"), refresh = false)) - .first { it.dataOrNull() != null } - assertIs>(cached2) - assertEquals(StoreReadResponseOrigin.Cache, cached2.origin) - val data2 = cached2.requireData() - assertIs(data2) - assertEquals("2", data2.title) - - store.write(StoreWriteRequest.of(PostKey.Single("2"), PostData.Post("2", "2-modified"))) - - val cached3 = - store.stream(StoreReadRequest.cached(PostKey.Single("2"), refresh = false)) - .first { it.dataOrNull() != null } - assertIs>(cached3) - assertEquals(StoreReadResponseOrigin.Cache, cached3.origin) - val data3 = cached3.requireData() - assertIs(data3) - assertEquals("2-modified", data3.title) - - val cached4 = - store.stream(StoreReadRequest.cached(PostKey.Cursor("1", 10), refresh = false)) - .first { it.dataOrNull() != null } - assertIs>(cached4) - assertEquals(StoreReadResponseOrigin.Cache, cached4.origin) - val data4 = cached4.requireData() - assertIs(data4) - assertEquals("2-modified", data4.posts[1].title) - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostApi.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostApi.kt deleted file mode 100644 index 9e4343951..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostApi.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -class FakePostApi : PostApi { - private val posts = mutableMapOf() - private val postsList = mutableListOf() - - init { - (1..100).forEach { - val id = it.toString() - posts[id] = PostData.Post(id, id) - postsList.add(PostData.Post(id, id)) - } - } - - override suspend fun get(postId: String): PostGetRequestResult { - val post = posts[postId] - return if (post != null) { - PostGetRequestResult.Data(post) - } else { - PostGetRequestResult.Error.Message("Post $postId was not found") - } - } - - override suspend fun get( - cursor: String?, - size: Int, - ): FeedGetRequestResult { - val firstIndexInclusive = postsList.indexOfFirst { it.postId == cursor } - val lastIndexExclusive = firstIndexInclusive + size - val posts = postsList.subList(firstIndexInclusive, lastIndexExclusive) - return FeedGetRequestResult.Data(PostData.Feed(posts = posts)) - } - - override suspend fun put(post: PostData.Post): PostPutRequestResult { - posts.put(post.id, post) - return PostPutRequestResult.Data(post) - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostDatabase.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostDatabase.kt deleted file mode 100644 index ac8fa76a8..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FakePostDatabase.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -class FakePostDatabase(private val userId: String) : PostDatabase { - private val posts = mutableMapOf() - private val feeds = mutableMapOf() - - override fun add(post: PostData.Post) { - posts[post.id] = post - - val nextFeed = - feeds[userId]?.posts?.map { - if (it.postId == post.postId) { - post - } else { - it - } - } - - nextFeed?.let { - feeds[userId] = PostData.Feed(nextFeed) - } - } - - override fun add(feed: PostData.Feed) { - feeds[userId] = feed - } - - override fun findPostByPostId(postId: String): PostData.Post? { - return posts[postId] - } - - override fun findFeedByUserId( - cursor: String?, - size: Int, - ): PostData.Feed? { - val feed = feeds[userId] - return feed - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FeedGetRequestResult.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FeedGetRequestResult.kt deleted file mode 100644 index 073efc92b..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/FeedGetRequestResult.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -sealed class FeedGetRequestResult { - data class Data(val data: PostData.Feed) : FeedGetRequestResult() - - sealed class Error : FeedGetRequestResult() { - data class Message(val error: String) : Error() - - data class Exception(val error: kotlin.Exception) : Error() - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostApi.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostApi.kt deleted file mode 100644 index 182bbe047..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostApi.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -interface PostApi { - suspend fun get(postId: String): PostGetRequestResult - - suspend fun get( - cursor: String?, - size: Int, - ): FeedGetRequestResult - - suspend fun put(post: PostData.Post): PostPutRequestResult -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostData.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostData.kt deleted file mode 100644 index 686e12270..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostData.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -import org.mobilenativefoundation.store.core5.InsertionStrategy -import org.mobilenativefoundation.store.core5.StoreData - -sealed class PostData : StoreData { - data class Post(val postId: String, val title: String) : StoreData.Single, PostData() { - override val id: String get() = postId - } - - data class Feed(val posts: List) : StoreData.Collection, PostData() { - override val items: List get() = posts - - override fun copyWith(items: List): StoreData.Collection = copy(posts = items) - - override fun insertItems( - strategy: InsertionStrategy, - items: List, - ): StoreData.Collection { - return when (strategy) { - InsertionStrategy.APPEND -> { - val updatedItems = items.toMutableList() - updatedItems.addAll(posts) - copyWith(items = updatedItems) - } - - InsertionStrategy.PREPEND -> { - val updatedItems = posts.toMutableList() - updatedItems.addAll(items) - copyWith(items = updatedItems) - } - - InsertionStrategy.REPLACE -> { - copyWith(items = posts) - } - } - } - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostDatabase.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostDatabase.kt deleted file mode 100644 index a9f229c97..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostDatabase.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -interface PostDatabase { - fun add(post: PostData.Post) - - fun add(feed: PostData.Feed) - - fun findPostByPostId(postId: String): PostData.Post? - - fun findFeedByUserId( - cursor: String?, - size: Int, - ): PostData.Feed? -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostGetRequestResult.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostGetRequestResult.kt deleted file mode 100644 index a5564afc0..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostGetRequestResult.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -sealed class PostGetRequestResult { - data class Data(val data: PostData.Post) : PostGetRequestResult() - - sealed class Error : PostGetRequestResult() { - data class Message(val error: String) : Error() - - data class Exception(val error: kotlin.Exception) : Error() - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostKey.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostKey.kt deleted file mode 100644 index 7d7a54f08..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostKey.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -import org.mobilenativefoundation.store.core5.InsertionStrategy -import org.mobilenativefoundation.store.core5.StoreKey - -sealed class PostKey : StoreKey { - data class Cursor( - override val cursor: String?, - override val size: Int, - override val sort: StoreKey.Sort? = null, - override val filters: List>? = null, - override val insertionStrategy: InsertionStrategy = InsertionStrategy.APPEND, - ) : StoreKey.Collection.Cursor, PostKey() - - data class Single( - override val id: String, - ) : StoreKey.Single, PostKey() -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostPutRequestResult.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostPutRequestResult.kt deleted file mode 100644 index 36cea329a..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostPutRequestResult.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.mobilenativefoundation.store.paging5.util - -sealed class PostPutRequestResult { - data class Data(val data: PostData.Post) : PostPutRequestResult() - - sealed class Error : PostPutRequestResult() { - data class Message(val error: String) : Error() - - data class Exception(val error: kotlin.Exception) : Error() - } -} diff --git a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostStoreFactory.kt b/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostStoreFactory.kt deleted file mode 100644 index b3e014a83..000000000 --- a/paging/src/commonTest/kotlin/org/mobilenativefoundation/store/paging5/util/PostStoreFactory.kt +++ /dev/null @@ -1,143 +0,0 @@ -@file:OptIn(ExperimentalStoreApi::class) - -package org.mobilenativefoundation.store.paging5.util - -import kotlinx.coroutines.flow.flow -import org.mobilenativefoundation.store.cache5.Cache -import org.mobilenativefoundation.store.cache5.StoreMultiCache -import org.mobilenativefoundation.store.core5.ExperimentalStoreApi -import org.mobilenativefoundation.store.core5.KeyProvider -import org.mobilenativefoundation.store.core5.StoreKey -import org.mobilenativefoundation.store.store5.Converter -import org.mobilenativefoundation.store.store5.Fetcher -import org.mobilenativefoundation.store.store5.MutableStore -import org.mobilenativefoundation.store.store5.SourceOfTruth -import org.mobilenativefoundation.store.store5.StoreBuilder -import org.mobilenativefoundation.store.store5.Updater -import org.mobilenativefoundation.store.store5.UpdaterResult -import kotlin.math.floor - -class PostStoreFactory(private val api: PostApi, private val db: PostDatabase) { - private fun createFetcher(): Fetcher = - Fetcher.of { key -> - when (key) { - is PostKey.Single -> { - when (val result = api.get(key.id)) { - is PostGetRequestResult.Data -> { - result.data - } - - is PostGetRequestResult.Error.Exception -> { - throw Throwable(result.error) - } - - is PostGetRequestResult.Error.Message -> { - throw Throwable(result.error) - } - } - } - - is PostKey.Cursor -> { - when (val result = api.get(key.cursor, key.size)) { - is FeedGetRequestResult.Data -> { - result.data - } - - is FeedGetRequestResult.Error.Exception -> { - throw Throwable(result.error) - } - - is FeedGetRequestResult.Error.Message -> { - throw Throwable(result.error) - } - } - } - } - } - - private fun createSourceOfTruth(): SourceOfTruth = - SourceOfTruth.of( - reader = { key -> - flow { - when (key) { - is PostKey.Single -> { - val post = db.findPostByPostId(key.id) - emit(post) - } - - is PostKey.Cursor -> { - val feed = db.findFeedByUserId(key.cursor, key.size) - emit(feed) - } - } - } - }, - writer = { key, data -> - when { - key is PostKey.Single && data is PostData.Post -> { - db.add(data) - } - - key is PostKey.Cursor && data is PostData.Feed -> { - db.add(data) - } - } - }, - ) - - private fun createConverter(): Converter = - Converter.Builder() - .fromNetworkToLocal { it } - .fromOutputToLocal { it } - .build() - - private fun createUpdater(): Updater = - Updater.by( - post = { key, data -> - when { - key is PostKey.Single && data is PostData.Post -> { - when (val result = api.put(data)) { - is PostPutRequestResult.Data -> UpdaterResult.Success.Typed(result) - is PostPutRequestResult.Error.Exception -> UpdaterResult.Error.Exception(result.error) - is PostPutRequestResult.Error.Message -> UpdaterResult.Error.Message(result.error) - } - } - - else -> UpdaterResult.Error.Message("Unsupported: key: ${key::class}, data: ${data::class}") - } - }, - ) - - private fun createPagingCacheKeyProvider(): KeyProvider = - object : KeyProvider { - override fun fromCollection( - key: StoreKey.Collection, - value: PostData.Post, - ): StoreKey.Single { - return PostKey.Single(value.postId) - } - - override fun fromSingle( - key: StoreKey.Single, - value: PostData.Post, - ): StoreKey.Collection { - val id = value.postId.toInt() - val cursor = (floor(id.toDouble() / 10) * 10) + 1 - return PostKey.Cursor(cursor.toInt().toString(), 10) - } - } - - private fun createMemoryCache(): Cache = StoreMultiCache(createPagingCacheKeyProvider()) - - fun create(): MutableStore = - StoreBuilder.from( - fetcher = createFetcher(), - sourceOfTruth = createSourceOfTruth(), - memoryCache = createMemoryCache(), - ).toMutableStoreBuilder( - converter = createConverter(), - ).build( - updater = createUpdater(), - bookkeeper = null, - ) -} diff --git a/rx2/build.gradle.kts b/rx2/build.gradle.kts deleted file mode 100644 index f507ffda0..000000000 --- a/rx2/build.gradle.kts +++ /dev/null @@ -1,68 +0,0 @@ -@file:Suppress("UnstableApiUsage") - -import com.vanniktech.maven.publish.SonatypeHost.S01 -import org.jetbrains.dokka.gradle.DokkaTask - -plugins { - kotlin("android") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - `maven-publish` - kotlin("native.cocoapods") -} - -dependencies { - implementation(libs.kotlinx.coroutines.rx2) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.coroutines.android) - implementation(libs.rxjava) - implementation(project(":store")) - - testImplementation(kotlin("test")) - testImplementation(libs.junit) - testImplementation(libs.google.truth) - testImplementation(libs.androidx.test.core) - testImplementation(libs.kotlinx.coroutines.test) -} - -android { - namespace = "org.mobilenativefoundation.store.rx2" - - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -kotlin { - jvmToolchain(17) -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(S01) - signAllPublications() -} diff --git a/rx2/config/ktlint/baseline.xml b/rx2/config/ktlint/baseline.xml deleted file mode 100644 index 981420778..000000000 --- a/rx2/config/ktlint/baseline.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/settings.gradle b/settings.gradle index b8969413e..626861715 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,10 +1,15 @@ +pluginManagement { + includeBuild("tooling") +} + plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } -include ':store' -include ':cache' -include ':multicast' -include ':rx2' -include ':paging' -include ':core' +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + +include ':store-runtime' +include ':store-cache' +include ':store-multicast' +include ':store-rx2' +include ':store-core' \ No newline at end of file diff --git a/cache/README.md b/store-cache/README.md similarity index 100% rename from cache/README.md rename to store-cache/README.md diff --git a/store-cache/api/android/store-cache.api b/store-cache/api/android/store-cache.api new file mode 100644 index 000000000..c7cdabcb3 --- /dev/null +++ b/store-cache/api/android/store-cache.api @@ -0,0 +1,69 @@ +public abstract interface class org/mobilenativefoundation/store/cache5/Cache { + public abstract fun getAllPresent ()Ljava/util/Map; + public abstract fun getAllPresent (Ljava/util/List;)Ljava/util/Map; + public abstract fun getIfPresent (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun getOrPut (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; + public abstract fun invalidate (Ljava/lang/Object;)V + public abstract fun invalidateAll ()V + public abstract fun invalidateAll (Ljava/util/List;)V + public abstract fun put (Ljava/lang/Object;Ljava/lang/Object;)V + public abstract fun putAll (Ljava/util/Map;)V + public abstract fun size ()J +} + +public final class org/mobilenativefoundation/store/cache5/Cache$DefaultImpls { + public static fun getAllPresent (Lorg/mobilenativefoundation/store/cache5/Cache;)Ljava/util/Map; +} + +public final class org/mobilenativefoundation/store/cache5/CacheBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/cache5/CacheBuilder$Companion; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/cache5/Cache; + public final fun concurrencyLevel (Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun expireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun expireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun maximumSize (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun ticker (Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun weigher (JLkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; +} + +public final class org/mobilenativefoundation/store/cache5/CacheBuilder$Companion { +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCache : org/mobilenativefoundation/store/cache5/Cache { + public static final field Companion Lorg/mobilenativefoundation/store/cache5/StoreMultiCache$Companion; + public fun (Lorg/mobilenativefoundation/store/core5/KeyProvider;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;)V + public synthetic fun (Lorg/mobilenativefoundation/store/core5/KeyProvider;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getAllPresent ()Ljava/util/Map; + public fun getAllPresent (Ljava/util/List;)Ljava/util/Map; + public synthetic fun getIfPresent (Ljava/lang/Object;)Ljava/lang/Object; + public fun getIfPresent (Lorg/mobilenativefoundation/store/core5/StoreKey;)Lorg/mobilenativefoundation/store/core5/StoreData; + public synthetic fun getOrPut (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; + public fun getOrPut (Lorg/mobilenativefoundation/store/core5/StoreKey;Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/core5/StoreData; + public synthetic fun invalidate (Ljava/lang/Object;)V + public fun invalidate (Lorg/mobilenativefoundation/store/core5/StoreKey;)V + public fun invalidateAll ()V + public fun invalidateAll (Ljava/util/List;)V + public synthetic fun put (Ljava/lang/Object;Ljava/lang/Object;)V + public fun put (Lorg/mobilenativefoundation/store/core5/StoreKey;Lorg/mobilenativefoundation/store/core5/StoreData;)V + public fun putAll (Ljava/util/Map;)V + public fun size ()J +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCache$Companion { + public final fun invalidKeyErrorMessage (Ljava/lang/Object;)Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor { + public fun (Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;)V + public final fun getAllPresent ()Ljava/util/Map; + public final fun getCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public final fun getSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;)Lorg/mobilenativefoundation/store/core5/StoreData$Single; + public final fun invalidateAll ()V + public final fun invalidateCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;)Z + public final fun invalidateSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;)Z + public final fun putCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Collection;)Z + public final fun putSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Z + public final fun size ()J +} + diff --git a/store-cache/api/jvm/store-cache.api b/store-cache/api/jvm/store-cache.api new file mode 100644 index 000000000..c7cdabcb3 --- /dev/null +++ b/store-cache/api/jvm/store-cache.api @@ -0,0 +1,69 @@ +public abstract interface class org/mobilenativefoundation/store/cache5/Cache { + public abstract fun getAllPresent ()Ljava/util/Map; + public abstract fun getAllPresent (Ljava/util/List;)Ljava/util/Map; + public abstract fun getIfPresent (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun getOrPut (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; + public abstract fun invalidate (Ljava/lang/Object;)V + public abstract fun invalidateAll ()V + public abstract fun invalidateAll (Ljava/util/List;)V + public abstract fun put (Ljava/lang/Object;Ljava/lang/Object;)V + public abstract fun putAll (Ljava/util/Map;)V + public abstract fun size ()J +} + +public final class org/mobilenativefoundation/store/cache5/Cache$DefaultImpls { + public static fun getAllPresent (Lorg/mobilenativefoundation/store/cache5/Cache;)Ljava/util/Map; +} + +public final class org/mobilenativefoundation/store/cache5/CacheBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/cache5/CacheBuilder$Companion; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/cache5/Cache; + public final fun concurrencyLevel (Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun expireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun expireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun maximumSize (J)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun ticker (Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; + public final fun weigher (JLkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/cache5/CacheBuilder; +} + +public final class org/mobilenativefoundation/store/cache5/CacheBuilder$Companion { +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCache : org/mobilenativefoundation/store/cache5/Cache { + public static final field Companion Lorg/mobilenativefoundation/store/cache5/StoreMultiCache$Companion; + public fun (Lorg/mobilenativefoundation/store/core5/KeyProvider;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;)V + public synthetic fun (Lorg/mobilenativefoundation/store/core5/KeyProvider;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getAllPresent ()Ljava/util/Map; + public fun getAllPresent (Ljava/util/List;)Ljava/util/Map; + public synthetic fun getIfPresent (Ljava/lang/Object;)Ljava/lang/Object; + public fun getIfPresent (Lorg/mobilenativefoundation/store/core5/StoreKey;)Lorg/mobilenativefoundation/store/core5/StoreData; + public synthetic fun getOrPut (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; + public fun getOrPut (Lorg/mobilenativefoundation/store/core5/StoreKey;Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/core5/StoreData; + public synthetic fun invalidate (Ljava/lang/Object;)V + public fun invalidate (Lorg/mobilenativefoundation/store/core5/StoreKey;)V + public fun invalidateAll ()V + public fun invalidateAll (Ljava/util/List;)V + public synthetic fun put (Ljava/lang/Object;Ljava/lang/Object;)V + public fun put (Lorg/mobilenativefoundation/store/core5/StoreKey;Lorg/mobilenativefoundation/store/core5/StoreData;)V + public fun putAll (Ljava/util/Map;)V + public fun size ()J +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCache$Companion { + public final fun invalidKeyErrorMessage (Ljava/lang/Object;)Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor { + public fun (Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/cache5/Cache;)V + public final fun getAllPresent ()Ljava/util/Map; + public final fun getCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public final fun getSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;)Lorg/mobilenativefoundation/store/core5/StoreData$Single; + public final fun invalidateAll ()V + public final fun invalidateCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;)Z + public final fun invalidateSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;)Z + public final fun putCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Collection;)Z + public final fun putSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Z + public final fun size ()J +} + diff --git a/store-cache/build.gradle.kts b/store-cache/build.gradle.kts new file mode 100644 index 000000000..fb7f3b481 --- /dev/null +++ b/store-cache/build.gradle.kts @@ -0,0 +1,33 @@ +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl + +plugins { + id("org.mobilenativefoundation.store.multiplatform") +} + +kotlin { + + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + nodejs() + } + + sourceSets { + val commonMain by getting { + dependencies { + api(libs.kotlinx.atomic.fu) + api(projects.storeCore) + implementation(libs.kotlinx.coroutines.core) + } + } + val commonTest by getting { + dependencies { + implementation(libs.junit) + implementation(libs.kotlinx.coroutines.test) + } + } + } +} + +android { + namespace = "org.mobilenativefoundation.store.cache" +} \ No newline at end of file diff --git a/cache/config/ktlint/baseline.xml b/store-cache/config/ktlint/baseline.xml similarity index 100% rename from cache/config/ktlint/baseline.xml rename to store-cache/config/ktlint/baseline.xml diff --git a/cache/gradle.properties b/store-cache/gradle.properties similarity index 100% rename from cache/gradle.properties rename to store-cache/gradle.properties diff --git a/cache/kover/coverage.xml b/store-cache/kover/coverage.xml similarity index 100% rename from cache/kover/coverage.xml rename to store-cache/kover/coverage.xml diff --git a/cache/src/androidMain/AndroidManifest.xml b/store-cache/src/androidMain/AndroidManifest.xml similarity index 100% rename from cache/src/androidMain/AndroidManifest.xml rename to store-cache/src/androidMain/AndroidManifest.xml diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Cache.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Cache.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Cache.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Cache.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/CacheBuilder.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/CacheBuilder.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/CacheBuilder.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/CacheBuilder.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/LocalCache.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/LocalCache.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/LocalCache.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/LocalCache.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/MonotonicTicker.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/MonotonicTicker.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/MonotonicTicker.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/MonotonicTicker.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/RemovalCause.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/RemovalCause.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/RemovalCause.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/RemovalCause.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCache.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCache.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCache.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCache.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/StoreMultiCacheAccessor.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Ticker.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Ticker.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Ticker.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Ticker.kt diff --git a/cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Weigher.kt b/store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Weigher.kt similarity index 100% rename from cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Weigher.kt rename to store-cache/src/commonMain/kotlin/org/mobilenativefoundation/store/cache5/Weigher.kt diff --git a/cache/src/commonTest/kotlin/org/mobilenativefoundation/store/cache5/CacheTests.kt b/store-cache/src/commonTest/kotlin/org/mobilenativefoundation/store/cache5/CacheTests.kt similarity index 100% rename from cache/src/commonTest/kotlin/org/mobilenativefoundation/store/cache5/CacheTests.kt rename to store-cache/src/commonTest/kotlin/org/mobilenativefoundation/store/cache5/CacheTests.kt diff --git a/store-core/api/android/core.api b/store-core/api/android/core.api new file mode 100644 index 000000000..7a452a0a2 --- /dev/null +++ b/store-core/api/android/core.api @@ -0,0 +1,69 @@ +public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { +} + +public final class org/mobilenativefoundation/store/core5/InsertionStrategy : java/lang/Enum { + public static final field APPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field PREPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field REPLACE Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/KeyProvider { + public abstract fun fromCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Single; + public abstract fun fromSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Collection : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun copyWith (Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public abstract fun getItems ()Ljava/util/List; + public abstract fun insertItems (Lorg/mobilenativefoundation/store/core5/InsertionStrategy;Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Single : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun getId ()Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getInsertionStrategy ()Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Cursor : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getCursor ()Ljava/lang/Object; + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Page : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getPage ()I + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Filter { + public abstract fun invoke (Ljava/util/List;)Ljava/util/List; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Single : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getId ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/core5/StoreKey$Sort : java/lang/Enum { + public static final field ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field NEWEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field OLDEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field REVERSE_ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + diff --git a/store-core/api/android/store-core.api b/store-core/api/android/store-core.api new file mode 100644 index 000000000..7a452a0a2 --- /dev/null +++ b/store-core/api/android/store-core.api @@ -0,0 +1,69 @@ +public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { +} + +public final class org/mobilenativefoundation/store/core5/InsertionStrategy : java/lang/Enum { + public static final field APPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field PREPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field REPLACE Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/KeyProvider { + public abstract fun fromCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Single; + public abstract fun fromSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Collection : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun copyWith (Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public abstract fun getItems ()Ljava/util/List; + public abstract fun insertItems (Lorg/mobilenativefoundation/store/core5/InsertionStrategy;Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Single : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun getId ()Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getInsertionStrategy ()Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Cursor : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getCursor ()Ljava/lang/Object; + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Page : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getPage ()I + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Filter { + public abstract fun invoke (Ljava/util/List;)Ljava/util/List; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Single : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getId ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/core5/StoreKey$Sort : java/lang/Enum { + public static final field ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field NEWEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field OLDEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field REVERSE_ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + diff --git a/store-core/api/jvm/core.api b/store-core/api/jvm/core.api new file mode 100644 index 000000000..7a452a0a2 --- /dev/null +++ b/store-core/api/jvm/core.api @@ -0,0 +1,69 @@ +public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { +} + +public final class org/mobilenativefoundation/store/core5/InsertionStrategy : java/lang/Enum { + public static final field APPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field PREPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field REPLACE Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/KeyProvider { + public abstract fun fromCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Single; + public abstract fun fromSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Collection : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun copyWith (Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public abstract fun getItems ()Ljava/util/List; + public abstract fun insertItems (Lorg/mobilenativefoundation/store/core5/InsertionStrategy;Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Single : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun getId ()Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getInsertionStrategy ()Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Cursor : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getCursor ()Ljava/lang/Object; + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Page : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getPage ()I + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Filter { + public abstract fun invoke (Ljava/util/List;)Ljava/util/List; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Single : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getId ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/core5/StoreKey$Sort : java/lang/Enum { + public static final field ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field NEWEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field OLDEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field REVERSE_ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + diff --git a/store-core/api/jvm/store-core.api b/store-core/api/jvm/store-core.api new file mode 100644 index 000000000..7a452a0a2 --- /dev/null +++ b/store-core/api/jvm/store-core.api @@ -0,0 +1,69 @@ +public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { +} + +public final class org/mobilenativefoundation/store/core5/InsertionStrategy : java/lang/Enum { + public static final field APPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field PREPEND Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static final field REPLACE Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/InsertionStrategy; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/KeyProvider { + public abstract fun fromCollection (Lorg/mobilenativefoundation/store/core5/StoreKey$Collection;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Single; + public abstract fun fromSingle (Lorg/mobilenativefoundation/store/core5/StoreKey$Single;Lorg/mobilenativefoundation/store/core5/StoreData$Single;)Lorg/mobilenativefoundation/store/core5/StoreKey$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Collection : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun copyWith (Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; + public abstract fun getItems ()Ljava/util/List; + public abstract fun insertItems (Lorg/mobilenativefoundation/store/core5/InsertionStrategy;Ljava/util/List;)Lorg/mobilenativefoundation/store/core5/StoreData$Collection; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreData$Single : org/mobilenativefoundation/store/core5/StoreData { + public abstract fun getId ()Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey { +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getInsertionStrategy ()Lorg/mobilenativefoundation/store/core5/InsertionStrategy; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Cursor : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getCursor ()Ljava/lang/Object; + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Collection$Page : org/mobilenativefoundation/store/core5/StoreKey$Collection { + public abstract fun getFilters ()Ljava/util/List; + public abstract fun getPage ()I + public abstract fun getSize ()I + public abstract fun getSort ()Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Filter { + public abstract fun invoke (Ljava/util/List;)Ljava/util/List; +} + +public abstract interface class org/mobilenativefoundation/store/core5/StoreKey$Single : org/mobilenativefoundation/store/core5/StoreKey { + public abstract fun getId ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/core5/StoreKey$Sort : java/lang/Enum { + public static final field ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field NEWEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field OLDEST Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static final field REVERSE_ALPHABETICAL Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; + public static fun values ()[Lorg/mobilenativefoundation/store/core5/StoreKey$Sort; +} + diff --git a/store-core/build.gradle.kts b/store-core/build.gradle.kts new file mode 100644 index 000000000..dcee00b51 --- /dev/null +++ b/store-core/build.gradle.kts @@ -0,0 +1,25 @@ +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl + +plugins { + id("org.mobilenativefoundation.store.multiplatform") +} + +kotlin { + + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + nodejs() + } + + sourceSets { + val commonMain by getting { + dependencies { + implementation(libs.kotlin.stdlib) + } + } + } +} + +android { + namespace = "org.mobilenativefoundation.store.core" +} \ No newline at end of file diff --git a/core/config/ktlint/baseline.xml b/store-core/config/ktlint/baseline.xml similarity index 100% rename from core/config/ktlint/baseline.xml rename to store-core/config/ktlint/baseline.xml diff --git a/core/gradle.properties b/store-core/gradle.properties similarity index 100% rename from core/gradle.properties rename to store-core/gradle.properties diff --git a/core/src/androidMain/AndroidManifest.xml b/store-core/src/androidMain/AndroidManifest.xml similarity index 100% rename from core/src/androidMain/AndroidManifest.xml rename to store-core/src/androidMain/AndroidManifest.xml diff --git a/core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/ExperimentalStoreApi.kt b/store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/ExperimentalStoreApi.kt similarity index 100% rename from core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/ExperimentalStoreApi.kt rename to store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/ExperimentalStoreApi.kt diff --git a/core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/InsertionStrategy.kt b/store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/InsertionStrategy.kt similarity index 100% rename from core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/InsertionStrategy.kt rename to store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/InsertionStrategy.kt diff --git a/core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/KeyProvider.kt b/store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/KeyProvider.kt similarity index 100% rename from core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/KeyProvider.kt rename to store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/KeyProvider.kt diff --git a/core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreData.kt b/store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreData.kt similarity index 100% rename from core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreData.kt rename to store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreData.kt diff --git a/core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreKey.kt b/store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreKey.kt similarity index 100% rename from core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreKey.kt rename to store-core/src/commonMain/kotlin/org/mobilenativefoundation/store/core5/StoreKey.kt diff --git a/store-multicast/api/android/store-multicast.api b/store-multicast/api/android/store-multicast.api new file mode 100644 index 000000000..986699944 --- /dev/null +++ b/store-multicast/api/android/store-multicast.api @@ -0,0 +1,8 @@ +public final class org/mobilenativefoundation/store/multicast5/Multicaster { + public fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;)V + public synthetic fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun close (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun newDownstream (Z)Lkotlinx/coroutines/flow/Flow; + public static synthetic fun newDownstream$default (Lorg/mobilenativefoundation/store/multicast5/Multicaster;ZILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + diff --git a/store-multicast/api/jvm/store-multicast.api b/store-multicast/api/jvm/store-multicast.api new file mode 100644 index 000000000..986699944 --- /dev/null +++ b/store-multicast/api/jvm/store-multicast.api @@ -0,0 +1,8 @@ +public final class org/mobilenativefoundation/store/multicast5/Multicaster { + public fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;)V + public synthetic fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun close (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun newDownstream (Z)Lkotlinx/coroutines/flow/Flow; + public static synthetic fun newDownstream$default (Lorg/mobilenativefoundation/store/multicast5/Multicaster;ZILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + diff --git a/store-multicast/build.gradle.kts b/store-multicast/build.gradle.kts new file mode 100644 index 000000000..1662da7a6 --- /dev/null +++ b/store-multicast/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + id("org.mobilenativefoundation.store.multiplatform") +} + +kotlin { + + sourceSets { + + val commonMain by getting { + dependencies { + api(libs.kotlinx.atomic.fu) + implementation(libs.kotlinx.coroutines.core) + } + } + + val commonTest by getting { + dependencies { + implementation(libs.junit) + implementation(libs.kotlinx.coroutines.test) + implementation(libs.turbine) + } + } + } +} + +android { + namespace = "org.mobilenativefoundation.store.multicast" +} diff --git a/multicast/config/ktlint/baseline.xml b/store-multicast/config/ktlint/baseline.xml similarity index 100% rename from multicast/config/ktlint/baseline.xml rename to store-multicast/config/ktlint/baseline.xml diff --git a/multicast/gradle.properties b/store-multicast/gradle.properties similarity index 100% rename from multicast/gradle.properties rename to store-multicast/gradle.properties diff --git a/multicast/kover/coverage.xml b/store-multicast/kover/coverage.xml similarity index 100% rename from multicast/kover/coverage.xml rename to store-multicast/kover/coverage.xml diff --git a/multicast/src/androidMain/AndroidManifest.xml b/store-multicast/src/androidMain/AndroidManifest.xml similarity index 100% rename from multicast/src/androidMain/AndroidManifest.xml rename to store-multicast/src/androidMain/AndroidManifest.xml diff --git a/multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Actor.kt b/store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Actor.kt similarity index 100% rename from multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Actor.kt rename to store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Actor.kt diff --git a/multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/ChannelManager.kt b/store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/ChannelManager.kt similarity index 100% rename from multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/ChannelManager.kt rename to store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/ChannelManager.kt diff --git a/multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Multicaster.kt b/store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Multicaster.kt similarity index 100% rename from multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Multicaster.kt rename to store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/Multicaster.kt diff --git a/multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/SharedFlowProducer.kt b/store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/SharedFlowProducer.kt similarity index 100% rename from multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/SharedFlowProducer.kt rename to store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/SharedFlowProducer.kt diff --git a/multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/StoreRealActor.kt b/store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/StoreRealActor.kt similarity index 100% rename from multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/StoreRealActor.kt rename to store-multicast/src/commonMain/kotlin/org/mobilenativefoundation/store/multicast5/StoreRealActor.kt diff --git a/multicast/src/commonTest/kotlin/org/mobilenativefoundation/store/multicast5/StoreChannelManagerTests.kt b/store-multicast/src/commonTest/kotlin/org/mobilenativefoundation/store/multicast5/StoreChannelManagerTests.kt similarity index 100% rename from multicast/src/commonTest/kotlin/org/mobilenativefoundation/store/multicast5/StoreChannelManagerTests.kt rename to store-multicast/src/commonTest/kotlin/org/mobilenativefoundation/store/multicast5/StoreChannelManagerTests.kt diff --git a/store-runtime/api/android/store-runtime.api b/store-runtime/api/android/store-runtime.api new file mode 100644 index 000000000..9d866b708 --- /dev/null +++ b/store-runtime/api/android/store-runtime.api @@ -0,0 +1,688 @@ +public abstract interface class org/mobilenativefoundation/store/store5/Bookkeeper { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Bookkeeper$Companion; + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun clearAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getLastFailedSync (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun setLastFailedSync (Ljava/lang/Object;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Bookkeeper; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImpls { + public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$All { + public abstract fun clear (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$Key { + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Converter { + public abstract fun fromNetworkToLocal (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun fromOutputToLocal (Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Converter$Builder { + public field fromNetworkToLocal Lkotlin/jvm/functions/Function1; + public field fromOutputToLocal Lkotlin/jvm/functions/Function1; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/Converter; + public final fun fromNetworkToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun fromOutputToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun getFromNetworkToLocal ()Lkotlin/jvm/functions/Function1; + public final fun getFromOutputToLocal ()Lkotlin/jvm/functions/Function1; + public final fun setFromNetworkToLocal (Lkotlin/jvm/functions/Function1;)V + public final fun setFromOutputToLocal (Lkotlin/jvm/functions/Function1;)V +} + +public abstract interface class org/mobilenativefoundation/store/store5/Fetcher { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Fetcher$Companion; + public abstract fun getFallback ()Lorg/mobilenativefoundation/store/store5/Fetcher; + public abstract fun getName ()Ljava/lang/String; + public abstract fun invoke (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/Fetcher$Companion { + public final fun of (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlow (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlowWithFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResult (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlow (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlowWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun withFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Data : org/mobilenativefoundation/store/store5/FetcherResult { + public fun (Ljava/lang/Object;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/Object;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/Object;Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Data;Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public fun equals (Ljava/lang/Object;)Z + public final fun getOrigin ()Ljava/lang/String; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult$Error : org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Custom : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Exception : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Message : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MemoryPolicy$Companion; + public static final field DEFAULT_SIZE_POLICY J + public final fun getExpireAfterAccess-UwyO8pc ()J + public final fun getExpireAfterWrite-UwyO8pc ()J + public final fun getHasAccessPolicy ()Z + public final fun getHasMaxSize ()Z + public final fun getHasMaxWeight ()Z + public final fun getHasWritePolicy ()Z + public final fun getMaxSize ()J + public final fun getMaxWeight ()J + public final fun getWeigher ()Lorg/mobilenativefoundation/store/store5/Weigher; + public final fun isDefaultWritePolicy ()Z +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$Companion { + public final fun builder ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun getDEFAULT_DURATION_POLICY-UwyO8pc ()J +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder { + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy; + public final fun setExpireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setExpireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setMaxSize (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setWeigherAndMaxWeight (Lorg/mobilenativefoundation/store/store5/Weigher;J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStore : org/mobilenativefoundation/store/store5/Clear, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution, org/mobilenativefoundation/store/store5/Write, org/mobilenativefoundation/store/store5/Write$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion; + public abstract fun build (Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$DefaultImpls { + public static synthetic fun build$default (Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/MutableStore; +} + +public final class org/mobilenativefoundation/store/store5/OnFetcherCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/OnUpdaterCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$Stream { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/SourceOfTruth { + public static final field Companion Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion; + public abstract fun delete (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun deleteAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun reader (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; + public abstract fun write (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$Companion { + public final fun of (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public final fun ofFlow (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$ReadException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public fun hashCode ()I +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$WriteException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Store : org/mobilenativefoundation/store/store5/Clear$All, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreBuilder$Companion; + public abstract fun build ()Lorg/mobilenativefoundation/store/store5/Store; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun toMutableStoreBuilder (Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion; + public final fun component1 ()Ljava/lang/Object; + public final fun component3 ()Z + public final fun component4 ()Z + public final fun component5 ()Z + public final fun copy (Ljava/lang/Object;IZZZ)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;Ljava/lang/Object;IZZZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFallBackToSourceOfTruth ()Z + public final fun getFetch ()Z + public final fun getKey ()Ljava/lang/Object; + public final fun getRefresh ()Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest$Companion { + public final fun cached (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun fresh (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun fresh$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion;Ljava/lang/Object;ZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun freshWithFallBackToSourceOfTruth (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun localOnly (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun skipMemory (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse { + public final fun dataOrNull ()Ljava/lang/Object; + public final fun errorMessageOrNull ()Ljava/lang/String; + public final fun errorOrNull ()Ljava/lang/Object; + public abstract fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun requireData ()Ljava/lang/Object; + public final fun throwIfError ()V +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Data : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse$Error : org/mobilenativefoundation/store/store5/StoreReadResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception;Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message;Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Initial : org/mobilenativefoundation/store/store5/StoreReadResponse { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Initial; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Loading : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseKt { + public static final fun doThrow (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error;)Ljava/lang/Void; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth; +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreWriteRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion; + public abstract fun getCreated ()J + public abstract fun getKey ()Ljava/lang/Object; + public abstract fun getOnCompletions ()Ljava/util/List; + public abstract fun getValue ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteRequest$Companion { + public final fun of (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;J)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;JILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Updater { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Updater$Companion; + public abstract fun getOnCompletion ()Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public abstract fun post (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Updater$Companion { + public final fun by (Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;)Lorg/mobilenativefoundation/store/store5/Updater; + public static synthetic fun by$default (Lorg/mobilenativefoundation/store/store5/Updater$Companion;Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Updater; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Error : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Message : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Success : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Validator { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Validator$Companion; + public abstract fun isValid (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Validator$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Validator; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Weigher { + public abstract fun weigh (Ljava/lang/Object;Ljava/lang/Object;)I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write { + public abstract fun write (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write$Stream { + public abstract fun stream (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilderKt { + public static final fun mutableStoreBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreBuilderKt { + public static final fun storeBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static synthetic fun storeBuilderFromFetcher$default (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthMemoryCacheAndConverter (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest : org/mobilenativefoundation/store/store5/StoreWriteRequest { + public fun (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/Object; + public final fun component3 ()J + public final fun component4 ()Ljava/util/List; + public final fun copy (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest;Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getCreated ()J + public fun getKey ()Ljava/lang/Object; + public fun getOnCompletions ()Ljava/util/List; + public fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/extensions/StoreKt { + public static final fun asMutableStore (Lorg/mobilenativefoundation/store/store5/Store;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface annotation class org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread : java/lang/annotation/Annotation { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public fun (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public final fun copy (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved;Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success; +} + diff --git a/store-runtime/api/android/store.api b/store-runtime/api/android/store.api new file mode 100644 index 000000000..9d866b708 --- /dev/null +++ b/store-runtime/api/android/store.api @@ -0,0 +1,688 @@ +public abstract interface class org/mobilenativefoundation/store/store5/Bookkeeper { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Bookkeeper$Companion; + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun clearAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getLastFailedSync (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun setLastFailedSync (Ljava/lang/Object;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Bookkeeper; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImpls { + public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$All { + public abstract fun clear (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$Key { + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Converter { + public abstract fun fromNetworkToLocal (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun fromOutputToLocal (Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Converter$Builder { + public field fromNetworkToLocal Lkotlin/jvm/functions/Function1; + public field fromOutputToLocal Lkotlin/jvm/functions/Function1; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/Converter; + public final fun fromNetworkToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun fromOutputToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun getFromNetworkToLocal ()Lkotlin/jvm/functions/Function1; + public final fun getFromOutputToLocal ()Lkotlin/jvm/functions/Function1; + public final fun setFromNetworkToLocal (Lkotlin/jvm/functions/Function1;)V + public final fun setFromOutputToLocal (Lkotlin/jvm/functions/Function1;)V +} + +public abstract interface class org/mobilenativefoundation/store/store5/Fetcher { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Fetcher$Companion; + public abstract fun getFallback ()Lorg/mobilenativefoundation/store/store5/Fetcher; + public abstract fun getName ()Ljava/lang/String; + public abstract fun invoke (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/Fetcher$Companion { + public final fun of (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlow (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlowWithFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResult (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlow (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlowWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun withFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Data : org/mobilenativefoundation/store/store5/FetcherResult { + public fun (Ljava/lang/Object;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/Object;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/Object;Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Data;Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public fun equals (Ljava/lang/Object;)Z + public final fun getOrigin ()Ljava/lang/String; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult$Error : org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Custom : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Exception : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Message : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MemoryPolicy$Companion; + public static final field DEFAULT_SIZE_POLICY J + public final fun getExpireAfterAccess-UwyO8pc ()J + public final fun getExpireAfterWrite-UwyO8pc ()J + public final fun getHasAccessPolicy ()Z + public final fun getHasMaxSize ()Z + public final fun getHasMaxWeight ()Z + public final fun getHasWritePolicy ()Z + public final fun getMaxSize ()J + public final fun getMaxWeight ()J + public final fun getWeigher ()Lorg/mobilenativefoundation/store/store5/Weigher; + public final fun isDefaultWritePolicy ()Z +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$Companion { + public final fun builder ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun getDEFAULT_DURATION_POLICY-UwyO8pc ()J +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder { + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy; + public final fun setExpireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setExpireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setMaxSize (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setWeigherAndMaxWeight (Lorg/mobilenativefoundation/store/store5/Weigher;J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStore : org/mobilenativefoundation/store/store5/Clear, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution, org/mobilenativefoundation/store/store5/Write, org/mobilenativefoundation/store/store5/Write$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion; + public abstract fun build (Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$DefaultImpls { + public static synthetic fun build$default (Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/MutableStore; +} + +public final class org/mobilenativefoundation/store/store5/OnFetcherCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/OnUpdaterCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$Stream { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/SourceOfTruth { + public static final field Companion Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion; + public abstract fun delete (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun deleteAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun reader (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; + public abstract fun write (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$Companion { + public final fun of (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public final fun ofFlow (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$ReadException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public fun hashCode ()I +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$WriteException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Store : org/mobilenativefoundation/store/store5/Clear$All, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreBuilder$Companion; + public abstract fun build ()Lorg/mobilenativefoundation/store/store5/Store; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun toMutableStoreBuilder (Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion; + public final fun component1 ()Ljava/lang/Object; + public final fun component3 ()Z + public final fun component4 ()Z + public final fun component5 ()Z + public final fun copy (Ljava/lang/Object;IZZZ)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;Ljava/lang/Object;IZZZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFallBackToSourceOfTruth ()Z + public final fun getFetch ()Z + public final fun getKey ()Ljava/lang/Object; + public final fun getRefresh ()Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest$Companion { + public final fun cached (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun fresh (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun fresh$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion;Ljava/lang/Object;ZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun freshWithFallBackToSourceOfTruth (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun localOnly (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun skipMemory (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse { + public final fun dataOrNull ()Ljava/lang/Object; + public final fun errorMessageOrNull ()Ljava/lang/String; + public final fun errorOrNull ()Ljava/lang/Object; + public abstract fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun requireData ()Ljava/lang/Object; + public final fun throwIfError ()V +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Data : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse$Error : org/mobilenativefoundation/store/store5/StoreReadResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception;Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message;Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Initial : org/mobilenativefoundation/store/store5/StoreReadResponse { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Initial; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Loading : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseKt { + public static final fun doThrow (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error;)Ljava/lang/Void; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth; +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreWriteRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion; + public abstract fun getCreated ()J + public abstract fun getKey ()Ljava/lang/Object; + public abstract fun getOnCompletions ()Ljava/util/List; + public abstract fun getValue ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteRequest$Companion { + public final fun of (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;J)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;JILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Updater { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Updater$Companion; + public abstract fun getOnCompletion ()Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public abstract fun post (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Updater$Companion { + public final fun by (Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;)Lorg/mobilenativefoundation/store/store5/Updater; + public static synthetic fun by$default (Lorg/mobilenativefoundation/store/store5/Updater$Companion;Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Updater; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Error : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Message : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Success : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Validator { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Validator$Companion; + public abstract fun isValid (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Validator$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Validator; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Weigher { + public abstract fun weigh (Ljava/lang/Object;Ljava/lang/Object;)I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write { + public abstract fun write (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write$Stream { + public abstract fun stream (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilderKt { + public static final fun mutableStoreBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreBuilderKt { + public static final fun storeBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static synthetic fun storeBuilderFromFetcher$default (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthMemoryCacheAndConverter (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest : org/mobilenativefoundation/store/store5/StoreWriteRequest { + public fun (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/Object; + public final fun component3 ()J + public final fun component4 ()Ljava/util/List; + public final fun copy (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest;Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getCreated ()J + public fun getKey ()Ljava/lang/Object; + public fun getOnCompletions ()Ljava/util/List; + public fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/extensions/StoreKt { + public static final fun asMutableStore (Lorg/mobilenativefoundation/store/store5/Store;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface annotation class org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread : java/lang/annotation/Annotation { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public fun (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public final fun copy (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved;Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success; +} + diff --git a/store-runtime/api/jvm/store-runtime.api b/store-runtime/api/jvm/store-runtime.api new file mode 100644 index 000000000..9d866b708 --- /dev/null +++ b/store-runtime/api/jvm/store-runtime.api @@ -0,0 +1,688 @@ +public abstract interface class org/mobilenativefoundation/store/store5/Bookkeeper { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Bookkeeper$Companion; + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun clearAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getLastFailedSync (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun setLastFailedSync (Ljava/lang/Object;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Bookkeeper; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImpls { + public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$All { + public abstract fun clear (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$Key { + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Converter { + public abstract fun fromNetworkToLocal (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun fromOutputToLocal (Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Converter$Builder { + public field fromNetworkToLocal Lkotlin/jvm/functions/Function1; + public field fromOutputToLocal Lkotlin/jvm/functions/Function1; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/Converter; + public final fun fromNetworkToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun fromOutputToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun getFromNetworkToLocal ()Lkotlin/jvm/functions/Function1; + public final fun getFromOutputToLocal ()Lkotlin/jvm/functions/Function1; + public final fun setFromNetworkToLocal (Lkotlin/jvm/functions/Function1;)V + public final fun setFromOutputToLocal (Lkotlin/jvm/functions/Function1;)V +} + +public abstract interface class org/mobilenativefoundation/store/store5/Fetcher { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Fetcher$Companion; + public abstract fun getFallback ()Lorg/mobilenativefoundation/store/store5/Fetcher; + public abstract fun getName ()Ljava/lang/String; + public abstract fun invoke (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/Fetcher$Companion { + public final fun of (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlow (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlowWithFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResult (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlow (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlowWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun withFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Data : org/mobilenativefoundation/store/store5/FetcherResult { + public fun (Ljava/lang/Object;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/Object;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/Object;Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Data;Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public fun equals (Ljava/lang/Object;)Z + public final fun getOrigin ()Ljava/lang/String; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult$Error : org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Custom : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Exception : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Message : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MemoryPolicy$Companion; + public static final field DEFAULT_SIZE_POLICY J + public final fun getExpireAfterAccess-UwyO8pc ()J + public final fun getExpireAfterWrite-UwyO8pc ()J + public final fun getHasAccessPolicy ()Z + public final fun getHasMaxSize ()Z + public final fun getHasMaxWeight ()Z + public final fun getHasWritePolicy ()Z + public final fun getMaxSize ()J + public final fun getMaxWeight ()J + public final fun getWeigher ()Lorg/mobilenativefoundation/store/store5/Weigher; + public final fun isDefaultWritePolicy ()Z +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$Companion { + public final fun builder ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun getDEFAULT_DURATION_POLICY-UwyO8pc ()J +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder { + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy; + public final fun setExpireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setExpireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setMaxSize (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setWeigherAndMaxWeight (Lorg/mobilenativefoundation/store/store5/Weigher;J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStore : org/mobilenativefoundation/store/store5/Clear, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution, org/mobilenativefoundation/store/store5/Write, org/mobilenativefoundation/store/store5/Write$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion; + public abstract fun build (Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$DefaultImpls { + public static synthetic fun build$default (Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/MutableStore; +} + +public final class org/mobilenativefoundation/store/store5/OnFetcherCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/OnUpdaterCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$Stream { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/SourceOfTruth { + public static final field Companion Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion; + public abstract fun delete (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun deleteAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun reader (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; + public abstract fun write (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$Companion { + public final fun of (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public final fun ofFlow (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$ReadException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public fun hashCode ()I +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$WriteException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Store : org/mobilenativefoundation/store/store5/Clear$All, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreBuilder$Companion; + public abstract fun build ()Lorg/mobilenativefoundation/store/store5/Store; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun toMutableStoreBuilder (Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion; + public final fun component1 ()Ljava/lang/Object; + public final fun component3 ()Z + public final fun component4 ()Z + public final fun component5 ()Z + public final fun copy (Ljava/lang/Object;IZZZ)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;Ljava/lang/Object;IZZZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFallBackToSourceOfTruth ()Z + public final fun getFetch ()Z + public final fun getKey ()Ljava/lang/Object; + public final fun getRefresh ()Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest$Companion { + public final fun cached (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun fresh (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun fresh$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion;Ljava/lang/Object;ZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun freshWithFallBackToSourceOfTruth (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun localOnly (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun skipMemory (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse { + public final fun dataOrNull ()Ljava/lang/Object; + public final fun errorMessageOrNull ()Ljava/lang/String; + public final fun errorOrNull ()Ljava/lang/Object; + public abstract fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun requireData ()Ljava/lang/Object; + public final fun throwIfError ()V +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Data : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse$Error : org/mobilenativefoundation/store/store5/StoreReadResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception;Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message;Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Initial : org/mobilenativefoundation/store/store5/StoreReadResponse { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Initial; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Loading : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseKt { + public static final fun doThrow (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error;)Ljava/lang/Void; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth; +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreWriteRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion; + public abstract fun getCreated ()J + public abstract fun getKey ()Ljava/lang/Object; + public abstract fun getOnCompletions ()Ljava/util/List; + public abstract fun getValue ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteRequest$Companion { + public final fun of (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;J)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;JILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Updater { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Updater$Companion; + public abstract fun getOnCompletion ()Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public abstract fun post (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Updater$Companion { + public final fun by (Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;)Lorg/mobilenativefoundation/store/store5/Updater; + public static synthetic fun by$default (Lorg/mobilenativefoundation/store/store5/Updater$Companion;Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Updater; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Error : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Message : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Success : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Validator { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Validator$Companion; + public abstract fun isValid (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Validator$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Validator; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Weigher { + public abstract fun weigh (Ljava/lang/Object;Ljava/lang/Object;)I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write { + public abstract fun write (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write$Stream { + public abstract fun stream (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilderKt { + public static final fun mutableStoreBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreBuilderKt { + public static final fun storeBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static synthetic fun storeBuilderFromFetcher$default (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthMemoryCacheAndConverter (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest : org/mobilenativefoundation/store/store5/StoreWriteRequest { + public fun (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/Object; + public final fun component3 ()J + public final fun component4 ()Ljava/util/List; + public final fun copy (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest;Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getCreated ()J + public fun getKey ()Ljava/lang/Object; + public fun getOnCompletions ()Ljava/util/List; + public fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/extensions/StoreKt { + public static final fun asMutableStore (Lorg/mobilenativefoundation/store/store5/Store;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface annotation class org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread : java/lang/annotation/Annotation { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public fun (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public final fun copy (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved;Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success; +} + diff --git a/store-runtime/api/jvm/store.api b/store-runtime/api/jvm/store.api new file mode 100644 index 000000000..9d866b708 --- /dev/null +++ b/store-runtime/api/jvm/store.api @@ -0,0 +1,688 @@ +public abstract interface class org/mobilenativefoundation/store/store5/Bookkeeper { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Bookkeeper$Companion; + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun clearAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getLastFailedSync (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun setLastFailedSync (Ljava/lang/Object;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Bookkeeper; +} + +public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImpls { + public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$All { + public abstract fun clear (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Clear$Key { + public abstract fun clear (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Converter { + public abstract fun fromNetworkToLocal (Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun fromOutputToLocal (Ljava/lang/Object;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Converter$Builder { + public field fromNetworkToLocal Lkotlin/jvm/functions/Function1; + public field fromOutputToLocal Lkotlin/jvm/functions/Function1; + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/Converter; + public final fun fromNetworkToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun fromOutputToLocal (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Converter$Builder; + public final fun getFromNetworkToLocal ()Lkotlin/jvm/functions/Function1; + public final fun getFromOutputToLocal ()Lkotlin/jvm/functions/Function1; + public final fun setFromNetworkToLocal (Lkotlin/jvm/functions/Function1;)V + public final fun setFromOutputToLocal (Lkotlin/jvm/functions/Function1;)V +} + +public abstract interface class org/mobilenativefoundation/store/store5/Fetcher { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Fetcher$Companion; + public abstract fun getFallback ()Lorg/mobilenativefoundation/store/store5/Fetcher; + public abstract fun getName ()Ljava/lang/String; + public abstract fun invoke (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/Fetcher$Companion { + public final fun of (Ljava/lang/String;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlow (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofFlowWithFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResult (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlow (Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultFlowWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun ofResultWithFallback (Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public final fun withFallback (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/Fetcher;Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Fetcher; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Data : org/mobilenativefoundation/store/store5/FetcherResult { + public fun (Ljava/lang/Object;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/Object;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/Object;Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Data;Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Data; + public fun equals (Ljava/lang/Object;)Z + public final fun getOrigin ()Ljava/lang/String; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/FetcherResult$Error : org/mobilenativefoundation/store/store5/FetcherResult { +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Custom : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Exception : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/FetcherResult$Error$Message : org/mobilenativefoundation/store/store5/FetcherResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/FetcherResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MemoryPolicy$Companion; + public static final field DEFAULT_SIZE_POLICY J + public final fun getExpireAfterAccess-UwyO8pc ()J + public final fun getExpireAfterWrite-UwyO8pc ()J + public final fun getHasAccessPolicy ()Z + public final fun getHasMaxSize ()Z + public final fun getHasMaxWeight ()Z + public final fun getHasWritePolicy ()Z + public final fun getMaxSize ()J + public final fun getMaxWeight ()J + public final fun getWeigher ()Lorg/mobilenativefoundation/store/store5/Weigher; + public final fun isDefaultWritePolicy ()Z +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$Companion { + public final fun builder ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun getDEFAULT_DURATION_POLICY-UwyO8pc ()J +} + +public final class org/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder { + public fun ()V + public final fun build ()Lorg/mobilenativefoundation/store/store5/MemoryPolicy; + public final fun setExpireAfterAccess-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setExpireAfterWrite-LRDsOJo (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setMaxSize (J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; + public final fun setWeigherAndMaxWeight (Lorg/mobilenativefoundation/store/store5/Weigher;J)Lorg/mobilenativefoundation/store/store5/MemoryPolicy$MemoryPolicyBuilder; +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStore : org/mobilenativefoundation/store/store5/Clear, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution, org/mobilenativefoundation/store/store5/Write, org/mobilenativefoundation/store/store5/Write$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/MutableStoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion; + public abstract fun build (Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/MutableStoreBuilder$DefaultImpls { + public static synthetic fun build$default (Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/MutableStore; +} + +public final class org/mobilenativefoundation/store/store5/OnFetcherCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnFetcherCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/OnUpdaterCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read { +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$Stream { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Read$StreamWithConflictResolution { + public abstract fun stream (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lkotlinx/coroutines/flow/Flow; +} + +public abstract interface class org/mobilenativefoundation/store/store5/SourceOfTruth { + public static final field Companion Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion; + public abstract fun delete (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun deleteAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun reader (Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow; + public abstract fun write (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$Companion { + public final fun of (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public final fun ofFlow (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofFlow$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$ReadException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public fun hashCode ()I +} + +public final class org/mobilenativefoundation/store/store5/SourceOfTruth$WriteException : java/lang/RuntimeException { + public fun (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V + public fun equals (Ljava/lang/Object;)Z + public final fun getKey ()Ljava/lang/Object; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Store : org/mobilenativefoundation/store/store5/Clear$All, org/mobilenativefoundation/store/store5/Clear$Key, org/mobilenativefoundation/store/store5/Read$Stream { +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreBuilder { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreBuilder$Companion; + public abstract fun build ()Lorg/mobilenativefoundation/store/store5/Store; + public abstract fun cachePolicy (Lorg/mobilenativefoundation/store/store5/MemoryPolicy;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun disableCache ()Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun scope (Lkotlinx/coroutines/CoroutineScope;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public abstract fun toMutableStoreBuilder (Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public abstract fun validator (Lorg/mobilenativefoundation/store/store5/Validator;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreBuilder$Companion { + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public final fun from (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion; + public final fun component1 ()Ljava/lang/Object; + public final fun component3 ()Z + public final fun component4 ()Z + public final fun component5 ()Z + public final fun copy (Ljava/lang/Object;IZZZ)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest;Ljava/lang/Object;IZZZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFallBackToSourceOfTruth ()Z + public final fun getFetch ()Z + public final fun getKey ()Ljava/lang/Object; + public final fun getRefresh ()Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadRequest$Companion { + public final fun cached (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun fresh (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public static synthetic fun fresh$default (Lorg/mobilenativefoundation/store/store5/StoreReadRequest$Companion;Ljava/lang/Object;ZILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun freshWithFallBackToSourceOfTruth (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun localOnly (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; + public final fun skipMemory (Ljava/lang/Object;Z)Lorg/mobilenativefoundation/store/store5/StoreReadRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse { + public final fun dataOrNull ()Ljava/lang/Object; + public final fun errorMessageOrNull ()Ljava/lang/String; + public final fun errorOrNull ()Ljava/lang/Object; + public abstract fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun requireData ()Ljava/lang/Object; + public final fun throwIfError ()V +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Data : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Data; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponse$Error : org/mobilenativefoundation/store/store5/StoreReadResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom;Ljava/lang/Object;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Custom; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Object; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception;Ljava/lang/Throwable;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreReadResponse$Error { + public fun (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message;Ljava/lang/String;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Initial : org/mobilenativefoundation/store/store5/StoreReadResponse { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Initial; + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$Loading : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Loading; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData : org/mobilenativefoundation/store/store5/StoreReadResponse { + public fun (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public final fun copy (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData;Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponse$NoNewData; + public fun equals (Ljava/lang/Object;)Z + public fun getOrigin ()Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseKt { + public static final fun doThrow (Lorg/mobilenativefoundation/store/store5/StoreReadResponse$Error;)Ljava/lang/Void; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Cache; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public fun ()V + public fun (Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Fetcher; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$Initial; +} + +public final class org/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth : org/mobilenativefoundation/store/store5/StoreReadResponseOrigin { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/StoreReadResponseOrigin$SourceOfTruth; +} + +public abstract interface class org/mobilenativefoundation/store/store5/StoreWriteRequest { + public static final field Companion Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion; + public abstract fun getCreated ()J + public abstract fun getKey ()Ljava/lang/Object; + public abstract fun getOnCompletions ()Ljava/util/List; + public abstract fun getValue ()Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteRequest$Companion { + public final fun of (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;J)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; + public static synthetic fun of$default (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest$Companion;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/List;JILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteRequest; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message : org/mobilenativefoundation/store/store5/StoreWriteResponse$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success : org/mobilenativefoundation/store/store5/StoreWriteResponse { +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped : org/mobilenativefoundation/store/store5/StoreWriteResponse$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreWriteResponse$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Updater { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Updater$Companion; + public abstract fun getOnCompletion ()Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion; + public abstract fun post (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Updater$Companion { + public final fun by (Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;)Lorg/mobilenativefoundation/store/store5/Updater; + public static synthetic fun by$default (Lorg/mobilenativefoundation/store/store5/Updater$Companion;Lkotlin/jvm/functions/Function3;Lorg/mobilenativefoundation/store/store5/OnUpdaterCompletion;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/Updater; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Error : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Error$Message : org/mobilenativefoundation/store/store5/UpdaterResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/UpdaterResult$Success : org/mobilenativefoundation/store/store5/UpdaterResult { +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Typed; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped : org/mobilenativefoundation/store/store5/UpdaterResult$Success { + public fun (Ljava/lang/Object;)V + public final fun component1 ()Ljava/lang/Object; + public final fun copy (Ljava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped;Ljava/lang/Object;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success$Untyped; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Validator { + public static final field Companion Lorg/mobilenativefoundation/store/store5/Validator$Companion; + public abstract fun isValid (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/mobilenativefoundation/store/store5/Validator$Companion { + public final fun by (Lkotlin/jvm/functions/Function2;)Lorg/mobilenativefoundation/store/store5/Validator; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Weigher { + public abstract fun weigh (Ljava/lang/Object;Ljava/lang/Object;)I +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write { + public abstract fun write (Lorg/mobilenativefoundation/store/store5/StoreWriteRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class org/mobilenativefoundation/store/store5/Write$Stream { + public abstract fun stream (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow; +} + +public final class org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion { + public fun (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V + public final fun component1 ()Lkotlin/jvm/functions/Function1; + public final fun component2 ()Lkotlin/jvm/functions/Function1; + public final fun copy (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion; + public fun equals (Ljava/lang/Object;)Z + public final fun getOnFailure ()Lkotlin/jvm/functions/Function1; + public final fun getOnSuccess ()Lkotlin/jvm/functions/Function1; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilderKt { + public static final fun mutableStoreBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; + public static final fun mutableStoreBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/MutableStoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreBuilderKt { + public static final fun storeBuilderFromFetcher (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static synthetic fun storeBuilderFromFetcher$default (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherAndSourceOfTruth (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthAndMemoryCache (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; + public static final fun storeBuilderFromFetcherSourceOfTruthMemoryCacheAndConverter (Lorg/mobilenativefoundation/store/store5/Fetcher;Lorg/mobilenativefoundation/store/store5/SourceOfTruth;Lorg/mobilenativefoundation/store/cache5/Cache;Lorg/mobilenativefoundation/store/store5/Converter;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest : org/mobilenativefoundation/store/store5/StoreWriteRequest { + public fun (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)V + public final fun component1 ()Ljava/lang/Object; + public final fun component2 ()Ljava/lang/Object; + public final fun component3 ()J + public final fun component4 ()Ljava/util/List; + public final fun copy (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest;Ljava/lang/Object;Ljava/lang/Object;JLjava/util/List;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getCreated ()J + public fun getKey ()Ljava/lang/Object; + public fun getOnCompletions ()Ljava/util/List; + public fun getValue ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/impl/extensions/StoreKt { + public static final fun asMutableStore (Lorg/mobilenativefoundation/store/store5/Store;Lorg/mobilenativefoundation/store/store5/Updater;Lorg/mobilenativefoundation/store/store5/Bookkeeper;)Lorg/mobilenativefoundation/store/store5/MutableStore; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun fresh (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/MutableStore;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun get (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface annotation class org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread : java/lang/annotation/Annotation { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public fun (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)V + public final fun component1 ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public final fun copy (Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved;Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$ConflictsResolved; + public fun equals (Ljava/lang/Object;)Z + public final fun getValue ()Lorg/mobilenativefoundation/store/store5/UpdaterResult$Success; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts : org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult$Success$NoConflicts; +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public abstract class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception;Ljava/lang/Throwable;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Exception; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error { + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public static synthetic fun copy$default (Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message;Ljava/lang/String;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Error$Message; + public fun equals (Ljava/lang/Object;)Z + public final fun getError ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success : org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult { + public static final field INSTANCE Lorg/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult$Success; +} + diff --git a/store-runtime/build.gradle.kts b/store-runtime/build.gradle.kts new file mode 100644 index 000000000..947da75c9 --- /dev/null +++ b/store-runtime/build.gradle.kts @@ -0,0 +1,32 @@ +plugins { + id("org.mobilenativefoundation.store.multiplatform") +} + +kotlin { + sourceSets { + val commonMain by getting { + dependencies { + implementation(libs.kotlin.stdlib) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.serialization.core) + implementation(libs.kotlinx.datetime) + api(libs.kotlinx.atomic.fu) + implementation(libs.touchlab.kermit) + implementation(projects.storeMulticast) + implementation(projects.storeCache) + api(projects.storeCore) + } + } + + val commonTest by getting { + dependencies { + implementation(libs.junit) + implementation(libs.kotlinx.coroutines.test) + } + } + } +} + +android { + namespace = "org.mobilenativefoundation.store.store5" +} \ No newline at end of file diff --git a/store/config/ktlint/baseline.xml b/store-runtime/config/ktlint/baseline.xml similarity index 100% rename from store/config/ktlint/baseline.xml rename to store-runtime/config/ktlint/baseline.xml diff --git a/store/gradle.properties b/store-runtime/gradle.properties similarity index 100% rename from store/gradle.properties rename to store-runtime/gradle.properties diff --git a/store/kover/coverage.xml b/store-runtime/kover/coverage.xml similarity index 100% rename from store/kover/coverage.xml rename to store-runtime/kover/coverage.xml diff --git a/paging/src/androidMain/AndroidManifest.xml b/store-runtime/src/androidMain/AndroidManifest.xml similarity index 100% rename from paging/src/androidMain/AndroidManifest.xml rename to store-runtime/src/androidMain/AndroidManifest.xml diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Bookkeeper.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Bookkeeper.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Bookkeeper.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Bookkeeper.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Clear.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Clear.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Clear.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Clear.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Converter.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Converter.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Converter.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Converter.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Fetcher.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Fetcher.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Fetcher.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Fetcher.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/FetcherResult.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/FetcherResult.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/FetcherResult.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/FetcherResult.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MemoryPolicy.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MemoryPolicy.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MemoryPolicy.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MemoryPolicy.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStore.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStore.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStore.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStore.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStoreBuilder.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStoreBuilder.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStoreBuilder.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/MutableStoreBuilder.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnFetcherCompletion.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnFetcherCompletion.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnFetcherCompletion.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnFetcherCompletion.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnUpdaterCompletion.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnUpdaterCompletion.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnUpdaterCompletion.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/OnUpdaterCompletion.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Read.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Read.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Read.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Read.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruth.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruth.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruth.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruth.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Store.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Store.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Store.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Store.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreBuilder.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreBuilder.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreBuilder.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreBuilder.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreDefaults.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreDefaults.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreDefaults.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreDefaults.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadRequest.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadRequest.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadRequest.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadRequest.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponse.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponse.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponse.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponse.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteRequest.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteRequest.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteRequest.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteRequest.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteResponse.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteResponse.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteResponse.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/StoreWriteResponse.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Updater.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Updater.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Updater.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Updater.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/UpdaterResult.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/UpdaterResult.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/UpdaterResult.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/UpdaterResult.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Validator.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Validator.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Validator.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Validator.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Write.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Write.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Write.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/Write.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/FetcherController.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/FetcherController.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/FetcherController.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/FetcherController.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/OnStoreWriteCompletion.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealBookkeeper.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealBookkeeper.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealBookkeeper.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealBookkeeper.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStore.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStore.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStore.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStore.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilder.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilder.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilder.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealMutableStoreBuilder.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealSourceOfTruth.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealSourceOfTruth.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealSourceOfTruth.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealSourceOfTruth.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStore.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStore.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStore.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStore.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreBuilder.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreBuilder.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreBuilder.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreBuilder.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealStoreWriteRequest.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealValidator.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealValidator.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealValidator.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RealValidator.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RefCountedResource.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RefCountedResource.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RefCountedResource.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/RefCountedResource.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/SourceOfTruthWithBarrier.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/SourceOfTruthWithBarrier.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/SourceOfTruthWithBarrier.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/SourceOfTruthWithBarrier.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/clock.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/clock.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/clock.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/clock.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/store.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/store.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/store.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/extensions/store.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/FlowMerge.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/FlowMerge.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/FlowMerge.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/FlowMerge.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/MapIndexed.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/MapIndexed.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/MapIndexed.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/impl/operators/MapIndexed.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/AnyThread.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/Lightswitch.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/Lightswitch.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/Lightswitch.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/Lightswitch.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/ThreadSafety.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/ThreadSafety.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/ThreadSafety.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/concurrent/ThreadSafety.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/Timestamp.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/Timestamp.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/Timestamp.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/Timestamp.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/WriteRequestQueue.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/WriteRequestQueue.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/WriteRequestQueue.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/definition/WriteRequestQueue.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/EagerConflictResolutionResult.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult.kt b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult.kt similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult.kt rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/internal/result/StoreDelegateWriteResult.kt diff --git a/store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/storeBuilder.uml b/store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/storeBuilder.uml similarity index 100% rename from store/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/storeBuilder.uml rename to store-runtime/src/commonMain/kotlin/org/mobilenativefoundation/store/store5/storeBuilder.uml diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearAllStoreTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearAllStoreTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearAllStoreTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearAllStoreTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearStoreByKeyTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearStoreByKeyTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearStoreByKeyTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ClearStoreByKeyTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FallbackTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FallbackTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FallbackTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FallbackTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherControllerTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherControllerTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherControllerTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherControllerTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherResponseTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherResponseTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherResponseTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FetcherResponseTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FlowStoreTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FlowStoreTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FlowStoreTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/FlowStoreTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/HotFlowStoreTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/HotFlowStoreTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/HotFlowStoreTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/HotFlowStoreTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/KeyTrackerTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/KeyTrackerTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/KeyTrackerTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/KeyTrackerTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/LocalOnlyTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/LocalOnlyTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/LocalOnlyTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/LocalOnlyTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/MapIndexedTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/MapIndexedTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/MapIndexedTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/MapIndexedTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthErrorsTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthErrorsTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthErrorsTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthErrorsTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthWithBarrierTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthWithBarrierTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthWithBarrierTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/SourceOfTruthWithBarrierTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponseTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponseTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponseTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreReadResponseTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreWithInMemoryCacheTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreWithInMemoryCacheTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreWithInMemoryCacheTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StoreWithInMemoryCacheTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StreamWithoutSourceOfTruthTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StreamWithoutSourceOfTruthTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StreamWithoutSourceOfTruthTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/StreamWithoutSourceOfTruthTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/UpdaterTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/UpdaterTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/UpdaterTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/UpdaterTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ValueFetcherTests.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ValueFetcherTests.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ValueFetcherTests.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/ValueFetcherTests.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AsFlowable.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AsFlowable.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AsFlowable.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AsFlowable.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AssertEmitsExactly.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AssertEmitsExactly.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AssertEmitsExactly.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/AssertEmitsExactly.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/FakeFetcher.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/FakeFetcher.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/FakeFetcher.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/FakeFetcher.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/InMemoryPersister.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/InMemoryPersister.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/InMemoryPersister.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/InMemoryPersister.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestApi.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestApi.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestApi.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestApi.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestStoreExt.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestStoreExt.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestStoreExt.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/TestStoreExt.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NoteCollections.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NoteCollections.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NoteCollections.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NoteCollections.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/Notes.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/Notes.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/Notes.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/Notes.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesApi.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesApi.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesApi.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesApi.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesBookkeeping.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesBookkeeping.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesBookkeeping.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesBookkeeping.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesConverterProvider.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesConverterProvider.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesConverterProvider.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesConverterProvider.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesDatabase.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesDatabase.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesDatabase.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesDatabase.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesKey.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesKey.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesKey.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesKey.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesUpdaterProvider.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesUpdaterProvider.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesUpdaterProvider.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesUpdaterProvider.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesValidator.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesValidator.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesValidator.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/NotesValidator.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/HardcodedPages.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/HardcodedPages.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/HardcodedPages.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/HardcodedPages.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/Page.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/Page.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/Page.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/Page.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PagesDatabase.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PagesDatabase.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PagesDatabase.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PagesDatabase.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PrimaryPagesApi.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PrimaryPagesApi.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PrimaryPagesApi.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/PrimaryPagesApi.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/SecondaryPagesApi.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/SecondaryPagesApi.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/SecondaryPagesApi.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/fake/fallback/SecondaryPagesApi.kt diff --git a/store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/model/NoteData.kt b/store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/model/NoteData.kt similarity index 100% rename from store/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/model/NoteData.kt rename to store-runtime/src/commonTest/kotlin/org/mobilenativefoundation/store/store5/util/model/NoteData.kt diff --git a/store-rx2/api/store-rx2.api b/store-rx2/api/store-rx2.api new file mode 100644 index 000000000..8c2b6797c --- /dev/null +++ b/store-rx2/api/store-rx2.api @@ -0,0 +1,26 @@ +public final class org/mobilenativefoundation/store/rx2/RxFetcherKt { + public static final fun ofFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static final fun ofResultFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static final fun ofResultSingle (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; + public static final fun ofSingle (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; +} + +public final class org/mobilenativefoundation/store/rx2/RxSourceOfTruthKt { + public static final fun ofFlowable (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofFlowable$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static final fun ofMaybe (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; + public static synthetic fun ofMaybe$default (Lorg/mobilenativefoundation/store/store5/SourceOfTruth$Companion;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lorg/mobilenativefoundation/store/store5/SourceOfTruth; +} + +public final class org/mobilenativefoundation/store/rx2/RxStoreBuilderKt { + public static final fun withScheduler (Lorg/mobilenativefoundation/store/store5/StoreBuilder;Lio/reactivex/Scheduler;)Lorg/mobilenativefoundation/store/store5/StoreBuilder; +} + +public final class org/mobilenativefoundation/store/rx2/RxStoreKt { + public static final fun freshSingle (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;)Lio/reactivex/Single; + public static final fun getSingle (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;)Lio/reactivex/Single; + public static final fun observe (Lorg/mobilenativefoundation/store/store5/Store;Lorg/mobilenativefoundation/store/store5/StoreReadRequest;)Lio/reactivex/Flowable; + public static final fun observeClear (Lorg/mobilenativefoundation/store/store5/Store;Ljava/lang/Object;)Lio/reactivex/Completable; + public static final fun observeClearAll (Lorg/mobilenativefoundation/store/store5/Store;)Lio/reactivex/Completable; +} + diff --git a/store-rx2/build.gradle.kts b/store-rx2/build.gradle.kts new file mode 100644 index 000000000..b551010c0 --- /dev/null +++ b/store-rx2/build.gradle.kts @@ -0,0 +1,23 @@ +@file:Suppress("UnstableApiUsage") + +plugins { + id("org.mobilenativefoundation.store.android") +} + +dependencies { + implementation(libs.kotlinx.coroutines.rx2) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.coroutines.android) + implementation(libs.rxjava) + implementation(projects.storeRuntime) + + testImplementation(kotlin("test")) + testImplementation(libs.junit) + testImplementation(libs.google.truth) + testImplementation(libs.androidx.test.core) + testImplementation(libs.kotlinx.coroutines.test) +} + +android { + namespace = "org.mobilenativefoundation.store.rx2" +} \ No newline at end of file diff --git a/paging/config/ktlint/baseline.xml b/store-rx2/config/ktlint/baseline.xml similarity index 100% rename from paging/config/ktlint/baseline.xml rename to store-rx2/config/ktlint/baseline.xml diff --git a/rx2/gradle.properties b/store-rx2/gradle.properties similarity index 100% rename from rx2/gradle.properties rename to store-rx2/gradle.properties diff --git a/rx2/src/main/AndroidManifest.xml b/store-rx2/src/main/AndroidManifest.xml similarity index 100% rename from rx2/src/main/AndroidManifest.xml rename to store-rx2/src/main/AndroidManifest.xml diff --git a/rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxFetcher.kt b/store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxFetcher.kt similarity index 100% rename from rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxFetcher.kt rename to store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxFetcher.kt diff --git a/rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxSourceOfTruth.kt b/store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxSourceOfTruth.kt similarity index 100% rename from rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxSourceOfTruth.kt rename to store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxSourceOfTruth.kt diff --git a/rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStore.kt b/store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStore.kt similarity index 100% rename from rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStore.kt rename to store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStore.kt diff --git a/rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStoreBuilder.kt b/store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStoreBuilder.kt similarity index 100% rename from rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStoreBuilder.kt rename to store-rx2/src/main/kotlin/org/mobilenativefoundation/store/rx2/RxStoreBuilder.kt diff --git a/rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/FlowTestExt.kt b/store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/FlowTestExt.kt similarity index 100% rename from rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/FlowTestExt.kt rename to store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/FlowTestExt.kt diff --git a/rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/HotRxSingleStoreTest.kt b/store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/HotRxSingleStoreTest.kt similarity index 100% rename from rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/HotRxSingleStoreTest.kt rename to store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/HotRxSingleStoreTest.kt diff --git a/rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxFlowableStoreTest.kt b/store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxFlowableStoreTest.kt similarity index 100% rename from rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxFlowableStoreTest.kt rename to store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxFlowableStoreTest.kt diff --git a/rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreExtensionsTest.kt b/store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreExtensionsTest.kt similarity index 100% rename from rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreExtensionsTest.kt rename to store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreExtensionsTest.kt diff --git a/rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreTest.kt b/store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreTest.kt similarity index 100% rename from rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreTest.kt rename to store-rx2/src/test/kotlin/org/mobilenativefoundation/store/rx2/test/RxSingleStoreTest.kt diff --git a/store/build.gradle.kts b/store/build.gradle.kts deleted file mode 100644 index 6724973d6..000000000 --- a/store/build.gradle.kts +++ /dev/null @@ -1,143 +0,0 @@ -@file:Suppress("UnstableApiUsage") - -import com.vanniktech.maven.publish.SonatypeHost.S01 -import org.jetbrains.dokka.gradle.DokkaTask - -plugins { - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.android.library") - id("com.vanniktech.maven.publish") - id("org.jetbrains.dokka") - id("org.jetbrains.kotlinx.kover") - id("co.touchlab.faktory.kmmbridge") - `maven-publish` - kotlin("native.cocoapods") - id("kotlinx-atomicfu") -} - -kotlin { - android() - jvm() - iosArm64() - iosX64() - linuxX64() - iosSimulatorArm64() - js { - browser() - nodejs() - } - cocoapods { - summary = "Store5" - homepage = "https://github.com/MobileNativeFoundation/Store" - ios.deploymentTarget = "13" - version = libs.versions.store.get() - } - - sourceSets { - all { - languageSettings.apply { - optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - optIn("kotlin.RequiresOptIn") - } - } - - val commonMain by getting { - dependencies { - implementation(libs.kotlin.stdlib) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.serialization.core) - implementation(libs.kotlinx.datetime) - api(libs.kotlinx.atomic.fu) - implementation(libs.touchlab.kermit) - implementation(project(":multicast")) - implementation(project(":cache")) - api(project(":core")) - } - } - - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(libs.junit) - implementation(libs.kotlinx.coroutines.test) - } - } - - val jvmMain by getting - val androidMain by getting - val nativeMain by creating { - dependsOn(commonMain) - } - } - - jvmToolchain(17) -} - -android { - namespace = "org.mobilenativefoundation.store.store5" - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - compileSdk = 33 - - defaultConfig { - minSdk = 24 - targetSdk = 33 - } - - lint { - disable += "ComposableModifierFactory" - disable += "ModifierFactoryExtensionFunction" - disable += "ModifierFactoryReturnType" - disable += "ModifierFactoryUnreferencedReceiver" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -tasks.withType().configureEach { - dokkaSourceSets.configureEach { - reportUndocumented.set(false) - skipDeprecated.set(true) - jdkVersion.set(17) - } -} - -mavenPublishing { - publishToMavenCentral(S01) - signAllPublications() -} - -addGithubPackagesRepository() -kmmbridge { - githubReleaseArtifacts() - githubReleaseVersions() - versionPrefix.set(libs.versions.store.get()) - spm() -} - -koverMerged { - enable() - - xmlReport { - onCheck.set(true) - reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) - } - - htmlReport { - onCheck.set(true) - reportDir.set(layout.projectDirectory.dir("kover/html")) - } - - verify { - onCheck.set(true) - } -} - -atomicfu { - transformJvm = false - transformJs = false -} diff --git a/store/src/androidMain/AndroidManifest.xml b/store/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 8072ee00d..000000000 --- a/store/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/tooling/gradle.properties b/tooling/gradle.properties new file mode 100644 index 000000000..c6cd2a7e2 --- /dev/null +++ b/tooling/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.parallel=true +org.gradle.caching=true +org.gradle.configureondemand=true diff --git a/tooling/gradle/wrapper/gradle-wrapper.jar b/tooling/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 000000000..943f0cbfa Binary files /dev/null and b/tooling/gradle/wrapper/gradle-wrapper.jar differ diff --git a/tooling/gradle/wrapper/gradle-wrapper.properties b/tooling/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..17655d0ef --- /dev/null +++ b/tooling/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/tooling/plugins/build.gradle.kts b/tooling/plugins/build.gradle.kts new file mode 100644 index 000000000..21dcaa043 --- /dev/null +++ b/tooling/plugins/build.gradle.kts @@ -0,0 +1,38 @@ +plugins { + `kotlin-dsl` +} + +group = "org.mobilenativefoundation.store" + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +dependencies { + compileOnly(libs.android.gradle.plugin) + compileOnly(libs.kotlin.gradle.plugin) + compileOnly(libs.dokka.gradle.plugin) + compileOnly(libs.maven.publish.plugin) + compileOnly(libs.kmmBridge.gradle.plugin) + compileOnly(libs.kover.plugin) + compileOnly(libs.atomic.fu.gradle.plugin) +} + +gradlePlugin { + plugins { + register("kotlinMultiplatformConventionPlugin") { + id = "org.mobilenativefoundation.store.multiplatform" + implementationClass = "org.mobilenativefoundation.store.tooling.plugins.KotlinMultiplatformConventionPlugin" + } + + register("androidConventionPlugin") { + id = "org.mobilenativefoundation.store.android" + implementationClass = "org.mobilenativefoundation.store.tooling.plugins.AndroidConventionPlugin" + } + } +} \ No newline at end of file diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt new file mode 100644 index 000000000..95ea5960c --- /dev/null +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt @@ -0,0 +1,54 @@ +@file:Suppress("UnstableApiUsage") + +package org.mobilenativefoundation.store.tooling.plugins + +import com.android.build.api.dsl.LibraryExtension +import org.gradle.api.JavaVersion +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.configure + +class AndroidConventionPlugin : Plugin { + override fun apply(project: Project) = with(project) { + with(pluginManager) { + apply("org.jetbrains.kotlin.android") + apply("com.android.library") + apply("com.vanniktech.maven.publish") + apply("org.jetbrains.dokka") + apply("org.jetbrains.kotlinx.kover") + apply("maven-publish") + apply("org.jetbrains.kotlin.native.cocoapods") + apply("org.jetbrains.kotlinx.binary-compatibility-validator") + } + + + extensions.configure { + + compileSdk = 33 + + defaultConfig { + minSdk = 24 + targetSdk = 33 + } + + lint { + disable += "ComposableModifierFactory" + disable += "ModifierFactoryExtensionFunction" + disable += "ModifierFactoryReturnType" + disable += "ModifierFactoryUnreferencedReceiver" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + } + + configureKotlin() + configureDokka() + configureMavenPublishing() + } +} + + + diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt new file mode 100644 index 000000000..0bb22f8f2 --- /dev/null +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt @@ -0,0 +1,229 @@ +@file:Suppress("UnstableApiUsage") + +package org.mobilenativefoundation.store.tooling.plugins + +import addGithubPackagesRepository +import co.touchlab.faktory.KmmBridgeExtension +import com.android.build.api.dsl.LibraryExtension +import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.SonatypeHost.S01 +import kotlinx.atomicfu.plugin.gradle.AtomicFUPluginExtension +import kotlinx.kover.api.KoverMergedConfig +import org.gradle.api.JavaVersion +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.plugins.JavaPluginExtension +import org.gradle.jvm.toolchain.JavaLanguageVersion +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.get +import org.gradle.kotlin.dsl.withType +import org.jetbrains.dokka.gradle.DokkaPlugin +import org.jetbrains.dokka.gradle.DokkaTask +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl + +class KotlinMultiplatformConventionPlugin : Plugin { + override fun apply(project: Project) = with(project) { + + + with(pluginManager) { + apply("org.jetbrains.kotlin.multiplatform") + apply("org.jetbrains.kotlin.plugin.serialization") + apply("com.android.library") + apply("com.vanniktech.maven.publish") + apply("org.jetbrains.dokka") + apply("org.jetbrains.kotlinx.kover") + apply("co.touchlab.faktory.kmmbridge") + apply("maven-publish") + apply("org.jetbrains.kotlin.native.cocoapods") + apply("kotlinx-atomicfu") + apply("org.jetbrains.kotlinx.binary-compatibility-validator") + } + + + extensions.configure { + + applyDefaultHierarchyTemplate() + + androidTarget() + + jvm() + + iosX64() + iosArm64() + iosSimulatorArm64() + + linuxX64() + + js { + browser() + nodejs() + } + + jvmToolchain(17) + + targets.all { + compilations.all { + compilerOptions.configure { + freeCompilerArgs.add("-Xexpect-actual-classes") + } + } + } + + targets.withType().configureEach { + compilations.configureEach { + compilerOptions.configure { + freeCompilerArgs.add("-Xallocator=custom") + freeCompilerArgs.add("-XXLanguage:+ImplicitSignedToUnsignedIntegerConversion") + freeCompilerArgs.add("-Xadd-light-debug=enable") + + freeCompilerArgs.addAll( + "-opt-in=kotlin.RequiresOptIn", + "-opt-in=kotlin.time.ExperimentalTime", + "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", + "-opt-in=kotlinx.coroutines.FlowPreview", + "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", + "-opt-in=kotlinx.cinterop.BetaInteropApi", + ) + } + } + } + + sourceSets.all { + languageSettings.apply { + optIn("kotlin.contracts.ExperimentalContracts") + optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") + optIn("kotlin.RequiresOptIn") + } + } + + sourceSets.getByName("commonTest") { + dependencies { + implementation(kotlin("test")) + } + } + + sourceSets.getByName("jvmTest") { + dependencies { + implementation(kotlin("test-junit")) + } + } + + sourceSets.getByName("nativeMain") { + dependsOn(sourceSets.getByName("commonMain")) + } + + + } + + configureKotlin() + configureAndroid() + configureDokka() + configureMavenPublishing() + addGithubPackagesRepository() + configureKmmBridge() + configureAtomicFu() + } +} + + +fun Project.configureKotlin() { + configureJava() +} + +fun Project.configureJava() { + java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } + } +} + +fun Project.configureAndroid() { + android { + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + compileSdk = Versions.COMPILE_SDK + defaultConfig { + minSdk = Versions.MIN_SDK + targetSdk = Versions.TARGET_SDK + } + lint { + disable += "ComposableModifierFactory" + disable += "ModifierFactoryExtensionFunction" + disable += "ModifierFactoryReturnType" + disable += "ModifierFactoryUnreferencedReceiver" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + } +} + + +fun Project.android(action: LibraryExtension.() -> Unit) = extensions.configure(action) + +private fun Project.java(action: JavaPluginExtension.() -> Unit) = extensions.configure(action) + + +object Versions { + const val COMPILE_SDK = 34 + const val MIN_SDK = 31 + const val TARGET_SDK = 34 + const val STORE = "5.1.0-alpha02" +} + + +fun Project.configureMavenPublishing() = extensions.configure { + publishToMavenCentral(S01) + signAllPublications() +} + + +fun Project.configureKmmBridge() = extensions.configure { + githubReleaseArtifacts() + githubReleaseVersions() + versionPrefix.set(Versions.STORE) + spm() +} + +fun Project.configureKover() = extensions.configure { + enable() + + xmlReport { + onCheck.set(true) + reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) + } + + htmlReport { + onCheck.set(true) + reportDir.set(layout.projectDirectory.dir("kover/html")) + } + + verify { + onCheck.set(true) + } +} + + +fun Project.configureAtomicFu() = + extensions.configure { + transformJvm = false + transformJs = false + } + +fun Project.configureDokka() = tasks.withType().configureEach { + dokkaSourceSets.configureEach { + reportUndocumented.set(false) + skipDeprecated.set(true) + jdkVersion.set(17) + } +} + +fun Project.android(name: String) { + android { + namespace = "org.mobilenativefoundation.store.$name" + } +} \ No newline at end of file diff --git a/tooling/settings.gradle.kts b/tooling/settings.gradle.kts new file mode 100644 index 000000000..8e73df2f2 --- /dev/null +++ b/tooling/settings.gradle.kts @@ -0,0 +1,18 @@ +@Suppress("UnstableApiUsage") +dependencyResolutionManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } + + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} + +rootProject.name = "tooling" + +include(":plugins")