{"version":3,"file":"esm-DGPYZuZb.mjs","names":["wallets"],"sources":["../../../../node_modules/.pnpm/@wallet-standard+app@1.1.0/node_modules/@wallet-standard/app/lib/esm/wallets.js"],"sourcesContent":["var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _AppReadyEvent_detail;\nlet wallets = undefined;\nconst registeredWalletsSet = new Set();\nfunction addRegisteredWallet(wallet) {\n cachedWalletsArray = undefined;\n registeredWalletsSet.add(wallet);\n}\nfunction removeRegisteredWallet(wallet) {\n cachedWalletsArray = undefined;\n registeredWalletsSet.delete(wallet);\n}\nconst listeners = {};\n/**\n * Get an API for {@link Wallets.get | getting}, {@link Wallets.on | listening for}, and\n * {@link Wallets.register | registering} {@link \"@wallet-standard/base\".Wallet | Wallets}.\n *\n * When called for the first time --\n *\n * This dispatches a {@link \"@wallet-standard/base\".WindowAppReadyEvent} to notify each Wallet that the app is ready\n * to register it.\n *\n * This also adds a listener for {@link \"@wallet-standard/base\".WindowRegisterWalletEvent} to listen for a notification\n * from each Wallet that the Wallet is ready to be registered by the app.\n *\n * This combination of event dispatch and listener guarantees that each Wallet will be registered synchronously as soon\n * as the app is ready whether the app loads before or after each Wallet.\n *\n * @return API for getting, listening for, and registering Wallets.\n *\n * @group App\n */\nexport function getWallets() {\n if (wallets)\n return wallets;\n wallets = Object.freeze({ register, get, on });\n if (typeof window === 'undefined')\n return wallets;\n const api = Object.freeze({ register });\n try {\n window.addEventListener('wallet-standard:register-wallet', ({ detail: callback }) => callback(api));\n }\n catch (error) {\n console.error('wallet-standard:register-wallet event listener could not be added\\n', error);\n }\n try {\n window.dispatchEvent(new AppReadyEvent(api));\n }\n catch (error) {\n console.error('wallet-standard:app-ready event could not be dispatched\\n', error);\n }\n return wallets;\n}\nfunction register(...wallets) {\n // Filter out wallets that have already been registered.\n // This prevents the same wallet from being registered twice, but it also prevents wallets from being\n // unregistered by reusing a reference to the wallet to obtain the unregister function for it.\n wallets = wallets.filter((wallet) => !registeredWalletsSet.has(wallet));\n // If there are no new wallets to register, just return a no-op unregister function.\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n if (!wallets.length)\n return () => { };\n wallets.forEach((wallet) => addRegisteredWallet(wallet));\n listeners['register']?.forEach((listener) => guard(() => listener(...wallets)));\n // Return a function that unregisters the registered wallets.\n return function unregister() {\n wallets.forEach((wallet) => removeRegisteredWallet(wallet));\n listeners['unregister']?.forEach((listener) => guard(() => listener(...wallets)));\n };\n}\nlet cachedWalletsArray;\nfunction get() {\n if (!cachedWalletsArray) {\n cachedWalletsArray = [...registeredWalletsSet];\n }\n return cachedWalletsArray;\n}\nfunction on(event, listener) {\n listeners[event]?.push(listener) || (listeners[event] = [listener]);\n // Return a function that removes the event listener.\n return function off() {\n listeners[event] = listeners[event]?.filter((existingListener) => listener !== existingListener);\n };\n}\nfunction guard(callback) {\n try {\n callback();\n }\n catch (error) {\n console.error(error);\n }\n}\nclass AppReadyEvent extends Event {\n get detail() {\n return __classPrivateFieldGet(this, _AppReadyEvent_detail, \"f\");\n }\n get type() {\n return 'wallet-standard:app-ready';\n }\n constructor(api) {\n super('wallet-standard:app-ready', {\n bubbles: false,\n cancelable: false,\n composed: false,\n });\n _AppReadyEvent_detail.set(this, void 0);\n __classPrivateFieldSet(this, _AppReadyEvent_detail, api, \"f\");\n }\n /** @deprecated */\n preventDefault() {\n throw new Error('preventDefault cannot be called');\n }\n /** @deprecated */\n stopImmediatePropagation() {\n throw new Error('stopImmediatePropagation cannot be called');\n }\n /** @deprecated */\n stopPropagation() {\n throw new Error('stopPropagation cannot be called');\n }\n}\n_AppReadyEvent_detail = new WeakMap();\n/**\n * @deprecated Use {@link getWallets} instead.\n *\n * @group Deprecated\n */\nexport function DEPRECATED_getWallets() {\n if (wallets)\n return wallets;\n wallets = getWallets();\n if (typeof window === 'undefined')\n return wallets;\n const callbacks = window.navigator.wallets || [];\n if (!Array.isArray(callbacks)) {\n console.error('window.navigator.wallets is not an array');\n return wallets;\n }\n const { register } = wallets;\n const push = (...callbacks) => callbacks.forEach((callback) => guard(() => callback({ register })));\n try {\n Object.defineProperty(window.navigator, 'wallets', {\n value: Object.freeze({ push }),\n });\n }\n catch (error) {\n console.error('window.navigator.wallets could not be set');\n return wallets;\n }\n push(...callbacks);\n return wallets;\n}\n//# sourceMappingURL=wallets.js.map"],"x_google_ignoreList":[0],"mappings":"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"}