hive_manipulator 2.0.0
hive_manipulator: ^2.0.0 copied to clipboard
A command-line tool for inspecting and manipulating local Hive box files.
import 'dart:async';
import 'package:hive_manipulator/hive_manipulator.dart';
import 'package:hive_manipulator/src/key_value_store.dart';
/// Minimal in-memory KeyValueStore implementation for the example.
class InMemoryStore implements KeyValueStore {
final Map<String, dynamic> _map = {};
@override
Future<void> open() async {}
@override
Future<void> close() async {}
@override
Future<dynamic> read(String key) async => _map[key];
@override
Future<void> write(String key, dynamic value) async {
_map[key] = value;
}
@override
Future<void> delete(String key) async {
_map.remove(key);
}
@override
Future<Map<String, dynamic>> listAll() async => Map.from(_map);
}
Future<void> main() async {
final store = InMemoryStore();
final manip = HiveManipulator(store);
print('--- write (no CLI confirmation in lib) ---');
final wrote = await manip.doWrite('greeting', 'Hello, Hive!');
print('write verified: $wrote');
print('\n--- read ---');
final value = await manip.doRead('greeting');
print('greeting => $value');
print('\n--- list ---');
final all = await manip.doList();
all.forEach((k, v) => print('$k: $v'));
print('\n--- delete ---');
await manip.doDelete('greeting');
final after = await manip.doRead('greeting');
print('after delete => $after');
print('\n--- parseValueToken examples ---');
print(HiveManipulator.parseValueToken('plain')); // plain
print(HiveManipulator.parseValueToken("'quoted'")); // quoted
print(HiveManipulator.parseValueToken('"double quoted"')); // double quoted
}