copper-leaf / ballast

Opinionated Application State Management framework for Kotlin Multiplatform
https://copper-leaf.github.io/ballast/
BSD 3-Clause "New" or "Revised" License
144 stars 11 forks source link

KSP Processor for type-safe Navigation API #57

Closed cjbrooks12 closed 1 month ago

cjbrooks12 commented 9 months ago

I recently created an example project showing how one might make an alternative API surface for Ballast Navigation. It's described as something that could be implemented with KSP, though the processor is not implemented. It simply shows what kind of code might be generated.

I don't think I want to maintain a KSP processor for this kind of Navigation API directly within the Ballast repo, mostly because there are many different ways this generated API could look, and the "best API" is going to be highly subjective. But it could be a great idea for someone to build and maintain as a community library!

cjbrooks12 commented 1 month ago

KSP generation for Ballast Navigation will not supported directly by Ballast. See the work done for Dilivva/Ballast-Nav-Sample-App for adding KSP-generated navigation to your app.