| 1 | export function resolveBrowserRecordingStopTarget( |
| 2 | activeTabIds: ReadonlySet<string>, |
| 3 | implicitTabId: string | null, |
| 4 | explicitTabId?: string, |
| 5 | ): string | null { |
| 6 | if (explicitTabId !== undefined) { |
| 7 | return activeTabIds.has(explicitTabId) ? explicitTabId : null; |
| 8 | } |
| 9 | if (implicitTabId !== null && activeTabIds.has(implicitTabId)) { |
| 10 | return implicitTabId; |
| 11 | } |
| 12 | if (activeTabIds.size !== 1) return null; |
| 13 | return activeTabIds.values().next().value ?? null; |
| 14 | } |