( accumulators: Map<string, ContactAccumulator>, diagnostics: ContactsDiagnostics, sessionId: string, sessionFacts: ContactsSessionFacts )
| 247 | } |
| 248 | |
| 249 | function applySessionFacts( |
| 250 | accumulators: Map<string, ContactAccumulator>, |
| 251 | diagnostics: ContactsDiagnostics, |
| 252 | sessionId: string, |
| 253 | sessionFacts: ContactsSessionFacts |
| 254 | ): void { |
| 255 | if ('meta' in sessionFacts && sessionFacts.meta.type === ChatType.PRIVATE) diagnostics.privateSessionCount++ |
| 256 | |
| 257 | switch (sessionFacts.kind) { |
| 258 | case 'missing_owner': |
| 259 | diagnostics.skippedMissingOwnerSessions++ |
| 260 | return |
| 261 | case 'unresolved_owner': |
| 262 | diagnostics.skippedUnresolvedOwnerSessions++ |
| 263 | return |
| 264 | case 'private_ambiguous': |
| 265 | diagnostics.skippedAmbiguousPrivateSessions++ |
| 266 | return |
| 267 | case 'private': |
| 268 | applyPrivateFacts(accumulators, diagnostics, sessionId, sessionFacts.meta, sessionFacts.facts) |
| 269 | return |
| 270 | case 'group': |
| 271 | applyGroupFacts(accumulators, sessionId, sessionFacts.meta, sessionFacts.facts) |
| 272 | return |
| 273 | default: |
| 274 | return |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | function applyPrivateFacts( |
| 279 | accumulators: Map<string, ContactAccumulator>, |
no test coverage detected