Skip to main content
Version: 11.x

Interface: TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:187

Type Parameters

Type Parameter
TContext
TMeta
TContextOverrides
TInputIn
TInputOut
TOutputIn
TOutputOut
TCaller extends boolean

Methods

concat()

concat<$Context, $Meta, $ContextOverrides, $InputIn, $InputOut, $OutputIn, $OutputOut>(builder): TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverrides>, IntersectIfDefined<TInputIn, $InputIn>, IntersectIfDefined<TInputOut, $InputOut>, IntersectIfDefined<TOutputIn, $OutputIn>, IntersectIfDefined<TOutputOut, $OutputOut>, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:325

Combine two procedure builders

Type Parameters

Type Parameter
$Context
$Meta
$ContextOverrides
$InputIn
$InputOut
$OutputIn
$OutputOut

Parameters

ParameterType
builderOverwrite<TContext, TContextOverrides> extends $Context ? TMeta extends $Meta ? TRPCProcedureBuilder<$Context, $Meta, $ContextOverrides, $InputIn, $InputOut, $OutputIn, $OutputOut, TCaller> : TypeError<"Meta mismatch"> : TypeError<"Context mismatch">

Returns

TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverrides>, IntersectIfDefined<TInputIn, $InputIn>, IntersectIfDefined<TInputOut, $InputOut>, IntersectIfDefined<TOutputIn, $OutputIn>, IntersectIfDefined<TOutputOut, $OutputOut>, TCaller>


experimental_caller()

experimental_caller(caller): TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, true>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:449

Overrides the way a procedure is invoked Do not use this unless you know what you're doing - this is an experimental API

Parameters

ParameterType
callerCallerOverride<TContext>

Returns

TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, true>


input()

input<$Parser>(schema): TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, IntersectIfDefined<TInputIn, inferParser<$Parser>["in"]>, IntersectIfDefined<TInputOut, inferParser<$Parser>["out"]>, TOutputIn, TOutputOut, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:201

Add an input parser to the procedure.

Type Parameters

Type Parameter
$Parser extends Parser

Parameters

ParameterType
schemaTInputOut extends UnsetMarker ? $Parser : inferParser<$Parser>["out"] extends undefined | Record<string, unknown> ? TInputOut extends undefined | Record<string, unknown> ? undefined extends any[any] ? undefined extends TInputOut<TInputOut> ? $Parser : TypeError<"Cannot chain an optional parser to a required parser"> : $Parser : TypeError<"All input parsers did not resolve to an object"> : TypeError<"All input parsers did not resolve to an object">

Returns

TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, IntersectIfDefined<TInputIn, inferParser<$Parser>["in"]>, IntersectIfDefined<TInputOut, inferParser<$Parser>["out"]>, TOutputIn, TOutputOut, TCaller>

See

https://trpc.io/docs/v11/server/validators


meta()

meta(meta): TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:243

Add a meta data to the procedure.

Parameters

ParameterType
metaTMeta

Returns

TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TCaller>

See

https://trpc.io/docs/v11/server/metadata


mutation()

mutation<$Output>(resolver): TCaller extends true ? (input) => Promise<DefaultValue<TOutputOut, $Output>> : TRPCMutationProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: DefaultValue<TOutputOut, $Output>; }>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:385

Mutation procedure

Type Parameters

Type Parameter
$Output

Parameters

ParameterType
resolverProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>

Returns

TCaller extends true ? (input) => Promise<DefaultValue<TOutputOut, $Output>> : TRPCMutationProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: DefaultValue<TOutputOut, $Output>; }>

See

https://trpc.io/docs/v11/concepts#vocabulary


output()

output<$Parser>(schema): TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, IntersectIfDefined<TOutputIn, inferParser<$Parser>["in"]>, IntersectIfDefined<TOutputOut, inferParser<$Parser>["out"]>, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:227

Add an output parser to the procedure.

Type Parameters

Type Parameter
$Parser extends Parser

Parameters

ParameterType
schema$Parser

Returns

TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, IntersectIfDefined<TOutputIn, inferParser<$Parser>["in"]>, IntersectIfDefined<TOutputOut, inferParser<$Parser>["out"]>, TCaller>

See

https://trpc.io/docs/v11/server/validators


query()

query<$Output>(resolver): TCaller extends true ? (input) => Promise<DefaultValue<TOutputOut, $Output>> : TRPCQueryProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: DefaultValue<TOutputOut, $Output>; }>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:362

Query procedure

Type Parameters

Type Parameter
$Output

Parameters

ParameterType
resolverProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>

Returns

TCaller extends true ? (input) => Promise<DefaultValue<TOutputOut, $Output>> : TRPCQueryProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: DefaultValue<TOutputOut, $Output>; }>

See

https://trpc.io/docs/v11/concepts#vocabulary


subscription()

Call Signature

subscription<$Output>(resolver): TCaller extends true ? TypeError<"Not implemented"> : TRPCSubscriptionProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: inferSubscriptionOutput<DefaultValue<TOutputOut, $Output>>; }>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:408

Subscription procedure

Type Parameters
Type Parameter
$Output extends AsyncIterable<any, void, any>
Parameters
ParameterType
resolverProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>
Returns

TCaller extends true ? TypeError<"Not implemented"> : TRPCSubscriptionProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: inferSubscriptionOutput<DefaultValue<TOutputOut, $Output>>; }>

See

https://trpc.io/docs/v11/server/subscriptions

Call Signature

subscription<$Output>(resolver): TCaller extends true ? TypeError<"Not implemented"> : LegacyObservableSubscriptionProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: inferObservableValue<DefaultValue<TOutputOut, $Output>>; }>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:429

Type Parameters
Type Parameter
$Output extends Observable<any, any>
Parameters
ParameterType
resolverProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>
Returns

TCaller extends true ? TypeError<"Not implemented"> : LegacyObservableSubscriptionProcedure<{ input: DefaultValue<TInputIn, void>; meta: TMeta; output: inferObservableValue<DefaultValue<TOutputOut, $Output>>; }>

Deprecated

Using subscriptions with an observable is deprecated. Use an async generator instead. This feature will be removed in v12 of tRPC.

See

https://trpc.io/docs/v11/server/subscriptions


unstable_concat()

unstable_concat<$Context, $Meta, $ContextOverrides, $InputIn, $InputOut, $OutputIn, $OutputOut>(builder): TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverrides>, IntersectIfDefined<TInputIn, $InputIn>, IntersectIfDefined<TInputOut, $InputOut>, IntersectIfDefined<TOutputIn, $OutputIn>, IntersectIfDefined<TOutputOut, $OutputOut>, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:288

Type Parameters

Type Parameter
$Context
$Meta
$ContextOverrides
$InputIn
$InputOut
$OutputIn
$OutputOut

Parameters

ParameterType
builderOverwrite<TContext, TContextOverrides> extends $Context ? TMeta extends $Meta ? TRPCProcedureBuilder<$Context, $Meta, $ContextOverrides, $InputIn, $InputOut, $OutputIn, $OutputOut, TCaller> : TypeError<"Meta mismatch"> : TypeError<"Context mismatch">

Returns

TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverrides>, IntersectIfDefined<TInputIn, $InputIn>, IntersectIfDefined<TInputOut, $InputOut>, IntersectIfDefined<TOutputIn, $OutputIn>, IntersectIfDefined<TOutputOut, $OutputOut>, TCaller>

Deprecated

use concat instead


use()

use<$ContextOverridesOut>(fn): TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverridesOut>, TInputIn, TInputOut, TOutputIn, TOutputOut, TCaller>

Defined in: packages/server/src/unstable-core-do-not-import/procedureBuilder.ts:259

Add a middleware to the procedure.

Type Parameters

Type Parameter
$ContextOverridesOut

Parameters

ParameterType
fnMiddlewareBuilder<Overwrite<TContext, TContextOverrides>, TMeta, $ContextOverridesOut, TInputOut> | MiddlewareFunction<TContext, TMeta, TContextOverrides, $ContextOverridesOut, TInputOut>

Returns

TRPCProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverridesOut>, TInputIn, TInputOut, TOutputIn, TOutputOut, TCaller>

See

https://trpc.io/docs/v11/server/middlewares