merge method

  1. @override
PNCounter merge(
  1. covariant PNCounter other
)
override

Merges this CRDT with another of the same type.

Implementation

@override
PNCounter merge(covariant PNCounter other) {
  final mergedP = Map<String, int>.from(_p);
  other._p.forEach((k, v) {
    mergedP[k] = mergedP.containsKey(k) ? (mergedP[k]! > v ? mergedP[k]! : v) : v;
  });

  final mergedN = Map<String, int>.from(_n);
  other._n.forEach((k, v) {
    mergedN[k] = mergedN.containsKey(k) ? (mergedN[k]! > v ? mergedN[k]! : v) : v;
  });

  return PNCounter(p: mergedP, n: mergedN);
}