Skip to content

Commit 6b6951c

Browse files
authored
Merge pull request #63 from viamrobotics/export-stream-query-key-factory
export streamQueryKey factory
2 parents 4d38233 + 79604ac commit 6b6951c

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

.changeset/cold-beans-sin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@viamrobotics/svelte-sdk': patch
3+
---
4+
5+
Export streamQueryKey factory to help with query management

src/lib/hooks/create-resource-stream.svelte.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,21 @@ interface QueryOptions {
2828

2929
type QueryResult<U> = QueryObserverResult<U[], Error>;
3030

31+
export const streamQueryKey = (
32+
partID: string,
33+
name: string | undefined,
34+
methodName: string,
35+
args?: QueryOptions | unknown
36+
) => [
37+
'viam-svelte-sdk',
38+
'partID',
39+
partID,
40+
'resource',
41+
name,
42+
methodName,
43+
...(args ? [args] : []),
44+
];
45+
3146
export const createResourceStream = <T extends Resource, K extends keyof T>(
3247
client: { current: T | undefined },
3348
method: K,
@@ -55,15 +70,8 @@ export const createResourceStream = <T extends Resource, K extends keyof T>(
5570
const name = $derived(client.current?.name);
5671
const methodName = $derived(String(method));
5772
const refetchMode = $derived(_options?.refetchMode ?? 'reset');
58-
const queryKey = $derived([
59-
'viam-svelte-sdk',
60-
'partID',
61-
(client.current as T & { partID: string })?.partID,
62-
'resource',
63-
name,
64-
methodName,
65-
...(_args ? [_args] : []),
66-
]);
73+
const partID = $derived((client.current as T & { partID: string })?.partID);
74+
const queryKey = $derived(streamQueryKey(partID, name, methodName, _args));
6775

6876
function processStream() {
6977
const clientFunc = client.current?.[method];

src/lib/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ export { createRobotMutation } from './hooks/create-robot-mutation.svelte';
1616
export { createResourceClient } from './hooks/create-resource-client.svelte';
1717
export { createResourceQuery } from './hooks/create-resource-query.svelte';
1818
export { createResourceMutation } from './hooks/create-resource-mutation.svelte';
19-
export { createResourceStream } from './hooks/create-resource-stream.svelte';
19+
export {
20+
createResourceStream,
21+
streamQueryKey,
22+
} from './hooks/create-resource-stream.svelte';
2023
export { createStreamClient } from './hooks/create-stream-client.svelte';
2124

2225
export { useMachineStatus } from './hooks/machine-status.svelte';

0 commit comments

Comments
 (0)