@trpc/server 11.0.0-next-beta.297 → 11.0.0-next-beta.300

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.
@@ -1 +1 @@
1
- {"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAapD,OAAO,KAAK,EACV,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,EAClC,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,iBA8HlE"}
1
+ {"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAapD,OAAO,KAAK,EACV,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,EAClC,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,iBA2HlE"}
@@ -84,12 +84,9 @@ async function nodeHTTPRequestHandler(opts) {
84
84
  }
85
85
  };
86
86
  await resolveHTTPResponse.resolveHTTPResponse({
87
- batching: opts.batching,
88
- responseMeta: opts.responseMeta,
89
- path: opts.path,
90
- createContext,
91
- router: opts.router,
87
+ ...opts,
92
88
  req,
89
+ createContext,
93
90
  error: bodyResult.ok ? null : bodyResult.error,
94
91
  preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
95
92
  onError (o) {
@@ -82,12 +82,9 @@ async function nodeHTTPRequestHandler(opts) {
82
82
  }
83
83
  };
84
84
  await resolveHTTPResponse({
85
- batching: opts.batching,
86
- responseMeta: opts.responseMeta,
87
- path: opts.path,
88
- createContext,
89
- router: opts.router,
85
+ ...opts,
90
86
  req,
87
+ createContext,
91
88
  error: bodyResult.ok ? null : bodyResult.error,
92
89
  preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
93
90
  onError (o) {
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACV,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,CACnE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAEpB,KAAK,eAAe,OAAO,KAAK,cAAc,mBAgBlE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,wEAIxC"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACV,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,CACnE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAEpB,KAAK,eAAe,OAAO,KAAK,cAAc,mBAelE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,wEAIxC"}
@@ -15,7 +15,6 @@ function createHTTPHandler(opts) {
15
15
  await nodeHTTPRequestHandler.nodeHTTPRequestHandler({
16
16
  // FIXME: no typecasting should be needed here
17
17
  ...opts,
18
- ...opts,
19
18
  req,
20
19
  res,
21
20
  path
@@ -13,7 +13,6 @@ function createHTTPHandler(opts) {
13
13
  await nodeHTTPRequestHandler({
14
14
  // FIXME: no typecasting should be needed here
15
15
  ...opts,
16
- ...opts,
17
16
  req,
18
17
  res,
19
18
  path
@@ -1,7 +1,7 @@
1
1
  {
2
- "bundleSize": 92279,
3
- "bundleOrigSize": 147367,
4
- "bundleReduction": 37.38,
2
+ "bundleSize": 92290,
3
+ "bundleOrigSize": 147464,
4
+ "bundleReduction": 37.42,
5
5
  "modules": [
6
6
  {
7
7
  "id": "/src/adapters/ws.ts",
@@ -19,20 +19,20 @@
19
19
  },
20
20
  {
21
21
  "id": "/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts",
22
- "size": 9259,
23
- "origSize": 11799,
22
+ "size": 9385,
23
+ "origSize": 11914,
24
24
  "renderedExports": [
25
25
  "resolveHTTPResponse"
26
26
  ],
27
27
  "removedExports": [],
28
28
  "dependents": [],
29
- "percent": 10.03,
30
- "reduction": 21.53
29
+ "percent": 10.17,
30
+ "reduction": 21.23
31
31
  },
32
32
  {
33
33
  "id": "/src/unstable-core-do-not-import/router.ts",
34
- "size": 6040,
35
- "origSize": 9792,
34
+ "size": 6069,
35
+ "origSize": 9881,
36
36
  "renderedExports": [
37
37
  "createRouterFactory",
38
38
  "callProcedure",
@@ -45,8 +45,8 @@
45
45
  "/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts",
46
46
  "/src/unstable-core-do-not-import/initTRPC.ts"
47
47
  ],
48
- "percent": 6.55,
49
- "reduction": 38.32
48
+ "percent": 6.58,
49
+ "reduction": 38.58
50
50
  },
51
51
  {
52
52
  "id": "/src/unstable-core-do-not-import/procedureBuilder.ts",
@@ -96,8 +96,8 @@
96
96
  },
97
97
  {
98
98
  "id": "/src/adapters/node-http/nodeHTTPRequestHandler.ts",
99
- "size": 4056,
100
- "origSize": 4633,
99
+ "size": 3933,
100
+ "origSize": 4550,
101
101
  "renderedExports": [
102
102
  "nodeHTTPRequestHandler"
103
103
  ],
@@ -105,8 +105,8 @@
105
105
  "dependents": [
106
106
  "/src/adapters/node-http/index.ts"
107
107
  ],
108
- "percent": 4.4,
109
- "reduction": 12.45
108
+ "percent": 4.26,
109
+ "reduction": 13.56
110
110
  },
111
111
  {
112
112
  "id": "/src/adapters/fetch/fetchRequestHandler.ts",
@@ -204,7 +204,7 @@
204
204
  "dependents": [
205
205
  "/src/unstable-core-do-not-import.ts"
206
206
  ],
207
- "percent": 2.96,
207
+ "percent": 2.95,
208
208
  "reduction": 39.13
209
209
  },
210
210
  {
@@ -415,11 +415,11 @@
415
415
  "dependents": [
416
416
  "/src/unstable-core-do-not-import.ts",
417
417
  "/src/unstable-core-do-not-import/rpc/codes.ts",
418
+ "/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts",
418
419
  "/src/unstable-core-do-not-import/error/TRPCError.ts",
419
420
  "/src/unstable-core-do-not-import/router.ts",
420
421
  "/src/unstable-core-do-not-import/transformer.ts",
421
422
  "/src/unstable-core-do-not-import/middleware.ts",
422
- "/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts",
423
423
  "/src/unstable-core-do-not-import/procedureBuilder.ts"
424
424
  ],
425
425
  "percent": 1.09,
@@ -437,7 +437,7 @@
437
437
  "/src/unstable-core-do-not-import.ts",
438
438
  "/src/unstable-core-do-not-import/procedureBuilder.ts"
439
439
  ],
440
- "percent": 1.08,
440
+ "percent": 1.07,
441
441
  "reduction": 56.22
442
442
  },
443
443
  {
@@ -503,16 +503,16 @@
503
503
  },
504
504
  {
505
505
  "id": "/src/adapters/standalone.ts",
506
- "size": 600,
507
- "origSize": 1689,
506
+ "size": 579,
507
+ "origSize": 1665,
508
508
  "renderedExports": [
509
509
  "createHTTPHandler",
510
510
  "createHTTPServer"
511
511
  ],
512
512
  "removedExports": [],
513
513
  "dependents": [],
514
- "percent": 0.65,
515
- "reduction": 64.48
514
+ "percent": 0.63,
515
+ "reduction": 65.23
516
516
  },
517
517
  {
518
518
  "id": "/src/unstable-core-do-not-import/rootConfig.ts",
@@ -638,9 +638,9 @@
638
638
  "reduction": 100
639
639
  },
640
640
  {
641
- "id": "/src/index.ts",
641
+ "id": "/src/rpc.ts",
642
642
  "size": 0,
643
- "origSize": 32,
643
+ "origSize": 36,
644
644
  "renderedExports": [],
645
645
  "removedExports": [],
646
646
  "dependents": [],
@@ -648,9 +648,9 @@
648
648
  "reduction": 100
649
649
  },
650
650
  {
651
- "id": "/src/rpc.ts",
651
+ "id": "/src/index.ts",
652
652
  "size": 0,
653
- "origSize": 36,
653
+ "origSize": 32,
654
654
  "renderedExports": [],
655
655
  "removedExports": [],
656
656
  "dependents": [],
@@ -690,9 +690,9 @@
690
690
  "reduction": 100
691
691
  },
692
692
  {
693
- "id": "/src/adapters/fetch/index.ts",
693
+ "id": "/src/adapters/fastify/index.ts",
694
694
  "size": 0,
695
- "origSize": 64,
695
+ "origSize": 78,
696
696
  "renderedExports": [],
697
697
  "removedExports": [],
698
698
  "dependents": [],
@@ -700,9 +700,9 @@
700
700
  "reduction": 100
701
701
  },
702
702
  {
703
- "id": "/src/adapters/fastify/index.ts",
703
+ "id": "/src/adapters/fetch/index.ts",
704
704
  "size": 0,
705
- "origSize": 78,
705
+ "origSize": 64,
706
706
  "renderedExports": [],
707
707
  "removedExports": [],
708
708
  "dependents": [],
@@ -88,7 +88,8 @@ async function resolveHTTPResponse(opts) {
88
88
  return headResponse;
89
89
  }
90
90
  const contentTypeHandler = opts.contentTypeHandler ?? fallbackContentTypeHandler;
91
- const batchingEnabled = opts.batching?.enabled ?? true;
91
+ const allowBatching = opts.allowBatching ?? opts.batching?.enabled ?? true;
92
+ const allowMethodOverride = opts.allowMethodOverride ?? false;
92
93
  const type = HTTP_METHOD_PROCEDURE_TYPE_MAP[req.method] ?? 'unknown';
93
94
  let ctx = undefined;
94
95
  let paths;
@@ -98,7 +99,7 @@ async function resolveHTTPResponse(opts) {
98
99
  if (opts.error) {
99
100
  throw opts.error;
100
101
  }
101
- if (isBatchCall && !batchingEnabled) {
102
+ if (isBatchCall && !allowBatching) {
102
103
  throw new Error(`Batching is not enabled on the server`);
103
104
  }
104
105
  /* istanbul ignore if -- @preserve */ if (type === 'subscription') {
@@ -142,7 +143,8 @@ async function resolveHTTPResponse(opts) {
142
143
  path,
143
144
  getRawInput: async ()=>input,
144
145
  ctx,
145
- type
146
+ type,
147
+ allowMethodOverride
146
148
  });
147
149
  return {
148
150
  result: {
@@ -86,7 +86,8 @@ async function resolveHTTPResponse(opts) {
86
86
  return headResponse;
87
87
  }
88
88
  const contentTypeHandler = opts.contentTypeHandler ?? fallbackContentTypeHandler;
89
- const batchingEnabled = opts.batching?.enabled ?? true;
89
+ const allowBatching = opts.allowBatching ?? opts.batching?.enabled ?? true;
90
+ const allowMethodOverride = opts.allowMethodOverride ?? false;
90
91
  const type = HTTP_METHOD_PROCEDURE_TYPE_MAP[req.method] ?? 'unknown';
91
92
  let ctx = undefined;
92
93
  let paths;
@@ -96,7 +97,7 @@ async function resolveHTTPResponse(opts) {
96
97
  if (opts.error) {
97
98
  throw opts.error;
98
99
  }
99
- if (isBatchCall && !batchingEnabled) {
100
+ if (isBatchCall && !allowBatching) {
100
101
  throw new Error(`Batching is not enabled on the server`);
101
102
  }
102
103
  /* istanbul ignore if -- @preserve */ if (type === 'subscription') {
@@ -140,7 +141,8 @@ async function resolveHTTPResponse(opts) {
140
141
  path,
141
142
  getRawInput: async ()=>input,
142
143
  ctx,
143
- type
144
+ type,
145
+ allowMethodOverride
144
146
  });
145
147
  return {
146
148
  result: {
@@ -88,9 +88,26 @@ export type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
88
88
  */
89
89
  export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
90
90
  onError?: OnErrorFunction<TRouter, TRequest>;
91
+ /**
92
+ * @deprecated use `allowBatching` instead
93
+ */
91
94
  batching?: {
95
+ /**
96
+ * @deprecated use `allowBatching` instead, will be removed in v12
97
+ * @default true
98
+ */
92
99
  enabled: boolean;
93
100
  };
94
101
  router: TRouter;
102
+ /**
103
+ * Allow method override - will skip the method check
104
+ * @default false
105
+ */
106
+ allowMethodOverride?: boolean;
107
+ /**
108
+ * Allow request batching
109
+ * @default true
110
+ */
111
+ allowBatching?: boolean;
95
112
  }
96
113
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/types.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export declare function createRouterFactory<TRoot extends AnyRootTypes>(config:
62
62
  */
63
63
  export declare function callProcedure(opts: ProcedureCallOptions & {
64
64
  procedures: RouterRecord;
65
+ allowMethodOverride?: boolean;
65
66
  }): Promise<unknown>;
66
67
  export declare function createCallerFactory<TRoot extends AnyRootTypes>(): <TRecord extends RouterRecord>(router: Router<TRoot, TRecord>) => RouterCaller<TRoot, TRecord>;
67
68
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/router.ts"],"names":[],"mappings":"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"}
@@ -102,7 +102,7 @@ function isProcedure(procedureOrRouter) {
102
102
  */ function callProcedure(opts) {
103
103
  const { type , path } = opts;
104
104
  const proc = opts.procedures[path];
105
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
105
+ if (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) {
106
106
  throw new TRPCError.TRPCError({
107
107
  code: 'NOT_FOUND',
108
108
  message: `No "${type}"-procedure on path "${path}"`
@@ -100,7 +100,7 @@ function isProcedure(procedureOrRouter) {
100
100
  */ function callProcedure(opts) {
101
101
  const { type , path } = opts;
102
102
  const proc = opts.procedures[path];
103
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
103
+ if (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) {
104
104
  throw new TRPCError({
105
105
  code: 'NOT_FOUND',
106
106
  message: `No "${type}"-procedure on path "${path}"`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "11.0.0-next-beta.297+20872e248",
3
+ "version": "11.0.0-next-beta.300+2486831f7",
4
4
  "description": "The tRPC server library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -157,5 +157,5 @@
157
157
  "funding": [
158
158
  "https://trpc.io/sponsor"
159
159
  ],
160
- "gitHead": "20872e248cdc4fac08db26c6a5882610bbe2e58a"
160
+ "gitHead": "2486831f7c6b8718c474b152a5396b2d854408b9"
161
161
  }
@@ -133,13 +133,10 @@ export async function nodeHTTPRequestHandler<
133
133
  }
134
134
  };
135
135
 
136
- await resolveHTTPResponse({
137
- batching: opts.batching,
138
- responseMeta: opts.responseMeta,
139
- path: opts.path,
140
- createContext,
141
- router: opts.router,
136
+ await resolveHTTPResponse<TRouter, HTTPRequest>({
137
+ ...opts,
142
138
  req,
139
+ createContext,
143
140
  error: bodyResult.ok ? null : bodyResult.error,
144
141
  preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
145
142
  onError(o) {
@@ -39,7 +39,6 @@ export function createHTTPHandler<TRouter extends AnyRouter>(
39
39
  await nodeHTTPRequestHandler({
40
40
  // FIXME: no typecasting should be needed here
41
41
  ...(opts as CreateHTTPHandlerOptions<AnyRouter>),
42
- ...(opts as any),
43
42
  req,
44
43
  res,
45
44
  path,
@@ -233,7 +233,9 @@ export async function resolveHTTPResponse<
233
233
  }
234
234
  const contentTypeHandler =
235
235
  opts.contentTypeHandler ?? fallbackContentTypeHandler;
236
- const batchingEnabled = opts.batching?.enabled ?? true;
236
+ const allowBatching = opts.allowBatching ?? opts.batching?.enabled ?? true;
237
+ const allowMethodOverride = opts.allowMethodOverride ?? false;
238
+
237
239
  const type =
238
240
  HTTP_METHOD_PROCEDURE_TYPE_MAP[req.method] ?? ('unknown' as const);
239
241
  let ctx: inferRouterContext<TRouter> | undefined = undefined;
@@ -250,7 +252,7 @@ export async function resolveHTTPResponse<
250
252
  if (opts.error) {
251
253
  throw opts.error;
252
254
  }
253
- if (isBatchCall && !batchingEnabled) {
255
+ if (isBatchCall && !allowBatching) {
254
256
  throw new Error(`Batching is not enabled on the server`);
255
257
  }
256
258
  /* istanbul ignore if -- @preserve */
@@ -300,6 +302,7 @@ export async function resolveHTTPResponse<
300
302
  getRawInput: async () => input,
301
303
  ctx,
302
304
  type,
305
+ allowMethodOverride,
303
306
  });
304
307
  return {
305
308
  result: {
@@ -104,8 +104,25 @@ export type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
104
104
  */
105
105
  export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
106
106
  onError?: OnErrorFunction<TRouter, TRequest>;
107
+ /**
108
+ * @deprecated use `allowBatching` instead
109
+ */
107
110
  batching?: {
111
+ /**
112
+ * @deprecated use `allowBatching` instead, will be removed in v12
113
+ * @default true
114
+ */
108
115
  enabled: boolean;
109
116
  };
110
117
  router: TRouter;
118
+ /**
119
+ * Allow method override - will skip the method check
120
+ * @default false
121
+ */
122
+ allowMethodOverride?: boolean;
123
+ /**
124
+ * Allow request batching
125
+ * @default true
126
+ */
127
+ allowBatching?: boolean;
111
128
  }
@@ -221,11 +221,18 @@ function isProcedure(
221
221
  * @internal
222
222
  */
223
223
  export function callProcedure(
224
- opts: ProcedureCallOptions & { procedures: RouterRecord },
224
+ opts: ProcedureCallOptions & {
225
+ procedures: RouterRecord;
226
+ allowMethodOverride?: boolean;
227
+ },
225
228
  ) {
226
229
  const { type, path } = opts;
227
230
  const proc = opts.procedures[path];
228
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
231
+ if (
232
+ !proc ||
233
+ !isProcedure(proc) ||
234
+ (proc._def.type !== type && !opts.allowMethodOverride)
235
+ ) {
229
236
  throw new TRPCError({
230
237
  code: 'NOT_FOUND',
231
238
  message: `No "${type}"-procedure on path "${path}"`,