@trpc/server 10.9.1-alpha-testing-2023-01-15-00-57-10.3 → 10.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,7 +54,7 @@ function createContext(opts: CreateHTTPContextOptions) {
54
54
  type Context = inferAsyncReturnType<typeof createContext>;
55
55
 
56
56
  // Initialize tRPC
57
- const t = initTRPC.context<Context>.create();
57
+ const t = initTRPC.context<Context>().create();
58
58
 
59
59
  // Create main router
60
60
  const appRouter = t.router({
@@ -68,7 +68,7 @@ declare class TRPCBuilder<TParams extends PartialRootConfigTypes = object> {
68
68
  _output_in: unknown;
69
69
  _output_out: unknown;
70
70
  _meta: TParams["meta"] extends object ? TParams["meta"] : object;
71
- }, TNewParams>) => import("./middleware").MiddlewareFunction<{
71
+ }, TNewParams>) => import("./middleware").MiddlewareBuilder<{
72
72
  _config: RootConfig<{
73
73
  ctx: TParams["ctx"] extends object ? TParams["ctx"] : object;
74
74
  meta: TParams["meta"] extends object ? TParams["meta"] : object;
@@ -1,5 +1,5 @@
1
1
  import { InferOptional, MaybePromise, Simplify, UndefinedKeys } from '../../types';
2
- import { MiddlewareFunction } from '../middleware';
2
+ import { MiddlewareBuilder, MiddlewareFunction } from '../middleware';
3
3
  import { Parser, inferParser } from '../parser';
4
4
  import { Procedure, ProcedureParams } from '../procedure';
5
5
  import { ProcedureType } from '../types';
@@ -70,7 +70,7 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
70
70
  /**
71
71
  * Add a middleware to the procedure.
72
72
  */
73
- use<$Params extends ProcedureParams>(fn: MiddlewareFunction<TParams, $Params>): CreateProcedureReturnInput<TParams, $Params>;
73
+ use<$Params extends ProcedureParams>(fn: MiddlewareBuilder<TParams, $Params> | MiddlewareFunction<TParams, $Params>): CreateProcedureReturnInput<TParams, $Params>;
74
74
  /**
75
75
  * Extend the procedure with another procedure.
76
76
  * @warning The TypeScript inference fails when chaining concatenated procedures.
@@ -1 +1 @@
1
- {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAInB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAKL,SAAS,EACT,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EAEZ,MAAM,SAAS,CAAC;AAEjB,aAAK,0BAA0B,CAC7B,KAAK,SAAS,eAAe,EAC7B,KAAK,SAAS,eAAe,IAC3B,gBAAgB,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;CACxE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,aAAa,EAC3B,OAAO,SAAS,eAAe,EAC/B,OAAO,CACP,SAAQ,SAAS,CACf,KAAK,EACL,WAAW,SAAS,OAAO,CAAC,aAAa,CAAC,GACtC,cAAc,CACZ,OAAO,EACP;IACE,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB,CACF,GACD,OAAO,CACZ;CAAG;AAEN,aAAK,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI;KACxB,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,IAAI,SAAS,MAAM,KAAK,GACzD,IAAI,SAAS,MAAM,KAAK,GACtB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GACzB,KAAK,CAAC,IAAI,CAAC,GACb,KAAK,CAAC,IAAI,GAAG,MAAM,KAAK,CAAC;CAC9B,CAAC;AAEF,aAAK,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,WAAW,SAAS,KAAK,GAC7D,KAAK,GACL,QAAQ,CACN,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CACvE,CAAC;AAEN,aAAK,YAAY,CAAC,QAAQ,SAAS,MAAM,IAAI,QAAQ,CAAC;AAEtD,oBAAY,mBAAmB,CAAC,OAAO,SAAS,eAAe,IAAI;IACjE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,oBAAY,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,eAAe;IAC/D;;OAEG;IACH,KAAK,CAAC,OAAO,SAAS,MAAM,EAC1B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC7C,OAAO,GACP,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3D,OAAO,CAAC,YAAY,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,OAAO,GACP,YAAY,CAAC,gDAAgD,CAAC,GAChE,YAAY,CAAC,gDAAgD,CAAC,GACjE,gBAAgB,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,SAAS,EAAE,kBAAkB,CAC3B,OAAO,CAAC,WAAW,CAAC,EACpB,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAC3B,CAAC;QACF,UAAU,EAAE,kBAAkB,CAC5B,OAAO,CAAC,YAAY,CAAC,EACrB,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAC5B,CAAC;QAEF,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;KACrC,CAAC,CAAC;IACH;;OAEG;IACH,MAAM,CAAC,OAAO,SAAS,MAAM,EAC3B,MAAM,EAAE,OAAO,GACd,gBAAgB,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;KAC1C,CAAC,CAAC;IACH;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxD;;OAEG;IACH,GAAG,CAAC,OAAO,SAAS,eAAe,EACjC,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GACvC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,iBAAiB,SAAS,mBAAmB,EAC3D,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,QAAQ,CAAC,GACzD,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC7C,KAAK,CAAC;IACV;;OAEG;IACH,KAAK,CAAC,OAAO,EACX,QAAQ,EAAE,CACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAC1B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,GAC/D,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,OAAO,EACd,QAAQ,EAAE,CACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAC1B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,GAC/D,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhD;;OAEG;IACH,YAAY,CAAC,OAAO,EAClB,QAAQ,EAAE,CACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAC1B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,GAC/D,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,aAAK,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEjD,oBAAY,0BAA0B,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtE,oBAAY,wBAAwB,GAAG,CACrC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;AAgBtB,wBAAgB,aAAa,CAAC,OAAO,SAAS,aAAa,EACzD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gBAAgB,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC,CAsDD;AAwBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;CACrB"}
1
+ {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Simplify } from '../../types';
1
2
  import { ProcedureParams } from '../procedure';
2
3
  /**
3
4
  * @internal
@@ -35,7 +36,7 @@ export declare type UnsetMarker = typeof unsetMarker;
35
36
  * @internal
36
37
  */
37
38
  export interface ResolveOptions<TParams extends ProcedureParams> {
38
- ctx: TParams['_ctx_out'];
39
+ ctx: Simplify<TParams['_ctx_out']>;
39
40
  input: TParams['_input_out'] extends UnsetMarker ? undefined : TParams['_input_out'];
40
41
  }
41
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC5C,SAAS,GACT,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,SAAS,KAAK,GAChE,SAAS,SAAS,KAAK,GACrB,KAAK,GACL,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC5C,SAAS,GACT,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,SAAS,KAAK,GAChE,SAAS,SAAS,KAAK,GACrB,KAAK,GACL,KAAK,GACP,KAAK,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { TRPCError } from '../error/TRPCError';
2
+ import { Simplify } from '../types';
2
3
  import { AnyRootConfig } from './internals/config';
3
4
  import { ParseFn } from './internals/getParseFn';
4
5
  import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
5
- import { MiddlewareMarker } from './internals/utils';
6
+ import { DefaultValue as FallbackValue, MiddlewareMarker, Overwrite } from './internals/utils';
6
7
  import { ProcedureParams } from './procedure';
7
8
  import { ProcedureType } from './types';
8
9
  /**
@@ -33,12 +34,58 @@ interface MiddlewareErrorResult<_TParams extends ProcedureParams> extends Middle
33
34
  * @internal
34
35
  */
35
36
  export declare type MiddlewareResult<TParams extends ProcedureParams> = MiddlewareOKResult<TParams> | MiddlewareErrorResult<TParams>;
37
+ /**
38
+ * @internal
39
+ */
40
+ export interface MiddlewareBuilder<TRoot extends ProcedureParams, TNewParams extends ProcedureParams> {
41
+ /**
42
+ * Create a new builder based on the current middleware builder
43
+ */
44
+ unstable_pipe<$Params extends ProcedureParams>(fn: {
45
+ _config: TRoot['_config'];
46
+ _meta: TRoot['_meta'];
47
+ _ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
48
+ _input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
49
+ _input_out: FallbackValue<TRoot['_input_out'], TNewParams['_input_out']>;
50
+ _output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
51
+ _output_out: FallbackValue<TRoot['_output_out'], TNewParams['_output_out']>;
52
+ } extends infer OParams extends ProcedureParams ? MiddlewareBuilder<OParams, $Params> | MiddlewareFunction<OParams, $Params> : never): CreateMiddlewareReturnInput<TRoot, TNewParams, Overwrite<TNewParams, $Params>>;
53
+ /**
54
+ * List of middlewares within this middleware builder
55
+ */
56
+ _middlewares: MiddlewareFunction<TRoot, TNewParams>[];
57
+ }
58
+ /**
59
+ * @internal
60
+ * FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
61
+ */
62
+ declare type CreateMiddlewareReturnInput<TRoot extends ProcedureParams, TPrev extends ProcedureParams, TNext extends ProcedureParams> = MiddlewareBuilder<TRoot, {
63
+ _config: TPrev['_config'];
64
+ _meta: TPrev['_meta'];
65
+ _ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
66
+ _input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
67
+ _input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
68
+ _output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
69
+ _output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
70
+ }>;
71
+ /**
72
+ * @internal
73
+ */
74
+ declare type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
75
+ _config: TConfig;
76
+ _ctx_out: TConfig['$types']['ctx'];
77
+ _input_out: unknown;
78
+ _input_in: unknown;
79
+ _output_in: unknown;
80
+ _output_out: unknown;
81
+ _meta: TConfig['$types']['meta'];
82
+ };
36
83
  /**
37
84
  * @internal
38
85
  */
39
86
  export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter extends ProcedureParams> = {
40
87
  (opts: {
41
- ctx: TParams['_ctx_out'];
88
+ ctx: Simplify<TParams['_ctx_out']>;
42
89
  type: ProcedureType;
43
90
  path: string;
44
91
  input: TParams['_input_out'];
@@ -64,23 +111,7 @@ export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsA
64
111
  /**
65
112
  * @internal
66
113
  */
67
- export declare function createMiddlewareFactory<TConfig extends AnyRootConfig>(): <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<{
68
- _config: TConfig;
69
- _ctx_out: TConfig['$types']['ctx'];
70
- _input_out: unknown;
71
- _input_in: unknown;
72
- _output_in: unknown;
73
- _output_out: unknown;
74
- _meta: TConfig['$types']['meta'];
75
- }, TNewParams>) => MiddlewareFunction<{
76
- _config: TConfig;
77
- _ctx_out: TConfig['$types']['ctx'];
78
- _input_out: unknown;
79
- _input_in: unknown;
80
- _output_in: unknown;
81
- _output_out: unknown;
82
- _meta: TConfig['$types']['meta'];
83
- }, TNewParams>;
114
+ export declare function createMiddlewareFactory<TConfig extends AnyRootConfig>(): <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<deriveParamsFromConfig<TConfig>, TNewParams>) => MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams>;
84
115
  /**
85
116
  * @internal
86
117
  * Please note, `trpc-openapi` uses this function.
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,11 @@ export declare type AnyRouter = Router<AnyRouterDef>;
89
89
  /**
90
90
  * @internal
91
91
  */
92
- export declare type CreateRouterInner<TConfig extends AnyRootConfig, TProcRouterRecord extends ProcedureRouterRecord> = Router<RouterDef<TConfig, TProcRouterRecord>> & TProcRouterRecord;
92
+ export declare type CreateRouterInner<TConfig extends AnyRootConfig, TProcRouterRecord extends ProcedureRouterRecord> = Router<RouterDef<TConfig, TProcRouterRecord>> &
93
+ /**
94
+ * This should be deleted in v11
95
+ * @deprecated
96
+ */ TProcRouterRecord;
93
97
  /**
94
98
  * @internal
95
99
  */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB,iBAAiB;AACjB,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,SAAS,CACxB,OAAO,SAAS,aAAa,EAC7B,OAAO,SAAS,qBAAqB;AACrC;;GAEG;AACH,IAAI,SAAS,+BAA+B,GAAG;IAE7C,OAAO,EAAE,EAAE,CAAC;IAEZ,SAAS,EAAE,EAAE,CAAC;IAEd,aAAa,EAAE,EAAE,CAAC;CACnB;IAED,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;;;OAGG;IACH,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;CACtC;AAED,oBAAY,YAAY,CACtB,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,IAAI,SAAS,+BAA+B,GAAG,GAAG,IAChD,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,aAAK,cAAc,CAAC,WAAW,SAAS,eAAe,IAAI,CACzD,UAAU,SAAS,WAAW,CAAC,KAAK,CAAC,EACrC,KAAK,SAAS,MAAM,WAAW,GAAG,MAAM,EAExC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,KACnC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;AAE/C,aAAK,iBAAiB,CAAC,UAAU,SAAS,YAAY,IAAI,CACxD,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KACxC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAEhD;;GAEG;AACH,aAAK,wBAAwB,CAAC,WAAW,SAAS,qBAAqB,IAAI;KACxE,IAAI,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,SAAS,GAC5D,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GAC7D,WAAW,CAAC,IAAI,CAAC,SAAS,YAAY,GACtC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GACpC,KAAK;CACV,CAAC;AAEF;;GAEG;AACH,aAAK,YAAY,CAAC,IAAI,SAAS,YAAY,IAAI,CAC7C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAClC;IACH;;OAEG;IACH,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C;;OAEG;IACH,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;CACrD,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,MAAM,CAAC,IAAI,SAAS,YAAY;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,aAAa,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,SAAS,CAAC;QACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;QAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;KACnD,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;CAC7C;AAED,oBAAY,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AA8B7C;;GAEG;AACH,oBAAY,iBAAiB,CAC3B,OAAO,SAAS,aAAa,EAC7B,iBAAiB,SAAS,qBAAqB,IAC7C,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEtE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,aAAa,EAC/D,MAAM,EAAE,OAAO,qIAkHhB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,oBAAoB,GAAG;IAAE,UAAU,EAAE,qBAAqB,CAAA;CAAE,oBAcnE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -233,11 +233,27 @@ function getParseFn(procedureParser) {
233
233
 
234
234
  /**
235
235
  * @internal
236
- */ // FIXME this should use RootConfig
237
- function createMiddlewareFactory() {
238
- return function createMiddleware(fn) {
239
- return fn;
240
- };
236
+ */ function createMiddlewareFactory() {
237
+ function createMiddlewareInner(middlewares) {
238
+ return {
239
+ _middlewares: middlewares,
240
+ unstable_pipe (middlewareBuilderOrFn) {
241
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
242
+ middlewareBuilderOrFn
243
+ ];
244
+ return createMiddlewareInner([
245
+ ...middlewares,
246
+ ...pipedMiddleware
247
+ ]);
248
+ }
249
+ };
250
+ }
251
+ function createMiddleware(fn) {
252
+ return createMiddlewareInner([
253
+ fn
254
+ ]);
255
+ }
256
+ return createMiddleware;
241
257
  }
242
258
  function isPlainObject(obj) {
243
259
  return obj && typeof obj === 'object' && !Array.isArray(obj);
@@ -347,14 +363,19 @@ function createBuilder(initDef) {
347
363
  meta: meta
348
364
  });
349
365
  },
350
- unstable_concat (builder) {
366
+ /**
367
+ * @deprecated
368
+ * This functionality is deprecated and will be removed in the next major version.
369
+ */ unstable_concat (builder) {
351
370
  return createNewBuilder(_def, builder._def);
352
371
  },
353
- use (middleware) {
372
+ use (middlewareBuilderOrFn) {
373
+ // Distinguish between a middleware builder and a middleware function
374
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
375
+ middlewareBuilderOrFn
376
+ ];
354
377
  return createNewBuilder(_def, {
355
- middlewares: [
356
- middleware
357
- ]
378
+ middlewares
358
379
  });
359
380
  },
360
381
  query (resolver) {
package/dist/index.mjs CHANGED
@@ -231,11 +231,27 @@ function getParseFn(procedureParser) {
231
231
 
232
232
  /**
233
233
  * @internal
234
- */ // FIXME this should use RootConfig
235
- function createMiddlewareFactory() {
236
- return function createMiddleware(fn) {
237
- return fn;
238
- };
234
+ */ function createMiddlewareFactory() {
235
+ function createMiddlewareInner(middlewares) {
236
+ return {
237
+ _middlewares: middlewares,
238
+ unstable_pipe (middlewareBuilderOrFn) {
239
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
240
+ middlewareBuilderOrFn
241
+ ];
242
+ return createMiddlewareInner([
243
+ ...middlewares,
244
+ ...pipedMiddleware
245
+ ]);
246
+ }
247
+ };
248
+ }
249
+ function createMiddleware(fn) {
250
+ return createMiddlewareInner([
251
+ fn
252
+ ]);
253
+ }
254
+ return createMiddleware;
239
255
  }
240
256
  function isPlainObject(obj) {
241
257
  return obj && typeof obj === 'object' && !Array.isArray(obj);
@@ -345,14 +361,19 @@ function createBuilder(initDef) {
345
361
  meta: meta
346
362
  });
347
363
  },
348
- unstable_concat (builder) {
364
+ /**
365
+ * @deprecated
366
+ * This functionality is deprecated and will be removed in the next major version.
367
+ */ unstable_concat (builder) {
349
368
  return createNewBuilder(_def, builder._def);
350
369
  },
351
- use (middleware) {
370
+ use (middlewareBuilderOrFn) {
371
+ // Distinguish between a middleware builder and a middleware function
372
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
373
+ middlewareBuilderOrFn
374
+ ];
352
375
  return createNewBuilder(_def, {
353
- middlewares: [
354
- middleware
355
- ]
376
+ middlewares
356
377
  });
357
378
  },
358
379
  query (resolver) {
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAMtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAG/C,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,gEAAgE;AAChE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KACtC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AASF,aAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAEF,aAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAMtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAG/C,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,gEAAgE;AAChE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KACtC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,aAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAQF,aAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import { Observable, Observer } from './observable';
2
+ /**
3
+ * @deprecated
4
+ * This functionality is deprecated and will be removed in the next major version.
5
+ */
2
6
  export declare function subscriptionPullFactory<TOutput>(opts: {
3
7
  /**
4
8
  * The interval of how often the function should run
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAEhE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA2B/B"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA2B/B"}
@@ -5,7 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var TRPCError = require('./TRPCError-bd37df84.js');
6
6
  var observable = require('./observable-464116ac.js');
7
7
 
8
- function subscriptionPullFactory(opts) {
8
+ /**
9
+ * @deprecated
10
+ * This functionality is deprecated and will be removed in the next major version.
11
+ */ function subscriptionPullFactory(opts) {
9
12
  let timer;
10
13
  let stopped = false;
11
14
  async function _pull(emit) {
@@ -1,7 +1,10 @@
1
1
  import { a as getTRPCErrorFromUnknown } from './TRPCError-7de0a793.mjs';
2
2
  import { o as observable } from './observable-ade1bad8.mjs';
3
3
 
4
- function subscriptionPullFactory(opts) {
4
+ /**
5
+ * @deprecated
6
+ * This functionality is deprecated and will be removed in the next major version.
7
+ */ function subscriptionPullFactory(opts) {
5
8
  let timer;
6
9
  let stopped = false;
7
10
  async function _pull(emit) {
package/dist/types.d.ts CHANGED
@@ -15,7 +15,7 @@ export declare type FlatOverwrite<TType, TWith> = InferOptional<{
15
15
  /**
16
16
  * @internal
17
17
  */
18
- export declare type IntersectionError<TKey extends string> = `${TKey} collides with a built-in method, you should rename this router or procedure on your backend`;
18
+ export declare type IntersectionError<TKey extends string> = `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
19
19
  /**
20
20
  * @internal
21
21
  */
@@ -68,4 +68,11 @@ export declare type Filter<TObj extends object, TFilter> = Pick<TObj, FilterKeys
68
68
  * @internal
69
69
  */
70
70
  export declare type Unwrap<TType> = TType extends (...args: any[]) => infer R ? ThenArg<R> : TType;
71
+ /**
72
+ * Makes the object recursively optional
73
+ * @internal
74
+ */
75
+ export declare type DeepPartial<TObject> = TObject extends object ? {
76
+ [P in keyof TObject]?: DeepPartial<TObject[P]>;
77
+ } : TObject;
71
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.9.1-alpha-testing-2023-01-15-00-57-10.3+8eb21894d",
3
+ "version": "10.10.0",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -39,6 +39,7 @@
39
39
  "ts-watch": "tsc --project tsconfig.watch.json"
40
40
  },
41
41
  "exports": {
42
+ "./package.json": "./package.json",
42
43
  ".": {
43
44
  "import": "./dist/index.mjs",
44
45
  "require": "./dist/index.js",
@@ -114,6 +115,7 @@
114
115
  "dist",
115
116
  "src",
116
117
  "README.md",
118
+ "package.json",
117
119
  "adapters",
118
120
  "http",
119
121
  "rpc",
@@ -160,5 +162,5 @@
160
162
  "yup": "^0.32.8",
161
163
  "zod": "^3.0.0"
162
164
  },
163
- "gitHead": "8eb21894d51897daed089b232478e721459ee41d"
165
+ "gitHead": "ca69d4acfe7be286afcd06a39b652194ca6a87d9"
164
166
  }
@@ -7,6 +7,7 @@ import {
7
7
  UndefinedKeys,
8
8
  } from '../../types';
9
9
  import {
10
+ MiddlewareBuilder,
10
11
  MiddlewareFunction,
11
12
  MiddlewareResult,
12
13
  createInputMiddleware,
@@ -146,7 +147,9 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
146
147
  * Add a middleware to the procedure.
147
148
  */
148
149
  use<$Params extends ProcedureParams>(
149
- fn: MiddlewareFunction<TParams, $Params>,
150
+ fn:
151
+ | MiddlewareBuilder<TParams, $Params>
152
+ | MiddlewareFunction<TParams, $Params>,
150
153
  ): CreateProcedureReturnInput<TParams, $Params>;
151
154
  /**
152
155
  * Extend the procedure with another procedure.
@@ -248,12 +251,22 @@ export function createBuilder<TConfig extends AnyRootConfig>(
248
251
  meta: meta as Record<string, unknown>,
249
252
  }) as AnyProcedureBuilder;
250
253
  },
254
+ /**
255
+ * @deprecated
256
+ * This functionality is deprecated and will be removed in the next major version.
257
+ */
251
258
  unstable_concat(builder) {
252
259
  return createNewBuilder(_def, builder._def) as any;
253
260
  },
254
- use(middleware) {
261
+ use(middlewareBuilderOrFn) {
262
+ // Distinguish between a middleware builder and a middleware function
263
+ const middlewares =
264
+ '_middlewares' in middlewareBuilderOrFn
265
+ ? middlewareBuilderOrFn._middlewares
266
+ : [middlewareBuilderOrFn];
267
+
255
268
  return createNewBuilder(_def, {
256
- middlewares: [middleware],
269
+ middlewares,
257
270
  }) as AnyProcedureBuilder;
258
271
  },
259
272
  query(resolver) {
@@ -1,3 +1,4 @@
1
+ import { Simplify } from '../../types';
1
2
  import { ProcedureParams } from '../procedure';
2
3
 
3
4
  /**
@@ -42,7 +43,7 @@ export type UnsetMarker = typeof unsetMarker;
42
43
  * @internal
43
44
  */
44
45
  export interface ResolveOptions<TParams extends ProcedureParams> {
45
- ctx: TParams['_ctx_out'];
46
+ ctx: Simplify<TParams['_ctx_out']>;
46
47
  input: TParams['_input_out'] extends UnsetMarker
47
48
  ? undefined
48
49
  : TParams['_input_out'];
@@ -1,9 +1,14 @@
1
1
  import { TRPCError } from '../error/TRPCError';
2
2
  import { getCauseFromUnknown } from '../error/utils';
3
+ import { Simplify } from '../types';
3
4
  import { AnyRootConfig } from './internals/config';
4
5
  import { ParseFn } from './internals/getParseFn';
5
6
  import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
6
- import { MiddlewareMarker } from './internals/utils';
7
+ import {
8
+ DefaultValue as FallbackValue,
9
+ MiddlewareMarker,
10
+ Overwrite,
11
+ } from './internals/utils';
7
12
  import { ProcedureParams } from './procedure';
8
13
  import { ProcedureType } from './types';
9
14
 
@@ -44,6 +49,78 @@ export type MiddlewareResult<TParams extends ProcedureParams> =
44
49
  | MiddlewareOKResult<TParams>
45
50
  | MiddlewareErrorResult<TParams>;
46
51
 
52
+ /**
53
+ * @internal
54
+ */
55
+ export interface MiddlewareBuilder<
56
+ TRoot extends ProcedureParams,
57
+ TNewParams extends ProcedureParams,
58
+ > {
59
+ /**
60
+ * Create a new builder based on the current middleware builder
61
+ */
62
+ unstable_pipe<$Params extends ProcedureParams>(
63
+ fn: {
64
+ _config: TRoot['_config'];
65
+ _meta: TRoot['_meta'];
66
+ _ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
67
+ _input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
68
+ _input_out: FallbackValue<TRoot['_input_out'], TNewParams['_input_out']>;
69
+ _output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
70
+ _output_out: FallbackValue<
71
+ TRoot['_output_out'],
72
+ TNewParams['_output_out']
73
+ >;
74
+ } extends infer OParams extends ProcedureParams
75
+ ?
76
+ | MiddlewareBuilder<OParams, $Params>
77
+ | MiddlewareFunction<OParams, $Params>
78
+ : never,
79
+ ): CreateMiddlewareReturnInput<
80
+ TRoot,
81
+ TNewParams,
82
+ Overwrite<TNewParams, $Params>
83
+ >;
84
+
85
+ /**
86
+ * List of middlewares within this middleware builder
87
+ */
88
+ _middlewares: MiddlewareFunction<TRoot, TNewParams>[];
89
+ }
90
+
91
+ /**
92
+ * @internal
93
+ * FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
94
+ */
95
+ type CreateMiddlewareReturnInput<
96
+ TRoot extends ProcedureParams,
97
+ TPrev extends ProcedureParams,
98
+ TNext extends ProcedureParams,
99
+ > = MiddlewareBuilder<
100
+ TRoot,
101
+ {
102
+ _config: TPrev['_config'];
103
+ _meta: TPrev['_meta'];
104
+ _ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
105
+ _input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
106
+ _input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
107
+ _output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
108
+ _output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
109
+ }
110
+ >;
111
+
112
+ /**
113
+ * @internal
114
+ */
115
+ type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
116
+ _config: TConfig;
117
+ _ctx_out: TConfig['$types']['ctx'];
118
+ _input_out: unknown;
119
+ _input_in: unknown;
120
+ _output_in: unknown;
121
+ _output_out: unknown;
122
+ _meta: TConfig['$types']['meta'];
123
+ };
47
124
  /**
48
125
  * @internal
49
126
  */
@@ -52,7 +129,7 @@ export type MiddlewareFunction<
52
129
  TParamsAfter extends ProcedureParams,
53
130
  > = {
54
131
  (opts: {
55
- ctx: TParams['_ctx_out'];
132
+ ctx: Simplify<TParams['_ctx_out']>;
56
133
  type: ProcedureType;
57
134
  path: string;
58
135
  input: TParams['_input_out'];
@@ -79,24 +156,33 @@ export type MiddlewareFunction<
79
156
  /**
80
157
  * @internal
81
158
  */
82
- // FIXME this should use RootConfig
83
159
  export function createMiddlewareFactory<TConfig extends AnyRootConfig>() {
84
- return function createMiddleware<TNewParams extends ProcedureParams>(
85
- fn: MiddlewareFunction<
86
- {
87
- _config: TConfig;
88
- _ctx_out: TConfig['$types']['ctx'];
89
- _input_out: unknown;
90
- _input_in: unknown;
91
- _output_in: unknown;
92
- _output_out: unknown;
93
- _meta: TConfig['$types']['meta'];
160
+ function createMiddlewareInner<TNewParams extends ProcedureParams>(
161
+ middlewares: MiddlewareFunction<any, any>[],
162
+ ): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
163
+ return {
164
+ _middlewares: middlewares,
165
+ unstable_pipe(middlewareBuilderOrFn) {
166
+ const pipedMiddleware =
167
+ '_middlewares' in middlewareBuilderOrFn
168
+ ? middlewareBuilderOrFn._middlewares
169
+ : [middlewareBuilderOrFn];
170
+
171
+ return createMiddlewareInner([
172
+ ...(middlewares as any),
173
+ ...pipedMiddleware,
174
+ ]);
94
175
  },
95
- TNewParams
96
- >,
97
- ) {
98
- return fn;
99
- };
176
+ };
177
+ }
178
+
179
+ function createMiddleware<TNewParams extends ProcedureParams>(
180
+ fn: MiddlewareFunction<deriveParamsFromConfig<TConfig>, TNewParams>,
181
+ ): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
182
+ return createMiddlewareInner([fn]);
183
+ }
184
+
185
+ return createMiddleware;
100
186
  }
101
187
 
102
188
  function isPlainObject(obj: unknown) {
@@ -173,7 +173,11 @@ const reservedWords = [
173
173
  export type CreateRouterInner<
174
174
  TConfig extends AnyRootConfig,
175
175
  TProcRouterRecord extends ProcedureRouterRecord,
176
- > = Router<RouterDef<TConfig, TProcRouterRecord>> & TProcRouterRecord;
176
+ > = Router<RouterDef<TConfig, TProcRouterRecord>> &
177
+ /**
178
+ * This should be deleted in v11
179
+ * @deprecated
180
+ */ TProcRouterRecord;
177
181
 
178
182
  /**
179
183
  * @internal
@@ -47,13 +47,6 @@ type SerializeObject<T extends object> = {
47
47
  [k in keyof Omit<T, FilterKeys<T, NonJsonPrimitive>>]: Serialize<T[k]>;
48
48
  };
49
49
 
50
- /*
51
- * For an object T, if it has any properties that are a union with `undefined`,
52
- * make those into optional properties instead.
53
- *
54
- * Example: { a: string | undefined} --> { a?: string}
55
- */
56
-
57
50
  type FilterDefinedKeys<TObj extends object> = Exclude<
58
51
  {
59
52
  [TKey in keyof TObj]: undefined extends TObj[TKey] ? never : TKey;
@@ -61,6 +54,12 @@ type FilterDefinedKeys<TObj extends object> = Exclude<
61
54
  undefined
62
55
  >;
63
56
 
57
+ /*
58
+ * For an object T, if it has any properties that are a union with `undefined`,
59
+ * make those into optional properties instead.
60
+ *
61
+ * Example: { a: string | undefined} --> { a?: string}
62
+ */
64
63
  type UndefinedToOptional<T extends object> =
65
64
  // Property is not a union with `undefined`, keep as-is
66
65
  Pick<T, FilterDefinedKeys<T>> & {
@@ -1,6 +1,10 @@
1
1
  import { getTRPCErrorFromUnknown } from './error/utils';
2
2
  import { Observable, Observer, observable } from './observable';
3
3
 
4
+ /**
5
+ * @deprecated
6
+ * This functionality is deprecated and will be removed in the next major version.
7
+ */
4
8
  export function subscriptionPullFactory<TOutput>(opts: {
5
9
  /**
6
10
  * The interval of how often the function should run
package/src/types.ts CHANGED
@@ -30,7 +30,7 @@ export type FlatOverwrite<TType, TWith> = InferOptional<
30
30
  * @internal
31
31
  */
32
32
  export type IntersectionError<TKey extends string> =
33
- `${TKey} collides with a built-in method, you should rename this router or procedure on your backend`;
33
+ `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
34
34
 
35
35
  /**
36
36
  * @internal
@@ -104,3 +104,13 @@ export type Filter<TObj extends object, TFilter> = Pick<
104
104
  export type Unwrap<TType> = TType extends (...args: any[]) => infer R
105
105
  ? ThenArg<R>
106
106
  : TType;
107
+
108
+ /**
109
+ * Makes the object recursively optional
110
+ * @internal
111
+ */
112
+ export type DeepPartial<TObject> = TObject extends object
113
+ ? {
114
+ [P in keyof TObject]?: DeepPartial<TObject[P]>;
115
+ }
116
+ : TObject;