geiger_localstorage 0.8.0 geiger_localstorage: ^0.8.0 copied to clipboard
A hierarchical NOSQL storage for the GEIGER project providing an internationalized and event driven data storage.
// ignore_for_file: avoid_print
import 'package:geiger_localstorage/geiger_localstorage.dart';
void main() async {
StorageController mapper =
GenericController('myPluginId', SqliteMapper('testdb.sqlite'));
print('## Testing mapper ' + mapper.toString() + " in INVALID");
Node node = NodeImpl('testNode1', '');
Node childNode = NodeImpl('testNode1a', ':testNode1');
NodeValue nv = NodeValueImpl('key', 'value', 'type', 'description', 1);
await node.addChild(childNode);
await node.addValue(nv);
// write data
var node2 = NodeImpl('testNode2', '');
await mapper.add(node);
await mapper.add(node2);
await mapper.add(childNode);
// get data
Node storedNode = await mapper.get(':testNode1');
Node storedChildNode = await mapper.get(':testNode1:testNode1a');
Node storedNode2 = await mapper.get(':testNode2');
print(node.equals(storedNode));
print(storedChildNode);
print(storedNode2);
// shortcut to get a specific value
print(
'The curren user UUID is ${(await mapper.getValue(':Local', 'currentUser'))!.toSimpleString()}');
}