]> git.codecow.com Git - libnemo.git/commitdiff
Simply browser support check.
authorChris Duncan <chris@zoso.dev>
Wed, 9 Jul 2025 22:24:40 +0000 (15:24 -0700)
committerChris Duncan <chris@zoso.dev>
Wed, 9 Jul 2025 22:24:40 +0000 (15:24 -0700)
src/lib/wallets/ledger-wallet.ts

index e46b536d4aaf8af783a122a528747a9bd747720d..6cce19888a53e0d48133f716e1d6a52c0660acdb 100644 (file)
@@ -144,23 +144,20 @@ export class LedgerWallet extends Wallet {
        * Check which transport protocols are supported by the browser and set the\r
        * transport type according to the following priorities: Bluetooth, USB, HID.\r
        */\r
-       async checkBrowserSupport (): Promise<void> {\r
+       async checkBrowserSupport (): Promise<typeof TransportBLE | typeof TransportUSB | typeof TransportHID> {\r
                console.log('Checking browser Ledger support...')\r
-               const supports = {\r
-                       ble: await TransportBLE.isSupported(),\r
-                       usb: await TransportUSB.isSupported(),\r
-                       hid: await TransportHID.isSupported()\r
-               }\r
-               console.log(`ble: ${supports.ble}; usb: ${supports.usb}; hid: ${supports.hid}`)\r
-               if (supports.ble) {\r
-                       this.DynamicTransport = TransportBLE\r
-               } else if (supports.usb) {\r
-                       this.DynamicTransport = TransportUSB\r
-               } else if (supports.hid) {\r
-                       this.DynamicTransport = TransportHID\r
-               } else {\r
-                       throw new Error('Unsupported browser')\r
-               }\r
+               try {\r
+                       if (await TransportBLE.isSupported()) {\r
+                               return TransportBLE\r
+                       }\r
+                       if (await TransportUSB.isSupported()) {\r
+                               return TransportUSB\r
+                       }\r
+                       if (await TransportHID.isSupported()) {\r
+                               return TransportHID\r
+                       }\r
+               } catch { }\r
+               throw new Error('Unsupported browser')\r
        }\r
 \r
        async connect (): Promise<LedgerResponse> {\r