mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-20 15:36:18 +00:00
Fix 4 typecheck errors in createNitroQuery
- Import path for SendMessageComposer pointed at ../SendMessageComposer (non-existent); the actual module lives at ../nitro/SendMessageComposer. Worked at runtime via Vite alias, broke at tsgo. - request factory was typed as () => unknown so passing the return into SendMessageComposer (which expects IMessageComposer<unknown[]>) failed the cast. - The Pick<NitroQueryConfig, ...> bundle handed to awaitNitroResponse included 'key', which isn't part of that subset. - When no select is provided, resolve(event) leaked TParser through the TData channel; cast to TData (the default TData=TParser fallback is fine for typed callers, but the explicit-generic case needed it). Net tsgo error count: 100 -> 97.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { GetCommunication, IMessageEvent, MessageEvent } from '@nitrots/nitro-renderer';
|
import { GetCommunication, IMessageComposer, IMessageEvent, MessageEvent } from '@nitrots/nitro-renderer';
|
||||||
import { QueryKey, useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
import { QueryKey, useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
||||||
import { SendMessageComposer } from '../SendMessageComposer';
|
import { SendMessageComposer } from '../nitro/SendMessageComposer';
|
||||||
|
|
||||||
export interface NitroQueryConfig<TParser extends IMessageEvent, TData>
|
export interface NitroQueryConfig<TParser extends IMessageEvent, TData>
|
||||||
{
|
{
|
||||||
@@ -14,7 +14,7 @@ export interface NitroQueryConfig<TParser extends IMessageEvent, TData>
|
|||||||
* `null` skips sending (useful when the server pushes the event
|
* `null` skips sending (useful when the server pushes the event
|
||||||
* unprompted — you only want subscription, not a request).
|
* unprompted — you only want subscription, not a request).
|
||||||
*/
|
*/
|
||||||
request: (() => unknown) | null;
|
request: (() => IMessageComposer<unknown[]>) | null;
|
||||||
/**
|
/**
|
||||||
* The parser class to listen for as the response.
|
* The parser class to listen for as the response.
|
||||||
*/
|
*/
|
||||||
@@ -64,7 +64,7 @@ export const useNitroQuery = <TParser extends IMessageEvent, TData = TParser>(
|
|||||||
|
|
||||||
const options: UseQueryOptions<TData, Error, TData> = {
|
const options: UseQueryOptions<TData, Error, TData> = {
|
||||||
queryKey: key,
|
queryKey: key,
|
||||||
queryFn: () => awaitNitroResponse<TParser, TData>({ key, request, parser, select, accept, timeoutMs }),
|
queryFn: () => awaitNitroResponse<TParser, TData>({ request, parser, select, accept, timeoutMs }),
|
||||||
enabled,
|
enabled,
|
||||||
staleTime,
|
staleTime,
|
||||||
refetchOnMount
|
refetchOnMount
|
||||||
@@ -105,7 +105,7 @@ export const awaitNitroResponse = <TParser extends IMessageEvent, TData>(
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
resolve(select ? select(event) : (event));
|
resolve(select ? select(event) : (event as unknown as TData));
|
||||||
}
|
}
|
||||||
catch(err)
|
catch(err)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user