@tanstack/svelte-query-persist-client 5.0.0-beta.26
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/LICENSE +21 -0
- package/dist/PersistQueryClientProvider.svelte +38 -0
- package/dist/PersistQueryClientProvider.svelte.d.ts +23 -0
- package/dist/PersistQueryClientProvider.svelte.d.ts.map +1 -0
- package/dist/__tests__/AwaitOnSuccess/AwaitOnSuccess.svelte +26 -0
- package/dist/__tests__/AwaitOnSuccess/AwaitOnSuccess.svelte.d.ts +19 -0
- package/dist/__tests__/AwaitOnSuccess/AwaitOnSuccess.svelte.d.ts.map +1 -0
- package/dist/__tests__/AwaitOnSuccess/Provider.svelte +12 -0
- package/dist/__tests__/AwaitOnSuccess/Provider.svelte.d.ts +24 -0
- package/dist/__tests__/AwaitOnSuccess/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/FreshData/FreshData.svelte +31 -0
- package/dist/__tests__/FreshData/FreshData.svelte.d.ts +21 -0
- package/dist/__tests__/FreshData/FreshData.svelte.d.ts.map +1 -0
- package/dist/__tests__/FreshData/Provider.svelte +12 -0
- package/dist/__tests__/FreshData/Provider.svelte.d.ts +25 -0
- package/dist/__tests__/FreshData/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/InitialData/InitialData.svelte +32 -0
- package/dist/__tests__/InitialData/InitialData.svelte.d.ts +20 -0
- package/dist/__tests__/InitialData/InitialData.svelte.d.ts.map +1 -0
- package/dist/__tests__/InitialData/Provider.svelte +11 -0
- package/dist/__tests__/InitialData/Provider.svelte.d.ts +24 -0
- package/dist/__tests__/InitialData/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/OnSuccess/OnSuccess.svelte +23 -0
- package/dist/__tests__/OnSuccess/OnSuccess.svelte.d.ts +17 -0
- package/dist/__tests__/OnSuccess/OnSuccess.svelte.d.ts.map +1 -0
- package/dist/__tests__/OnSuccess/Provider.svelte +11 -0
- package/dist/__tests__/OnSuccess/Provider.svelte.d.ts +22 -0
- package/dist/__tests__/OnSuccess/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/PersistQueryClientProvider.test.d.ts +2 -0
- package/dist/__tests__/PersistQueryClientProvider.test.d.ts.map +1 -0
- package/dist/__tests__/PersistQueryClientProvider.test.js +294 -0
- package/dist/__tests__/RemoveCache/Provider.svelte +10 -0
- package/dist/__tests__/RemoveCache/Provider.svelte.d.ts +21 -0
- package/dist/__tests__/RemoveCache/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/RemoveCache/RemoveCache.svelte +23 -0
- package/dist/__tests__/RemoveCache/RemoveCache.svelte.d.ts +17 -0
- package/dist/__tests__/RemoveCache/RemoveCache.svelte.d.ts.map +1 -0
- package/dist/__tests__/RestoreCache/Provider.svelte +11 -0
- package/dist/__tests__/RestoreCache/Provider.svelte.d.ts +24 -0
- package/dist/__tests__/RestoreCache/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/RestoreCache/RestoreCache.svelte +28 -0
- package/dist/__tests__/RestoreCache/RestoreCache.svelte.d.ts +20 -0
- package/dist/__tests__/RestoreCache/RestoreCache.svelte.d.ts.map +1 -0
- package/dist/__tests__/UseQueries/Provider.svelte +11 -0
- package/dist/__tests__/UseQueries/Provider.svelte.d.ts +24 -0
- package/dist/__tests__/UseQueries/Provider.svelte.d.ts.map +1 -0
- package/dist/__tests__/UseQueries/UseQueries.svelte +32 -0
- package/dist/__tests__/UseQueries/UseQueries.svelte.d.ts +20 -0
- package/dist/__tests__/UseQueries/UseQueries.svelte.d.ts.map +1 -0
- package/dist/__tests__/utils.d.ts +13 -0
- package/dist/__tests__/utils.d.ts.map +1 -0
- package/dist/__tests__/utils.js +22 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/package.json +55 -0
- package/src/PersistQueryClientProvider.svelte +43 -0
- package/src/__tests__/AwaitOnSuccess/AwaitOnSuccess.svelte +31 -0
- package/src/__tests__/AwaitOnSuccess/Provider.svelte +17 -0
- package/src/__tests__/FreshData/FreshData.svelte +38 -0
- package/src/__tests__/FreshData/Provider.svelte +18 -0
- package/src/__tests__/InitialData/InitialData.svelte +39 -0
- package/src/__tests__/InitialData/Provider.svelte +17 -0
- package/src/__tests__/OnSuccess/OnSuccess.svelte +27 -0
- package/src/__tests__/OnSuccess/Provider.svelte +15 -0
- package/src/__tests__/PersistQueryClientProvider.test.ts +377 -0
- package/src/__tests__/RemoveCache/Provider.svelte +14 -0
- package/src/__tests__/RemoveCache/RemoveCache.svelte +27 -0
- package/src/__tests__/RestoreCache/Provider.svelte +17 -0
- package/src/__tests__/RestoreCache/RestoreCache.svelte +34 -0
- package/src/__tests__/UseQueries/Provider.svelte +17 -0
- package/src/__tests__/UseQueries/UseQueries.svelte +38 -0
- package/src/__tests__/utils.ts +34 -0
- package/src/index.ts +3 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import PersistQueryClientProvider from '../../PersistQueryClientProvider.svelte'
|
|
3
|
+
import RemoveCache from './RemoveCache.svelte'
|
|
4
|
+
import type { QueryClient } from '@tanstack/svelte-query'
|
|
5
|
+
import type { PersistQueryClientOptions } from '@tanstack/query-persist-client-core'
|
|
6
|
+
|
|
7
|
+
export let queryClient: QueryClient
|
|
8
|
+
export let persistOptions: Omit<PersistQueryClientOptions, 'queryClient'>
|
|
9
|
+
export let key: Array<string>
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<PersistQueryClientProvider client={queryClient} {persistOptions}>
|
|
13
|
+
<RemoveCache {key} />
|
|
14
|
+
</PersistQueryClientProvider>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { createQuery } from '@tanstack/svelte-query'
|
|
3
|
+
import { get } from 'svelte/store'
|
|
4
|
+
import { sleep } from '../utils'
|
|
5
|
+
|
|
6
|
+
export let key: Array<string>
|
|
7
|
+
|
|
8
|
+
const state = createQuery({
|
|
9
|
+
queryKey: key,
|
|
10
|
+
queryFn: async () => {
|
|
11
|
+
await sleep(10)
|
|
12
|
+
return 'fetched'
|
|
13
|
+
},
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
let data = get(state).data
|
|
17
|
+
let fetchStatus = get(state).fetchStatus
|
|
18
|
+
state.subscribe((s) => {
|
|
19
|
+
data = s.data
|
|
20
|
+
fetchStatus = s.fetchStatus
|
|
21
|
+
})
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<div>
|
|
25
|
+
<h1>{data}</h1>
|
|
26
|
+
<h2>fetchStatus: {fetchStatus}</h2>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import PersistQueryClientProvider from '../../PersistQueryClientProvider.svelte'
|
|
3
|
+
import RestoreCache from './RestoreCache.svelte'
|
|
4
|
+
import type { QueryClient } from '@tanstack/svelte-query'
|
|
5
|
+
import type { PersistQueryClientOptions } from '@tanstack/query-persist-client-core'
|
|
6
|
+
import type { Writable } from 'svelte/store'
|
|
7
|
+
import type { StatusResult } from '../utils'
|
|
8
|
+
|
|
9
|
+
export let queryClient: QueryClient
|
|
10
|
+
export let persistOptions: Omit<PersistQueryClientOptions, 'queryClient'>
|
|
11
|
+
export let key: Array<string>
|
|
12
|
+
export let states: Writable<Array<StatusResult<string>>>
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<PersistQueryClientProvider client={queryClient} {persistOptions}>
|
|
16
|
+
<RestoreCache {key} {states} />
|
|
17
|
+
</PersistQueryClientProvider>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { createQuery } from '@tanstack/svelte-query'
|
|
3
|
+
import { get } from 'svelte/store'
|
|
4
|
+
import { sleep } from '../utils'
|
|
5
|
+
import type { Writable } from 'svelte/store'
|
|
6
|
+
import type { StatusResult } from '../utils'
|
|
7
|
+
|
|
8
|
+
export let key: Array<string>
|
|
9
|
+
export let states: Writable<Array<StatusResult<string>>>
|
|
10
|
+
|
|
11
|
+
const state = createQuery({
|
|
12
|
+
queryKey: key,
|
|
13
|
+
queryFn: async () => {
|
|
14
|
+
await sleep(10)
|
|
15
|
+
return 'fetched'
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
let data = get(state).data
|
|
20
|
+
let fetchStatus = get(state).fetchStatus
|
|
21
|
+
state.subscribe((s) => {
|
|
22
|
+
states.update((prev) => [
|
|
23
|
+
...prev,
|
|
24
|
+
{ status: s.status, data: s.data, fetchStatus: s.fetchStatus },
|
|
25
|
+
])
|
|
26
|
+
data = s.data
|
|
27
|
+
fetchStatus = s.fetchStatus
|
|
28
|
+
})
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
<h1>{data}</h1>
|
|
33
|
+
<h2>fetchStatus: {fetchStatus}</h2>
|
|
34
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import PersistQueryClientProvider from '../../PersistQueryClientProvider.svelte'
|
|
3
|
+
import UseQueries from './UseQueries.svelte'
|
|
4
|
+
import type { QueryClient } from '@tanstack/svelte-query'
|
|
5
|
+
import type { PersistQueryClientOptions } from '@tanstack/query-persist-client-core'
|
|
6
|
+
import type { Writable } from 'svelte/store'
|
|
7
|
+
import type { StatusResult } from '../utils'
|
|
8
|
+
|
|
9
|
+
export let queryClient: QueryClient
|
|
10
|
+
export let persistOptions: Omit<PersistQueryClientOptions, 'queryClient'>
|
|
11
|
+
export let key: Array<string>
|
|
12
|
+
export let states: Writable<Array<StatusResult<string>>>
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<PersistQueryClientProvider client={queryClient} {persistOptions}>
|
|
16
|
+
<UseQueries {key} {states} />
|
|
17
|
+
</PersistQueryClientProvider>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { createQueries } from '@tanstack/svelte-query'
|
|
3
|
+
import { get } from 'svelte/store'
|
|
4
|
+
import { sleep } from '../utils'
|
|
5
|
+
import type { Writable } from 'svelte/store'
|
|
6
|
+
import type { StatusResult } from '../utils'
|
|
7
|
+
|
|
8
|
+
export let key: Array<string>
|
|
9
|
+
export let states: Writable<Array<StatusResult<string>>>
|
|
10
|
+
|
|
11
|
+
const state = createQueries({
|
|
12
|
+
queries: [
|
|
13
|
+
{
|
|
14
|
+
queryKey: key,
|
|
15
|
+
queryFn: async (): Promise<string> => {
|
|
16
|
+
await sleep(10)
|
|
17
|
+
return 'fetched'
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
let data = get(state)[0].data
|
|
24
|
+
let fetchStatus = get(state)[0].fetchStatus
|
|
25
|
+
state.subscribe(([s]) => {
|
|
26
|
+
states.update((prev) => [
|
|
27
|
+
...prev,
|
|
28
|
+
{ status: s.status, data: s.data, fetchStatus: s.fetchStatus },
|
|
29
|
+
])
|
|
30
|
+
data = s.data
|
|
31
|
+
fetchStatus = s.fetchStatus
|
|
32
|
+
})
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<div>
|
|
36
|
+
<h1>{data}</h1>
|
|
37
|
+
<h2>fetchStatus: {fetchStatus}</h2>
|
|
38
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { QueryClient } from '@tanstack/svelte-query'
|
|
2
|
+
import { act } from '@testing-library/svelte'
|
|
3
|
+
|
|
4
|
+
import type { QueryClientConfig } from '@tanstack/svelte-query'
|
|
5
|
+
|
|
6
|
+
export function createQueryClient(config?: QueryClientConfig): QueryClient {
|
|
7
|
+
return new QueryClient(config)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
let queryKeyCount = 0
|
|
11
|
+
export function queryKey(): Array<string> {
|
|
12
|
+
queryKeyCount++
|
|
13
|
+
return [`query_${queryKeyCount}`]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function sleep(timeout: number): Promise<void> {
|
|
17
|
+
return new Promise((resolve, _reject) => {
|
|
18
|
+
setTimeout(resolve, timeout)
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function setActTimeout(fn: () => void, ms?: number) {
|
|
23
|
+
return setTimeout(() => {
|
|
24
|
+
act(() => {
|
|
25
|
+
fn()
|
|
26
|
+
})
|
|
27
|
+
}, ms)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type StatusResult<T = unknown> = {
|
|
31
|
+
status: string
|
|
32
|
+
fetchStatus: string
|
|
33
|
+
data: T | undefined
|
|
34
|
+
}
|
package/src/index.ts
ADDED