Skip to content

Commit 453014c

Browse files
authored
Merge pull request #92 from erayerdin/dev
v0.9.6
2 parents 6b32335 + 146e708 commit 453014c

File tree

8 files changed

+1573
-1193
lines changed

8 files changed

+1573
-1193
lines changed

package-lock.json

Lines changed: 1456 additions & 1140 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firereact",
3-
"version": "0.9.3",
3+
"version": "0.9.6",
44
"description": "React hooks, components and utils for Firebase",
55
"type": "module",
66
"main": "dist/index.cjs.js",
@@ -61,7 +61,7 @@
6161
"eslint-plugin-react": "^7.33.2",
6262
"eslint-plugin-react-hooks": "^4.6.0",
6363
"eslint-plugin-storybook": "^0.6.15",
64-
"firebase-tools": "^13.0.3",
64+
"firebase-tools": "^13.22.1",
6565
"happy-dom": "^13.2.0",
6666
"jsdom": "^23.2.0",
6767
"prettier": "^3.2.4",

src/auth/AuthorizationZone.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export const AuthorizationZone = ({
3535
} else {
3636
setSuccess(taskOrVal);
3737
}
38-
}, [user, validator]);
38+
}, [user]);
3939

4040
return success ? onSuccess(user) : onFailure(user);
4141
};

src/auth/useDeleteUser.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,14 @@ export const useDeleteUser = (
4242
const dispatch: UseDeleteUserDispatcher = async () => {
4343
if (user) {
4444
setState("loading");
45-
await deleteUser(user);
46-
await signOut(auth);
47-
setState("anonymous");
45+
try {
46+
await deleteUser(user);
47+
await signOut(auth);
48+
setState("anonymous");
49+
} catch (e) {
50+
setState("ready");
51+
throw e;
52+
}
4853
}
4954
};
5055

src/auth/useSendEmailVerification.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,16 @@ export const useSendEmailVerification = (
3333
actionCodeSetting,
3434
) => {
3535
setState("loading");
36-
await sendEmailVerification(
37-
user!, // guaranteed user not null on ready
38-
actionCodeSetting,
39-
);
40-
setState("done");
36+
try {
37+
await sendEmailVerification(
38+
user!, // guaranteed user not null on ready
39+
actionCodeSetting,
40+
);
41+
setState("done");
42+
} catch (e) {
43+
setState("ready");
44+
throw e;
45+
}
4146
};
4247

4348
return { state, dispatch: state === "ready" ? dispatch : async () => {} };

src/auth/useSignIn.ts

Lines changed: 77 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -74,63 +74,107 @@ export const useSignIn = (auth: Auth): UseSignIn => {
7474
switch (type) {
7575
case "classic": {
7676
const { email, password } = params;
77-
const credential = await signInWithEmailAndPassword(
78-
auth,
79-
email,
80-
password,
81-
);
82-
setState("authenticated");
83-
return credential;
77+
try {
78+
const credential = await signInWithEmailAndPassword(
79+
auth,
80+
email,
81+
password,
82+
);
83+
setState("authenticated");
84+
return credential;
85+
} catch (e) {
86+
setState("ready");
87+
throw e;
88+
}
8489
}
8590
case "link": {
8691
const { email, actionCodeSetting } = params;
87-
await sendSignInLinkToEmail(auth, email, actionCodeSetting);
88-
setState("awaiting");
89-
return undefined;
92+
try {
93+
await sendSignInLinkToEmail(auth, email, actionCodeSetting);
94+
setState("awaiting");
95+
return undefined;
96+
} catch (e) {
97+
setState("ready");
98+
throw e;
99+
}
90100
}
91101
case "google": {
92102
const { provider } = params;
93-
const credential = await signInWithPopup(auth, provider);
94-
setState("authenticated");
95-
setState("authenticated");
96-
return credential;
103+
try {
104+
const credential = await signInWithPopup(auth, provider);
105+
setState("authenticated");
106+
return credential;
107+
} catch (e) {
108+
setState("ready");
109+
throw e;
110+
}
97111
}
98112
case "facebook": {
99113
const { provider } = params;
100-
const credential = await signInWithPopup(auth, provider);
101-
setState("authenticated");
102-
setState("authenticated");
103-
return credential;
114+
try {
115+
const credential = await signInWithPopup(auth, provider);
116+
setState("authenticated");
117+
return credential;
118+
} catch (e) {
119+
setState("ready");
120+
throw e;
121+
}
104122
}
105123
case "apple": {
106124
const { provider } = params;
107-
const credential = await signInWithPopup(auth, provider);
108-
setState("authenticated");
109-
return credential;
125+
try {
126+
const credential = await signInWithPopup(auth, provider);
127+
setState("authenticated");
128+
return credential;
129+
} catch (e) {
130+
const credential = await signInWithPopup(auth, provider);
131+
setState("authenticated");
132+
return credential;
133+
}
110134
}
111135
case "twitter": {
112136
const { provider } = params;
113-
const credential = await signInWithPopup(auth, provider);
114-
setState("authenticated");
115-
return credential;
137+
try {
138+
const credential = await signInWithPopup(auth, provider);
139+
setState("authenticated");
140+
return credential;
141+
} catch (e) {
142+
setState("ready");
143+
throw e;
144+
}
116145
}
117146
case "github": {
118147
const { provider } = params;
119-
const credential = await signInWithPopup(auth, provider);
120-
setState("authenticated");
121-
return credential;
148+
try {
149+
const credential = await signInWithPopup(auth, provider);
150+
setState("authenticated");
151+
return credential;
152+
} catch (e) {
153+
setState("ready");
154+
throw e;
155+
}
122156
}
123157
case "microsoft": {
124158
const { provider } = params;
125-
const credential = await signInWithPopup(auth, provider);
126-
setState("authenticated");
127-
return credential;
159+
try {
160+
const credential = await signInWithPopup(auth, provider);
161+
setState("authenticated");
162+
return credential;
163+
} catch (e) {
164+
setState("ready");
165+
throw e;
166+
}
128167
}
129168
case "yahoo": {
130169
const { provider } = params;
131-
const credential = await signInWithPopup(auth, provider);
132-
setState("authenticated");
133-
return credential;
170+
try {
171+
const credential = await signInWithPopup(auth, provider);
172+
setState("authenticated");
173+
return credential;
174+
} catch (e) {
175+
setState("ready");
176+
throw e;
177+
}
134178
}
135179
}
136180
};

src/auth/useSignOut.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,13 @@ export const useSignOut = (
4747

4848
const dispatch: UseSignOutDispatcher = async () => {
4949
setState("loading");
50-
await auth.signOut();
51-
setState("anonymous");
50+
try {
51+
await auth.signOut();
52+
setState("anonymous");
53+
} catch (e) {
54+
setState("ready");
55+
throw e;
56+
}
5257
};
5358

5459
return { state, dispatch: state === "ready" ? dispatch : async () => {} };

src/auth/useSignUp.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,18 @@ export const useSignUp = (auth: Auth): UseSignUp => {
3131

3232
const dispatch: UseSignUpDispatcher = async (email, password) => {
3333
setState("loading");
34-
const credential = await createUserWithEmailAndPassword(
35-
auth,
36-
email,
37-
password,
38-
);
39-
setState("authenticated");
40-
return credential;
34+
try {
35+
const credential = await createUserWithEmailAndPassword(
36+
auth,
37+
email,
38+
password,
39+
);
40+
setState("authenticated");
41+
return credential;
42+
} catch (e) {
43+
setState("ready");
44+
throw e;
45+
}
4146
};
4247

4348
return {

0 commit comments

Comments
 (0)