saket
09/04/2021, 6:43 PMArkadii Ivanov
09/04/2021, 6:46 PMsaket
09/04/2021, 6:49 PMArkadii Ivanov
09/04/2021, 6:54 PMsaket
09/04/2021, 7:09 PMobservable{}
for creating a new Observable from Swift. I think my 2nd attempt seems to have worked. I’m able to use this from Swift:
class ObservableCreator<T : Any>(
val onSubscribe: (ObservableEmitterWrapper<T>) -> Unit
) {
fun toReaktive(): Observable<T> {
return observable { emitter ->
onSubscribe(ObservableEmitterWrapper(emitter).freeze())
}
}
}
class ObservableEmitterWrapper<T : Any>(val emitter: ObservableEmitter<T>) {
fun onNext(value: T) = emitter.onNext(value)
fun onError(error: Throwable) = emitter.onError(error)
fun onComplete() = emitter.onComplete()
fun setCancellable(cancellable: () -> Unit) = emitter.setCancellable(cancellable)
}
what do you think?Arkadii Ivanov
09/04/2021, 7:31 PMclass ObservableEmitterWrapper<in T : Any>(emitter: ObservableEmitter<T>) : ObservableEmitter<T> by emitter
saket
09/04/2021, 7:53 PM