diff --git a/packages/server/src/core/initTRPC.ts b/packages/server/src/core/initTRPC.ts index 5e515f87220..da73e95a4a5 100644 --- a/packages/server/src/core/initTRPC.ts +++ b/packages/server/src/core/initTRPC.ts @@ -11,7 +11,7 @@ import { defaultTransformer, getDataTransformer, } from '../transformer'; -import { FlatOverwrite, Unwrap } from '../types'; +import { Unwrap } from '../types'; import { CreateRootConfigTypes, isServerDefault, @@ -21,7 +21,7 @@ import { } from './internals/config'; import { mergeRouters } from './internals/mergeRouters'; import { createBuilder } from './internals/procedureBuilder'; -import { PickFirstDefined, ValidateShape } from './internals/utils'; +import { Overwrite, PickFirstDefined, ValidateShape } from './internals/utils'; import { createMiddlewareFactory } from './middleware'; import { createRouterFactory } from './router'; @@ -50,13 +50,13 @@ class TRPCBuilder { | RootConfigTypes['ctx'] | ((...args: unknown[]) => RootConfigTypes['ctx']), >() { - type NextParams = FlatOverwrite }>; + type NextParams = Overwrite }>; return new TRPCBuilder(); } meta() { - type NextParams = FlatOverwrite; + type NextParams = Overwrite; return new TRPCBuilder(); } diff --git a/packages/server/src/core/internals/procedureBuilder.ts b/packages/server/src/core/internals/procedureBuilder.ts index 28454987da7..c49fec6adac 100644 --- a/packages/server/src/core/internals/procedureBuilder.ts +++ b/packages/server/src/core/internals/procedureBuilder.ts @@ -21,7 +21,7 @@ import { AnyRootConfig } from './config'; import { getParseFn } from './getParseFn'; import { mergeWithoutOverrides } from './mergeWithoutOverrides'; import { - DefaultValue as FallbackValue, + DefaultValue, middlewareMarker, Overwrite, OverwriteKnown, @@ -40,8 +40,8 @@ type CreateProcedureReturnInput< _input_out: UnsetMarker extends TNext['_input_out'] ? TPrev['_input_out'] : Overwrite; - _output_in: FallbackValue; - _output_out: FallbackValue; + _output_in: DefaultValue; + _output_out: DefaultValue; }>; /** @@ -156,7 +156,7 @@ export interface ProcedureBuilder { query<$Output>( resolver: ( opts: ResolveOptions, - ) => MaybePromise>, + ) => MaybePromise>, ): BuildProcedure<'query', TParams, $Output>; /** @@ -165,7 +165,7 @@ export interface ProcedureBuilder { mutation<$Output>( resolver: ( opts: ResolveOptions, - ) => MaybePromise>, + ) => MaybePromise>, ): BuildProcedure<'mutation', TParams, $Output>; /** @@ -174,7 +174,7 @@ export interface ProcedureBuilder { subscription<$Output>( resolver: ( opts: ResolveOptions, - ) => MaybePromise>, + ) => MaybePromise>, ): BuildProcedure<'subscription', TParams, $Output>; /** * @internal diff --git a/packages/server/src/core/middleware.ts b/packages/server/src/core/middleware.ts index 5f187192ea6..b2177581cb2 100644 --- a/packages/server/src/core/middleware.ts +++ b/packages/server/src/core/middleware.ts @@ -4,7 +4,7 @@ import { AnyRootConfig, RootConfig } from './internals/config'; import { ParseFn } from './internals/getParseFn'; import { ProcedureBuilderMiddleware } from './internals/procedureBuilder'; import { - DefaultValue as FallbackValue, + DefaultValue, MiddlewareMarker, Overwrite, UnsetMarker, @@ -64,10 +64,10 @@ export interface MiddlewareBuilder< _config: TRoot['_config']; _meta: TRoot['_meta']; _ctx_out: Overwrite; - _input_in: FallbackValue; - _input_out: FallbackValue; - _output_in: FallbackValue; - _output_out: FallbackValue< + _input_in: DefaultValue; + _input_out: DefaultValue; + _output_in: DefaultValue; + _output_out: DefaultValue< TRoot['_output_out'], TNewParams['_output_out'] >; @@ -102,10 +102,10 @@ type CreateMiddlewareReturnInput< _config: TPrev['_config']; _meta: TPrev['_meta']; _ctx_out: Overwrite; - _input_in: FallbackValue; - _input_out: FallbackValue; - _output_in: FallbackValue; - _output_out: FallbackValue; + _input_in: DefaultValue; + _input_out: DefaultValue; + _output_in: DefaultValue; + _output_out: DefaultValue; } >; diff --git a/packages/server/src/types.ts b/packages/server/src/types.ts index 8b4cbe4e782..f94888a8e08 100644 --- a/packages/server/src/types.ts +++ b/packages/server/src/types.ts @@ -1,20 +1,28 @@ /** * @internal + * @deprecated */ export type identity = TType; +/** + * @deprecated + */ export type InferOptional = Omit< TType, TKeys > & Partial>; +/** + * @deprecated + */ export type UndefinedKeys = { [K in keyof TType]: undefined extends TType[K] ? K : never; }[keyof TType]; /** * @internal + * @deprecated */ export type FlatOverwrite = InferOptional< { diff --git a/packages/tests/server/adapters/fastify.test.ts b/packages/tests/server/adapters/fastify.test.ts index acd5fc73742..c01272b4dc3 100644 --- a/packages/tests/server/adapters/fastify.test.ts +++ b/packages/tests/server/adapters/fastify.test.ts @@ -247,18 +247,20 @@ describe('anonymous user', () => { await app.stop(); }); - test('fetch POST', async () => { - const data = { text: 'life', life: 42 }; - const req = await fetch(`http://localhost:${config.port}/hello`, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - }, - body: JSON.stringify(data), - }); - // body should be object - expect(await req.json()).toMatchInlineSnapshot(` + test( + 'fetch POST', + async () => { + const data = { text: 'life', life: 42 }; + const req = await fetch(`http://localhost:${config.port}/hello`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(data), + }); + // body should be object + expect(await req.json()).toMatchInlineSnapshot(` Object { "body": Object { "life": 42, @@ -267,7 +269,11 @@ describe('anonymous user', () => { "hello": "POST", } `); - }); + }, + { + retry: 3, + }, + ); test('query', async () => { expect(await app.client.ping.query()).toMatchInlineSnapshot(`"pong"`);