Skip to content

Commit

Permalink
Merged rx, rx-internal and utils-internal modules into mvikotlin module
Browse files Browse the repository at this point in the history
  • Loading branch information
arkivanov committed Nov 26, 2023
1 parent b8f93f4 commit df645c5
Show file tree
Hide file tree
Showing 124 changed files with 560 additions and 588 deletions.
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.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.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.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.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.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.BehaviorSubject
import com.arkivanov.mvikotlin.core.rx.Disposable
import com.arkivanov.mvikotlin.core.rx.Observer
import com.arkivanov.mvikotlin.core.rx.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.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.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.atomic
import com.arkivanov.mvikotlin.core.utils.initialize
import com.arkivanov.mvikotlin.core.utils.requireValue

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

0 comments on commit df645c5

Please sign in to comment.