Skip to content

Commit 4073f88

Browse files
committed
fix(react-native): AuthonProvider type narrowing for union signIn/signUp returns — DTS build fix (@authon/react-native@0.3.9)
1 parent 3bec196 commit 4073f88

3 files changed

Lines changed: 16 additions & 12 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Official SDKs for [Authon](https://authon.dev) — a modern authentication platf
1919
| [`@authon/nuxt`](./packages/nuxt) | 0.3.3 | Auto-imported composables and middleware for Nuxt 3 | [npm](https://www.npmjs.com/package/@authon/nuxt) |
2020
| [`@authon/svelte`](./packages/svelte) | 0.3.3 | Stores and components for Svelte | [npm](https://www.npmjs.com/package/@authon/svelte) |
2121
| [`@authon/angular`](./packages/angular) | 0.3.3 | Service, guard, and components for Angular | [npm](https://www.npmjs.com/package/@authon/angular) |
22-
| [`@authon/react-native`](./packages/react-native) | 0.3.8 | Mobile authentication for React Native | [npm](https://www.npmjs.com/package/@authon/react-native) |
22+
| [`@authon/react-native`](./packages/react-native) | 0.3.9 | Mobile authentication for React Native | [npm](https://www.npmjs.com/package/@authon/react-native) |
2323
| [`@authon/create-app`](./packages/create-authon-app) | 0.1.0 | CLI scaffolding tool — create new projects with Authon pre-configured | [npm](https://www.npmjs.com/package/@authon/create-app) |
2424

2525
## Features

packages/react-native/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@authon/react-native",
3-
"version": "0.3.8",
3+
"version": "0.3.9",
44
"description": "Authon React Native SDK — mobile authentication",
55
"type": "module",
66
"main": "./dist/index.cjs",

packages/react-native/src/AuthonProvider.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import type {
1414

1515
export interface AuthonContextValue extends AuthState {
1616
user: AuthonUser | null;
17-
signIn: (params: SignInParams) => Promise<void>;
18-
signUp: (params: SignUpParams) => Promise<void>;
17+
signIn: (params: SignInParams) => Promise<any>;
18+
signUp: (params: SignUpParams) => Promise<any>;
1919
signOut: () => Promise<void>;
2020
getToken: () => string | null;
2121
/** Available OAuth providers (fetched from API) */
@@ -125,27 +125,31 @@ export function AuthonProvider({ children, storage, ...config }: AuthonProviderP
125125
}, []);
126126

127127
const signIn = useCallback(async (params: SignInParams) => {
128-
const { tokens, user: u } = await client.signIn(params);
129-
setUser(u);
128+
const result = await client.signIn(params);
129+
if ('needsVerification' in result || 'mfaRequired' in result) return result;
130+
setUser(result.user);
130131
setAuthState({
131132
isLoaded: true,
132133
isSignedIn: true,
133-
userId: u?.id || null,
134+
userId: result.user?.id || null,
134135
sessionId: null,
135-
accessToken: tokens.accessToken,
136+
accessToken: result.tokens.accessToken,
136137
});
138+
return result;
137139
}, [client]);
138140

139141
const signUp = useCallback(async (params: SignUpParams) => {
140-
const { tokens, user: u } = await client.signUp(params);
141-
setUser(u);
142+
const result = await client.signUp(params);
143+
if ('needsVerification' in result) return result;
144+
setUser(result.user);
142145
setAuthState({
143146
isLoaded: true,
144147
isSignedIn: true,
145-
userId: u?.id || null,
148+
userId: result.user?.id || null,
146149
sessionId: null,
147-
accessToken: tokens.accessToken,
150+
accessToken: result.tokens.accessToken,
148151
});
152+
return result;
149153
}, [client]);
150154

151155
const signOut = useCallback(async () => {

0 commit comments

Comments
 (0)