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;
}