@seamapi/react 4.9.0 → 4.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/elements.js +4109 -4076
- package/dist/elements.js.map +1 -1
- package/lib/seam/SeamProvider.d.ts +1 -1
- package/lib/seam/SeamProvider.js +2 -2
- package/lib/seam/SeamProvider.js.map +1 -1
- package/lib/seam/SeamQueryProvider.d.ts +2 -0
- package/lib/seam/SeamQueryProvider.js +11 -2
- package/lib/seam/SeamQueryProvider.js.map +1 -1
- package/lib/seam/use-seam-client.d.ts +1 -0
- package/lib/seam/use-seam-client.js +20 -1
- package/lib/seam/use-seam-client.js.map +1 -1
- package/lib/seam/use-seam-query.js +6 -2
- package/lib/seam/use-seam-query.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/src/lib/seam/SeamProvider.tsx +5 -1
- package/src/lib/seam/SeamQueryProvider.tsx +24 -2
- package/src/lib/seam/use-seam-client.ts +35 -0
- package/src/lib/seam/use-seam-query.ts +6 -2
- package/src/lib/version.ts +1 -1
|
@@ -30,5 +30,5 @@ interface SeamProviderBaseProps extends PropsWithChildren {
|
|
|
30
30
|
onSessionUpdate?: (client: SeamHttp) => void;
|
|
31
31
|
}
|
|
32
32
|
export declare const seamComponentsClassName = "seam-components";
|
|
33
|
-
export declare function SeamProvider({ children, disableTelemetry, disableCssInjection, disableFontInjection, unminifiyCss, telemetryClient, ...props }: SeamProviderProps): JSX.Element;
|
|
33
|
+
export declare function SeamProvider({ children, disableTelemetry, disableCssInjection, disableFontInjection, unminifiyCss, telemetryClient, queryClient, ...props }: SeamProviderProps): JSX.Element;
|
|
34
34
|
export {};
|
package/lib/seam/SeamProvider.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useSeamFont } from '../../lib/seam/use-seam-font.js';
|
|
|
5
5
|
import { useSeamStyles } from '../../lib/seam/use-seam-styles.js';
|
|
6
6
|
import { TelemetryProvider, useUserTelemetry, } from '../../lib/telemetry/index.js';
|
|
7
7
|
export const seamComponentsClassName = 'seam-components';
|
|
8
|
-
export function SeamProvider({ children, disableTelemetry = false, disableCssInjection = false, disableFontInjection = false, unminifiyCss = false, telemetryClient, ...props }) {
|
|
8
|
+
export function SeamProvider({ children, disableTelemetry = false, disableCssInjection = false, disableFontInjection = false, unminifiyCss = false, telemetryClient, queryClient, ...props }) {
|
|
9
9
|
useSeamStyles({ disabled: disableCssInjection, unminified: unminifiyCss });
|
|
10
10
|
useSeamFont({ disabled: disableFontInjection });
|
|
11
11
|
const { Provider } = seamContext;
|
|
@@ -14,7 +14,7 @@ export function SeamProvider({ children, disableTelemetry = false, disableCssInj
|
|
|
14
14
|
const context = createSeamContextValue(props);
|
|
15
15
|
return context;
|
|
16
16
|
}, [props]);
|
|
17
|
-
return (_jsx("div", { className: seamComponentsClassName, children: _jsx(TelemetryProvider, { client: telemetryClient ?? globalThis.seamTelemetryClient, disabled: disableTelemetry, endpoint: endpoint, children: _jsx(SeamQueryProvider, { ...props, children: _jsx(Provider, { value: value, children: _jsx(Telemetry, { children: children }) }) }) }) }));
|
|
17
|
+
return (_jsx("div", { className: seamComponentsClassName, children: _jsx(TelemetryProvider, { client: telemetryClient ?? globalThis.seamTelemetryClient, disabled: disableTelemetry, endpoint: endpoint, children: _jsx(SeamQueryProvider, { queryClient: queryClient ?? globalThis.seamQueryClient, ...props, children: _jsx(Provider, { value: value, children: _jsx(Telemetry, { children: children }) }) }) }) }));
|
|
18
18
|
}
|
|
19
19
|
function Telemetry({ children }) {
|
|
20
20
|
useUserTelemetry();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeamProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAA0B,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,EACL,iBAAiB,GAIlB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAA;AA8C/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AAExD,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,mBAAmB,GAAG,KAAK,EAC3B,oBAAoB,GAAG,KAAK,EAC5B,YAAY,GAAG,KAAK,EACpB,eAAe,EACf,GAAG,KAAK,EACU;IAClB,aAAa,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;IAC1E,WAAW,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAEhC,MAAM,QAAQ,GAAG,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,CACL,cAAK,SAAS,EAAE,uBAAuB,YACrC,KAAC,iBAAiB,IAChB,MAAM,EAAE,eAAe,IAAI,UAAU,CAAC,mBAAmB,EACzD,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,QAAQ,YAElB,KAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"SeamProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAA0B,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,EACL,iBAAiB,GAIlB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAA;AA8C/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AAExD,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,mBAAmB,GAAG,KAAK,EAC3B,oBAAoB,GAAG,KAAK,EAC5B,YAAY,GAAG,KAAK,EACpB,eAAe,EACf,WAAW,EACX,GAAG,KAAK,EACU;IAClB,aAAa,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;IAC1E,WAAW,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAEhC,MAAM,QAAQ,GAAG,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,CACL,cAAK,SAAS,EAAE,uBAAuB,YACrC,KAAC,iBAAiB,IAChB,MAAM,EAAE,eAAe,IAAI,UAAU,CAAC,mBAAmB,EACzD,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,QAAQ,YAElB,KAAC,iBAAiB,IAChB,WAAW,EAAE,WAAW,IAAI,UAAU,CAAC,eAAe,KAClD,KAAK,YAET,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpB,KAAC,SAAS,cAAE,QAAQ,GAAa,GACxB,GACO,GACF,GAChB,CACP,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,QAAQ,EAAqB;IAChD,gBAAgB,EAAE,CAAA;IAClB,OAAO,4BAAG,QAAQ,GAAI,CAAA;AACxB,CAAC;AAED,MAAM,6BAA6B,GAAG,GAAgB,EAAE;IACtD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,QAA2B,EAAe,EAAE;IAC1E,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAA;AAE/D,MAAM,WAAW,GAAG,aAAa,CAAc,uBAAuB,CAAC,CAAA"}
|
|
@@ -8,10 +8,12 @@ export interface SeamQueryContext {
|
|
|
8
8
|
publishableKey?: string | undefined;
|
|
9
9
|
userIdentifierKey?: string | undefined;
|
|
10
10
|
clientSessionToken?: string | undefined;
|
|
11
|
+
queryKeyPrefix?: string | undefined;
|
|
11
12
|
}
|
|
12
13
|
export type SeamQueryProviderProps = SeamQueryProviderPropsWithClient | SeamQueryProviderPropsWithPublishableKey | SeamQueryProviderPropsWithClientSessionToken;
|
|
13
14
|
export interface SeamQueryProviderPropsWithClient extends SeamQueryProviderBaseProps {
|
|
14
15
|
client: SeamHttp;
|
|
16
|
+
queryKeyPrefix: string;
|
|
15
17
|
}
|
|
16
18
|
export interface SeamQueryProviderPropsWithPublishableKey extends SeamQueryProviderBaseProps, SeamQueryProviderClientOptions {
|
|
17
19
|
publishableKey: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
2
|
+
import { QueryClient, QueryClientContext, QueryClientProvider, } from '@tanstack/react-query';
|
|
3
3
|
import { createContext, useContext, useEffect, useMemo, } from 'react';
|
|
4
4
|
import { useSeamClient } from './use-seam-client.js';
|
|
5
5
|
const defaultQueryClient = new QueryClient();
|
|
@@ -19,7 +19,13 @@ export function SeamQueryProvider({ children, onSessionUpdate = () => { }, query
|
|
|
19
19
|
throw new Error(`Must provide either a Seam client, clientSessionToken, or a publishableKey.`);
|
|
20
20
|
}
|
|
21
21
|
const { Provider } = seamContext;
|
|
22
|
-
|
|
22
|
+
const queryClientFromContext = useContext(QueryClientContext);
|
|
23
|
+
if (queryClientFromContext != null &&
|
|
24
|
+
queryClient != null &&
|
|
25
|
+
queryClientFromContext !== queryClient) {
|
|
26
|
+
throw new Error('The QueryClient passed into SeamQueryProvider is different from the one in the existing QueryClientContext. Omit the queryClient prop from SeamProvider or SeamQueryProvider to use the existing QueryClient provided by the QueryClientProvider.');
|
|
27
|
+
}
|
|
28
|
+
return (_jsx(QueryClientProvider, { client: queryClientFromContext ?? queryClient ?? defaultQueryClient, children: _jsx(Provider, { value: value, children: _jsx(Session, { onSessionUpdate: onSessionUpdate, children: children }) }) }));
|
|
23
29
|
}
|
|
24
30
|
function Session({ onSessionUpdate, children, }) {
|
|
25
31
|
const { client } = useSeamClient();
|
|
@@ -44,6 +50,9 @@ const createDefaultSeamQueryContextValue = () => {
|
|
|
44
50
|
};
|
|
45
51
|
const createSeamQueryContextValue = (options) => {
|
|
46
52
|
if (isSeamQueryProviderPropsWithClient(options)) {
|
|
53
|
+
if (options.queryKeyPrefix == null) {
|
|
54
|
+
throw new InvalidSeamQueryProviderProps('The client prop must be used with a queryKeyPrefix prop.');
|
|
55
|
+
}
|
|
47
56
|
return {
|
|
48
57
|
...options,
|
|
49
58
|
endpointClient: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeamQueryProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamQueryProvider.tsx"],"names":[],"mappings":";AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"SeamQueryProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamQueryProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { SeamHttp, SeamHttpEndpoints } from '@seamapi/http/connect';
|
|
|
2
2
|
export declare function useSeamClient(): {
|
|
3
3
|
client: SeamHttp | null;
|
|
4
4
|
endpointClient: SeamHttpEndpoints | null;
|
|
5
|
+
queryKeyPrefixes: string[];
|
|
5
6
|
isPending: boolean;
|
|
6
7
|
isError: boolean;
|
|
7
8
|
error: unknown;
|
|
@@ -4,10 +4,11 @@ import { useEffect } from 'react';
|
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
5
|
import { useSeamQueryContext } from './SeamQueryProvider.js';
|
|
6
6
|
export function useSeamClient() {
|
|
7
|
-
const { client, clientOptions, publishableKey, clientSessionToken, ...context } = useSeamQueryContext();
|
|
7
|
+
const { client, clientOptions, publishableKey, clientSessionToken, queryKeyPrefix, ...context } = useSeamQueryContext();
|
|
8
8
|
const userIdentifierKey = useUserIdentifierKeyOrFingerprint(clientSessionToken != null ? '' : context.userIdentifierKey);
|
|
9
9
|
const { isPending, isError, error, data } = useQuery({
|
|
10
10
|
queryKey: [
|
|
11
|
+
...getQueryKeyPrefixes({ queryKeyPrefix }),
|
|
11
12
|
'client',
|
|
12
13
|
{
|
|
13
14
|
client,
|
|
@@ -40,6 +41,12 @@ export function useSeamClient() {
|
|
|
40
41
|
return {
|
|
41
42
|
client: data?.[0] ?? null,
|
|
42
43
|
endpointClient: data?.[1] ?? null,
|
|
44
|
+
queryKeyPrefixes: getQueryKeyPrefixes({
|
|
45
|
+
queryKeyPrefix,
|
|
46
|
+
userIdentifierKey,
|
|
47
|
+
publishableKey,
|
|
48
|
+
clientSessionToken,
|
|
49
|
+
}),
|
|
43
50
|
isPending,
|
|
44
51
|
isError,
|
|
45
52
|
error,
|
|
@@ -74,4 +81,16 @@ This is not recommended because the client session is now bound to this machine
|
|
|
74
81
|
globalThis.localStorage?.setItem('seam_user_fingerprint', fingerprint);
|
|
75
82
|
return fingerprint;
|
|
76
83
|
}
|
|
84
|
+
const getQueryKeyPrefixes = ({ queryKeyPrefix, userIdentifierKey, publishableKey, clientSessionToken, }) => {
|
|
85
|
+
const seamPrefix = 'seam';
|
|
86
|
+
if (queryKeyPrefix != null)
|
|
87
|
+
return [seamPrefix, queryKeyPrefix];
|
|
88
|
+
if (clientSessionToken != null) {
|
|
89
|
+
return [seamPrefix, clientSessionToken];
|
|
90
|
+
}
|
|
91
|
+
if (publishableKey != null && userIdentifierKey != null) {
|
|
92
|
+
return [seamPrefix, publishableKey, userIdentifierKey];
|
|
93
|
+
}
|
|
94
|
+
return [seamPrefix];
|
|
95
|
+
};
|
|
77
96
|
//# sourceMappingURL=use-seam-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-seam-client.js","sourceRoot":"","sources":["../../src/lib/seam/use-seam-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,UAAU,aAAa;
|
|
1
|
+
{"version":3,"file":"use-seam-client.js","sourceRoot":"","sources":["../../src/lib/seam/use-seam-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { useQuery, } from '@tanstack/react-query';
|
|
2
2
|
import { useSeamClient } from '../../lib/seam/use-seam-client.js';
|
|
3
3
|
export function useSeamQuery(endpointPath, parameters, options = {}) {
|
|
4
|
-
const { endpointClient: client } = useSeamClient();
|
|
4
|
+
const { endpointClient: client, queryKeyPrefixes } = useSeamClient();
|
|
5
5
|
return useQuery({
|
|
6
6
|
enabled: client != null,
|
|
7
7
|
...options,
|
|
8
|
-
queryKey: [
|
|
8
|
+
queryKey: [
|
|
9
|
+
...queryKeyPrefixes,
|
|
10
|
+
...endpointPath.split('/').filter((v) => v !== ''),
|
|
11
|
+
parameters,
|
|
12
|
+
],
|
|
9
13
|
queryFn: async () => {
|
|
10
14
|
if (client == null)
|
|
11
15
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-seam-query.js","sourceRoot":"","sources":["../../src/lib/seam/use-seam-query.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,GAGT,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAQ3D,MAAM,UAAU,YAAY,CAC1B,YAAe,EACf,UAAsC,EACtC,UACiD,EAAE;IAEnD,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"use-seam-query.js","sourceRoot":"","sources":["../../src/lib/seam/use-seam-query.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,QAAQ,GAGT,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAQ3D,MAAM,UAAU,YAAY,CAC1B,YAAe,EACf,UAAsC,EACtC,UACiD,EAAE;IAEnD,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAA;IACpE,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,IAAI;QACvB,GAAG,OAAO;QACV,QAAQ,EAAE;YACR,GAAG,gBAAgB;YACnB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClD,UAAU;SACX;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC/B,iHAAiH;YACjH,2FAA2F;YAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAmC,CAAA;YACvE,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiReactVersion = "4.9.
|
|
1
|
+
declare const seamapiReactVersion = "4.9.1";
|
|
2
2
|
export default seamapiReactVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -69,6 +69,7 @@ export function SeamProvider({
|
|
|
69
69
|
disableFontInjection = false,
|
|
70
70
|
unminifiyCss = false,
|
|
71
71
|
telemetryClient,
|
|
72
|
+
queryClient,
|
|
72
73
|
...props
|
|
73
74
|
}: SeamProviderProps): JSX.Element {
|
|
74
75
|
useSeamStyles({ disabled: disableCssInjection, unminified: unminifiyCss })
|
|
@@ -89,7 +90,10 @@ export function SeamProvider({
|
|
|
89
90
|
disabled={disableTelemetry}
|
|
90
91
|
endpoint={endpoint}
|
|
91
92
|
>
|
|
92
|
-
<SeamQueryProvider
|
|
93
|
+
<SeamQueryProvider
|
|
94
|
+
queryClient={queryClient ?? globalThis.seamQueryClient}
|
|
95
|
+
{...props}
|
|
96
|
+
>
|
|
93
97
|
<Provider value={value}>
|
|
94
98
|
<Telemetry>{children}</Telemetry>
|
|
95
99
|
</Provider>
|
|
@@ -3,7 +3,11 @@ import type {
|
|
|
3
3
|
SeamHttpEndpoints,
|
|
4
4
|
SeamHttpOptionsWithClientSessionToken,
|
|
5
5
|
} from '@seamapi/http/connect'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
QueryClient,
|
|
8
|
+
QueryClientContext,
|
|
9
|
+
QueryClientProvider,
|
|
10
|
+
} from '@tanstack/react-query'
|
|
7
11
|
import {
|
|
8
12
|
createContext,
|
|
9
13
|
type PropsWithChildren,
|
|
@@ -21,6 +25,7 @@ export interface SeamQueryContext {
|
|
|
21
25
|
publishableKey?: string | undefined
|
|
22
26
|
userIdentifierKey?: string | undefined
|
|
23
27
|
clientSessionToken?: string | undefined
|
|
28
|
+
queryKeyPrefix?: string | undefined
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
export type SeamQueryProviderProps =
|
|
@@ -31,6 +36,7 @@ export type SeamQueryProviderProps =
|
|
|
31
36
|
export interface SeamQueryProviderPropsWithClient
|
|
32
37
|
extends SeamQueryProviderBaseProps {
|
|
33
38
|
client: SeamHttp
|
|
39
|
+
queryKeyPrefix: string
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export interface SeamQueryProviderPropsWithPublishableKey
|
|
@@ -86,10 +92,21 @@ export function SeamQueryProvider({
|
|
|
86
92
|
}
|
|
87
93
|
|
|
88
94
|
const { Provider } = seamContext
|
|
95
|
+
const queryClientFromContext = useContext(QueryClientContext)
|
|
96
|
+
|
|
97
|
+
if (
|
|
98
|
+
queryClientFromContext != null &&
|
|
99
|
+
queryClient != null &&
|
|
100
|
+
queryClientFromContext !== queryClient
|
|
101
|
+
) {
|
|
102
|
+
throw new Error(
|
|
103
|
+
'The QueryClient passed into SeamQueryProvider is different from the one in the existing QueryClientContext. Omit the queryClient prop from SeamProvider or SeamQueryProvider to use the existing QueryClient provided by the QueryClientProvider.'
|
|
104
|
+
)
|
|
105
|
+
}
|
|
89
106
|
|
|
90
107
|
return (
|
|
91
108
|
<QueryClientProvider
|
|
92
|
-
client={
|
|
109
|
+
client={queryClientFromContext ?? queryClient ?? defaultQueryClient}
|
|
93
110
|
>
|
|
94
111
|
<Provider value={value}>
|
|
95
112
|
<Session onSessionUpdate={onSessionUpdate}>{children}</Session>
|
|
@@ -128,6 +145,11 @@ const createSeamQueryContextValue = (
|
|
|
128
145
|
options: SeamQueryProviderProps
|
|
129
146
|
): SeamQueryContext => {
|
|
130
147
|
if (isSeamQueryProviderPropsWithClient(options)) {
|
|
148
|
+
if (options.queryKeyPrefix == null) {
|
|
149
|
+
throw new InvalidSeamQueryProviderProps(
|
|
150
|
+
'The client prop must be used with a queryKeyPrefix prop.'
|
|
151
|
+
)
|
|
152
|
+
}
|
|
131
153
|
return {
|
|
132
154
|
...options,
|
|
133
155
|
endpointClient: null,
|
|
@@ -8,6 +8,7 @@ import { useSeamQueryContext } from './SeamQueryProvider.js'
|
|
|
8
8
|
export function useSeamClient(): {
|
|
9
9
|
client: SeamHttp | null
|
|
10
10
|
endpointClient: SeamHttpEndpoints | null
|
|
11
|
+
queryKeyPrefixes: string[]
|
|
11
12
|
isPending: boolean
|
|
12
13
|
isError: boolean
|
|
13
14
|
error: unknown
|
|
@@ -17,6 +18,7 @@ export function useSeamClient(): {
|
|
|
17
18
|
clientOptions,
|
|
18
19
|
publishableKey,
|
|
19
20
|
clientSessionToken,
|
|
21
|
+
queryKeyPrefix,
|
|
20
22
|
...context
|
|
21
23
|
} = useSeamQueryContext()
|
|
22
24
|
const userIdentifierKey = useUserIdentifierKeyOrFingerprint(
|
|
@@ -27,6 +29,7 @@ export function useSeamClient(): {
|
|
|
27
29
|
[SeamHttp, SeamHttpEndpoints]
|
|
28
30
|
>({
|
|
29
31
|
queryKey: [
|
|
32
|
+
...getQueryKeyPrefixes({ queryKeyPrefix }),
|
|
30
33
|
'client',
|
|
31
34
|
{
|
|
32
35
|
client,
|
|
@@ -73,6 +76,12 @@ export function useSeamClient(): {
|
|
|
73
76
|
return {
|
|
74
77
|
client: data?.[0] ?? null,
|
|
75
78
|
endpointClient: data?.[1] ?? null,
|
|
79
|
+
queryKeyPrefixes: getQueryKeyPrefixes({
|
|
80
|
+
queryKeyPrefix,
|
|
81
|
+
userIdentifierKey,
|
|
82
|
+
publishableKey,
|
|
83
|
+
clientSessionToken,
|
|
84
|
+
}),
|
|
76
85
|
isPending,
|
|
77
86
|
isError,
|
|
78
87
|
error,
|
|
@@ -117,3 +126,29 @@ This is not recommended because the client session is now bound to this machine
|
|
|
117
126
|
|
|
118
127
|
return fingerprint
|
|
119
128
|
}
|
|
129
|
+
|
|
130
|
+
const getQueryKeyPrefixes = ({
|
|
131
|
+
queryKeyPrefix,
|
|
132
|
+
userIdentifierKey,
|
|
133
|
+
publishableKey,
|
|
134
|
+
clientSessionToken,
|
|
135
|
+
}: {
|
|
136
|
+
queryKeyPrefix: string | undefined
|
|
137
|
+
userIdentifierKey?: string
|
|
138
|
+
publishableKey?: string | undefined
|
|
139
|
+
clientSessionToken?: string | undefined
|
|
140
|
+
}): string[] => {
|
|
141
|
+
const seamPrefix = 'seam'
|
|
142
|
+
|
|
143
|
+
if (queryKeyPrefix != null) return [seamPrefix, queryKeyPrefix]
|
|
144
|
+
|
|
145
|
+
if (clientSessionToken != null) {
|
|
146
|
+
return [seamPrefix, clientSessionToken]
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (publishableKey != null && userIdentifierKey != null) {
|
|
150
|
+
return [seamPrefix, publishableKey, userIdentifierKey]
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return [seamPrefix]
|
|
154
|
+
}
|
|
@@ -23,11 +23,15 @@ export function useSeamQuery<T extends SeamHttpEndpointQueryPaths>(
|
|
|
23
23
|
options: Parameters<SeamHttpEndpoints[T]>[1] &
|
|
24
24
|
QueryOptions<QueryData<T>, SeamHttpApiError> = {}
|
|
25
25
|
): UseSeamQueryResult<T> {
|
|
26
|
-
const { endpointClient: client } = useSeamClient()
|
|
26
|
+
const { endpointClient: client, queryKeyPrefixes } = useSeamClient()
|
|
27
27
|
return useQuery({
|
|
28
28
|
enabled: client != null,
|
|
29
29
|
...options,
|
|
30
|
-
queryKey: [
|
|
30
|
+
queryKey: [
|
|
31
|
+
...queryKeyPrefixes,
|
|
32
|
+
...endpointPath.split('/').filter((v) => v !== ''),
|
|
33
|
+
parameters,
|
|
34
|
+
],
|
|
31
35
|
queryFn: async () => {
|
|
32
36
|
if (client == null) return null
|
|
33
37
|
// Using @ts-expect-error over any is preferred, but not possible here because TypeScript will run out of memory.
|
package/src/lib/version.ts
CHANGED