Skip to content

(ios) Adopting SKIE Flows#741

Merged
robbiehanson merged 1 commit intomasterfrom
skie-updates
Oct 3, 2025
Merged

(ios) Adopting SKIE Flows#741
robbiehanson merged 1 commit intomasterfrom
skie-updates

Conversation

@robbiehanson
Copy link
Contributor

@robbiehanson robbiehanson commented Aug 28, 2025

Before:

We would wrap a kotlin flow (e.g. val foo: StateFlow<Int>) with a custom-built Publisher.

This was tedious, because we needed to build our own wrapper functions. And the type of those functions needed to match the underlying type in Kotlin. Getting it wrong resulted in ... zero compiler errors or warnings! And the Publisher simply didn't work at runtime.

After:

We use SKIE FlowInterop, with automatically provides Swift with let foo: AsyncSequence<Int>.

This means we can delete our custom Publishers. And most of our tedious wrapper functions. And we can switch to modern async/await syntax.

This also seems to be the direction that Kotlin's "swift export" is going. So adopting this syntax should help us with a future migration.

Note:

We're still NOT adopting SKIE SuspendInterop in this PR. As we discovered in #551, there are some issues with that approach that we need to fix on our side.

 

 

This PR will be updated & rebased after #731 is merged.

@robbiehanson robbiehanson marked this pull request as ready for review September 29, 2025 19:23
@robbiehanson robbiehanson requested a review from dpad85 September 29, 2025 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants