{"version":3,"file":"event-CJmD9lUR.js","names":[],"sources":["../../node_modules/.pnpm/@tauri-apps+api@2.11.1/node_modules/@tauri-apps/api/event.js"],"sourcesContent":["import { invoke, transformCallback } from './core.js';\n\n// Copyright 2019-2024 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\n/**\n * The event system allows you to emit events to the backend and listen to events from it.\n *\n * This package is also accessible with `window.__TAURI__.event` when [`app.withGlobalTauri`](https://v2.tauri.app/reference/config/#withglobaltauri) in `tauri.conf.json` is set to `true`.\n * @module\n */\n/**\n * @since 1.1.0\n */\nvar TauriEvent;\n(function (TauriEvent) {\n    TauriEvent[\"WINDOW_RESIZED\"] = \"tauri://resize\";\n    TauriEvent[\"WINDOW_MOVED\"] = \"tauri://move\";\n    TauriEvent[\"WINDOW_CLOSE_REQUESTED\"] = \"tauri://close-requested\";\n    TauriEvent[\"WINDOW_DESTROYED\"] = \"tauri://destroyed\";\n    TauriEvent[\"WINDOW_FOCUS\"] = \"tauri://focus\";\n    TauriEvent[\"WINDOW_BLUR\"] = \"tauri://blur\";\n    TauriEvent[\"WINDOW_SCALE_FACTOR_CHANGED\"] = \"tauri://scale-change\";\n    TauriEvent[\"WINDOW_THEME_CHANGED\"] = \"tauri://theme-changed\";\n    TauriEvent[\"WINDOW_CREATED\"] = \"tauri://window-created\";\n    TauriEvent[\"WINDOW_SUSPENDED\"] = \"tauri://suspended\";\n    TauriEvent[\"WINDOW_RESUMED\"] = \"tauri://resumed\";\n    TauriEvent[\"WEBVIEW_CREATED\"] = \"tauri://webview-created\";\n    TauriEvent[\"DRAG_ENTER\"] = \"tauri://drag-enter\";\n    TauriEvent[\"DRAG_OVER\"] = \"tauri://drag-over\";\n    TauriEvent[\"DRAG_DROP\"] = \"tauri://drag-drop\";\n    TauriEvent[\"DRAG_LEAVE\"] = \"tauri://drag-leave\";\n})(TauriEvent || (TauriEvent = {}));\n/**\n * Unregister the event listener associated with the given name and id.\n *\n * @ignore\n * @param event The event name\n * @param eventId Event identifier\n * @returns\n */\nasync function _unlisten(event, eventId) {\n    window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(event, eventId);\n    await invoke('plugin:event|unlisten', {\n        event,\n        eventId\n    });\n}\n/**\n * Listen to an emitted event to any {@link EventTarget|target}.\n *\n * @example\n * ```typescript\n * import { listen } from '@tauri-apps/api/event';\n * const unlisten = await listen<string>('error', (event) => {\n *   console.log(`Got error, payload: ${event.payload}`);\n * });\n *\n * // you need to call unlisten if your handler goes out of scope e.g. the component is unmounted\n * unlisten();\n * ```\n *\n * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`.\n * @param handler Event handler callback.\n * @param options Event listening options.\n * @returns A promise resolving to a function to unlisten to the event.\n * Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.\n *\n * @since 1.0.0\n */\nasync function listen(event, handler, options) {\n    var _a;\n    const target = typeof (options === null || options === void 0 ? void 0 : options.target) === 'string'\n        ? { kind: 'AnyLabel', label: options.target }\n        : ((_a = options === null || options === void 0 ? void 0 : options.target) !== null && _a !== void 0 ? _a : { kind: 'Any' });\n    return invoke('plugin:event|listen', {\n        event,\n        target,\n        handler: transformCallback(handler)\n    }).then((eventId) => {\n        return async () => _unlisten(event, eventId);\n    });\n}\n/**\n * Listens once to an emitted event to any {@link EventTarget|target}.\n *\n * @example\n * ```typescript\n * import { once } from '@tauri-apps/api/event';\n * interface LoadedPayload {\n *   loggedIn: boolean,\n *   token: string\n * }\n * const unlisten = await once<LoadedPayload>('loaded', (event) => {\n *   console.log(`App is loaded, loggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);\n * });\n *\n * // you need to call unlisten if your handler goes out of scope e.g. the component is unmounted\n * unlisten();\n * ```\n *\n * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`.\n * @param handler Event handler callback.\n * @param options Event listening options.\n * @returns A promise resolving to a function to unlisten to the event.\n * Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.\n *\n * @since 1.0.0\n */\nasync function once(event, handler, options) {\n    return listen(event, (eventData) => {\n        void _unlisten(event, eventData.id);\n        handler(eventData);\n    }, options);\n}\n/**\n * Emits an event to all {@link EventTarget|targets}.\n *\n * @example\n * ```typescript\n * import { emit } from '@tauri-apps/api/event';\n * await emit('frontend-loaded', { loggedIn: true, token: 'authToken' });\n * ```\n *\n * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`.\n * @param payload Event payload.\n *\n * @since 1.0.0\n */\nasync function emit(event, payload) {\n    await invoke('plugin:event|emit', {\n        event,\n        payload\n    });\n}\n/**\n * Emits an event to all {@link EventTarget|targets} matching the given target.\n *\n * @example\n * ```typescript\n * import { emitTo } from '@tauri-apps/api/event';\n * await emitTo('main', 'frontend-loaded', { loggedIn: true, token: 'authToken' });\n * ```\n *\n * @param target Label of the target Window/Webview/WebviewWindow or raw {@link EventTarget} object.\n * @param event Event name. Must include only alphanumeric characters, `-`, `/`, `:` and `_`.\n * @param payload Event payload.\n *\n * @since 2.0.0\n */\nasync function emitTo(target, event, payload) {\n    const eventTarget = typeof target === 'string' ? { kind: 'AnyLabel', label: target } : target;\n    await invoke('plugin:event|emit_to', {\n        target: eventTarget,\n        event,\n        payload\n    });\n}\n\nexport { TauriEvent, emit, emitTo, listen, once };\n"],"x_google_ignoreList":[0],"mappings":"6KAcI,GACH,SAAU,EAAY,CACnB,EAAW,eAAoB,iBAC/B,EAAW,aAAkB,eAC7B,EAAW,uBAA4B,0BACvC,EAAW,iBAAsB,oBACjC,EAAW,aAAkB,gBAC7B,EAAW,YAAiB,eAC5B,EAAW,4BAAiC,uBAC5C,EAAW,qBAA0B,wBACrC,EAAW,eAAoB,yBAC/B,EAAW,iBAAsB,oBACjC,EAAW,eAAoB,kBAC/B,EAAW,gBAAqB,0BAChC,EAAW,WAAgB,qBAC3B,EAAW,UAAe,oBAC1B,EAAW,UAAe,oBAC1B,EAAW,WAAgB,oBAC/B,EAAA,CAAG,AAAe,IAAa,CAAC,CAAE,EASlC,eAAe,EAAU,EAAO,EAAS,CACrC,OAAO,iCAAiC,mBAAmB,EAAO,CAAO,EACzE,MAAM,EAAO,wBAAyB,CAClC,QACA,SACJ,CAAC,CACL,CAuBA,eAAe,EAAO,EAAO,EAAS,EAAS,CAE3C,IAAM,EAAS,OAAQ,GAA0D,QAAY,SACvF,CAAE,KAAM,WAAY,MAAO,EAAQ,MAAO,EACnC,GAA0D,QAAyC,CAAE,KAAM,KAAM,EAC9H,OAAO,EAAO,sBAAuB,CACjC,QACA,SACA,QAAS,EAAkB,CAAO,CACtC,CAAC,CAAC,CAAC,KAAM,GACE,SAAY,EAAU,EAAO,CAAO,CAC9C,CACL,CA2BA,eAAe,EAAK,EAAO,EAAS,EAAS,CACzC,OAAO,EAAO,EAAQ,GAAc,CAChC,EAAe,EAAO,EAAU,EAAE,EAClC,EAAQ,CAAS,CACrB,EAAG,CAAO,CACd,CAeA,eAAe,EAAK,EAAO,EAAS,CAChC,MAAM,EAAO,oBAAqB,CAC9B,QACA,SACJ,CAAC,CACL,CAgBA,eAAe,EAAO,EAAQ,EAAO,EAAS,CAE1C,MAAM,EAAO,uBAAwB,CACjC,OAFgB,OAAO,GAAW,SAAW,CAAE,KAAM,WAAY,MAAO,CAAO,EAAI,EAGnF,QACA,SACJ,CAAC,CACL"}