diff --git a/packages/svelte-query/tests/infiniteQueryOptions.test-d.ts b/packages/svelte-query/tests/infiniteQueryOptions.test-d.ts index 38bd9fc670..edd0eab126 100644 --- a/packages/svelte-query/tests/infiniteQueryOptions.test-d.ts +++ b/packages/svelte-query/tests/infiniteQueryOptions.test-d.ts @@ -1,4 +1,4 @@ -import { describe, expectTypeOf, test } from 'vitest' +import { assertType, describe, expectTypeOf, test } from 'vitest' import { QueryClient } from '@tanstack/query-core' import { queryKey } from '@tanstack/query-test-utils' import { createInfiniteQuery, infiniteQueryOptions } from '../src/index.js' @@ -7,14 +7,16 @@ import type { InfiniteData } from '@tanstack/query-core' describe('infiniteQueryOptions', () => { test('Should not allow excess properties', () => { const key = queryKey() - infiniteQueryOptions({ - queryKey: key, - queryFn: () => Promise.resolve('data'), - getNextPageParam: () => 1, - initialPageParam: 1, - // @ts-expect-error this is a good error, because stallTime does not exist! - stallTime: 1000, - }) + assertType( + infiniteQueryOptions({ + queryKey: key, + queryFn: () => Promise.resolve('data'), + getNextPageParam: () => 1, + initialPageParam: 1, + // @ts-expect-error this is a good error, because stallTime does not exist! + stallTime: 1000, + }), + ) }) test('Should infer types for callbacks', () => { diff --git a/packages/svelte-query/tests/queryOptions.test-d.ts b/packages/svelte-query/tests/queryOptions.test-d.ts index 968d05409a..ab796a22dd 100644 --- a/packages/svelte-query/tests/queryOptions.test-d.ts +++ b/packages/svelte-query/tests/queryOptions.test-d.ts @@ -1,4 +1,4 @@ -import { describe, expectTypeOf, test } from 'vitest' +import { assertType, describe, expectTypeOf, test } from 'vitest' import { QueriesObserver, QueryClient, @@ -12,12 +12,14 @@ import type { QueryObserverResult } from '@tanstack/query-core' describe('queryOptions', () => { test('Should not allow excess properties', () => { const key = queryKey() - queryOptions({ - queryKey: key, - queryFn: () => Promise.resolve(5), - // @ts-expect-error this is a good error, because stallTime does not exist! - stallTime: 1000, - }) + assertType( + queryOptions({ + queryKey: key, + queryFn: () => Promise.resolve(5), + // @ts-expect-error this is a good error, because stallTime does not exist! + stallTime: 1000, + }), + ) }) test('Should infer types for callbacks', () => { @@ -193,9 +195,10 @@ describe('queryOptions', () => { }) test('Should allow undefined response in initialData', () => { - return (id: string | null) => + const key = queryKey() + const options = (id: string | null) => queryOptions({ - queryKey: ['todo', id], + queryKey: [...key, id], queryFn: () => Promise.resolve({ id: '1', @@ -209,5 +212,9 @@ describe('queryOptions', () => { title: 'Initial Data', }, }) + + expectTypeOf(options(null).initialData).returns.toEqualTypeOf< + { id: string; title: string } | undefined + >() }) })