index.ts
Language TypeScript678 B23 lines
import type { IpcClient } from './client'declare global {interface Window {__TAURI_INTERNALS__?: unknown}}// Inside the app: the real shell. In a browser (tests, screenshots, `npm run// dev` without Tauri): sample data, so the interface is always explorable.const inTauri = typeof window !== 'undefined' && !!window.__TAURI_INTERNALS__let client: IpcClient | null = nullexport async function ipc(): Promise<IpcClient> {if (client) return clientif (inTauri && import.meta.env.VITE_IPC !== 'mock') {client = (await import('./tauri')).tauriClient} else {client = (await import('./mock/mockClient')).createMockClient()}return client}