main function
void
main()
Implementation
void main() {
// Specify the root assets directory
final directory = Directory('assets');
// Generate enum from file names
const enumName = 'GtdImageAssets';
final buffer = StringBuffer('enum $enumName {\n');
// Recursively traverse the directory to find image files
directory.listSync(recursive: true).forEach((file) {
if (file is File && _isImageFile(file)) {
final fileName = _getFileName(file);
final enumEntry = _convertToEnumEntry(fileName);
final relativePath = file.path.replaceFirst(directory.path, 'assets').replaceFirst(RegExp(r'^[/\\]'), '');
buffer.writeln(' $enumEntry(\'$relativePath\'),');
}
});
buffer.writeln(';\n');
// Constructor and field for the enum
buffer.writeln(' final String path;');
buffer.writeln(' const $enumName(this.path);');
buffer.writeln('}');
// Write the enum to a Dart file
final enumFile = File('lib/image_assets.dart');
enumFile.writeAsStringSync(buffer.toString());
print('Enum generated in ${enumFile.path}');
}