]> git.codecow.com Git - nano25519.git/commitdiff
Load worker messaging for async module independently of sync module.
authorChris Duncan <chris@codecow.com>
Fri, 26 Jun 2026 20:25:18 +0000 (13:25 -0700)
committerChris Duncan <chris@codecow.com>
Fri, 26 Jun 2026 20:25:18 +0000 (13:25 -0700)
src/index.ts
src/lib/nano25519.ts

index 377ada4b51e66c1fb694501b16cf88f0a269b31b..4cc42f047efd848883fe8164a7de0e72205aa6e3 100644 (file)
@@ -3,4 +3,3 @@
 
 export { deriveAsync, signAsync, verifyAsync } from './async'
 export { derive, sign, verify } from './sync'
-
index 4043e7671e9dee7ca3a917fb0b4ecf30e06bb7ba..30ab33b22e59a697c3b0ffb1100aa2e6bde180f2 100644 (file)
@@ -178,7 +178,12 @@ const nano25519_init = (bytes: number[]): { derive: typeof derive, sign: typeof
                }
                return value as Uint8Array<ArrayBuffer>
        }
+       return { derive, sign, verify }
+}
+
+export const nano25519 = nano25519_init(nano25519_wasm)
 
+const nano25519_worker_init = ({ derive, sign, verify }: typeof nano25519) => {
        let isListening = false
        let host: NodeMessagePort | null = null
        let client: string | undefined = globalThis.location?.href
@@ -274,13 +279,9 @@ const nano25519_init = (bytes: number[]): { derive: typeof derive, sign: typeof
                                })
                }
        }
-
-       return { derive, sign, verify }
 }
 
-export const nano25519 = nano25519_init(nano25519_wasm)
-
-const nano25519_worker = `;(${nano25519_init})([${nano25519_wasm}]);`
+const nano25519_worker = `;(${nano25519_worker_init})((${nano25519_init})([${nano25519_wasm}]));`
 
 /**
  * Host code for asynchronous Web Worker