mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 23:16:21 +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 { SendMessageComposer } from '../SendMessageComposer';
|
||||
import { SendMessageComposer } from '../nitro/SendMessageComposer';
|
||||
|
||||
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
|
||||
* unprompted — you only want subscription, not a request).
|
||||
*/
|
||||
request: (() => unknown) | null;
|
||||
request: (() => IMessageComposer<unknown[]>) | null;
|
||||
/**
|
||||
* 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> = {
|
||||
queryKey: key,
|
||||
queryFn: () => awaitNitroResponse<TParser, TData>({ key, request, parser, select, accept, timeoutMs }),
|
||||
queryFn: () => awaitNitroResponse<TParser, TData>({ request, parser, select, accept, timeoutMs }),
|
||||
enabled,
|
||||
staleTime,
|
||||
refetchOnMount
|
||||
@@ -105,7 +105,7 @@ export const awaitNitroResponse = <TParser extends IMessageEvent, TData>(
|
||||
|
||||
try
|
||||
{
|
||||
resolve(select ? select(event) : (event));
|
||||
resolve(select ? select(event) : (event as unknown as TData));
|
||||
}
|
||||
catch(err)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user