upsert method

AccumulatedFileStream upsert({
  1. required String itemId,
  2. String? turnId,
  3. String? senderName,
})

Implementation

AccumulatedFileStream upsert({required String itemId, String? turnId, String? senderName}) {
  final normalizedItemId = itemId.trim();
  final current = _items[normalizedItemId];
  final next = AccumulatedFileStream(
    itemId: normalizedItemId,
    turnId: _coalesceText(turnId, current?.turnId),
    status: 'in_progress',
    urls: List<String>.unmodifiable(current?.urls ?? const <String>[]),
    senderName: _coalesceText(senderName, current?.senderName),
  );
  _items[normalizedItemId] = next;
  return next;
}