Changeset View
Changeset View
Standalone View
Standalone View
web/shared-worker/utils/opaque-utils.js
- This file was moved from web/crypto/opaque-utils.js.
// @flow | // @flow | ||||
import initOpaqueKe from '@commapp/opaque-ke-wasm'; | import initOpaqueKe from '@commapp/opaque-ke-wasm'; | ||||
declare var opaqueURL: string; | |||||
let opaqueKeLoadingState: void | true | Promise<mixed>; | let opaqueKeLoadingState: void | true | Promise<mixed>; | ||||
function initOpaque(overrideOpaqueURL?: ?string): Promise<mixed> { | function initOpaque(opaqueURL: string): Promise<mixed> { | ||||
const finalOpaqueURL = overrideOpaqueURL ?? opaqueURL; | |||||
if (opaqueKeLoadingState === true) { | if (opaqueKeLoadingState === true) { | ||||
return Promise.resolve(); | return Promise.resolve(); | ||||
} | } | ||||
if (!opaqueKeLoadingState) { | if (!opaqueKeLoadingState) { | ||||
opaqueKeLoadingState = initOpaqueKe(finalOpaqueURL); | opaqueKeLoadingState = initOpaqueKe(opaqueURL); | ||||
} | } | ||||
return opaqueKeLoadingState; | return opaqueKeLoadingState; | ||||
} | } | ||||
export { initOpaque }; | export { initOpaque }; |