Similar to How to fallback on a enum if values don't match in OpenAPI generator's Moshi and How to fallback on a enum if values don't match in OpenAPI generator's Moshi
How can we add a custom enum adapter for moshi to support nullable or unknown/fallback values? But do it in a way for all enums?
Other answers provide something similar to
.add(Gender::class.java, NullableEnumAdapter<Gender>())
And it works. In project we have 26 enums. It does not seem practical to do this manually like:
.add(GetFilteredObjectivesData.FilterReset::class.java, CustomEnumJsonAdapter.create(GetFilteredObjectivesData.FilterReset::class.java).withUnknownFallback(null)) .add(DomainData.Type::class.java, CustomEnumJsonAdapter.create(DomainData.Type::class.java).withUnknownFallback(null)) .add(DomainData.JxMode::class.java, CustomEnumJsonAdapter.create(DomainData.JxMode::class.java).withUnknownFallback(null)) .add(CommonFacility.BusinessType::class.java, CustomEnumJsonAdapter.create(CommonFacility.BusinessType::class.java).withUnknownFallback(null)) .add(CommonFacility.FacilityType::class.java, CustomEnumJsonAdapter.create(CommonFacility.FacilityType::class.java).withUnknownFallback(null)) .add(TokenData.Features::class.java, CustomEnumJsonAdapter.create(TokenData.Features::class.java).withUnknownFallback(null))
Any way to do this for all of them? Add a custom enum adapter for all enums?