@trpc/server 10.37.0 → 10.38.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.
Files changed (33) hide show
  1. package/README.md +3 -0
  2. package/dist/adapters/aws-lambda/index.js +1 -1
  3. package/dist/adapters/aws-lambda/index.mjs +1 -1
  4. package/dist/adapters/express.js +2 -2
  5. package/dist/adapters/express.mjs +2 -2
  6. package/dist/adapters/fastify/index.js +1 -1
  7. package/dist/adapters/fastify/index.mjs +1 -1
  8. package/dist/adapters/fetch/index.js +1 -1
  9. package/dist/adapters/fetch/index.mjs +1 -1
  10. package/dist/adapters/next.js +2 -2
  11. package/dist/adapters/next.mjs +2 -2
  12. package/dist/adapters/node-http/index.js +2 -2
  13. package/dist/adapters/node-http/index.mjs +2 -2
  14. package/dist/adapters/standalone.js +2 -2
  15. package/dist/adapters/standalone.mjs +2 -2
  16. package/dist/core/index.d.ts +1 -1
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/middleware.d.ts +34 -5
  19. package/dist/core/middleware.d.ts.map +1 -1
  20. package/dist/http/index.js +1 -1
  21. package/dist/http/index.mjs +1 -1
  22. package/dist/index.js +4 -0
  23. package/dist/index.mjs +4 -1
  24. package/dist/{nodeHTTPRequestHandler-3038c41d.js → nodeHTTPRequestHandler-34adf7b8.js} +1 -1
  25. package/dist/{nodeHTTPRequestHandler-2b341e93.mjs → nodeHTTPRequestHandler-842a1461.mjs} +1 -1
  26. package/dist/{nodeHTTPRequestHandler-37bd2d87.js → nodeHTTPRequestHandler-b7bc691f.js} +1 -1
  27. package/dist/{resolveHTTPResponse-d73f215c.js → resolveHTTPResponse-11792475.js} +1 -1
  28. package/dist/{resolveHTTPResponse-8d917a7c.mjs → resolveHTTPResponse-3aef2178.mjs} +1 -1
  29. package/dist/{resolveHTTPResponse-f49de169.js → resolveHTTPResponse-d6110ed7.js} +3 -1
  30. package/package.json +3 -3
  31. package/src/core/index.ts +5 -1
  32. package/src/core/middleware.ts +35 -8
  33. package/src/http/resolveHTTPResponse.ts +3 -1
package/README.md CHANGED
@@ -31,6 +31,9 @@ yarn add @trpc/server
31
31
 
32
32
  # pnpm
33
33
  pnpm add @trpc/server
34
+
35
+ # Bun
36
+ bun add @trpc/server
34
37
  ```
35
38
 
36
39
  We also recommend installing `zod` to validate procedure inputs.
@@ -6,7 +6,7 @@ var TRPCError = require('../../TRPCError-d07099d1.js');
6
6
  require('../../index-784ff647.js');
7
7
  require('../../codes-87f6824b.js');
8
8
  require('../../config-3156a1f1.js');
9
- var resolveHTTPResponse = require('../../resolveHTTPResponse-d73f215c.js');
9
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-11792475.js');
10
10
  require('../../transformTRPCResponse-e65f34e9.js');
11
11
  require('../../contentType-5b601838.js');
12
12
 
@@ -2,7 +2,7 @@ import { T as TRPCError } from '../../TRPCError-6a1653a4.mjs';
2
2
  import '../../index-f91d720c.mjs';
3
3
  import '../../codes-c924c3db.mjs';
4
4
  import '../../config-cd32070b.mjs';
5
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-8d917a7c.mjs';
5
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-3aef2178.mjs';
6
6
  import '../../transformTRPCResponse-1153b421.mjs';
7
7
  import '../../contentType-53e30af8.mjs';
8
8
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-3038c41d.js');
5
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-34adf7b8.js');
6
6
  require('../index-784ff647.js');
7
7
  require('../codes-87f6824b.js');
8
- require('../resolveHTTPResponse-d73f215c.js');
8
+ require('../resolveHTTPResponse-11792475.js');
9
9
  require('../config-3156a1f1.js');
10
10
  require('../TRPCError-d07099d1.js');
11
11
  require('../transformTRPCResponse-e65f34e9.js');
@@ -1,7 +1,7 @@
1
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2b341e93.mjs';
1
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-842a1461.mjs';
2
2
  import '../index-f91d720c.mjs';
3
3
  import '../codes-c924c3db.mjs';
4
- import '../resolveHTTPResponse-8d917a7c.mjs';
4
+ import '../resolveHTTPResponse-3aef2178.mjs';
5
5
  import '../config-cd32070b.mjs';
6
6
  import '../TRPCError-6a1653a4.mjs';
7
7
  import '../transformTRPCResponse-1153b421.mjs';
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_stream = require('node:stream');
6
6
  require('../../index-784ff647.js');
7
- var resolveHTTPResponse = require('../../resolveHTTPResponse-d73f215c.js');
7
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-11792475.js');
8
8
  var batchStreamFormatter = require('../../batchStreamFormatter-93cdcdd4.js');
9
9
  var adapters_ws = require('../ws.js');
10
10
  require('../../codes-87f6824b.js');
@@ -1,6 +1,6 @@
1
1
  import { Readable } from 'node:stream';
2
2
  import '../../index-f91d720c.mjs';
3
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-8d917a7c.mjs';
3
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-3aef2178.mjs';
4
4
  import { g as getBatchStreamFormatter } from '../../batchStreamFormatter-fc1ffb26.mjs';
5
5
  import { applyWSSHandler } from '../ws.mjs';
6
6
  import '../../codes-c924c3db.mjs';
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../index-784ff647.js');
6
- var resolveHTTPResponse = require('../../resolveHTTPResponse-d73f215c.js');
6
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-11792475.js');
7
7
  var batchStreamFormatter = require('../../batchStreamFormatter-93cdcdd4.js');
8
8
  require('../../codes-87f6824b.js');
9
9
  require('../../config-3156a1f1.js');
@@ -1,5 +1,5 @@
1
1
  import '../../index-f91d720c.mjs';
2
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-8d917a7c.mjs';
2
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-3aef2178.mjs';
3
3
  import { g as getBatchStreamFormatter } from '../../batchStreamFormatter-fc1ffb26.mjs';
4
4
  import '../../codes-c924c3db.mjs';
5
5
  import '../../config-cd32070b.mjs';
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var TRPCError = require('../TRPCError-d07099d1.js');
6
6
  var transformTRPCResponse = require('../transformTRPCResponse-e65f34e9.js');
7
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-3038c41d.js');
7
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-34adf7b8.js');
8
8
  require('../index-784ff647.js');
9
9
  require('../codes-87f6824b.js');
10
- require('../resolveHTTPResponse-d73f215c.js');
10
+ require('../resolveHTTPResponse-11792475.js');
11
11
  require('../config-3156a1f1.js');
12
12
  require('../contentType-5b601838.js');
13
13
  require('../batchStreamFormatter-93cdcdd4.js');
@@ -1,9 +1,9 @@
1
1
  import { T as TRPCError } from '../TRPCError-6a1653a4.mjs';
2
2
  import { g as getErrorShape } from '../transformTRPCResponse-1153b421.mjs';
3
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2b341e93.mjs';
3
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-842a1461.mjs';
4
4
  import '../index-f91d720c.mjs';
5
5
  import '../codes-c924c3db.mjs';
6
- import '../resolveHTTPResponse-8d917a7c.mjs';
6
+ import '../resolveHTTPResponse-3aef2178.mjs';
7
7
  import '../config-cd32070b.mjs';
8
8
  import '../contentType-53e30af8.mjs';
9
9
  import '../batchStreamFormatter-fc1ffb26.mjs';
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-3038c41d.js');
5
+ var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-34adf7b8.js');
6
6
  require('../../index-784ff647.js');
7
7
  require('../../codes-87f6824b.js');
8
- require('../../resolveHTTPResponse-d73f215c.js');
8
+ require('../../resolveHTTPResponse-11792475.js');
9
9
  require('../../config-3156a1f1.js');
10
10
  require('../../TRPCError-d07099d1.js');
11
11
  require('../../transformTRPCResponse-e65f34e9.js');
@@ -1,7 +1,7 @@
1
- export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-2b341e93.mjs';
1
+ export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-842a1461.mjs';
2
2
  import '../../index-f91d720c.mjs';
3
3
  import '../../codes-c924c3db.mjs';
4
- import '../../resolveHTTPResponse-8d917a7c.mjs';
4
+ import '../../resolveHTTPResponse-3aef2178.mjs';
5
5
  import '../../config-cd32070b.mjs';
6
6
  import '../../TRPCError-6a1653a4.mjs';
7
7
  import '../../transformTRPCResponse-1153b421.mjs';
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var http = require('node:http');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-3038c41d.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-34adf7b8.js');
7
7
  require('../index-784ff647.js');
8
8
  require('../codes-87f6824b.js');
9
- require('../resolveHTTPResponse-d73f215c.js');
9
+ require('../resolveHTTPResponse-11792475.js');
10
10
  require('../config-3156a1f1.js');
11
11
  require('../TRPCError-d07099d1.js');
12
12
  require('../transformTRPCResponse-e65f34e9.js');
@@ -1,8 +1,8 @@
1
1
  import http from 'node:http';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2b341e93.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-842a1461.mjs';
3
3
  import '../index-f91d720c.mjs';
4
4
  import '../codes-c924c3db.mjs';
5
- import '../resolveHTTPResponse-8d917a7c.mjs';
5
+ import '../resolveHTTPResponse-3aef2178.mjs';
6
6
  import '../config-cd32070b.mjs';
7
7
  import '../TRPCError-6a1653a4.mjs';
8
8
  import '../transformTRPCResponse-1153b421.mjs';
@@ -2,7 +2,7 @@ export type { AnyRouter, ProcedureRecord, ProcedureRouterRecord, CreateRouterInn
2
2
  export { callProcedure } from './router';
3
3
  export type { Procedure, AnyProcedure, AnyQueryProcedure, AnyMutationProcedure, AnySubscriptionProcedure, ProcedureParams, ProcedureArgs, ProcedureOptions, } from './procedure';
4
4
  export type { inferParser } from './parser';
5
- export { createInputMiddleware, createOutputMiddleware } from './middleware';
5
+ export { createInputMiddleware, createOutputMiddleware, experimental_standaloneMiddleware, } from './middleware';
6
6
  export type { MiddlewareFunction, MiddlewareBuilder } from './middleware';
7
7
  export { initTRPC } from './initTRPC';
8
8
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { TRPCError } from '../error/TRPCError';
2
2
  import { Simplify } from '../types';
3
- import { AnyRootConfig } from './internals/config';
3
+ import { AnyRootConfig, RootConfig } from './internals/config';
4
4
  import { ParseFn } from './internals/getParseFn';
5
5
  import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
6
6
  import { DefaultValue as FallbackValue, MiddlewareMarker, Overwrite } from './internals/utils';
@@ -71,11 +71,11 @@ type CreateMiddlewareReturnInput<TRoot extends ProcedureParams, TPrev extends Pr
71
71
  /**
72
72
  * @internal
73
73
  */
74
- type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
74
+ type deriveParamsFromConfig<TConfig extends AnyRootConfig, TInputIn = unknown> = {
75
75
  _config: TConfig;
76
76
  _ctx_out: {};
77
- _input_out: unknown;
78
- _input_in: unknown;
77
+ _input_out: TInputIn;
78
+ _input_in: TInputIn;
79
79
  _output_in: unknown;
80
80
  _output_out: unknown;
81
81
  _meta: TConfig['$types']['meta'];
@@ -114,7 +114,36 @@ export type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter ext
114
114
  /**
115
115
  * @internal
116
116
  */
117
- 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>;
117
+ export declare function createMiddlewareFactory<TConfig extends AnyRootConfig, TInputIn = unknown>(): <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams>) => MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams>;
118
+ export declare const experimental_standaloneMiddleware: <TCtx extends {
119
+ ctx?: object | undefined;
120
+ meta?: object | undefined;
121
+ input?: unknown;
122
+ }>() => {
123
+ create: <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<deriveParamsFromConfig<RootConfig<{
124
+ ctx: TCtx extends {
125
+ ctx: infer T extends object;
126
+ } ? T : object;
127
+ meta: TCtx extends {
128
+ meta: infer T_1 extends object;
129
+ } ? T_1 : object;
130
+ errorShape: object;
131
+ transformer: object;
132
+ }>, TCtx extends {
133
+ input: infer T_2;
134
+ } ? T_2 : unknown>, TNewParams>) => MiddlewareBuilder<deriveParamsFromConfig<RootConfig<{
135
+ ctx: TCtx extends {
136
+ ctx: infer T extends object;
137
+ } ? T : object;
138
+ meta: TCtx extends {
139
+ meta: infer T_1 extends object;
140
+ } ? T_1 : object;
141
+ errorShape: object;
142
+ transformer: object;
143
+ }>, TCtx extends {
144
+ input: infer T_2;
145
+ } ? T_2 : unknown>, TNewParams>;
146
+ };
118
147
  /**
119
148
  * @internal
120
149
  * 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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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var index = require('../index-784ff647.js');
6
- var resolveHTTPResponse = require('../resolveHTTPResponse-d73f215c.js');
6
+ var resolveHTTPResponse = require('../resolveHTTPResponse-11792475.js');
7
7
  var batchStreamFormatter = require('../batchStreamFormatter-93cdcdd4.js');
8
8
  require('../codes-87f6824b.js');
9
9
  require('../config-3156a1f1.js');
@@ -1,5 +1,5 @@
1
1
  export { T as TRPC_ERROR_CODES_BY_NUMBER, b as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../index-f91d720c.mjs';
2
- export { r as resolveHTTPResponse } from '../resolveHTTPResponse-8d917a7c.mjs';
2
+ export { r as resolveHTTPResponse } from '../resolveHTTPResponse-3aef2178.mjs';
3
3
  export { g as getBatchStreamFormatter } from '../batchStreamFormatter-fc1ffb26.mjs';
4
4
  import '../codes-c924c3db.mjs';
5
5
  import '../config-cd32070b.mjs';
package/dist/index.js CHANGED
@@ -263,6 +263,9 @@ function getParseFn(procedureParser) {
263
263
  }
264
264
  return createMiddleware;
265
265
  }
266
+ const experimental_standaloneMiddleware = ()=>({
267
+ create: createMiddlewareFactory()
268
+ });
266
269
  function isPlainObject(obj) {
267
270
  return obj && typeof obj === 'object' && !Array.isArray(obj);
268
271
  }
@@ -872,5 +875,6 @@ exports.TRPCError = TRPCError.TRPCError;
872
875
  exports.getTRPCErrorFromUnknown = TRPCError.getTRPCErrorFromUnknown;
873
876
  exports.createInputMiddleware = createInputMiddleware;
874
877
  exports.createOutputMiddleware = createOutputMiddleware;
878
+ exports.experimental_standaloneMiddleware = experimental_standaloneMiddleware;
875
879
  exports.initTRPC = initTRPC;
876
880
  exports.router = router;
package/dist/index.mjs CHANGED
@@ -261,6 +261,9 @@ function getParseFn(procedureParser) {
261
261
  }
262
262
  return createMiddleware;
263
263
  }
264
+ const experimental_standaloneMiddleware = ()=>({
265
+ create: createMiddlewareFactory()
266
+ });
264
267
  function isPlainObject(obj) {
265
268
  return obj && typeof obj === 'object' && !Array.isArray(obj);
266
269
  }
@@ -862,4 +865,4 @@ function createTRPCInner() {
862
865
  };
863
866
  }
864
867
 
865
- export { createInputMiddleware, createOutputMiddleware, initTRPC, router };
868
+ export { createInputMiddleware, createOutputMiddleware, experimental_standaloneMiddleware, initTRPC, router };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('./index-784ff647.js');
4
- var resolveHTTPResponse = require('./resolveHTTPResponse-d73f215c.js');
4
+ var resolveHTTPResponse = require('./resolveHTTPResponse-11792475.js');
5
5
  var batchStreamFormatter = require('./batchStreamFormatter-93cdcdd4.js');
6
6
  var adapters_nodeHttp_contentType_json_index = require('./adapters/node-http/content-type/json/index.js');
7
7
 
@@ -1,5 +1,5 @@
1
1
  import './index-f91d720c.mjs';
2
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-8d917a7c.mjs';
2
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-3aef2178.mjs';
3
3
  import { g as getBatchStreamFormatter } from './batchStreamFormatter-fc1ffb26.mjs';
4
4
  import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.mjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import './index-46cb3130.js';
2
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-f49de169.js';
2
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-d6110ed7.js';
3
3
  import { g as getBatchStreamFormatter } from './batchStreamFormatter-2c1405a1.js';
4
4
  import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.js';
5
5
 
@@ -155,7 +155,7 @@ async function resolveHTTPResponse(opts) {
155
155
  router,
156
156
  preprocessedBody: opts.preprocessedBody ?? false
157
157
  });
158
- paths = isBatchCall ? opts.path.split(',') : [
158
+ paths = isBatchCall ? decodeURIComponent(opts.path).split(',') : [
159
159
  opts.path
160
160
  ];
161
161
  ctx = await opts.createContext();
@@ -153,7 +153,7 @@ async function resolveHTTPResponse(opts) {
153
153
  router,
154
154
  preprocessedBody: opts.preprocessedBody ?? false
155
155
  });
156
- paths = isBatchCall ? opts.path.split(',') : [
156
+ paths = isBatchCall ? decodeURIComponent(opts.path).split(',') : [
157
157
  opts.path
158
158
  ];
159
159
  ctx = await opts.createContext();
@@ -150,7 +150,9 @@ async function resolveHTTPResponse(opts) {
150
150
  router,
151
151
  preprocessedBody: opts.preprocessedBody ?? false,
152
152
  });
153
- paths = isBatchCall ? opts.path.split(',') : [opts.path];
153
+ paths = isBatchCall
154
+ ? decodeURIComponent(opts.path).split(',')
155
+ : [opts.path];
154
156
  ctx = await opts.createContext();
155
157
  const promises = paths.map((path, index) => inputToProcedureCall({ opts, ctx, type, input: inputs[index], path }));
156
158
  if (!isStreamCall) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.37.0",
3
+ "version": "10.38.0",
4
4
  "description": "The tRPC server library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -165,7 +165,7 @@
165
165
  "tslib": "^2.5.0",
166
166
  "tsx": "^3.12.7",
167
167
  "typescript": "^5.1.3",
168
- "valibot": "^0.8.0",
168
+ "valibot": "^0.12.0",
169
169
  "vitest": "^0.32.0",
170
170
  "ws": "^8.0.0",
171
171
  "yup": "^1.0.0",
@@ -174,5 +174,5 @@
174
174
  "funding": [
175
175
  "https://trpc.io/sponsor"
176
176
  ],
177
- "gitHead": "5ffd21ca8d2ff505fef105db15b1e5e299e4ba19"
177
+ "gitHead": "a811287aae324c1e947f9620e9aab4de79c98bed"
178
178
  }
package/src/core/index.ts CHANGED
@@ -17,7 +17,11 @@ export type {
17
17
  ProcedureOptions,
18
18
  } from './procedure';
19
19
  export type { inferParser } from './parser';
20
- export { createInputMiddleware, createOutputMiddleware } from './middleware';
20
+ export {
21
+ createInputMiddleware,
22
+ createOutputMiddleware,
23
+ experimental_standaloneMiddleware,
24
+ } from './middleware';
21
25
  export type { MiddlewareFunction, MiddlewareBuilder } from './middleware';
22
26
  export { initTRPC } from './initTRPC';
23
27
  export * from './types';
@@ -1,6 +1,6 @@
1
1
  import { TRPCError } from '../error/TRPCError';
2
2
  import { Simplify } from '../types';
3
- import { AnyRootConfig } from './internals/config';
3
+ import { AnyRootConfig, RootConfig } from './internals/config';
4
4
  import { ParseFn } from './internals/getParseFn';
5
5
  import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
6
6
  import {
@@ -111,12 +111,15 @@ type CreateMiddlewareReturnInput<
111
111
  /**
112
112
  * @internal
113
113
  */
114
- type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
114
+ type deriveParamsFromConfig<
115
+ TConfig extends AnyRootConfig,
116
+ TInputIn = unknown,
117
+ > = {
115
118
  _config: TConfig;
116
119
  // eslint-disable-next-line @typescript-eslint/ban-types
117
120
  _ctx_out: {};
118
- _input_out: unknown;
119
- _input_in: unknown;
121
+ _input_out: TInputIn;
122
+ _input_in: TInputIn;
120
123
  _output_in: unknown;
121
124
  _output_out: unknown;
122
125
  _meta: TConfig['$types']['meta'];
@@ -159,10 +162,13 @@ export type MiddlewareFunction<
159
162
  /**
160
163
  * @internal
161
164
  */
162
- export function createMiddlewareFactory<TConfig extends AnyRootConfig>() {
165
+ export function createMiddlewareFactory<
166
+ TConfig extends AnyRootConfig,
167
+ TInputIn = unknown,
168
+ >() {
163
169
  function createMiddlewareInner<TNewParams extends ProcedureParams>(
164
170
  middlewares: MiddlewareFunction<any, any>[],
165
- ): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
171
+ ): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
166
172
  return {
167
173
  _middlewares: middlewares,
168
174
  unstable_pipe(middlewareBuilderOrFn) {
@@ -180,14 +186,35 @@ export function createMiddlewareFactory<TConfig extends AnyRootConfig>() {
180
186
  }
181
187
 
182
188
  function createMiddleware<TNewParams extends ProcedureParams>(
183
- fn: MiddlewareFunction<deriveParamsFromConfig<TConfig>, TNewParams>,
184
- ): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
189
+ fn: MiddlewareFunction<
190
+ deriveParamsFromConfig<TConfig, TInputIn>,
191
+ TNewParams
192
+ >,
193
+ ): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
185
194
  return createMiddlewareInner([fn]);
186
195
  }
187
196
 
188
197
  return createMiddleware;
189
198
  }
190
199
 
200
+ export const experimental_standaloneMiddleware = <
201
+ TCtx extends {
202
+ ctx?: object;
203
+ meta?: object;
204
+ input?: unknown;
205
+ },
206
+ >() => ({
207
+ create: createMiddlewareFactory<
208
+ RootConfig<{
209
+ ctx: TCtx extends { ctx: infer T extends object } ? T : object;
210
+ meta: TCtx extends { meta: infer T extends object } ? T : object;
211
+ errorShape: object;
212
+ transformer: object;
213
+ }>,
214
+ TCtx extends { input: infer T } ? T : unknown
215
+ >(),
216
+ });
217
+
191
218
  function isPlainObject(obj: unknown) {
192
219
  return obj && typeof obj === 'object' && !Array.isArray(obj);
193
220
  }
@@ -314,7 +314,9 @@ export async function resolveHTTPResponse<
314
314
  preprocessedBody: opts.preprocessedBody ?? false,
315
315
  });
316
316
 
317
- paths = isBatchCall ? opts.path.split(',') : [opts.path];
317
+ paths = isBatchCall
318
+ ? decodeURIComponent(opts.path).split(',')
319
+ : [opts.path];
318
320
  ctx = await opts.createContext();
319
321
  const promises = paths.map((path, index) =>
320
322
  inputToProcedureCall({ opts, ctx, type, input: inputs[index], path }),