firebase-js-sdk
firebase-js-sdk copied to clipboard
Set `FirebaseError` name to be calling constructors name
We currently set the error name to be FirebaseError
and make it readonly. This means that whenever subclasses of FirebaseError
call super()
, the name will be locked at FirebaseError
. This results in those errors from subclasses looking like:
[StorageError [FirebaseError]: Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)] {
code: 'storage/unknown',
customData: { serverResponse: '' },
status_: 404,
_baseMessage: 'Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)'
}
Subclasses should provide their own name
property, so we should instead set the error name to be the name of the calling constructor. So if we do throw new StorageError
, name
will be StorageError
. This makes errors look like this instead:
[StorageError: Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)] {
code: 'storage/unknown',
customData: { serverResponse: '' },
status_: 404,
_baseMessage: 'Firebase Storage: An unknown error occurred, please check the error payload for server response. (storage/unknown)'
}
This change will apply to all SDKs that have subclasses of FirebaseError
(VertexAI, Storage, Functions, Auth).