diff --git a/storage/password.go b/storage/password.go index 95abcb4fc940890f9682ec9413bfc9eddb63295b..bd7bbec521a32d375a7e08c57e8ca30dcedcaf28 100644 --- a/storage/password.go +++ b/storage/password.go @@ -93,17 +93,20 @@ const ( // Parameters: // - args[0] - The user supplied password (string). // -// Returns: +// Returns a promise: // - Internal password (Uint8Array). // - Throws TypeError on failure. func GetOrInitPassword(_ js.Value, args []js.Value) any { - internalPassword, err := getOrInit(args[0].String()) - if err != nil { - exception.ThrowTrace(err) - return nil + promiseFn := func(resolve, reject func(args ...any) js.Value) { + internalPassword, err := getOrInit(args[0].String()) + if err != nil { + reject(exception.NewTrace(err)) + } else { + resolve(utils.CopyBytesToJS(internalPassword)) + } } - return utils.CopyBytesToJS(internalPassword) + return utils.CreatePromise(promiseFn) } // ChangeExternalPassword allows a user to change their external password.