@@ -27,18 +27,19 @@ const getInterceptors = (logger: ReturnType<typeof useLogger>) => {
27
27
return [ loggerInterceptor ] ;
28
28
} ;
29
29
30
+ // Create gRPC-web transport with the given configuration.
30
31
const getWebTransport = ( endpoint : string ) =>
31
32
createGrpcWebTransport ( {
32
33
baseUrl : endpoint ,
33
- credentials : 'include' , // necessary for authentication to be set
34
+ credentials : 'include' , // Necessary for authentication to be set.
34
35
} ) ;
35
36
36
37
/**
37
38
* Props for the GRPCProvider component.
38
39
*/
39
40
export interface GRPCProviderProps extends PropsWithChildren {
40
- endpoint ?: string ;
41
- useDefaultReactQueryProvider ?: boolean ;
41
+ endpoint ?: string ; // Optional - overrides endpoint to use for the gRPC-web transport.
42
+ useDefaultReactQueryProvider ?: boolean ; // Whether to use the default React Query Provider.
42
43
}
43
44
44
45
/**
@@ -49,12 +50,13 @@ export interface GRPCProviderProps extends PropsWithChildren {
49
50
* @returns The component wrapped with the TransportProvider and optionally the QueryClientProvider.
50
51
*/
51
52
export function GRPCProvider ( {
52
- endpoint = GRPC_ENDPOINT ,
53
- useDefaultReactQueryProvider = true ,
53
+ endpoint = GRPC_ENDPOINT , // Default to the Production Trade-API endpoint.
54
+ useDefaultReactQueryProvider = true , // Default to true to use the QueryClientProvider.
54
55
children,
55
56
} : GRPCProviderProps ) {
56
57
const logger = useLogger ( ) ; // Use the logger context.
57
58
const transport : Transport = useMemo ( ( ) => {
59
+ // Memoize the transport to avoid unnecessary re-renders.
58
60
return {
59
61
...getWebTransport ( endpoint ) ,
60
62
interceptors : getInterceptors ( logger ) ,
0 commit comments