fetchAssetsFiles function

List<Map<String, String>> fetchAssetsFiles(
  1. String assetsDirPath
)

Recursively fetch all files from the assets folder

Implementation

List<Map<String, String>> fetchAssetsFiles(String assetsDirPath) {
  final dir = Directory(assetsDirPath);

  if (!dir.existsSync()) {
    ConsoleLog.error('❌ Assets folder not found at $assetsDirPath');
    return [];
  }

  final files = <Map<String, String>>[];

  for (var entity in dir.listSync(recursive: true)) {
    if (entity is File) {
      final relativePath = p.relative(entity.path, from: Directory.current.path);

      final extension = p.extension(entity.path).toLowerCase();
      final name = ProjectUtils.toCamelCase(p.basename(relativePath));

      files.add({'name': name, 'path': relativePath.replaceAll('\\', '/'), 'extension': extension});
    }
  }

  return files;
}