toNestedStructureMap method
条件分岐で利用するため用意した.
Implementation
@override
Map<String, Object> toNestedStructureMap() {
final List<MapEntry<String, Object>> list = [];
for (final entry in properties.entries) {
final type = entry.value.runtimeType.toString();
final propertyName = entry.key;
final key = type + '(' + propertyName + ')';
final propertyValue = entry.value;
late final Object value;
switch (propertyValue) {
case ToShorthandSignature(): value = propertyValue.toShorthand();
case ToNestedStructureMapSignature(): value = propertyValue.toNestedStructureMap();
case _: value = propertyValue.toString();
}
final result = MapEntry(key, value);
list.add(result);
}
// properties を基にしているので constant で ok.
final result = Map.fromEntries(list);
return result;
}