(sessionID: string, messageID: string, part: Part)
| 297 | } |
| 298 | |
| 299 | const confirmOptimisticPart = (sessionID: string, messageID: string, part: Part) => { |
| 300 | const items = optimistic.get(sessionID) |
| 301 | const item = items?.get(messageID) |
| 302 | if (!items || !item) return |
| 303 | const parts = item.parts.filter((value) => value.id !== part.id) |
| 304 | if (parts.length === 0) { |
| 305 | clearOptimistic(sessionID, messageID) |
| 306 | return |
| 307 | } |
| 308 | items.set(messageID, { |
| 309 | ...item, |
| 310 | parts, |
| 311 | confirmedParts: merge(item.confirmedParts ?? [], [part]), |
| 312 | confirmedMessage: true, |
| 313 | }) |
| 314 | } |
| 315 | |
| 316 | const confirmOptimistic = (sessionID: string, messageID: string, confirmedParts: Part[]) => { |
| 317 | const items = optimistic.get(sessionID) |
no test coverage detected