hive_repo 1.4.0 hive_repo: ^1.4.0 copied to clipboard
Repositories classes to standardize access to hive boxes for user defined types
example/hive_repo_example.dart
import 'dart:io';
import 'package:hive/hive.dart';
import 'package:hive_repo/hive_repo.dart';
void main() async {
Hive.init(Directory.systemTemp.path + '/test');
Hive.registerAdapter(UserAdapter());
final repository = Repository<User>(Hive.box<User>('_test_user'));
final users = await repository.stream().toList();
print(users);
// [User1, User2, etc...]
}
class User {
final String name;
User(this.name);
}
class UserAdapter extends TypeAdapter<User> {
@override
final typeId = 0;
@override
User read(BinaryReader reader) {
return User(reader.read());
}
@override
void write(BinaryWriter writer, User obj) {
writer.write(obj.name);
}
}