Hello everyone, we are creating an Interface in KM...
# multiplatform
m
Hello everyone, we are creating an Interface in KMP that returns a kotlin
Flow
using SKIE and we are implementing this interface on both Android and iOS, on iOS we are struggling to return the flow from swift side, I have this problematic snippet
Copy code
func selectedPaymentMethod(paymentReference: KMPMotEngine.PaymentReference) -> KMPMotEngine.SkieSwiftFlow<SelectedPayment> {
        let flow = KMPMotEngine.SkieKotlinFlowFactorySkieKotlinFlowFactory<SelectedPayment>().createSkieKotlinSharedFlow(replay: 0, extraBufferCapacity: 0)
        Task {
            for await value in self.delegate.selectedPaymentMethod(for: paymentReference.asSuperType()).values {
                if let value { try await flow.emit(value: value.asKMP(paymentReference: paymentReference)) }
            }
        }
        return KMPMotEngine.SkieSwiftFlow(flow)
    }
We are consuming
self.delegate.selectedPaymentMethod
which returns an
Infallible
however if I use the
Task
like this I have no way to call `Task.cancel()`I am not even sure it is even possible, does anyone have faced a similar issue of have any suggestion?
m
I think that you should also post that question in #CTJB58X7X channel
👍 1