import { type UseSuspenseQueryResult, queryOptions } from '@tanstack/react-query'
import type { ReactNode } from 'react'
import { describe, expectTypeOf, it } from 'vitest'
import { SuspenseQuery } from './SuspenseQuery'
import { queryFn, queryKey } from './test-utils'
describe('', () => {
it('type check', () => {
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => <>{query.data.text}>}
))()
;(() => (
{(query) => {
expectTypeOf(query).toEqualTypeOf>()
expectTypeOf(query.data).toEqualTypeOf<{ text: string }>()
expectTypeOf(query.status).toEqualTypeOf<'success' | 'error'>()
return <>>
}}
))()
;(() => (
data.text}>
{(selectedQuery) => {
expectTypeOf(selectedQuery).toEqualTypeOf>()
expectTypeOf(selectedQuery.data).toEqualTypeOf()
expectTypeOf(selectedQuery.status).toEqualTypeOf<'error' | 'success'>()
return <>>
}}
))()
const options = queryOptions({
queryKey,
queryFn,
})
;(() => (
{(query) => {
expectTypeOf(query).toEqualTypeOf>()
expectTypeOf(query.data).toEqualTypeOf<{ text: string }>()
expectTypeOf(query.status).toEqualTypeOf<'error' | 'success'>()
return <>>
}}
))()
;(() => (
data.text}>
{(selectedQuery) => {
expectTypeOf(selectedQuery).toEqualTypeOf>()
expectTypeOf(selectedQuery.data).toEqualTypeOf()
expectTypeOf(selectedQuery.status).toEqualTypeOf<'error' | 'success'>()
return <>>
}}
))()
expectTypeOf(
{() => <>>}
).toEqualTypeOf()
expectTypeOf(
{() => <>>}
).not.toEqualTypeOf()
expectTypeOf({() => <>>}).toEqualTypeOf()
expectTypeOf({() => <>>}).not.toEqualTypeOf()
})
})