Skip to content

Commit

Permalink
chore(svelte-5-adapter): tidy-up functions (#7809)
Browse files Browse the repository at this point in the history
* chore(svelte-5-adapter): tidy-up functions

* Fix types

* Update svelte
  • Loading branch information
lachlancollins committed Jul 29, 2024
1 parent 2c82fd6 commit 7bccb14
Show file tree
Hide file tree
Showing 16 changed files with 158 additions and 150 deletions.
4 changes: 2 additions & 2 deletions examples/svelte/auto-refetching/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/basic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/load-more-infinite-scroll/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/optimistic-updates/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/playground/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/simple/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"@tanstack/svelte-query-devtools": "^5.51.15"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"@tsconfig/svelte": "^5.0.4",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/ssr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"svelte": "5.0.0-next.192",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"typescript": "5.3.3",
"vite": "^5.3.5"
Expand Down
4 changes: 2 additions & 2 deletions examples/svelte/star-wars/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
"devDependencies": {
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.18",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"autoprefixer": "^10.4.19",
"postcss": "^8.4.40",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4",
"tailwindcss": "^3.4.7",
"typescript": "5.3.3",
Expand Down
4 changes: 2 additions & 2 deletions integrations/svelte-vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
"build": "vite build"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"@tanstack/svelte-query": "workspace:*",
"@tanstack/svelte-query-devtools": "workspace:*",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"vite": "^5.3.5"
}
}
4 changes: 2 additions & 2 deletions packages/svelte-query-devtools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@
},
"devDependencies": {
"@sveltejs/package": "^2.3.2",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"@tanstack/svelte-query": "workspace:*",
"eslint-plugin-svelte": "^2.43.0",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4"
},
"peerDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions packages/svelte-query-persist-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@
},
"devDependencies": {
"@sveltejs/package": "^2.3.2",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"@tanstack/svelte-query": "workspace:*",
"@testing-library/svelte": "^5.2.1",
"eslint-plugin-svelte": "^2.43.0",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4"
},
"peerDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
persistOptions: OmitKeyof<PersistQueryClientOptions, 'queryClient'>
onSuccess?: () => void
}
let {
client,
children,
Expand All @@ -25,15 +26,18 @@
}: PersistQueryClientProviderProps = $props()
let isRestoring = $state(true)
setIsRestoringContext(() => isRestoring)
const options = $derived({
...persistOptions,
queryClient: client,
})
$effect(() => {
return isRestoring ? () => 1 : persistQueryClientSubscribe(options)
return isRestoring ? () => {} : persistQueryClientSubscribe(options)
})
$effect(() => {
isRestoring = true
persistQueryClientRestore(options).then(async () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/svelte-query/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@
},
"devDependencies": {
"@sveltejs/package": "^2.3.2",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.4",
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.5",
"@testing-library/svelte": "^5.2.1",
"eslint-plugin-svelte": "^2.43.0",
"svelte": "5.0.0-next.192",
"svelte": "^5.0.0-next.200",
"svelte-check": "^3.8.4"
},
"peerDependencies": {
Expand Down
9 changes: 5 additions & 4 deletions packages/svelte-query/src/createMutation.svelte.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export function createMutation<
options(),
),
)

const mutate = $state<
CreateMutateFunction<TData, TError, TVariables, TContext>
>((variables, mutateOptions) => {
Expand All @@ -42,16 +43,16 @@ export function createMutation<

const result = $state(observer.getCurrentResult())

const un = observer.subscribe((val) => {
const unsubscribe = observer.subscribe((val) => {
notifyManager.batchCalls(() => {
Object.assign(result, val)

// result = val
})()
})

onDestroy(() => {
un()
unsubscribe()
})

// @ts-expect-error
return new Proxy(result, {
get: (_, prop) => {
Expand Down
15 changes: 9 additions & 6 deletions packages/svelte-query/src/createQueries.svelte.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ type GetCreateQueryResult<T> =
unknown extends TError ? DefaultError : TError
>
: // Fallback
never
QueryObserverResult

/**
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
Expand Down Expand Up @@ -216,7 +216,7 @@ export function createQueries<
const client = useQueryClient(queryClient)
const isRestoring = useIsRestoring()

const defaultedQueriesStore = $derived(() => {
const defaultedQueries = $derived(() => {
return queries().map((opts) => {
const defaultedOptions = client.defaultQueryOptions(opts)
// Make sure the results are already in fetching state before subscribing or updating options
Expand All @@ -226,22 +226,25 @@ export function createQueries<
return defaultedOptions as QueryObserverOptions
})
})

const observer = new QueriesObserver<TCombinedResult>(
client,
defaultedQueriesStore(),
defaultedQueries(),
options as QueriesObserverOptions<TCombinedResult>,
)

const [_, getCombinedResult, trackResult] = $derived(
observer.getOptimisticResult(
defaultedQueriesStore(),
defaultedQueries(),
(options as QueriesObserverOptions<TCombinedResult>).combine,
),
)

$effect(() => {
// Do not notify on updates because of changes in the options because
// these changes should already be reflected in the optimistic result.
observer.setQueries(
defaultedQueriesStore(),
defaultedQueries(),
options as QueriesObserverOptions<TCombinedResult>,
{ listeners: false },
)
Expand All @@ -261,7 +264,7 @@ export function createQueries<
return observer.subscribe((_result) => {
notifyManager.batchCalls(() => {
const res = observer.getOptimisticResult(
defaultedQueriesStore(),
defaultedQueries(),
(options as QueriesObserverOptions<TCombinedResult>).combine,
)
// @ts-expect-error
Expand Down
Loading

0 comments on commit 7bccb14

Please sign in to comment.