Zyle Moore
11/05/2025, 2:15 AMZyle Moore
11/05/2025, 2:17 AMTop
- Middle
- DeeperMiddle
- FirstDataClass
- SecondDataClass
- EvenDeeperMiddle
- ThirdDataClass
- AlsoMiddle
- FourthDataClass
To outline, I want the following registrations. I figure I could do this with a list of classes when building the SerializersModule, just curious if there's a better way.
• Top: FirstDataClass, SecondDataClass, ThirdDataClass, FourthDataClass
• Middle: FirstDataClass, SecondDataClass, ThirdDataClass, FourthDataClass
• DeeperMiddle: FirstDataClass, SecondDataClass, ThirdDataClass
• EventDeeperMiddle: ThirdDataClass
• AlsoMiddle: FourthDataClassephemient
11/07/2025, 2:52 AMval serializersModule: SerializersModule = SerializersModule {
polymorphic(Top::class) {
subclass(FirstDataClass.serializer())
subclass(FourthDataClass.serializer())
subclass(SecondDataClass.serializer())
subclass(ThirdDataClass.serializer())
}
polymorphic(Middle::class) {
subclass(FirstDataClass.serializer())
subclass(FourthDataClass.serializer())
subclass(SecondDataClass.serializer())
subclass(ThirdDataClass.serializer())
}
polymorphic(DeeperMiddle::class) {
subclass(FirstDataClass.serializer())
subclass(SecondDataClass.serializer())
subclass(ThirdDataClass.serializer())
}
polymorphic(EvenDeeperMiddle::class) {
subclass(ThirdDataClass.serializer())
}
polymorphic(AlsoMiddle::class) {
subclass(FourthDataClass.serializer())
}
}
for youephemient
11/07/2025, 2:55 AMSerializersModule by hand, and have a unit test which scans the classpath for subclasses of interfaces of interest, and checks that they're registeredZyle Moore
11/08/2025, 1:56 AM