fromConfig method
Loads disks dynamically from a config map.
Implementation
void fromConfig(Map<String, dynamic> config) {
if (config.containsKey('default') && config['default'] is String) {
_defaultDisk = config['default'] as String;
}
final disks = config['disks'] as Map<String, dynamic>? ?? {};
for (final entry in disks.entries) {
final name = entry.key;
final options = entry.value as Map<String, dynamic>;
if (!options.containsKey('driver')) {
throw StorageException('Driver not specified for disk "$name"');
}
final driver = options['driver'] as String;
final factory = _drivers[driver];
if (factory == null) {
throw NotFoundException('Unsupported storage driver "$driver"');
}
final disk = factory(options);
registerDisk(name, disk);
}
}