toNestedStructureMap method
条件分岐で利用するため用意した.
Implementation
@override
KeyValueRoster toNestedStructureMap() {
final List<KeyValue> list = [];
int index = 0;
for (final i in values) {
final type = i.runtimeType.toString();
final key = type + '[' + index.toString() + ']';
late final Object value;
switch (i) {
case ToShorthandSignature(): value = i.toShorthand();
case ToNestedStructureMapSignature(): value = i.toNestedStructureMap();
case ValuePattern(): value = i.value;
case EnumPattern(): value = i.value;
case _: value = i.toString();
}
final result = KeyValue(key, value);
list.add(result);
index = index + 1;
}
// 一意となる index が suffix として付与されれるので constant で ok.
final result = KeyValueRoster.constant(list);
return result;
}