createManager method
Creates a manager for the given directory and list of assets.
Implementation
void createManager(Directory dir, List<File> assets) {
final String folderName = path.basename(dir.path);
final String className = folderName.split('_').map((word) {
return word[0].toUpperCase() + word.substring(1);
}).join();
final String dartCode = assets.map((file) {
String fileName = parseName(path.basenameWithoutExtension(file.path));
String filePath = file.path.replaceAll('\\', '/');
return 'static const String $fileName = "$filePath";';
}).join('\n\t');
final String fullDartCode = '''
class My$className {
$dartCode
}
''';
final Directory folderDirectory = Directory('lib/utils/const/$folderName');
if (!folderDirectory.existsSync()) {
folderDirectory.createSync(recursive: true);
}
final File managerFile = File('${folderDirectory.path}/$folderName.dart');
managerFile.writeAsStringSync(fullDartCode);
print('Created Dart file: ${managerFile.path}');
}