@umituz/react-native-auth 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-auth",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Firebase Authentication wrapper for React Native apps - Secure, type-safe, and production-ready",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -83,3 +83,11 @@ export class AuthInvalidEmailError extends AuthError {
83
83
  }
84
84
  }
85
85
 
86
+ export class AuthInvalidCredentialError extends AuthError {
87
+ constructor(message: string = "Invalid email or password") {
88
+ super(message, "AUTH_INVALID_CREDENTIAL");
89
+ this.name = "AuthInvalidCredentialError";
90
+ Object.setPrototypeOf(this, AuthInvalidCredentialError.prototype);
91
+ }
92
+ }
93
+
package/src/index.ts CHANGED
@@ -31,6 +31,7 @@ export {
31
31
  AuthEmailAlreadyInUseError,
32
32
  AuthWeakPasswordError,
33
33
  AuthInvalidEmailError,
34
+ AuthInvalidCredentialError,
34
35
  } from './domain/errors/AuthError';
35
36
 
36
37
  export type { AuthConfig } from './domain/value-objects/AuthConfig';
@@ -14,6 +14,7 @@ import {
14
14
  } from "firebase/auth";
15
15
  import type { IAuthService, SignUpParams, SignInParams } from "../../application/ports/IAuthService";
16
16
  import {
17
+ AuthError,
17
18
  AuthInitializationError,
18
19
  AuthConfigurationError,
19
20
  AuthValidationError,
@@ -23,6 +24,7 @@ import {
23
24
  AuthWrongPasswordError,
24
25
  AuthUserNotFoundError,
25
26
  AuthNetworkError,
27
+ AuthInvalidCredentialError,
26
28
  } from "../../domain/errors/AuthError";
27
29
  import type { AuthConfig } from "../../domain/value-objects/AuthConfig";
28
30
  import { DEFAULT_AUTH_CONFIG } from "../../domain/value-objects/AuthConfig";
@@ -115,6 +117,10 @@ function mapFirebaseAuthError(error: any): Error {
115
117
  if (code === "auth/too-many-requests") {
116
118
  return new AuthError("Too many requests. Please try again later.", "AUTH_TOO_MANY_REQUESTS");
117
119
  }
120
+ // Firebase v9+ uses auth/invalid-credential for both wrong email and wrong password
121
+ if (code === "auth/invalid-credential") {
122
+ return new AuthInvalidCredentialError();
123
+ }
118
124
 
119
125
  return new AuthError(message, code);
120
126
  }