22import { useDevtoolsClient } from ' @nuxt/devtools-kit/iframe-client'
33import 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-
145const searchString = ref (' ' )
156const queries = ref (new Array <Query >())
167const selectedQuery = ref <Query | null >(null )
@@ -19,33 +10,33 @@ const devtoolsClient = useDevtoolsClient()
1910const queryClient = computed (() => devtoolsClient .value ?.host ?.nuxt .vueApp .config .globalProperties ?.$queryClient as QueryClient | undefined )
2011const queryCache = computed (() => queryClient .value ?.getQueryCache ())
2112const 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
2822function 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
8172function selectQuery(query : Query ) {
82- console .log (' Selected query' , query .queryKey )
8373 selectedQuery .value = toRaw (query )
8474}
8575 </script >
0 commit comments