From 999d2d011964562c6e04310ff85c3dbdd44a7f7a Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Mon, 8 Sep 2025 20:58:05 -0700 Subject: [PATCH] Move worker blob outside of Vault class to module scope. --- src/lib/vault/index.ts | 45 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/src/lib/vault/index.ts b/src/lib/vault/index.ts index 1030966..ca5487b 100644 --- a/src/lib/vault/index.ts +++ b/src/lib/vault/index.ts @@ -16,27 +16,6 @@ type Task = { } export class Vault { - static get #blob () { - return ` - const ${Bip39.name} = ${Bip39} - const ${Bip44.name} = ${Bip44} - const ${Blake2b.name} = ${Blake2b} - const ${NanoNaCl.name} = ${NanoNaCl} - const ${WalletAesGcm.name} = ${WalletAesGcm} - const ${Passkey.name} = ${Passkey} - const ${VaultTimer.name} = ${VaultTimer} - const ${VaultWorker.name} = ${VaultWorker} - ${Bip39.name === 'Bip39' ? '' : `const Bip39 = ${Bip39.name}`} - ${Bip44.name === 'Bip44' ? '' : `const Bip44 = ${Bip44.name}`} - ${Blake2b.name === 'Blake2b' ? '' : `const Blake2b = ${Blake2b.name}`} - ${NanoNaCl.name === 'NanoNaCl' ? '' : `const NanoNaCl = ${NanoNaCl.name}`} - ${WalletAesGcm.name === 'WalletAesGcm' ? '' : `const WalletAesGcm = ${WalletAesGcm.name}`} - ${Passkey.name === 'Passkey' ? '' : `const Passkey = ${Passkey.name}`} - ${VaultTimer.name === 'VaultTimer' ? '' : `const VaultTimer = ${VaultTimer.name}`} - ${VaultWorker.name === 'VaultWorker' ? '' : `const VaultWorker = ${VaultWorker.name}`} - const v = new VaultWorker() - ` - } static #instances: Vault[] = [] static get instances (): Vault[] { return this.#instances } @@ -51,12 +30,12 @@ export class Vault { this.#isIdle = true this.#isTerminated = false this.#queue = [] - this.#url = URL.createObjectURL(new Blob([Vault.#blob], { type: 'text/javascript' })) + this.#url = URL.createObjectURL(new Blob([blob], { type: 'text/javascript' })) BROWSER: this.#worker = new Worker(this.#url, { type: 'module' }) BROWSER: this.#worker.addEventListener('message', message => { this.#report(message.data) }) - NODE: this.#worker = new NodeWorker(Vault.#blob, { + NODE: this.#worker = new NodeWorker(blob, { eval: true, stderr: false, stdout: false @@ -135,3 +114,23 @@ export class Vault { } } } + +const blob = ` + const ${Bip39.name} = ${Bip39} + const ${Bip44.name} = ${Bip44} + const ${Blake2b.name} = ${Blake2b} + const ${NanoNaCl.name} = ${NanoNaCl} + const ${WalletAesGcm.name} = ${WalletAesGcm} + const ${Passkey.name} = ${Passkey} + const ${VaultTimer.name} = ${VaultTimer} + const ${VaultWorker.name} = ${VaultWorker} + ${Bip39.name === 'Bip39' ? '' : `const Bip39 = ${Bip39.name}`} + ${Bip44.name === 'Bip44' ? '' : `const Bip44 = ${Bip44.name}`} + ${Blake2b.name === 'Blake2b' ? '' : `const Blake2b = ${Blake2b.name}`} + ${NanoNaCl.name === 'NanoNaCl' ? '' : `const NanoNaCl = ${NanoNaCl.name}`} + ${WalletAesGcm.name === 'WalletAesGcm' ? '' : `const WalletAesGcm = ${WalletAesGcm.name}`} + ${Passkey.name === 'Passkey' ? '' : `const Passkey = ${Passkey.name}`} + ${VaultTimer.name === 'VaultTimer' ? '' : `const VaultTimer = ${VaultTimer.name}`} + ${VaultWorker.name === 'VaultWorker' ? '' : `const VaultWorker = ${VaultWorker.name}`} + const v = new VaultWorker() +` -- 2.47.3