load method
override
Implementation
@override
Future<T?> load() async {
try {
final stored = await storage.load();
if (stored == null) return null;
final version = stored['__version__'] as int? ?? 1;
final data = stored['__data__'] as Map<String, dynamic>;
if (version < currentVersion && migrate != null) {
final migrated = migrate!(data, version, currentVersion);
await save(migrated); // Save migrated version
return migrated;
}
return fromData(data, version);
} catch (e) {
if (kDebugMode) print('VersionedPersistence load error: $e');
return null;
}
}