37 lines · 1.2 KB · TypeScript
RawDownload
import type { PreviewSessionSnapshot } from "@t3tools/contracts"; interface PreviewAutomationSessionIndex {  readonly snapshot: PreviewSessionSnapshot | null;  readonly sessions: Readonly<Record<string, PreviewSessionSnapshot>>;} export function needsPreviewAutomationSessionSync(  state: PreviewAutomationSessionIndex,  requestedTabId: string | undefined,): boolean {  return (    Object.keys(state.sessions).length === 0 ||    requestedTabId === undefined ||    state.sessions[requestedTabId] === undefined  );} export function resolvePreviewAutomationTarget(  state: PreviewAutomationSessionIndex,  requestedTabId: string | null,): { readonly tabId: string | null; readonly snapshot: PreviewSessionSnapshot | null } {  const snapshot = requestedTabId ? (state.sessions[requestedTabId] ?? null) : state.snapshot;  return { tabId: snapshot?.tabId ?? null, snapshot };} export function resolvePreviewAutomationOpenTab(  state: PreviewAutomationSessionIndex,  requestedTabId: string | undefined,  reuseExistingTab: boolean,): string | null {  if (!reuseExistingTab) return null;  if (requestedTabId !== undefined) {    return state.sessions[requestedTabId]?.tabId ?? null;  }  return state.snapshot?.tabId ?? null;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t