(draft: OptimisticStore, input: OptimisticAddInput)
| 90 | } |
| 91 | |
| 92 | export function applyOptimisticAdd(draft: OptimisticStore, input: OptimisticAddInput) { |
| 93 | const messages = draft.message[input.sessionID] |
| 94 | if (messages) { |
| 95 | const result = Binary.search(messages, input.message.id, (m) => m.id) |
| 96 | messages.splice(result.index, 0, input.message) |
| 97 | } else { |
| 98 | draft.message[input.sessionID] = [input.message] |
| 99 | } |
| 100 | draft.part[input.message.id] = sortParts(input.parts) |
| 101 | } |
| 102 | |
| 103 | export function applyOptimisticRemove(draft: OptimisticStore, input: OptimisticRemoveInput) { |
| 104 | const messages = draft.message[input.sessionID] |
no test coverage detected