1- import { SeamHttp } from '@seamapi/http/connect'
1+ import { SeamHttp , SeamHttpEndpoints } from '@seamapi/http/connect'
22import { useQuery } from '@tanstack/react-query'
33import { useEffect } from 'react'
44import { v4 as uuidv4 } from 'uuid'
@@ -7,6 +7,7 @@ import { useSeamQueryContext } from './SeamQueryProvider.js'
77
88export function useSeamClient ( ) : {
99 client : SeamHttp | null
10+ endpointClient : SeamHttpEndpoints | null
1011 isPending : boolean
1112 isError : boolean
1213 error : unknown
@@ -22,7 +23,9 @@ export function useSeamClient(): {
2223 clientSessionToken != null ? '' : context . userIdentifierKey
2324 )
2425
25- const { isPending, isError, error, data } = useQuery < SeamHttp > ( {
26+ const { isPending, isError, error, data } = useQuery <
27+ [ SeamHttp , SeamHttpEndpoints ]
28+ > ( {
2629 queryKey : [
2730 'client' ,
2831 {
@@ -34,13 +37,19 @@ export function useSeamClient(): {
3437 } ,
3538 ] ,
3639 queryFn : async ( ) => {
37- if ( client != null ) return client
40+ if ( client != null )
41+ return [ client , SeamHttpEndpoints . fromClient ( client . client ) ]
3842
3943 if ( clientSessionToken != null ) {
40- return SeamHttp . fromClientSessionToken (
44+ const clientSessionTokenClient = SeamHttp . fromClientSessionToken (
4145 clientSessionToken ,
4246 clientOptions
4347 )
48+
49+ return [
50+ clientSessionTokenClient ,
51+ SeamHttpEndpoints . fromClient ( clientSessionTokenClient . client ) ,
52+ ]
4453 }
4554
4655 if ( publishableKey == null ) {
@@ -49,15 +58,25 @@ export function useSeamClient(): {
4958 )
5059 }
5160
52- return await SeamHttp . fromPublishableKey (
61+ const publishableKeyClient = await SeamHttp . fromPublishableKey (
5362 publishableKey ,
5463 userIdentifierKey ,
5564 clientOptions
5665 )
66+ return [
67+ publishableKeyClient ,
68+ SeamHttpEndpoints . fromClient ( publishableKeyClient . client ) ,
69+ ]
5770 } ,
5871 } )
5972
60- return { client : data ?? null , isPending, isError, error }
73+ return {
74+ client : data ?. [ 0 ] ?? null ,
75+ endpointClient : data ?. [ 1 ] ?? null ,
76+ isPending,
77+ isError,
78+ error,
79+ }
6180}
6281
6382export class NullSeamClientError extends Error {
0 commit comments