Skip to content

Commit 584c8fa

Browse files
committed
Minor code cleanup
1 parent 053fec0 commit 584c8fa

File tree

6 files changed

+15
-5
lines changed

6 files changed

+15
-5
lines changed

KMPObservableViewModelCore/ObservableViewModelPublisher.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,16 @@ public final class ObservableViewModelPublisher: Combine.Publisher, KMPObservabl
5858
}
5959
}
6060

61+
internal extension KMPObservableViewModelCoreObjC.Publisher {
62+
/// Casts this `Publisher` to an `ObservableViewModelPublisher`.
63+
func cast() -> ObservableViewModelPublisher {
64+
guard let publisher = self as? ObservableViewModelPublisher else {
65+
fatalError("Publisher must be an ObservableViewModelPublisher")
66+
}
67+
return publisher
68+
}
69+
}
70+
6171
/// Subscriber for `ObservableViewModelPublisher` that creates `ObservableViewModelSubscription`s.
6272
private class ObservableViewModelSubscriber<S>: Subscriber where S : Subscriber, Never == S.Failure, Void == S.Input {
6373
typealias Input = Void

KMPObservableViewModelCore/ViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public protocol ViewModel: ObservableObject where ObjectWillChangePublisher == O
2222
public extension ViewModel {
2323
var viewModelWillChange: ObservableViewModelPublisher {
2424
if let publisher = viewModelScope.publisher {
25-
return publisher as! ObservableViewModelPublisher
25+
return publisher.cast()
2626
}
2727
let publisher = ObservableViewModelPublisher(self)
2828
viewModelScope.publisher = publisher

kmp-observableviewmodel-core/src/androidxMain/kotlin/com/rickclephas/kmp/observableviewmodel/ViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import kotlinx.coroutines.CoroutineScope
88
import kotlin.reflect.KClass
99

1010
/**
11-
* A Kotlin Multiplatform Mobile ViewModel.
11+
* A Kotlin Multiplatform ViewModel.
1212
*/
1313
public actual abstract class ViewModel: AndroidXViewModel {
1414

kmp-observableviewmodel-core/src/appleMain/kotlin/com/rickclephas/kmp/observableviewmodel/NativeViewModelScope.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import platform.darwin.NSObject
88
* Implementation of [ViewModelScope] for Apple platforms.
99
* @property coroutineScope The [CoroutineScope] associated with the [ViewModel].
1010
*/
11-
internal class NativeViewModelScope internal constructor(
11+
internal class NativeViewModelScope(
1212
val coroutineScope: CoroutineScope
1313
): NSObject(), ViewModelScope {
1414

kmp-observableviewmodel-core/src/commonMain/kotlin/com/rickclephas/kmp/observableviewmodel/ViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.rickclephas.kmp.observableviewmodel
33
import kotlinx.coroutines.CoroutineScope
44

55
/**
6-
* A Kotlin Multiplatform Mobile ViewModel.
6+
* A Kotlin Multiplatform ViewModel.
77
*/
88
public expect abstract class ViewModel {
99

kmp-observableviewmodel-core/src/nonAndroidxMain/kotlin/com/rickclephas/kmp/observableviewmodel/ViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import kotlinx.coroutines.CoroutineScope
44
import kotlinx.coroutines.cancel
55

66
/**
7-
* A Kotlin Multiplatform Mobile ViewModel.
7+
* A Kotlin Multiplatform ViewModel.
88
*/
99
public actual abstract class ViewModel {
1010

0 commit comments

Comments
 (0)