bcsLazyEnum static method
CustomLayout<Map<String, dynamic> , Map<String, dynamic> >
bcsLazyEnum(
- List<
LazyVariantModel> variants, { - String? property,
Handles lazy serialization and deserialization of enums (variant types).
variants
- A list of variants defining the enum structure.
property
- Optional mapping key for nested structures.
Implementation
static CustomLayout<Map<String, dynamic>, Map<String, dynamic>> bcsLazyEnum(
List<LazyVariantModel> variants, {
String? property,
}) {
final unionLayout = LazyUnion.offset(bcsOffset());
variants
.asMap()
.forEach((index, variant) => unionLayout.addVariant(variant));
return CustomLayout<Map<String, dynamic>, Map<String, dynamic>>(
layout: unionLayout,
decoder: (value) {
return {"key": value.keys.first, "value": value.values.first};
},
encoder: (src) {
return src;
},
property: property);
}