Skip to content

Commit

Permalink
fix ts
Browse files Browse the repository at this point in the history
zhihengGet committed Jul 14, 2024
1 parent 9147e65 commit 3a6112c
Showing 7 changed files with 39 additions and 24 deletions.
40 changes: 26 additions & 14 deletions examples/svelte/svelte-melt/src/routes/+page.svelte
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
<script lang="ts">
import { createQuery, QueryClient } from '@tanstack/svelte-query';
import Simple from './paginate.svelte';
import Cache from './cacheUpdate.svelte';
import Simple1 from './test.svelte';
import DerivedQuery from './derivedQuery.svelte';
import Queries from './queries.svelte';
import CQueries from './CreateQueries.svelte';
import { useIsRestoring } from '@tanstack/svelte-query/dev';
const isRes = useIsRestoring();
let count = $state(-1);
const options = $derived({
queryKey: () => [count, 'count'],
queryFn: async () => {
return count;
},
enabled: () => count === 0
$effect(() => {
console.log('is rest', isRes());
});
const query = createQuery(options);
</script>

<button onclick={() => (count += 1)}>Increment</button>
<div>Data: {query.data ?? 'undefined'}</div>
<div>Count: {count}</div>
isReTORING:{isRes()}
<!-- <h1>testing list query cache update</h1>
<Simple />
<h1>testing DerivedQuery cache update</h1> -->
<Simple1 />
<!-- <h1>testing pagination with createQuery</h1>
<Simple />
<hr />
<h1>testing cache update</h1>
<Cache />
<hr />
-------------
<Simple1 />
-->
2 changes: 1 addition & 1 deletion packages/svelte-query/src/createBaseQuery.svelte.ts
Original file line number Diff line number Diff line change
@@ -102,7 +102,7 @@ export function createBaseQuery<
/** Subscribe to changes in result and defaultedOptionsStore */
$effect.pre(() => {
observer.setOptions(defaultedOptionsStore(), { listeners: false })
console.log('batch:calling $effect subscribe observer', isRestoring())
//console.log('batch:calling $effect subscribe observer', isRestoring())
upResult(observer.getOptimisticResult(defaultedOptionsStore()))
// result = observer.getOptimisticResult(defaultedOptionsStore()) //prevent lag , somehow observer.subscribe does not return
// console.log('option updated', defaultedOptionsStore())
2 changes: 1 addition & 1 deletion packages/svelte-query/src/types.ts
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ import type {
QueryObserverOptions,
QueryObserverResult,
} from '@tanstack/query-core'

export { type MutationStateOptions } from './useMutationState.svelte'
export type FnOrVal<T> = (() => T) | T // can be a fn that returns reactive statement or $state or $derived deep states

/** Options for createBaseQuery */
2 changes: 1 addition & 1 deletion packages/svelte-query/src/useMutationState.svelte.ts
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ import {
} from '@tanstack/query-core'
import { useQueryClient } from './useQueryClient'

type MutationStateOptions<TResult = MutationState> = {
export type MutationStateOptions<TResult = MutationState> = {
filters?: MutationFilters
select?: (mutation: Mutation) => TResult
}
6 changes: 3 additions & 3 deletions packages/svelte-query/tests/useIsFetching/BaseExample.svelte
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
const options = $derived({
queryKey: [key],
queryFn: async () => {
await sleep(20)
await sleep(1000)
return 'test'
},
enabled: ready,
@@ -22,9 +22,9 @@
const query = createQuery(options, queryClient)
</script>

<button on:click={() => (ready = true)}>setReady</button>
<button onclick={() => (ready = true)}>setReady</button>
<div>isFetching: {isFetching()}</div>

{ready}
{#if query.isSuccess}
{query.data}
{/if}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { describe, test } from 'vitest'
import { fireEvent, render } from '@testing-library/svelte'
import { fireEvent, render, waitFor } from '@testing-library/svelte'
import BaseExample from './BaseExample.svelte'

describe('useIsFetching', () => {
@@ -8,7 +8,10 @@ describe('useIsFetching', () => {

await rendered.findByText('isFetching: 0')
fireEvent.click(rendered.getByRole('button', { name: /setReady/i }))
await rendered.findByText('isFetching: 1')
await rendered.findByText('isFetching: 0')

waitFor(async () => {
await rendered.findByText('isFetching: 1')
await rendered.findByText('isFetching: 0')
})
})
})
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
import type {
CreateMutationOptions,
MutationStateOptions,
} from '../src/types'
} from '../../src/types'
let {
successMutationOpts,

0 comments on commit 3a6112c

Please sign in to comment.