AssetDirectory.fromPath constructor

AssetDirectory.fromPath(
  1. String directoryPath
)

Creates an AssetDirectory by scanning a directory path.

Recursively scans the directory and creates Asset instances for all valid files found.

Implementation

factory AssetDirectory.fromPath(String directoryPath) {
  final directory = Directory(directoryPath);
  if (!directory.existsSync()) {
    throw ArgumentError('Directory does not exist: $directoryPath');
  }

  final assets = <Asset>[];
  final entities = directory.listSync(recursive: false);

  for (final entity in entities) {
    if (entity is File) {
      final asset = Asset.fromPath(entity.path);
      if (asset.shouldInclude) {
        assets.add(asset);
      }
    }
  }

  return AssetDirectory(
    name: basename(directoryPath),
    path: directoryPath,
    assets: assets,
  );
}