{"version":3,"file":"auto-updater.mjs","names":[],"sources":["../../src/renderer/auto-updater/index.ts"],"sourcesContent":["/**\n * Renderer process API for autoUpdater module\n * Usage in renderer process:\n *\n * import * as autoUpdater from 'electron-main-bridge/renderer/autoUpdater';\n * await autoUpdater.checkForUpdates();\n */\n\nimport type {\n  AutoUpdaterFeedURLOptions,\n  UpdateError,\n  UpdateInfo,\n} from \"@shared/auto-updater.types.js\";\n\n// ============================================================================\n// Core Methods\n// ============================================================================\n\nexport async function checkForUpdates(): Promise<void> {\n  await window.rpc.call(\"autoUpdater.checkForUpdates\");\n}\n\nexport async function quitAndInstall(): Promise<void> {\n  await window.rpc.call(\"autoUpdater.quitAndInstall\");\n}\n\n// ============================================================================\n// Configuration Methods\n// ============================================================================\n\nexport async function setFeedURL(options: AutoUpdaterFeedURLOptions): Promise<void> {\n  await window.rpc.call(\"autoUpdater.setFeedURL\", options);\n}\n\nexport async function getFeedURL(): Promise<string> {\n  return (await window.rpc.call(\"autoUpdater.getFeedURL\")) as string;\n}\n\n// ============================================================================\n// Event Subscription\n// ============================================================================\n\nexport interface AutoUpdaterEventCallbacks {\n  \"checking-for-update\": () => void;\n  \"update-available\": () => void;\n  \"update-not-available\": () => void;\n  \"update-downloaded\": (info: UpdateInfo) => void;\n  error: (error: UpdateError) => void;\n  \"before-quit-for-update\": () => void;\n}\n\n/**\n * Subscribe to autoUpdater events\n * @param event - The event name to subscribe to\n * @param callback - The callback function when the event fires\n * @returns A function to unsubscribe\n */\nexport function on<K extends keyof AutoUpdaterEventCallbacks>(\n  event: K,\n  callback: AutoUpdaterEventCallbacks[K],\n): () => void {\n  return window.rpc.on(`autoUpdater.${event}`, callback as (...args: unknown[]) => void);\n}\n\n/**\n * Subscribe to autoUpdater event once (auto-unsubscribe after first event)\n * @param event - The event name to subscribe to\n * @param callback - The callback function when the event fires\n */\nexport function once<K extends keyof AutoUpdaterEventCallbacks>(\n  event: K,\n  callback: AutoUpdaterEventCallbacks[K],\n): void {\n  window.rpc.once(`autoUpdater.${event}`, callback as (...args: unknown[]) => void);\n}\n\n/**\n * Unsubscribe from autoUpdater events\n * @param event - The event name to unsubscribe from\n * @param callback - Optional callback to remove (removes all if not provided)\n */\nexport function off<K extends keyof AutoUpdaterEventCallbacks>(\n  event: K,\n  callback?: AutoUpdaterEventCallbacks[K],\n): void {\n  window.rpc.off(`autoUpdater.${event}`, callback as ((...args: unknown[]) => void) | undefined);\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,eAAsB,kBAAiC;AACrD,OAAM,OAAO,IAAI,KAAK,8BAA8B;;AAGtD,eAAsB,iBAAgC;AACpD,OAAM,OAAO,IAAI,KAAK,6BAA6B;;AAOrD,eAAsB,WAAW,SAAmD;AAClF,OAAM,OAAO,IAAI,KAAK,0BAA0B,QAAQ;;AAG1D,eAAsB,aAA8B;AAClD,QAAQ,MAAM,OAAO,IAAI,KAAK,yBAAyB;;;;;;;;AAsBzD,SAAgB,GACd,OACA,UACY;AACZ,QAAO,OAAO,IAAI,GAAG,eAAe,SAAS,SAAyC;;;;;;;AAQxF,SAAgB,KACd,OACA,UACM;AACN,QAAO,IAAI,KAAK,eAAe,SAAS,SAAyC;;;;;;;AAQnF,SAAgB,IACd,OACA,UACM;AACN,QAAO,IAAI,IAAI,eAAe,SAAS,SAAuD"}