Skip to content

Commit 8975473

Browse files
committed
refactor: clean up unused code and add query filtering logic
1 parent 37a7200 commit 8975473

File tree

3 files changed

+14
-24
lines changed

3 files changed

+14
-24
lines changed

client/app/pages/vue-query.vue

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22
import { useDevtoolsClient } from '@nuxt/devtools-kit/iframe-client'
33
import type { Query, QueryCacheNotifyEvent, QueryClient } from '@tanstack/vue-query'
44
5-
// function mapQuery(query: Query) {
6-
// return {
7-
// queryKey: query.queryKey,
8-
// queryHash: query.queryHash,
9-
// observerCount: query.observers?.length ?? 0,
10-
// state: ref(query.state),
11-
// }
12-
// }
13-
145
const searchString = ref('')
156
const queries = ref(new Array<Query>())
167
const selectedQuery = ref<Query | null>(null)
@@ -19,33 +10,33 @@ const devtoolsClient = useDevtoolsClient()
1910
const queryClient = computed(() => devtoolsClient.value?.host?.nuxt.vueApp.config.globalProperties?.$queryClient as QueryClient | undefined)
2011
const queryCache = computed(() => queryClient.value?.getQueryCache())
2112
const filteredQueries = computed(() => {
22-
if (!queries.value) {
23-
return [] as Query[]
24-
}
25-
return queries.value
13+
return !queries.value
14+
? [] as Query[]
15+
: !searchString.value
16+
? queries.value
17+
: queries.value.filter((query) => {
18+
return query.queryKey.toString().toLowerCase().includes(searchString.value.toLowerCase())
19+
})
2620
})
2721
2822
function onQueryNotification(event: QueryCacheNotifyEvent) {
2923
switch (event.type) {
3024
case 'updated': {
31-
console.log('Query updated', event.query.queryKey)
3225
const query = queries.value.find(q => q.queryHash === event.query.queryHash)
3326
if (query) {
3427
query.state = { ...event.query.state }
3528
}
3629
break
3730
}
3831
case 'observerResultsUpdated': {
39-
// when data becomes stale, the query is updated
32+
// TODO: when data becomes stale, the query is updated
4033
console.log('Query observerResultsUpdated', event.query.queryKey, event.query.isStale(), event.query.state)
4134
break
4235
}
4336
case 'added':
44-
console.log('Query added', event.query.queryKey)
4537
queries.value.push(event.query)
4638
break
4739
case 'removed': {
48-
console.log('Query removed', event.query.queryKey)
4940
const index = queries.value.findIndex(q => q.queryHash === event.query.queryHash)
5041
if (index !== -1) {
5142
queries.value.splice(index, 1)
@@ -79,7 +70,6 @@ watchEffect(() => {
7970
})
8071
8172
function selectQuery(query: Query) {
82-
console.log('Selected query', query.queryKey)
8373
selectedQuery.value = toRaw(query)
8474
}
8575
</script>

playground/app/app.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const selectedUserId = computed(() => selectedUser.value?.id)
2121
const { isPending, isFetching, isError, data: posts, error } = useQuery({
2222
queryKey: ['posts', selectedUserId],
2323
queryFn: () => getPosts(selectedUserId.value),
24-
staleTime: 1000 * 10,
25-
gcTime: 1000 * 20,
24+
staleTime: 1000 * 10, // for 10 seconds it fill be considered as "fresh"
25+
gcTime: 1000 * 20, // after 20 seconds it will be garbage collected
2626
enabled: !selectedUser.value,
2727
2828
})

playground/app/plugins/nuxt-query.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ export default defineNuxtPlugin({
77
nuxtApp.hook('nuxt-query:configure', (getPluginOptions) => {
88
const clientOptions = useRuntimeConfig().public.nuxtQuery?.queryClientOptions || {}
99

10+
// create custom query cache
11+
// e.g for centrally logging successful or failed queries
1012
const queryClient = new QueryClient({
1113
...clientOptions,
1214
queryCache: new QueryCache({
13-
onSuccess: (data: unknown) => console.log('onSuccess',
14-
Array.isArray(data)
15-
? { firstChild: data[0], length: data.length }
16-
: { data }),
15+
// onSuccess: (data: unknown) => console.log('onSuccess', { data }),
16+
onError: (error: unknown) => console.error('Query failed:', { error }),
1717
}),
1818
})
1919

0 commit comments

Comments
 (0)