@trpc/server 10.25.1 → 10.27.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 (77) hide show
  1. package/dist/adapters/aws-lambda/index.js +5 -5
  2. package/dist/adapters/aws-lambda/index.mjs +5 -5
  3. package/dist/adapters/express.js +6 -6
  4. package/dist/adapters/express.mjs +6 -6
  5. package/dist/adapters/fastify/index.js +5 -5
  6. package/dist/adapters/fastify/index.mjs +5 -5
  7. package/dist/adapters/fetch/index.js +5 -5
  8. package/dist/adapters/fetch/index.mjs +5 -5
  9. package/dist/adapters/next.d.ts.map +1 -1
  10. package/dist/adapters/next.js +8 -7
  11. package/dist/adapters/next.mjs +8 -7
  12. package/dist/adapters/node-http/index.js +6 -6
  13. package/dist/adapters/node-http/index.mjs +6 -6
  14. package/dist/adapters/standalone.js +6 -6
  15. package/dist/adapters/standalone.mjs +6 -6
  16. package/dist/adapters/ws.d.ts.map +1 -1
  17. package/dist/adapters/ws.js +13 -9
  18. package/dist/adapters/ws.mjs +13 -9
  19. package/dist/{codes-0a561c20.js → codes-0eeb600d.js} +3 -1
  20. package/dist/{codes-e5d244b6.mjs → codes-24aa1ce1.mjs} +3 -1
  21. package/dist/{codes-dddd9731.js → codes-b3c262d8.js} +3 -0
  22. package/dist/{config-2d85b8f0.js → config-91ab0b1d.js} +3 -47
  23. package/dist/{config-f0387de5.mjs → config-d1cf9de0.mjs} +3 -49
  24. package/dist/{config-e6e74385.js → config-f355c4d8.js} +3 -52
  25. package/dist/core/router.d.ts +4 -0
  26. package/dist/core/router.d.ts.map +1 -1
  27. package/dist/core/types.d.ts +1 -1
  28. package/dist/core/types.d.ts.map +1 -1
  29. package/dist/http/index.js +8 -8
  30. package/dist/http/index.mjs +5 -5
  31. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  32. package/dist/index-315a9f08.mjs +96 -0
  33. package/dist/index-8e243a74.js +102 -0
  34. package/dist/index-cddfa242.js +93 -0
  35. package/dist/index.js +4 -4
  36. package/dist/index.mjs +4 -4
  37. package/dist/internals/invert.d.ts +3 -0
  38. package/dist/internals/invert.d.ts.map +1 -1
  39. package/dist/internals/types.d.ts +4 -0
  40. package/dist/internals/types.d.ts.map +1 -1
  41. package/dist/{nodeHTTPRequestHandler-ace6dac5.js → nodeHTTPRequestHandler-7762c7d4.js} +1 -1
  42. package/dist/{nodeHTTPRequestHandler-f0efcff4.mjs → nodeHTTPRequestHandler-8a261b10.mjs} +1 -1
  43. package/dist/{nodeHTTPRequestHandler-54aea883.js → nodeHTTPRequestHandler-fc509b47.js} +1 -1
  44. package/dist/{resolveHTTPResponse-a7abb046.js → resolveHTTPResponse-27fe1108.js} +9 -6
  45. package/dist/{resolveHTTPResponse-e1286cb3.mjs → resolveHTTPResponse-36f4e729.mjs} +8 -5
  46. package/dist/{resolveHTTPResponse-9a9f3436.js → resolveHTTPResponse-5f8945d7.js} +8 -5
  47. package/dist/rpc/index.js +1 -1
  48. package/dist/rpc/index.mjs +1 -1
  49. package/dist/shared/getErrorShape.d.ts +15 -0
  50. package/dist/shared/getErrorShape.d.ts.map +1 -0
  51. package/dist/shared/index.d.ts +2 -1
  52. package/dist/shared/index.d.ts.map +1 -1
  53. package/dist/shared/index.js +4 -2
  54. package/dist/shared/index.mjs +3 -2
  55. package/dist/shared/transformTRPCResponse.d.ts +2 -2
  56. package/dist/shared/transformTRPCResponse.d.ts.map +1 -1
  57. package/dist/transformTRPCResponse-6887ae6d.mjs +53 -0
  58. package/dist/transformTRPCResponse-8cb7e890.js +54 -0
  59. package/dist/transformTRPCResponse-f7b2ffd1.js +56 -0
  60. package/package.json +3 -3
  61. package/src/adapters/next.ts +3 -1
  62. package/src/adapters/ws.ts +12 -5
  63. package/src/core/initTRPC.ts +1 -1
  64. package/src/core/router.ts +6 -2
  65. package/src/core/types.ts +1 -1
  66. package/src/http/resolveHTTPResponse.ts +10 -4
  67. package/src/internals/invert.ts +3 -0
  68. package/src/internals/types.ts +4 -0
  69. package/src/shared/getErrorShape.ts +35 -0
  70. package/src/shared/index.ts +3 -1
  71. package/src/shared/transformTRPCResponse.ts +7 -9
  72. package/dist/index-4d2d31b6.js +0 -51
  73. package/dist/index-972002da.mjs +0 -48
  74. package/dist/index-f38f12ba.js +0 -47
  75. package/dist/transformTRPCResponse-0ea8c0ca.mjs +0 -25
  76. package/dist/transformTRPCResponse-560a1eb1.js +0 -28
  77. package/dist/transformTRPCResponse-8afb9a5c.js +0 -27
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var TRPCError = require('./TRPCError-16b2e52d.js');
4
- var codes = require('./codes-0a561c20.js');
5
- var index = require('./index-4d2d31b6.js');
4
+ var index = require('./index-8e243a74.js');
5
+ var codes = require('./codes-0eeb600d.js');
6
6
 
7
7
  /**
8
8
  * @public
@@ -35,52 +35,6 @@ const defaultFormatter = ({ shape })=>{
35
35
  return shape;
36
36
  };
37
37
 
38
- const TRPC_ERROR_CODES_BY_NUMBER = codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
39
- const JSONRPC2_TO_HTTP_CODE = {
40
- PARSE_ERROR: 400,
41
- BAD_REQUEST: 400,
42
- NOT_FOUND: 404,
43
- INTERNAL_SERVER_ERROR: 500,
44
- UNAUTHORIZED: 401,
45
- FORBIDDEN: 403,
46
- TIMEOUT: 408,
47
- CONFLICT: 409,
48
- CLIENT_CLOSED_REQUEST: 499,
49
- PRECONDITION_FAILED: 412,
50
- PAYLOAD_TOO_LARGE: 413,
51
- METHOD_NOT_SUPPORTED: 405,
52
- UNPROCESSABLE_CONTENT: 422,
53
- TOO_MANY_REQUESTS: 429
54
- };
55
- function getStatusCodeFromKey(code) {
56
- return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
57
- }
58
- function getHTTPStatusCode(json) {
59
- const arr = Array.isArray(json) ? json : [
60
- json
61
- ];
62
- const httpStatuses = new Set(arr.map((res)=>{
63
- if ('error' in res) {
64
- const data = res.error.data;
65
- if (typeof data.httpStatus === 'number') {
66
- return data.httpStatus;
67
- }
68
- const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
69
- return getStatusCodeFromKey(code);
70
- }
71
- return 200;
72
- }));
73
- if (httpStatuses.size !== 1) {
74
- return 207;
75
- }
76
- const httpStatus = httpStatuses.values().next().value;
77
- return httpStatus;
78
- }
79
- function getHTTPStatusCodeFromError(error) {
80
- const { code } = error;
81
- return getStatusCodeFromKey(code);
82
- }
83
-
84
38
  /**
85
39
  * Create an object without inheriting anything from `Object.prototype`
86
40
  * @internal
@@ -220,7 +174,7 @@ const emptyRouter = {
220
174
  code: codes.TRPC_ERROR_CODES_BY_KEY[code],
221
175
  data: {
222
176
  code,
223
- httpStatus: getHTTPStatusCodeFromError(error)
177
+ httpStatus: index.getHTTPStatusCodeFromError(error)
224
178
  }
225
179
  };
226
180
  if (config.isDev && typeof opts.error.stack === 'string') {
@@ -256,13 +210,10 @@ const emptyRouter = {
256
210
  * The default check to see if we're in a server
257
211
  */ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || globalThis.process?.env?.NODE_ENV === 'test' || !!globalThis.process?.env?.JEST_WORKER_ID || !!globalThis.process?.env?.VITEST_WORKER_ID;
258
212
 
259
- exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
260
213
  exports.callProcedure = callProcedure;
261
214
  exports.createRouterFactory = createRouterFactory;
262
215
  exports.defaultFormatter = defaultFormatter;
263
216
  exports.defaultTransformer = defaultTransformer;
264
217
  exports.getDataTransformer = getDataTransformer;
265
- exports.getHTTPStatusCode = getHTTPStatusCode;
266
- exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
267
218
  exports.isServerDefault = isServerDefault;
268
219
  exports.procedureTypes = procedureTypes;
@@ -77,6 +77,10 @@ declare type RouterCaller<TDef extends AnyRouterDef> = (ctx: TDef['_config']['$t
77
77
  export interface Router<TDef extends AnyRouterDef> {
78
78
  _def: TDef;
79
79
  createCaller: RouterCaller<TDef>;
80
+ /**
81
+ * @deprecated
82
+ * FIXME: use the new standalone `getErrorShape` instead
83
+ */
80
84
  getErrorShape(opts: {
81
85
  error: TRPCError;
82
86
  type: ProcedureType | 'unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { inferObservableValue } from '../observable';
2
- import { inferTransformedProcedureOutput } from '../shared';
2
+ import { inferTransformedProcedureOutput } from '../shared/jsonify';
3
3
  import { AnyProcedure, ProcedureArgs } from './procedure';
4
4
  import { AnyRouter, AnyRouterDef, Router } from './router';
5
5
  export declare type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<infer TParams> ? TParams extends AnyRouterDef<any> ? TParams : never : never;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('../config-e6e74385.js');
6
- var resolveHTTPResponse = require('../resolveHTTPResponse-a7abb046.js');
5
+ var index = require('../index-8e243a74.js');
6
+ var resolveHTTPResponse = require('../resolveHTTPResponse-27fe1108.js');
7
+ require('../codes-0eeb600d.js');
8
+ require('../config-f355c4d8.js');
7
9
  require('../TRPCError-16b2e52d.js');
8
- require('../codes-0a561c20.js');
9
- require('../index-4d2d31b6.js');
10
- require('../transformTRPCResponse-8afb9a5c.js');
10
+ require('../transformTRPCResponse-f7b2ffd1.js');
11
11
  require('../contentType-8356d528.js');
12
12
 
13
13
 
14
14
 
15
- exports.TRPC_ERROR_CODES_BY_NUMBER = config.TRPC_ERROR_CODES_BY_NUMBER;
16
- exports.getHTTPStatusCode = config.getHTTPStatusCode;
17
- exports.getHTTPStatusCodeFromError = config.getHTTPStatusCodeFromError;
15
+ exports.TRPC_ERROR_CODES_BY_NUMBER = index.TRPC_ERROR_CODES_BY_NUMBER;
16
+ exports.getHTTPStatusCode = index.getHTTPStatusCode;
17
+ exports.getHTTPStatusCodeFromError = index.getHTTPStatusCodeFromError;
18
18
  exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
@@ -1,7 +1,7 @@
1
- export { T as TRPC_ERROR_CODES_BY_NUMBER, f as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../config-f0387de5.mjs';
2
- export { r as resolveHTTPResponse } from '../resolveHTTPResponse-e1286cb3.mjs';
1
+ export { T as TRPC_ERROR_CODES_BY_NUMBER, b as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../index-315a9f08.mjs';
2
+ export { r as resolveHTTPResponse } from '../resolveHTTPResponse-36f4e729.mjs';
3
+ import '../codes-24aa1ce1.mjs';
4
+ import '../config-d1cf9de0.mjs';
3
5
  import '../TRPCError-2b10c8d2.mjs';
4
- import '../codes-e5d244b6.mjs';
5
- import '../index-972002da.mjs';
6
- import '../transformTRPCResponse-0ea8c0ca.mjs';
6
+ import '../transformTRPCResponse-6887ae6d.mjs';
7
7
  import '../contentType-acc3be52.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAA2B,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAc9D,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CA8K3E"}
1
+ {"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAA2B,MAAM,oBAAoB,CAAC;AAIxE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAc9D,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAmL3E"}
@@ -0,0 +1,96 @@
1
+ import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';
2
+
3
+ const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
4
+ const JSONRPC2_TO_HTTP_CODE = {
5
+ PARSE_ERROR: 400,
6
+ BAD_REQUEST: 400,
7
+ NOT_FOUND: 404,
8
+ INTERNAL_SERVER_ERROR: 500,
9
+ UNAUTHORIZED: 401,
10
+ FORBIDDEN: 403,
11
+ TIMEOUT: 408,
12
+ CONFLICT: 409,
13
+ CLIENT_CLOSED_REQUEST: 499,
14
+ PRECONDITION_FAILED: 412,
15
+ PAYLOAD_TOO_LARGE: 413,
16
+ METHOD_NOT_SUPPORTED: 405,
17
+ UNPROCESSABLE_CONTENT: 422,
18
+ TOO_MANY_REQUESTS: 429
19
+ };
20
+ function getStatusCodeFromKey(code) {
21
+ return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
22
+ }
23
+ function getHTTPStatusCode(json) {
24
+ const arr = Array.isArray(json) ? json : [
25
+ json
26
+ ];
27
+ const httpStatuses = new Set(arr.map((res)=>{
28
+ if ('error' in res) {
29
+ const data = res.error.data;
30
+ if (typeof data.httpStatus === 'number') {
31
+ return data.httpStatus;
32
+ }
33
+ const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
34
+ return getStatusCodeFromKey(code);
35
+ }
36
+ return 200;
37
+ }));
38
+ if (httpStatuses.size !== 1) {
39
+ return 207;
40
+ }
41
+ const httpStatus = httpStatuses.values().next().value;
42
+ return httpStatus;
43
+ }
44
+ function getHTTPStatusCodeFromError(error) {
45
+ const { code } = error;
46
+ return getStatusCodeFromKey(code);
47
+ }
48
+
49
+ const noop = ()=>{
50
+ // noop
51
+ };
52
+ function createInnerProxy(callback, path) {
53
+ const proxy = new Proxy(noop, {
54
+ get (_obj, key) {
55
+ if (typeof key !== 'string' || key === 'then') {
56
+ // special case for if the proxy is accidentally treated
57
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
58
+ return undefined;
59
+ }
60
+ return createInnerProxy(callback, [
61
+ ...path,
62
+ key
63
+ ]);
64
+ },
65
+ apply (_1, _2, args) {
66
+ return callback({
67
+ args,
68
+ path
69
+ });
70
+ }
71
+ });
72
+ return proxy;
73
+ }
74
+ /**
75
+ * Creates a proxy that calls the callback with the path and arguments
76
+ *
77
+ * @internal
78
+ */ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
79
+ /**
80
+ * Used in place of `new Proxy` where each handler will map 1 level deep to another value.
81
+ *
82
+ * @internal
83
+ */ const createFlatProxy = (callback)=>{
84
+ return new Proxy(noop, {
85
+ get (_obj, name) {
86
+ if (typeof name !== 'string' || name === 'then') {
87
+ // special case for if the proxy is accidentally treated
88
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
89
+ return undefined;
90
+ }
91
+ return callback(name);
92
+ }
93
+ });
94
+ };
95
+
96
+ export { TRPC_ERROR_CODES_BY_NUMBER as T, createRecursiveProxy as a, getHTTPStatusCode as b, createFlatProxy as c, getHTTPStatusCodeFromError as g };
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ var codes = require('./codes-0eeb600d.js');
4
+
5
+ const TRPC_ERROR_CODES_BY_NUMBER = codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
6
+ const JSONRPC2_TO_HTTP_CODE = {
7
+ PARSE_ERROR: 400,
8
+ BAD_REQUEST: 400,
9
+ NOT_FOUND: 404,
10
+ INTERNAL_SERVER_ERROR: 500,
11
+ UNAUTHORIZED: 401,
12
+ FORBIDDEN: 403,
13
+ TIMEOUT: 408,
14
+ CONFLICT: 409,
15
+ CLIENT_CLOSED_REQUEST: 499,
16
+ PRECONDITION_FAILED: 412,
17
+ PAYLOAD_TOO_LARGE: 413,
18
+ METHOD_NOT_SUPPORTED: 405,
19
+ UNPROCESSABLE_CONTENT: 422,
20
+ TOO_MANY_REQUESTS: 429
21
+ };
22
+ function getStatusCodeFromKey(code) {
23
+ return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
24
+ }
25
+ function getHTTPStatusCode(json) {
26
+ const arr = Array.isArray(json) ? json : [
27
+ json
28
+ ];
29
+ const httpStatuses = new Set(arr.map((res)=>{
30
+ if ('error' in res) {
31
+ const data = res.error.data;
32
+ if (typeof data.httpStatus === 'number') {
33
+ return data.httpStatus;
34
+ }
35
+ const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
36
+ return getStatusCodeFromKey(code);
37
+ }
38
+ return 200;
39
+ }));
40
+ if (httpStatuses.size !== 1) {
41
+ return 207;
42
+ }
43
+ const httpStatus = httpStatuses.values().next().value;
44
+ return httpStatus;
45
+ }
46
+ function getHTTPStatusCodeFromError(error) {
47
+ const { code } = error;
48
+ return getStatusCodeFromKey(code);
49
+ }
50
+
51
+ const noop = ()=>{
52
+ // noop
53
+ };
54
+ function createInnerProxy(callback, path) {
55
+ const proxy = new Proxy(noop, {
56
+ get (_obj, key) {
57
+ if (typeof key !== 'string' || key === 'then') {
58
+ // special case for if the proxy is accidentally treated
59
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
60
+ return undefined;
61
+ }
62
+ return createInnerProxy(callback, [
63
+ ...path,
64
+ key
65
+ ]);
66
+ },
67
+ apply (_1, _2, args) {
68
+ return callback({
69
+ args,
70
+ path
71
+ });
72
+ }
73
+ });
74
+ return proxy;
75
+ }
76
+ /**
77
+ * Creates a proxy that calls the callback with the path and arguments
78
+ *
79
+ * @internal
80
+ */ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
81
+ /**
82
+ * Used in place of `new Proxy` where each handler will map 1 level deep to another value.
83
+ *
84
+ * @internal
85
+ */ const createFlatProxy = (callback)=>{
86
+ return new Proxy(noop, {
87
+ get (_obj, name) {
88
+ if (typeof name !== 'string' || name === 'then') {
89
+ // special case for if the proxy is accidentally treated
90
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
91
+ return undefined;
92
+ }
93
+ return callback(name);
94
+ }
95
+ });
96
+ };
97
+
98
+ exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
99
+ exports.createFlatProxy = createFlatProxy;
100
+ exports.createRecursiveProxy = createRecursiveProxy;
101
+ exports.getHTTPStatusCode = getHTTPStatusCode;
102
+ exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
@@ -0,0 +1,93 @@
1
+ import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-b3c262d8.js';
2
+
3
+ const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
4
+ const JSONRPC2_TO_HTTP_CODE = {
5
+ PARSE_ERROR: 400,
6
+ BAD_REQUEST: 400,
7
+ NOT_FOUND: 404,
8
+ INTERNAL_SERVER_ERROR: 500,
9
+ UNAUTHORIZED: 401,
10
+ FORBIDDEN: 403,
11
+ TIMEOUT: 408,
12
+ CONFLICT: 409,
13
+ CLIENT_CLOSED_REQUEST: 499,
14
+ PRECONDITION_FAILED: 412,
15
+ PAYLOAD_TOO_LARGE: 413,
16
+ METHOD_NOT_SUPPORTED: 405,
17
+ UNPROCESSABLE_CONTENT: 422,
18
+ TOO_MANY_REQUESTS: 429,
19
+ };
20
+ function getStatusCodeFromKey(code) {
21
+ return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
22
+ }
23
+ function getHTTPStatusCode(json) {
24
+ const arr = Array.isArray(json) ? json : [json];
25
+ const httpStatuses = new Set(arr.map((res) => {
26
+ if ('error' in res) {
27
+ const data = res.error.data;
28
+ if (typeof data.httpStatus === 'number') {
29
+ return data.httpStatus;
30
+ }
31
+ const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
32
+ return getStatusCodeFromKey(code);
33
+ }
34
+ return 200;
35
+ }));
36
+ if (httpStatuses.size !== 1) {
37
+ return 207;
38
+ }
39
+ const httpStatus = httpStatuses.values().next().value;
40
+ return httpStatus;
41
+ }
42
+ function getHTTPStatusCodeFromError(error) {
43
+ const { code } = error;
44
+ return getStatusCodeFromKey(code);
45
+ }
46
+
47
+ const noop = () => {
48
+ // noop
49
+ };
50
+ function createInnerProxy(callback, path) {
51
+ const proxy = new Proxy(noop, {
52
+ get(_obj, key) {
53
+ if (typeof key !== 'string' || key === 'then') {
54
+ // special case for if the proxy is accidentally treated
55
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
56
+ return undefined;
57
+ }
58
+ return createInnerProxy(callback, [...path, key]);
59
+ },
60
+ apply(_1, _2, args) {
61
+ return callback({
62
+ args,
63
+ path,
64
+ });
65
+ },
66
+ });
67
+ return proxy;
68
+ }
69
+ /**
70
+ * Creates a proxy that calls the callback with the path and arguments
71
+ *
72
+ * @internal
73
+ */
74
+ const createRecursiveProxy = (callback) => createInnerProxy(callback, []);
75
+ /**
76
+ * Used in place of `new Proxy` where each handler will map 1 level deep to another value.
77
+ *
78
+ * @internal
79
+ */
80
+ const createFlatProxy = (callback) => {
81
+ return new Proxy(noop, {
82
+ get(_obj, name) {
83
+ if (typeof name !== 'string' || name === 'then') {
84
+ // special case for if the proxy is accidentally treated
85
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
86
+ return undefined;
87
+ }
88
+ return callback(name);
89
+ },
90
+ });
91
+ };
92
+
93
+ export { TRPC_ERROR_CODES_BY_NUMBER as T, createRecursiveProxy as a, getHTTPStatusCode as b, createFlatProxy as c, getHTTPStatusCodeFromError as g };
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('./config-e6e74385.js');
5
+ var config = require('./config-f355c4d8.js');
6
6
  var TRPCError = require('./TRPCError-16b2e52d.js');
7
- var codes = require('./codes-0a561c20.js');
8
- var index = require('./index-4d2d31b6.js');
7
+ var index = require('./index-8e243a74.js');
8
+ var codes = require('./codes-0eeb600d.js');
9
9
 
10
10
  /**
11
11
  * @deprecated
@@ -710,7 +710,7 @@ function safeObject(...args) {
710
710
  code: codes.TRPC_ERROR_CODES_BY_KEY[code],
711
711
  data: {
712
712
  code,
713
- httpStatus: config.getHTTPStatusCodeFromError(error)
713
+ httpStatus: index.getHTTPStatusCodeFromError(error)
714
714
  }
715
715
  };
716
716
  if (globalThis.process?.env?.NODE_ENV !== 'production' && typeof opts.error.stack === 'string') {
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { c as createRouterFactory, d as defaultFormatter, g as getHTTPStatusCodeFromError, a as defaultTransformer, b as getDataTransformer$1, i as isServerDefault } from './config-f0387de5.mjs';
2
- export { e as callProcedure, a as defaultTransformer, b as getDataTransformer, p as procedureTypes } from './config-f0387de5.mjs';
1
+ import { c as createRouterFactory, d as defaultFormatter, a as defaultTransformer, g as getDataTransformer$1, i as isServerDefault } from './config-d1cf9de0.mjs';
2
+ export { b as callProcedure, a as defaultTransformer, g as getDataTransformer, p as procedureTypes } from './config-d1cf9de0.mjs';
3
3
  import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
4
4
  export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
5
- import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-e5d244b6.mjs';
6
- import { c as createFlatProxy } from './index-972002da.mjs';
5
+ import { g as getHTTPStatusCodeFromError, c as createFlatProxy } from './index-315a9f08.mjs';
6
+ import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';
7
7
 
8
8
  /**
9
9
  * @deprecated
@@ -4,6 +4,9 @@ declare type KeyFromValue<TValue, TType extends Record<PropertyKey, PropertyKey>
4
4
  declare type Invert<TType extends Record<PropertyKey, PropertyKey>> = {
5
5
  [TValue in TType[keyof TType]]: KeyFromValue<TValue, TType>;
6
6
  };
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare function invert<TRecord extends Record<PropertyKey, PropertyKey>>(obj: TRecord): Invert<TRecord>;
8
11
  export {};
9
12
  //# sourceMappingURL=invert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/internals/invert.ts"],"names":[],"mappings":"AAAA,aAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,aAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAEF,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACrE,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,OAAO,CAAC,CAOjB"}
1
+ {"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/internals/invert.ts"],"names":[],"mappings":"AAAA,aAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,aAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACrE,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,OAAO,CAAC,CAOjB"}
@@ -3,6 +3,7 @@ import { AnyRouter } from '../core/router';
3
3
  import { TRPCError } from '../error/TRPCError';
4
4
  /**
5
5
  * Base interface for any response handler
6
+ * @internal
6
7
  */
7
8
  export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
8
9
  onError?: OnErrorFunction<TRouter, TRequest>;
@@ -11,6 +12,9 @@ export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
11
12
  };
12
13
  router: TRouter;
13
14
  }
15
+ /**
16
+ * @internal
17
+ */
14
18
  export declare type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
15
19
  error: TRPCError;
16
20
  type: ProcedureType | 'unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-a7abb046.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-27fe1108.js');
4
4
  var adapters_nodeHttp_contentType_json_index = require('./adapters/node-http/content-type/json/index.js');
5
5
 
6
6
  const defaultJSONContentTypeHandler = adapters_nodeHttp_contentType_json_index.nodeHTTPJSONContentTypeHandler();
@@ -1,4 +1,4 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-e1286cb3.mjs';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-36f4e729.mjs';
2
2
  import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.mjs';
3
3
 
4
4
  const defaultJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler();
@@ -1,4 +1,4 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-9a9f3436.js';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-5f8945d7.js';
2
2
  import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.js';
3
3
 
4
4
  const defaultJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler();
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var config = require('./config-e6e74385.js');
3
+ var config = require('./config-f355c4d8.js');
4
4
  var TRPCError = require('./TRPCError-16b2e52d.js');
5
- var transformTRPCResponse = require('./transformTRPCResponse-8afb9a5c.js');
5
+ var transformTRPCResponse = require('./transformTRPCResponse-f7b2ffd1.js');
6
6
  var contentType = require('./contentType-8356d528.js');
7
+ var index = require('./index-8e243a74.js');
7
8
 
8
9
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
9
10
  GET: 'query',
@@ -27,7 +28,7 @@ async function resolveHTTPResponse(opts) {
27
28
  let paths = undefined;
28
29
  const isBatchCall = !!req.query.get('batch');
29
30
  function endResponse(untransformedJSON, errors) {
30
- let status = config.getHTTPStatusCode(untransformedJSON);
31
+ let status = index.getHTTPStatusCode(untransformedJSON);
31
32
  const headers = {
32
33
  'Content-Type': 'application/json'
33
34
  };
@@ -46,7 +47,7 @@ async function resolveHTTPResponse(opts) {
46
47
  if (meta.status) {
47
48
  status = meta.status;
48
49
  }
49
- const transformedJSON = transformTRPCResponse.transformTRPCResponse(router, untransformedJSON);
50
+ const transformedJSON = transformTRPCResponse.transformTRPCResponse(router._def._config, untransformedJSON);
50
51
  const body = JSON.stringify(transformedJSON);
51
52
  return {
52
53
  body,
@@ -122,7 +123,8 @@ async function resolveHTTPResponse(opts) {
122
123
  const { path , input } = obj;
123
124
  if (obj.error) {
124
125
  return {
125
- error: router.getErrorShape({
126
+ error: transformTRPCResponse.getErrorShape({
127
+ config: router._def._config,
126
128
  error: obj.error,
127
129
  type,
128
130
  path,
@@ -157,7 +159,8 @@ async function resolveHTTPResponse(opts) {
157
159
  req
158
160
  });
159
161
  return endResponse({
160
- error: router.getErrorShape({
162
+ error: transformTRPCResponse.getErrorShape({
163
+ config: router._def._config,
161
164
  error,
162
165
  type,
163
166
  path: undefined,