toNestedStructureMap method

  1. @override
Map<String, Object> toNestedStructureMap()
override

条件分岐で利用するため用意した.

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;

}