From 96b61ff67b1e9d10ab2bd6577910b257a5b5f296 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Mon, 11 May 2026 20:51:29 +0200 Subject: [PATCH] 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) failed the cast. - The Pick 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. --- src/api/nitro-query/createNitroQuery.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/api/nitro-query/createNitroQuery.ts b/src/api/nitro-query/createNitroQuery.ts index 44a570f..bb21b29 100644 --- a/src/api/nitro-query/createNitroQuery.ts +++ b/src/api/nitro-query/createNitroQuery.ts @@ -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 { @@ -14,7 +14,7 @@ export interface NitroQueryConfig * `null` skips sending (useful when the server pushes the event * unprompted — you only want subscription, not a request). */ - request: (() => unknown) | null; + request: (() => IMessageComposer) | null; /** * The parser class to listen for as the response. */ @@ -64,7 +64,7 @@ export const useNitroQuery = ( const options: UseQueryOptions = { queryKey: key, - queryFn: () => awaitNitroResponse({ key, request, parser, select, accept, timeoutMs }), + queryFn: () => awaitNitroResponse({ request, parser, select, accept, timeoutMs }), enabled, staleTime, refetchOnMount @@ -105,7 +105,7 @@ export const awaitNitroResponse = ( try { - resolve(select ? select(event) : (event)); + resolve(select ? select(event) : (event as unknown as TData)); } catch(err) {