From 82cb8e81bb0ad9df028bff508c808531cafdf0f5 Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Tue, 20 Jun 2023 17:48:41 +0000 Subject: [PATCH] Convert GetOrInitPassword to return a promise and throw the exception directly --- storage/password.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/storage/password.go b/storage/password.go index 95abcb4f..bd7bbec5 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. -- GitLab