From 070445050bf7dbd2e86820f24be1dcd175d9bcf7 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 26 Oct 2022 10:15:36 -0300 Subject: [PATCH] chore: created reportErrorAsync --- packages/accounts-password/password_client.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/accounts-password/password_client.js b/packages/accounts-password/password_client.js index 50b3329cb9..735d58e03a 100644 --- a/packages/accounts-password/password_client.js +++ b/packages/accounts-password/password_client.js @@ -7,12 +7,18 @@ const reportError = (error, callback) => { } }; +const reportErrorAsync = async (error, callback) => { + if (callback) { + await callback(error); + } else { + throw error; + } +}; const internalLoginWithPassword = ({ selector, password, code, callback }) => { if (typeof selector === 'string') if (!selector.includes('@')) selector = { username: selector }; else selector = { email: selector }; - Accounts.callLoginMethod({ methodArguments: [ { @@ -22,10 +28,11 @@ const internalLoginWithPassword = ({ selector, password, code, callback }) => { }, ], userCallback: async (error, result) => { + const isAsync = callback && callback.constructor.name === 'AsyncFunction'; if (error) { - reportError(error, callback); + if (isAsync) await reportErrorAsync(error, callback); + else reportError(error, callback); } else { - const isAsync = callback && callback.constructor.name === 'AsyncFunction'; if (isAsync) callback && await callback(); else callback && callback(); }