@tanstack/svelte-query 5.0.0-alpha.4 → 5.0.0-alpha.42
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/build/lib/HydrationBoundary.svelte.d.ts +3 -3
- package/build/lib/QueryClientProvider.svelte.d.ts +3 -3
- package/build/lib/__tests__/CreateMutation.svelte +10 -0
- package/build/lib/__tests__/CreateMutation.svelte.d.ts +17 -0
- package/build/lib/__tests__/CreateQueries.svelte +16 -0
- package/build/lib/__tests__/CreateQueries.svelte.d.ts +19 -0
- package/build/lib/__tests__/CreateQuery.svelte +22 -0
- package/build/lib/__tests__/CreateQuery.svelte.d.ts +17 -0
- package/build/lib/__tests__/createMutation.test.d.ts +1 -0
- package/build/lib/__tests__/createMutation.test.js +19 -0
- package/build/lib/__tests__/createQueries.test.d.ts +1 -0
- package/build/lib/__tests__/createQueries.test.js +38 -0
- package/build/lib/__tests__/createQuery.test.d.ts +1 -0
- package/build/lib/__tests__/createQuery.test.js +57 -0
- package/build/lib/__tests__/utils.d.ts +9 -0
- package/build/lib/__tests__/utils.js +33 -0
- package/build/lib/createBaseQuery.d.ts +2 -2
- package/build/lib/createBaseQuery.js +1 -11
- package/build/lib/createInfiniteQuery.d.ts +2 -2
- package/build/lib/createMutation.d.ts +2 -2
- package/build/lib/createQueries.d.ts +16 -16
- package/build/lib/createQueries.js +7 -6
- package/build/lib/createQuery.d.ts +5 -5
- package/build/lib/types.d.ts +26 -29
- package/package.json +32 -27
- package/src/createBaseQuery.ts +9 -28
- package/src/createInfiniteQuery.ts +7 -10
- package/src/createMutation.ts +1 -4
- package/src/createQueries.ts +54 -32
- package/src/createQuery.ts +3 -10
- package/src/types.ts +39 -36
- package/build/lib/.gitignore +0 -9
- package/src/__tests__/CreateMutation.svelte +0 -17
- package/src/__tests__/CreateQueries.svelte +0 -20
- package/src/__tests__/CreateQuery.svelte +0 -30
- package/src/__tests__/createMutation.test.ts +0 -24
- package/src/__tests__/createQueries.test.ts +0 -41
- package/src/__tests__/createQuery.test.ts +0 -64
- package/src/__tests__/utils.ts +0 -40
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest'
|
|
2
|
-
import { render, waitFor } from '@testing-library/svelte'
|
|
3
|
-
import CreateQueries from './CreateQueries.svelte'
|
|
4
|
-
import { sleep } from './utils'
|
|
5
|
-
|
|
6
|
-
describe('createQueries', () => {
|
|
7
|
-
it('Render and wait for success', async () => {
|
|
8
|
-
const rendered = render(CreateQueries, {
|
|
9
|
-
props: {
|
|
10
|
-
options: {
|
|
11
|
-
queries: [
|
|
12
|
-
{
|
|
13
|
-
queryKey: ['key-1'],
|
|
14
|
-
queryFn: async () => {
|
|
15
|
-
await sleep(10)
|
|
16
|
-
return 'Success 1'
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
queryKey: ['key-2'],
|
|
21
|
-
queryFn: async () => {
|
|
22
|
-
await sleep(10)
|
|
23
|
-
return 'Success 2'
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
await waitFor(() => {
|
|
32
|
-
expect(rendered.getByText('Loading 1')).toBeInTheDocument()
|
|
33
|
-
expect(rendered.getByText('Loading 2')).toBeInTheDocument()
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
await waitFor(() => {
|
|
37
|
-
expect(rendered.getByText('Success 1')).toBeInTheDocument()
|
|
38
|
-
expect(rendered.getByText('Success 2')).toBeInTheDocument()
|
|
39
|
-
})
|
|
40
|
-
})
|
|
41
|
-
})
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest'
|
|
2
|
-
import { render, waitFor } from '@testing-library/svelte'
|
|
3
|
-
import { writable } from 'svelte/store'
|
|
4
|
-
import CreateQuery from './CreateQuery.svelte'
|
|
5
|
-
import { sleep } from './utils'
|
|
6
|
-
import type { CreateQueryOptions, WritableOrVal } from '../types'
|
|
7
|
-
|
|
8
|
-
describe('createQuery', () => {
|
|
9
|
-
it('Render and wait for success', async () => {
|
|
10
|
-
const rendered = render(CreateQuery, {
|
|
11
|
-
props: {
|
|
12
|
-
options: {
|
|
13
|
-
queryKey: ['test'],
|
|
14
|
-
queryFn: async () => {
|
|
15
|
-
await sleep(10)
|
|
16
|
-
return 'Success'
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
await waitFor(() => {
|
|
23
|
-
expect(rendered.getByText('Loading')).toBeInTheDocument()
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
await waitFor(() => {
|
|
27
|
-
expect(rendered.getByText('Success')).toBeInTheDocument()
|
|
28
|
-
})
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
it('should keep previous data when returned as placeholder data', async () => {
|
|
32
|
-
const options: WritableOrVal<CreateQueryOptions> = writable({
|
|
33
|
-
queryKey: ['test', [1]],
|
|
34
|
-
queryFn: async ({ queryKey }) => {
|
|
35
|
-
await sleep(50)
|
|
36
|
-
const ids = queryKey[1]
|
|
37
|
-
if (!ids || !Array.isArray(ids)) return []
|
|
38
|
-
return ids.map((id) => ({ id }))
|
|
39
|
-
},
|
|
40
|
-
placeholderData: (previousData: { id: number }[]) => previousData,
|
|
41
|
-
})
|
|
42
|
-
const rendered = render(CreateQuery, { props: { options } })
|
|
43
|
-
|
|
44
|
-
expect(rendered.queryByText('id: 1')).not.toBeInTheDocument()
|
|
45
|
-
expect(rendered.queryByText('id: 2')).not.toBeInTheDocument()
|
|
46
|
-
|
|
47
|
-
await sleep(100)
|
|
48
|
-
|
|
49
|
-
expect(rendered.queryByText('id: 1')).toBeInTheDocument()
|
|
50
|
-
expect(rendered.queryByText('id: 2')).not.toBeInTheDocument()
|
|
51
|
-
|
|
52
|
-
options.update((o) => ({ ...o, queryKey: ['test', [1, 2]] }))
|
|
53
|
-
|
|
54
|
-
await sleep(0)
|
|
55
|
-
|
|
56
|
-
expect(rendered.queryByText('id: 1')).toBeInTheDocument()
|
|
57
|
-
expect(rendered.queryByText('id: 2')).not.toBeInTheDocument()
|
|
58
|
-
|
|
59
|
-
await sleep(100)
|
|
60
|
-
|
|
61
|
-
expect(rendered.queryByText('id: 1')).toBeInTheDocument()
|
|
62
|
-
expect(rendered.queryByText('id: 2')).toBeInTheDocument()
|
|
63
|
-
})
|
|
64
|
-
})
|
package/src/__tests__/utils.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { vi } from 'vitest'
|
|
2
|
-
import { act } from '@testing-library/svelte'
|
|
3
|
-
import { QueryClient, type QueryClientConfig } from '../index'
|
|
4
|
-
|
|
5
|
-
export function createQueryClient(config?: QueryClientConfig): QueryClient {
|
|
6
|
-
return new QueryClient(config)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function mockVisibilityState(value: DocumentVisibilityState) {
|
|
10
|
-
return vi.spyOn(document, 'visibilityState', 'get').mockReturnValue(value)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function mockNavigatorOnLine(value: boolean) {
|
|
14
|
-
return vi.spyOn(navigator, 'onLine', 'get').mockReturnValue(value)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
let queryKeyCount = 0
|
|
18
|
-
export function queryKey(): Array<string> {
|
|
19
|
-
queryKeyCount++
|
|
20
|
-
return [`query_${queryKeyCount}`]
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function sleep(timeout: number): Promise<void> {
|
|
24
|
-
return new Promise((resolve, _reject) => {
|
|
25
|
-
setTimeout(resolve, timeout)
|
|
26
|
-
})
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export async function simplefetcher() {
|
|
30
|
-
await sleep(10)
|
|
31
|
-
return 'test'
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export function setActTimeout(fn: () => void, ms?: number) {
|
|
35
|
-
return setTimeout(() => {
|
|
36
|
-
act(() => {
|
|
37
|
-
fn()
|
|
38
|
-
})
|
|
39
|
-
}, ms)
|
|
40
|
-
}
|