]> git.codecow.com Git - libnemo.git/commitdiff
Configure workers differently based on build environment.
authorChris Duncan <chris@zoso.dev>
Fri, 18 Jul 2025 21:27:03 +0000 (14:27 -0700)
committerChris Duncan <chris@zoso.dev>
Fri, 18 Jul 2025 21:27:03 +0000 (14:27 -0700)
src/lib/workers/queue.ts

index 59f5f426f8708113b22ec7704cf7cf6f348d55ce..29770d09009510330897080969692343817e8b57 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
 // SPDX-License-Identifier: GPL-3.0-or-later
 
+import { Worker as NodeWorker } from 'node:worker_threads'
 import { default as bip44 } from './bip44-ckd'
 import { default as nacl } from './nano-nacl'
 import { default as safe } from './safe'
@@ -37,8 +38,14 @@ export class Queue {
                this.#isIdle = true
                this.#queue = []
                this.#url = URL.createObjectURL(new Blob([worker], { type: 'text/javascript' }))
-               this.#worker = new Worker(this.#url, { type: 'module' })
-               this.#worker.addEventListener('message', message => {
+               BROWSER: this.#worker = new Worker(this.#url, { type: 'module' })
+               BROWSER: this.#worker.addEventListener('message', message => {
+                       this.#report(message.data)
+               })
+               //@ts-expect-error
+               NODE: this.#worker = new NodeWorker(worker, { type: 'module', eval: true })
+               //@ts-expect-error
+               NODE: this.#worker.addListener('message', message => {
                        this.#report(message.data)
                })
                Queue.#instances.push(this)