Closed arkivanov closed 6 months ago
The recent changes in the MVIKotlin sample project involve refining import paths and restructuring the Store
creation process. Notable updates include eliminating the DetailsStore
interface, reorganizing classes, and enhancing Store
creation using both DSL and non-DSL methods across various Kotlin files.
File Path | Change Summary |
---|---|
.../details/DetailsController.kt .../details/Mappers.kt |
Updated import statements for direct referencing. |
.../details/store/DetailsStore.kt |
Major refactoring: Removed DetailsStore interface, added new classes, and a builder function. |
.../main/store/add/AddStoreFactory.kt .../main/store/list/ListStoreFactory.kt |
Introduced new builder functions for simplified Store creation with updated executor logic. |
🐇💻🌟
In the realm of code, where rabbits roam free,
Changes unfold, a refactor spree.
Interfaces vanish, builders take hold,
Kotlin's dance of creation, stories untold.
Hop, skip, commit, to the repository we flee! 🚀🌈
sample/reaktive/shared/src/commonMain/kotlin/com/arkivanov/mvikotlin/sample/reaktive/shared/main/store/add/AddStoreFactory.kt (2)
`6-6`: The change in the import statement aligns with the PR's objectives to refactor store creation methods. --- `19-50`: The implementation of the `addStore` function correctly demonstrates the new way of creating stores without using the DSL API, aligning with the PR's objectives.sample/coroutines/shared/src/commonTest/kotlin/com/arkivanov/mvikotlin/sample/coroutines/shared/details/store/DetailsStoreTest.kt (2)
`3-3`: The updated import statements are necessary for the new testing setup, ensuring that the tests align with the changes in the store implementation. --- `24-24`: The update to the `store` variable declaration correctly aligns the test setup with the new store implementation.sample/coroutines/shared/src/commonMain/kotlin/com/arkivanov/mvikotlin/sample/coroutines/shared/details/store/DetailsStore.kt (3)
`3-9`: The updated import statements are necessary for the new implementation of the `detailsStore` function, which uses coroutines extensively. --- `15-104`: The new class and function declarations, including `Intent`, `State`, `Label`, `Msg`, and the `detailsStore` function, correctly implement the major overhaul of the `DetailsStore`. These changes enhance modularity and demonstrate creating a store using the DSL API. --- `3-104`: The changes in `DetailsStore.kt` are well-integrated, maintaining consistency and improving the modularity and maintainability of the code.sample/reaktive/shared/src/commonTest/kotlin/com/arkivanov/mvikotlin/sample/reaktive/shared/details/store/DetailsStoreTest.kt (2)
`3-3`: The updated import statements are necessary for the new testing setup, ensuring that the tests align with the changes in the store implementation. --- `27-27`: The update to the `store` variable declaration correctly aligns the test setup with the new store implementation.sample/reaktive/shared/src/commonMain/kotlin/com/arkivanov/mvikotlin/sample/reaktive/shared/details/store/DetailsStore.kt (3)
`3-9`: The updated import statements are necessary for the new implementation of the `detailsStore` function, which uses coroutines extensively. --- `21-109`: The new class and function declarations, including `Intent`, `State`, `Label`, `Msg`, and the `detailsStore` function, correctly implement the major overhaul of the `DetailsStore`. These changes enhance modularity and demonstrate creating a store using the DSL API. --- `3-109`: The changes in `DetailsStore.kt` are well-integrated, maintaining consistency and improving the modularity and maintainability of the code.
Summary by CodeRabbit
Refactor
Intent
,State
, andLabel
across various modules to enhance clarity and maintainability.Documentation
Bug Fixes