PolylineUpdates.update constructor
Implementation
PolylineUpdates.update(Set<Polyline> previous, Set<Polyline> current) {
final Map<PolylineId, Polyline> oldPolylines = polylineToMap(previous);
final Map<PolylineId, Polyline> currPolylines = polylineToMap(current);
final Set<PolylineId> oldIds = oldPolylines.keys.toSet();
final Set<PolylineId> currIds = currPolylines.keys.toSet();
final Set<PolylineId> _toDelete = oldIds.difference(currIds);
final Set<Polyline> _toInsert = Set<Polyline>.from(
currIds.difference(oldIds).map((id) => currPolylines[id]).toSet());
final Set<Polyline> _toUpdate = Set<Polyline>.from(currIds
.intersection(oldIds)
.map((id) => currPolylines[id])
.where((x) => isChanged(x!, oldPolylines))
.toSet());
insertSet = _toInsert;
deleteSet = _toDelete;
updateSet = _toUpdate;
}