aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/headless/helpers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/headless/helpers.ts')
-rw-r--r--packages/taler-wallet-core/src/headless/helpers.ts9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/taler-wallet-core/src/headless/helpers.ts b/packages/taler-wallet-core/src/headless/helpers.ts
index 63967d4ad..2be9be9a1 100644
--- a/packages/taler-wallet-core/src/headless/helpers.ts
+++ b/packages/taler-wallet-core/src/headless/helpers.ts
@@ -61,6 +61,8 @@ export interface DefaultNodeWalletArgs {
* of the default one.
*/
httpLib?: HttpRequestLibrary;
+
+ cryptoWorkerType?: "sync" | "node-worker-thread";
}
/**
@@ -160,10 +162,11 @@ export async function getDefaultNodeWallet2(
const myDb = await openTalerDatabase(myIdbFactory, myVersionChange);
let workerFactory;
- if (process.env["TALER_WALLET_SYNC_CRYPTO"]) {
+ const cryptoWorkerType = args.cryptoWorkerType ?? "node-worker-thread";
+ if (cryptoWorkerType === "sync") {
logger.info("using synchronous crypto worker");
workerFactory = new SynchronousCryptoWorkerFactory();
- } else {
+ } else if (cryptoWorkerType === "node-worker-thread") {
try {
// Try if we have worker threads available, fails in older node versions.
const _r = "require";
@@ -177,6 +180,8 @@ export async function getDefaultNodeWallet2(
);
workerFactory = new SynchronousCryptoWorkerFactory();
}
+ } else {
+ throw Error(`unsupported crypto worker type '${cryptoWorkerType}'`);
}
const timer = new SetTimeoutTimerAPI();