crdt 3.0.0-pre.4 copy "crdt: ^3.0.0-pre.4" to clipboard
crdt: ^3.0.0-pre.4 copied to clipboard

outdated

Dart implementation of Conflict-free Replicated Data Types (CRDTs).

example/crdt_example.dart

import 'package:crdt/crdt.dart';

void main() {
  var crdt = CrdtMap('node_id');

  // Insert a record
  crdt.put('a', 1);
  // Read the record
  print('Record: ${crdt.get('a')}');

  // Export the CRDT as Json
  final json = crdt.toJson();
  // Send to remote node
  final remoteJson = sendToRemote(json);
  // Merge remote CRDT with local
  crdt.mergeJson(remoteJson);
  // Verify updated record
  print('Record after merging: ${crdt.get('a')}');
}

// Mock sending the CRDT to a remote node and getting an updated one back
String sendToRemote(String json) {
  final hlc = Hlc.now('another_nodeId');
  return '{"a":{"hlc":"$hlc","value":2}}';
}
42
likes
0
pub points
72%
popularity

Publisher

verified publishercachapa.net

Dart implementation of Conflict-free Replicated Data Types (CRDTs).

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on crdt