dzaitsev
05/31/2024, 1:55 PMBaseViewModel
use a generic type whose name ends with "ScreenState".
Could you please provide some guidance or an example of how to achieve this?
Thank you for your help!
Example:
class HomeViewModel : BaseViewModel<HomeScreenState>() // Correct
class ProfileViewModel : BaseViewModel<ProfileState>() // IncorrectPoisonedYouth
06/04/2024, 8:17 AMKonsist.scopeFromProduction()
.classes()
.withParentClassOf(BaseViewModel::class)
.assertTrue {
it.text.contains(Regex(": BaseViewModel<[^>]+ScreenState>"))
}
igor.wojda
06/12/2024, 8:45 AMtext
cna be used, but it like API could be improved here. I have created ticket
https://lemonappdev.atlassian.net/browse/KON-626
BTW this is called generic type argument
(as opppose to class generic type parameter
defined in BaseViewModel
lcass, usuallynamed T
)Natalia Peterwas
11/25/2024, 1:32 PMKonsist
.scopeFromProduction()
.classes()
.withParentClassOf(BaseViewModel::class)
.parents()
.assertTrue {
it.typeArguments
?.firstOrNull()
?.hasNameEndingWith("ScreenState")
}