Skip to content

Commit 30dafb9

Browse files
authored
Use explicit and bound interface for Client (#30)
1 parent 1d061c4 commit 30dafb9

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/provider.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,13 @@ export function AuthKitProvider(props: AuthKitProviderProps) {
6262
refreshBufferInterval,
6363
}).then(async (client) => {
6464
const user = client.getUser();
65-
setClient(client);
65+
setClient({
66+
getAccessToken: client.getAccessToken.bind(client),
67+
getUser: client.getUser.bind(client),
68+
signIn: client.signIn.bind(client),
69+
signUp: client.signUp.bind(client),
70+
signOut: client.signOut.bind(client),
71+
});
6672
setState((prev) => ({ ...prev, isLoading: false, user }));
6773
});
6874
});

src/types.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { createClient } from "@workos-inc/authkit-js";
22

3-
export type Client = Awaited<ReturnType<typeof createClient>>;
3+
export type Client = Pick<
4+
Awaited<ReturnType<typeof createClient>>,
5+
"signIn" | "signUp" | "getUser" | "getAccessToken" | "signOut"
6+
>;
7+
48
export type CreateClientOptions = NonNullable<
59
Parameters<typeof createClient>[1]
610
>;

0 commit comments

Comments
 (0)