From a248d0ab83f9d3969d6e3661900eb689e3f80c09 Mon Sep 17 00:00:00 2001 From: woodser Date: Mon, 22 Jan 2024 14:51:36 -0500 Subject: [PATCH] fix loading wasm module concurrently #173 --- src/main/ts/common/LibraryUtils.ts | 32 ++++++++++-------------------- src/main/ts/common/MoneroUtils.ts | 2 +- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/main/ts/common/LibraryUtils.ts b/src/main/ts/common/LibraryUtils.ts index a24c46da2..74af9aa00 100644 --- a/src/main/ts/common/LibraryUtils.ts +++ b/src/main/ts/common/LibraryUtils.ts @@ -86,16 +86,11 @@ export default class LibraryUtils { if (LibraryUtils.WASM_MODULE) return LibraryUtils.WASM_MODULE; // load module - delete LibraryUtils.WASM_MODULE; - LibraryUtils.WASM_MODULE = require("../../../../dist/monero_wallet_keys")(); - return new Promise(function(resolve, reject) { - LibraryUtils.WASM_MODULE.then(module => { - LibraryUtils.WASM_MODULE = module - delete LibraryUtils.WASM_MODULE.then; - LibraryUtils.initWasmModule(LibraryUtils.WASM_MODULE); - resolve(LibraryUtils.WASM_MODULE); - }); - }); + let module = await require("../../../../dist/monero_wallet_keys")(); + LibraryUtils.WASM_MODULE = module + delete LibraryUtils.WASM_MODULE.then; + LibraryUtils.initWasmModule(LibraryUtils.WASM_MODULE); + return module; } /** @@ -111,17 +106,12 @@ export default class LibraryUtils { if (LibraryUtils.WASM_MODULE && LibraryUtils.FULL_LOADED) return LibraryUtils.WASM_MODULE; // load module - delete LibraryUtils.WASM_MODULE; - LibraryUtils.WASM_MODULE = require("../../../../dist/monero_wallet_full")(); - return new Promise(function(resolve, reject) { - LibraryUtils.WASM_MODULE.then(module => { - LibraryUtils.WASM_MODULE = module; - delete LibraryUtils.WASM_MODULE.then; - LibraryUtils.FULL_LOADED = true; - LibraryUtils.initWasmModule(LibraryUtils.WASM_MODULE); - resolve(LibraryUtils.WASM_MODULE); - }); - }); + let module = await require("../../../../dist/monero_wallet_full")(); + LibraryUtils.WASM_MODULE = module + delete LibraryUtils.WASM_MODULE.then; + LibraryUtils.FULL_LOADED = true; + LibraryUtils.initWasmModule(LibraryUtils.WASM_MODULE); + return module; } /** diff --git a/src/main/ts/common/MoneroUtils.ts b/src/main/ts/common/MoneroUtils.ts index 0dc4c0ace..4c127a5b6 100644 --- a/src/main/ts/common/MoneroUtils.ts +++ b/src/main/ts/common/MoneroUtils.ts @@ -165,7 +165,7 @@ export default class MoneroUtils { if (LibraryUtils.getWasmModule() === undefined) await LibraryUtils.loadKeysModule(); // get integrated address in queue - return LibraryUtils.getWasmModule().queueTask(async function() { + return LibraryUtils.getWasmModule().queueTask(async () => { let integratedAddressJson = LibraryUtils.getWasmModule().get_integrated_address_util(networkType, standardAddress, paymentId ? paymentId : ""); if (integratedAddressJson.charAt(0) !== '{') throw new MoneroError(integratedAddressJson); return new MoneroIntegratedAddress(JSON.parse(integratedAddressJson));