applyDelta static method

Map<String, dynamic> applyDelta(
  1. Map<String, dynamic> document,
  2. Map<String, dynamic> delta
)

Apply a delta to a document to get the updated version.

Example:

final doc = {'title': 'Old', 'done': false};
final delta = {'done': true};

final updated = DeltaCalculator.applyDelta(doc, delta);
// Returns: {'title': 'Old', 'done': true}

Implementation

static Map<String, dynamic> applyDelta(
  Map<String, dynamic> document,
  Map<String, dynamic> delta,
) {
  final result = Map<String, dynamic>.from(document);

  for (final entry in delta.entries) {
    if (entry.value == null) {
      result.remove(entry.key);
    } else {
      result[entry.key] = entry.value;
    }
  }

  return result;
}