Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged rx, rx-internal and utils-internal modules into mvikotlin module #115

Merged
merged 1 commit into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import com.arkivanov.gradle.AndroidConfig
import com.arkivanov.gradle.BinaryCompatibilityValidatorConfig
import com.arkivanov.gradle.PublicationConfig
import com.arkivanov.gradle.ensureUnreachableTasksDisabled
import com.arkivanov.gradle.iosCompat
Expand Down Expand Up @@ -45,6 +46,9 @@ setupDefaults(
compileSdkVersion = 31,
targetSdkVersion = 31,
),
binaryCompatibilityValidatorConfig = BinaryCompatibilityValidatorConfig(
nonPublicMarkers = listOf("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi"),
),
publicationConfig = PublicationConfig(
group = "com.arkivanov.mvikotlin",
version = deps.versions.mvikotlin.get(),
Expand Down
8 changes: 4 additions & 4 deletions mvikotlin-extensions-coroutines/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ kotlin {
setupSourceSets {
common.main.dependencies {
implementation(project(":mvikotlin"))
implementation(project(":rx"))
implementation(project(":utils-internal"))
implementation(deps.kotlinx.kotlinxCoroutinesCore)
}

common.test.dependencies {
implementation(project(":rx-internal"))
all {
languageSettings {
optIn("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi")
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package com.arkivanov.mvikotlin.extensions.coroutines
import com.arkivanov.mvikotlin.core.annotations.MainThread
import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.arkivanov.mvikotlin.extensions.coroutines

import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.utils.ExperimentalMviKotlinApi
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Executor.Callbacks
import com.arkivanov.mvikotlin.core.store.Reducer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.arkivanov.mvikotlin.extensions.coroutines

import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.utils.ExperimentalMviKotlinApi
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.arkivanov.mvikotlin.extensions.coroutines

import com.arkivanov.mvikotlin.core.rx.observer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.rx.observer
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
Expand Down Expand Up @@ -47,7 +47,7 @@ fun <State : Any> Store<*, State, *>.stateFlow(
val <State : Any> Store<*, State, *>.stateFlow: StateFlow<State>
get() = StoreStateFlow(store = this)

private class StoreStateFlow<State : Any>(
private class StoreStateFlow<out State : Any>(
private val store: Store<*, State, *>,
) : StateFlow<State> {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.arkivanov.mvikotlin.extensions.coroutines

import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.rx.Observer
import com.arkivanov.mvikotlin.rx.observer
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import com.arkivanov.mvikotlin.core.rx.observer
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow

internal inline fun <T, R> T.toFlow(
crossinline subscribe: T.(Observer<R>) -> Disposable
crossinline subscribe: T.(Observer<R>) -> Disposable,
): Flow<R> =
callbackFlow {
val disposable =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package com.arkivanov.mvikotlin.extensions.coroutines

import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.rx.Observer
import com.arkivanov.mvikotlin.rx.internal.Disposable
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
Expand Down
9 changes: 6 additions & 3 deletions mvikotlin-extensions-reaktive/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,18 @@ kotlin {
setupSourceSets {
common.main.dependencies {
implementation(project(":mvikotlin"))
implementation(project(":rx"))
implementation(project(":rx-internal"))
implementation(project(":utils-internal"))
implementation(deps.reaktive.reaktive)
implementation(deps.reaktive.reaktiveAnnotations)
}

common.test.dependencies {
implementation(deps.reaktive.reaktiveTesting)
}

all {
languageSettings {
optIn("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.arkivanov.mvikotlin.extensions.reaktive

import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.badoo.reaktive.disposable.Disposable as ReaktiveDisposable

internal fun Disposable.toReaktiveDisposable(): ReaktiveDisposable =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package com.arkivanov.mvikotlin.extensions.reaktive
import com.arkivanov.mvikotlin.core.annotations.MainThread
import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import com.badoo.reaktive.completable.Completable
import com.badoo.reaktive.disposable.Disposable
import com.badoo.reaktive.disposable.scope.DisposableScope
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.arkivanov.mvikotlin.extensions.reaktive

import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.utils.ExperimentalMviKotlinApi
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import com.badoo.reaktive.disposable.scope.DisposableScope

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Reducer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import com.badoo.reaktive.completable.Completable
import com.badoo.reaktive.disposable.Disposable
import com.badoo.reaktive.disposable.scope.DisposableScope
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.arkivanov.mvikotlin.extensions.reaktive

import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.utils.ExperimentalMviKotlinApi
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue
import com.badoo.reaktive.disposable.scope.DisposableScope

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package com.arkivanov.mvikotlin.extensions.reaktive

import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.rx.Observer
import com.arkivanov.mvikotlin.rx.observer
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import com.arkivanov.mvikotlin.core.rx.observer
import com.badoo.reaktive.observable.Observable
import com.badoo.reaktive.observable.observable

internal inline fun <T, R> T.toObservable(
crossinline subscribe: T.(Observer<R>) -> Disposable
crossinline subscribe: T.(Observer<R>) -> Disposable,
): Observable<R> =
observable { emitter ->
val disposable = subscribe(
observer(
onComplete = emitter::onComplete,
onNext = emitter::onNext
onNext = emitter::onNext,
)
)
emitter.setDisposable(disposable.toReaktiveDisposable())
Expand Down
8 changes: 6 additions & 2 deletions mvikotlin-logging/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,16 @@ kotlin {
setupSourceSets {
common.main.dependencies {
implementation(project(":mvikotlin"))
implementation(project(":utils-internal"))
}

common.test.dependencies {
implementation(project(":mvikotlin-test-internal"))
implementation(project(":rx"))
}

all {
languageSettings {
optIn("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.arkivanov.mvikotlin.logging.logger

import com.arkivanov.mvikotlin.utils.internal.logV
import com.arkivanov.mvikotlin.core.utils.internal.logV

/**
* A default implementation of the [Logger]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.arkivanov.mvikotlin.logging.store

import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Reducer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.rx.Observer

internal class TestStore<in Intent : Any, Action : Any, State : Any, in Message : Any, Label : Any>(
initialState: State,
Expand Down
9 changes: 6 additions & 3 deletions mvikotlin-main/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,16 @@ kotlin {

common.main.dependencies {
implementation(project(":mvikotlin"))
implementation(project(":rx"))
implementation(project(":rx-internal"))
implementation(project(":utils-internal"))
}

common.test.dependencies {
implementation(project(":mvikotlin-test-internal"))
}

all {
languageSettings {
optIn("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi")
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Reducer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.core.utils.assertOnMainThread
import com.arkivanov.mvikotlin.rx.Disposable
import com.arkivanov.mvikotlin.rx.Observer
import com.arkivanov.mvikotlin.rx.internal.BehaviorSubject
import com.arkivanov.mvikotlin.rx.internal.PublishSubject
import com.arkivanov.mvikotlin.rx.observer
import com.arkivanov.mvikotlin.core.rx.internal.BehaviorSubject
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import com.arkivanov.mvikotlin.core.rx.internal.PublishSubject
import com.arkivanov.mvikotlin.core.rx.observer

internal class DefaultStore<in Intent : Any, in Action : Any, in Message : Any, out State : Any, Label : Any>(
initialState: State,
Expand Down
10 changes: 7 additions & 3 deletions mvikotlin-test-internal/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ kotlin {

common.main.dependencies {
implementation(project(":mvikotlin"))
implementation(project(":rx"))
implementation(project(":rx-internal"))
implementation(project(":utils-internal"))
implementation(deps.kotlin.kotlinTestCommon)
implementation(deps.kotlin.kotlinTestAnnotationsCommon)
implementation(deps.reaktive.reaktive)
}

js.main.dependencies {
Expand All @@ -45,5 +43,11 @@ kotlin {
jvm.main.dependencies {
implementation(deps.kotlin.kotlinTestJunit)
}

all {
languageSettings {
optIn("com.arkivanov.mvikotlin.core.utils.internal.InternalMviKotlinApi")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.arkivanov.mvikotlin.core.test.internal

import com.arkivanov.mvikotlin.core.rx.observer
import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Reducer
import com.arkivanov.mvikotlin.core.store.Store
import com.arkivanov.mvikotlin.rx.observer
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.arkivanov.mvikotlin.core.test.internal

import com.arkivanov.mvikotlin.core.store.Bootstrapper
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue

class TestBootstrapper(
private val init: () -> Unit = {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package com.arkivanov.mvikotlin.core.test.internal

import com.arkivanov.mvikotlin.core.store.Executor
import com.arkivanov.mvikotlin.core.store.Executor.Callbacks
import com.arkivanov.mvikotlin.utils.internal.atomic
import com.arkivanov.mvikotlin.utils.internal.initialize
import com.arkivanov.mvikotlin.utils.internal.requireValue
import com.arkivanov.mvikotlin.core.utils.internal.atomic
import com.arkivanov.mvikotlin.core.utils.internal.initialize
import com.arkivanov.mvikotlin.core.utils.internal.requireValue

class TestExecutor(
private val init: () -> Unit = {},
Expand Down