generateEnums method

String generateEnums(
  1. Map enums
)

Implementation

String generateEnums(Map enums) {
  final library = Library((lib) {
    final enumReader = MapReader(enums);
    for (final key in enums.keys) {
      final enum_ = Enum((b) {
        final enumName = '$key';
        b.name = enumName;
        final valuesData = enumReader.read<Map>('$enumName.values');
        for (final key in valuesData.keys) {
          final valueName = '$key';
          b.values.add(EnumValue((b) {
            b.name = valueName;
          }));
        }
      });

      lib.body.add(enum_);
    }
  });

  final emitter = DartEmitter();
  final result = library.accept(emitter).toString();
  return result;
}