import 'package:share_location/foreign_types/memory.dart'; class MemoryPack { final List _memories; const MemoryPack(this._memories); List get memories => _memories; void orderMemories() { _memories.sort((a, b) => b.creationDate.compareTo(a.creationDate)); } void updateWithNewMemory(final String memoryID, final Memory memory) { final index = _memories.indexWhere((memory) => memory.id == memoryID); if (index == -1) { throw Exception('Memory not found'); } _memories[index] = memory; orderMemories(); } void addMemory(final Memory memory) { _memories.add(memory); orderMemories(); } }