@trpc/server 10.14.0 → 10.15.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 (84) hide show
  1. package/dist/{TRPCError-e7333eae.mjs → TRPCError-226f5343.mjs} +5 -10
  2. package/dist/{TRPCError-ed16b3b7.js → TRPCError-92d93cfd.js} +5 -10
  3. package/dist/{TRPCError-4cbab0d0.js → TRPCError-98f26ad6.js} +5 -10
  4. package/dist/adapters/aws-lambda/index.js +7 -3
  5. package/dist/adapters/aws-lambda/index.mjs +7 -3
  6. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  7. package/dist/adapters/express.js +4 -4
  8. package/dist/adapters/express.mjs +4 -4
  9. package/dist/adapters/fastify/index.js +3 -3
  10. package/dist/adapters/fastify/index.mjs +3 -3
  11. package/dist/adapters/fetch/index.js +3 -3
  12. package/dist/adapters/fetch/index.mjs +3 -3
  13. package/dist/adapters/next.js +4 -4
  14. package/dist/adapters/next.mjs +4 -4
  15. package/dist/adapters/node-http/index.js +4 -4
  16. package/dist/adapters/node-http/index.mjs +4 -4
  17. package/dist/adapters/standalone.js +4 -4
  18. package/dist/adapters/standalone.mjs +4 -4
  19. package/dist/adapters/ws.js +2 -2
  20. package/dist/adapters/ws.mjs +2 -2
  21. package/dist/{config-bd759464.js → config-055ae8e4.js} +28 -5
  22. package/dist/{config-69ee2314.js → config-163772ca.js} +28 -4
  23. package/dist/{config-fb5f49a1.mjs → config-6e96a9bc.mjs} +28 -5
  24. package/dist/core/router.d.ts +2 -2
  25. package/dist/core/router.d.ts.map +1 -1
  26. package/dist/error/TRPCError.d.ts +1 -1
  27. package/dist/error/TRPCError.d.ts.map +1 -1
  28. package/dist/http/index.js +3 -3
  29. package/dist/http/index.mjs +3 -3
  30. package/dist/index.js +2 -2
  31. package/dist/index.mjs +4 -4
  32. package/dist/{nodeHTTPRequestHandler-7ebe1e44.js → nodeHTTPRequestHandler-11f3df04.js} +2 -2
  33. package/dist/{nodeHTTPRequestHandler-5a5141c3.js → nodeHTTPRequestHandler-16d7c6df.js} +2 -2
  34. package/dist/{nodeHTTPRequestHandler-8c27f394.mjs → nodeHTTPRequestHandler-c9ddbeeb.mjs} +2 -2
  35. package/dist/{resolveHTTPResponse-39258d19.js → resolveHTTPResponse-15c18b7a.js} +2 -2
  36. package/dist/{resolveHTTPResponse-cbfdc43d.js → resolveHTTPResponse-94b380d2.js} +2 -2
  37. package/dist/{resolveHTTPResponse-8e9dd846.mjs → resolveHTTPResponse-edf72fc7.mjs} +2 -2
  38. package/dist/shared/index.d.ts +1 -0
  39. package/dist/shared/index.d.ts.map +1 -1
  40. package/dist/shared/internal/serialize.d.ts +5 -2
  41. package/dist/shared/internal/serialize.d.ts.map +1 -1
  42. package/dist/subscription.js +1 -1
  43. package/dist/subscription.mjs +1 -1
  44. package/package.json +3 -2
  45. package/src/adapters/aws-lambda/utils.ts +4 -0
  46. package/src/core/router.ts +41 -6
  47. package/src/error/TRPCError.ts +8 -13
  48. package/src/shared/index.ts +3 -0
  49. package/src/shared/internal/serialize.ts +5 -2
  50. package/adapters/express/dist/trpc-server-adapters-express.cjs.d.ts +0 -1
  51. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +0 -23
  52. package/adapters/express/dist/trpc-server-adapters-express.cjs.js +0 -7
  53. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +0 -23
  54. package/adapters/express/dist/trpc-server-adapters-express.esm.js +0 -19
  55. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +0 -1
  56. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +0 -25
  57. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +0 -7
  58. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +0 -25
  59. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +0 -21
  60. package/adapters/next/dist/trpc-server-adapters-next.cjs.d.ts +0 -1
  61. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +0 -56
  62. package/adapters/next/dist/trpc-server-adapters-next.cjs.js +0 -7
  63. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +0 -56
  64. package/adapters/next/dist/trpc-server-adapters-next.esm.js +0 -52
  65. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.d.ts +0 -1
  66. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +0 -13
  67. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.js +0 -7
  68. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +0 -13
  69. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +0 -5
  70. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.d.ts +0 -1
  71. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +0 -46
  72. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.js +0 -7
  73. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +0 -46
  74. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +0 -36
  75. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.d.ts +0 -1
  76. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +0 -363
  77. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.js +0 -7
  78. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +0 -363
  79. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +0 -359
  80. package/rpc/dist/trpc-server-rpc.cjs.d.ts +0 -1
  81. package/rpc/dist/trpc-server-rpc.cjs.dev.js +0 -10
  82. package/rpc/dist/trpc-server-rpc.cjs.js +0 -7
  83. package/rpc/dist/trpc-server-rpc.cjs.prod.js +0 -10
  84. package/rpc/dist/trpc-server-rpc.esm.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { TRPC_ERROR_CODE_KEY } from '../rpc/codes';
2
2
  export declare function getTRPCErrorFromUnknown(cause: unknown): TRPCError;
3
3
  export declare class TRPCError extends Error {
4
- readonly cause?: Error | undefined;
4
+ readonly cause?: Error;
5
5
  readonly code: "INTERNAL_SERVER_ERROR" | "PARSE_ERROR" | "BAD_REQUEST" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
6
6
  constructor(opts: {
7
7
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../src/error/TRPCError.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAkBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,oBAAC;IACvB,SAAgB,IAAI,uPAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAiBF"}
1
+ {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../src/error/TRPCError.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAiBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAgB,IAAI,uPAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAaF"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('../config-bd759464.js');
6
- var resolveHTTPResponse = require('../resolveHTTPResponse-cbfdc43d.js');
7
- require('../TRPCError-4cbab0d0.js');
5
+ var config = require('../config-055ae8e4.js');
6
+ var resolveHTTPResponse = require('../resolveHTTPResponse-94b380d2.js');
7
+ require('../TRPCError-98f26ad6.js');
8
8
  require('../codes-e0ea0f4c.js');
9
9
  require('../index-4d2d31b6.js');
10
10
  require('../transformTRPCResponse-d2700b72.js');
@@ -1,6 +1,6 @@
1
- export { T as TRPC_ERROR_CODES_BY_NUMBER, f as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../config-fb5f49a1.mjs';
2
- export { r as resolveHTTPResponse } from '../resolveHTTPResponse-8e9dd846.mjs';
3
- import '../TRPCError-e7333eae.mjs';
1
+ export { T as TRPC_ERROR_CODES_BY_NUMBER, f as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../config-6e96a9bc.mjs';
2
+ export { r as resolveHTTPResponse } from '../resolveHTTPResponse-edf72fc7.mjs';
3
+ import '../TRPCError-226f5343.mjs';
4
4
  import '../codes-52c11119.mjs';
5
5
  import '../index-972002da.mjs';
6
6
  import '../transformTRPCResponse-7a73a2df.mjs';
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('./config-bd759464.js');
6
- var TRPCError = require('./TRPCError-4cbab0d0.js');
5
+ var config = require('./config-055ae8e4.js');
6
+ var TRPCError = require('./TRPCError-98f26ad6.js');
7
7
  var codes = require('./codes-e0ea0f4c.js');
8
8
  var index = require('./index-4d2d31b6.js');
9
9
 
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { c as createRouterFactory, d as defaultFormatter, g as getHTTPStatusCodeFromError, a as defaultTransformer, b as getDataTransformer$1, i as isServerDefault } from './config-fb5f49a1.mjs';
2
- export { e as callProcedure, a as defaultTransformer, b as getDataTransformer, p as procedureTypes } from './config-fb5f49a1.mjs';
3
- import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-e7333eae.mjs';
4
- export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-e7333eae.mjs';
1
+ import { c as createRouterFactory, d as defaultFormatter, g as getHTTPStatusCodeFromError, a as defaultTransformer, b as getDataTransformer$1, i as isServerDefault } from './config-6e96a9bc.mjs';
2
+ export { e as callProcedure, a as defaultTransformer, b as getDataTransformer, p as procedureTypes } from './config-6e96a9bc.mjs';
3
+ import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
4
+ export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
5
5
  import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-52c11119.mjs';
6
6
  import { c as createFlatProxy } from './index-972002da.mjs';
7
7
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-cbfdc43d.js');
4
- var TRPCError = require('./TRPCError-4cbab0d0.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-94b380d2.js');
4
+ var TRPCError = require('./TRPCError-98f26ad6.js');
5
5
 
6
6
  async function getPostBody(opts) {
7
7
  const { req , maxBodySize =Infinity } = opts;
@@ -1,5 +1,5 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-39258d19.js';
2
- import { T as TRPCError } from './TRPCError-ed16b3b7.js';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-15c18b7a.js';
2
+ import { T as TRPCError } from './TRPCError-92d93cfd.js';
3
3
 
4
4
  async function getPostBody(opts) {
5
5
  const { req, maxBodySize = Infinity } = opts;
@@ -1,5 +1,5 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-8e9dd846.mjs';
2
- import { T as TRPCError } from './TRPCError-e7333eae.mjs';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-edf72fc7.mjs';
2
+ import { T as TRPCError } from './TRPCError-226f5343.mjs';
3
3
 
4
4
  async function getPostBody(opts) {
5
5
  const { req , maxBodySize =Infinity } = opts;
@@ -1,5 +1,5 @@
1
- import { e as callProcedure, f as getHTTPStatusCode } from './config-69ee2314.js';
2
- import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-ed16b3b7.js';
1
+ import { e as callProcedure, f as getHTTPStatusCode } from './config-163772ca.js';
2
+ import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-92d93cfd.js';
3
3
  import { t as transformTRPCResponse } from './transformTRPCResponse-896669e0.js';
4
4
 
5
5
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var config = require('./config-bd759464.js');
4
- var TRPCError = require('./TRPCError-4cbab0d0.js');
3
+ var config = require('./config-055ae8e4.js');
4
+ var TRPCError = require('./TRPCError-98f26ad6.js');
5
5
  var transformTRPCResponse = require('./transformTRPCResponse-d2700b72.js');
6
6
 
7
7
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
@@ -1,5 +1,5 @@
1
- import { e as callProcedure, f as getHTTPStatusCode } from './config-fb5f49a1.mjs';
2
- import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-e7333eae.mjs';
1
+ import { e as callProcedure, f as getHTTPStatusCode } from './config-6e96a9bc.mjs';
2
+ import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-226f5343.mjs';
3
3
  import { t as transformTRPCResponse } from './transformTRPCResponse-7a73a2df.mjs';
4
4
 
5
5
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
@@ -1,3 +1,4 @@
1
1
  export * from './createProxy';
2
2
  export * from './jsonify';
3
+ export type { SerializeObject } from './internal/serialize';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAG1B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -12,8 +12,11 @@ export declare type Serialize<T> = IsAny<T> extends true ? any : T extends JsonP
12
12
  declare type SerializeTuple<T extends [unknown, ...unknown[]]> = {
13
13
  [k in keyof T]: T[k] extends NonJsonPrimitive ? null : Serialize<T[k]>;
14
14
  };
15
- /** JSON serialize objects (not including arrays) and classes */
16
- declare type SerializeObject<T extends object> = {
15
+ /**
16
+ * JSON serialize objects (not including arrays) and classes
17
+ * @internal
18
+ **/
19
+ export declare type SerializeObject<T extends object> = {
17
20
  [k in keyof Omit<T, FilterKeys<T, NonJsonPrimitive>>]: Serialize<T[k]>;
18
21
  };
19
22
  declare type FilterDefinedKeys<TObj extends object> = Exclude<{
@@ -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;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
+ {"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;;;IAGI;AACJ,oBAAY,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCError = require('./TRPCError-4cbab0d0.js');
5
+ var TRPCError = require('./TRPCError-98f26ad6.js');
6
6
  var observable = require('./observable-464116ac.js');
7
7
 
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { a as getTRPCErrorFromUnknown } from './TRPCError-e7333eae.mjs';
1
+ import { a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
2
2
  import { o as observable } from './observable-ade1bad8.mjs';
3
3
 
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.14.0",
3
+ "version": "10.15.0",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -133,6 +133,7 @@
133
133
  "@types/hash-sum": "^1.0.0",
134
134
  "@types/node": "^18.7.20",
135
135
  "@types/react": "^18.0.9",
136
+ "@types/react-dom": "^18.0.5",
136
137
  "@types/ws": "^8.2.0",
137
138
  "aws-lambda": "^1.0.7",
138
139
  "devalue": "^4.0.0",
@@ -156,5 +157,5 @@
156
157
  "yup": "^1.0.0",
157
158
  "zod": "^3.0.0"
158
159
  },
159
- "gitHead": "452b679c1ba5ad52dc5fd8a1779cdb98544cdd30"
160
+ "gitHead": "47e6fc5cb80807d4b38f9841e04a1f3a3324831e"
160
161
  }
@@ -99,6 +99,10 @@ export function getHTTPMethod(event: APIGatewayEvent) {
99
99
 
100
100
  export function getPath(event: APIGatewayEvent) {
101
101
  if (isPayloadV1(event)) {
102
+ if (!event.pathParameters) {
103
+ // Then this event was not triggered by a resource denoted with {proxy+}
104
+ return event.path.split('/').pop() || '';
105
+ }
102
106
  const matches = event.resource.matchAll(/\{(.*?)\}/g);
103
107
  for (const match of matches) {
104
108
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -25,7 +25,7 @@ import {
25
25
  export type ProcedureRecord = Record<string, AnyProcedure>;
26
26
 
27
27
  export interface ProcedureRouterRecord {
28
- [key: string]: AnyProcedure | AnyRouter;
28
+ [key: string]: AnyProcedure | AnyRouter | ProcedureRouterRecord;
29
29
  }
30
30
 
31
31
  /**
@@ -97,7 +97,9 @@ type DecorateProcedure<TProcedure extends AnyProcedure> = (
97
97
  * @internal
98
98
  */
99
99
  type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
100
- [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter
100
+ [TKey in keyof TProcedures]: TProcedures[TKey] extends ProcedureRouterRecord
101
+ ? DecoratedProcedureRecord<TProcedures[TKey]>
102
+ : TProcedures[TKey] extends AnyRouter
101
103
  ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']>
102
104
  : TProcedures[TKey] extends AnyProcedure
103
105
  ? DecorateProcedure<TProcedures[TKey]>
@@ -140,11 +142,17 @@ export interface Router<TDef extends AnyRouterDef> {
140
142
  export type AnyRouter = Router<AnyRouterDef>;
141
143
 
142
144
  function isRouter(
143
- procedureOrRouter: AnyProcedure | AnyRouter,
145
+ procedureOrRouter: AnyProcedure | AnyRouter | ProcedureRouterRecord,
144
146
  ): procedureOrRouter is AnyRouter {
145
147
  return 'router' in procedureOrRouter._def;
146
148
  }
147
149
 
150
+ function isNestedRouter(
151
+ procedureOrRouter: AnyProcedure | AnyRouter | ProcedureRouterRecord,
152
+ ): procedureOrRouter is ProcedureRouterRecord {
153
+ return !('_def' in procedureOrRouter);
154
+ }
155
+
148
156
  const emptyRouter = {
149
157
  _ctx: null as any,
150
158
  _errorShape: null as any,
@@ -165,6 +173,10 @@ const reservedWords = [
165
173
  * since JS will think that `.then` is something that exists
166
174
  */
167
175
  'then',
176
+ /**
177
+ * `_def` is a reserved word because it's used internally a lot
178
+ */
179
+ '_def',
168
180
  ];
169
181
 
170
182
  /**
@@ -200,11 +212,33 @@ export function createRouterFactory<TConfig extends AnyRootConfig>(
200
212
  );
201
213
  }
202
214
 
215
+ const newProcedures: ProcedureRouterRecord = {};
216
+ for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
217
+ const value = procedures[key] ?? {};
218
+
219
+ if (isNestedRouter(value)) {
220
+ newProcedures[key] = createRouterInner(value);
221
+ continue;
222
+ }
223
+
224
+ if (isRouter(value)) {
225
+ newProcedures[key] = procedureOrRouter;
226
+ continue;
227
+ }
228
+
229
+ newProcedures[key] = procedureOrRouter;
230
+ }
231
+
203
232
  const routerProcedures: ProcedureRecord = omitPrototype({});
204
233
  function recursiveGetPaths(procedures: ProcedureRouterRecord, path = '') {
205
234
  for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
206
235
  const newPath = `${path}${key}`;
207
236
 
237
+ if (isNestedRouter(procedureOrRouter)) {
238
+ recursiveGetPaths(procedureOrRouter, `${newPath}.`);
239
+ continue;
240
+ }
241
+
208
242
  if (isRouter(procedureOrRouter)) {
209
243
  recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
210
244
  continue;
@@ -217,14 +251,14 @@ export function createRouterFactory<TConfig extends AnyRootConfig>(
217
251
  routerProcedures[newPath] = procedureOrRouter;
218
252
  }
219
253
  }
220
- recursiveGetPaths(procedures);
254
+ recursiveGetPaths(newProcedures);
221
255
 
222
256
  const _def: AnyRouterDef<TConfig> = {
223
257
  _config: config,
224
258
  router: true,
225
259
  procedures: routerProcedures,
226
260
  ...emptyRouter,
227
- record: procedures,
261
+ record: newProcedures,
228
262
  queries: Object.entries(routerProcedures)
229
263
  .filter((pair) => (pair[1] as any)._def.query)
230
264
  .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
@@ -237,7 +271,7 @@ export function createRouterFactory<TConfig extends AnyRootConfig>(
237
271
  };
238
272
 
239
273
  const router: AnyRouter = {
240
- ...procedures,
274
+ ...newProcedures,
241
275
  _def,
242
276
  createCaller(ctx) {
243
277
  const proxy = createRecursiveProxy(({ path, args }) => {
@@ -295,6 +329,7 @@ export function createRouterFactory<TConfig extends AnyRootConfig>(
295
329
  return this._def._config.errorFormatter({ ...opts, shape });
296
330
  },
297
331
  };
332
+
298
333
  return router as any;
299
334
  };
300
335
  }
@@ -6,10 +6,9 @@ import { TRPC_ERROR_CODE_KEY } from '../rpc/codes';
6
6
 
7
7
  export function getTRPCErrorFromUnknown(cause: unknown): TRPCError {
8
8
  const error = getErrorFromUnknown(cause);
9
- // this should ideally be an `instanceof TRPCError` but for some reason that isn't working
10
- // ref https://github.com/trpc/trpc/issues/331
11
- if (error.name === 'TRPCError') {
12
- return cause as TRPCError;
9
+
10
+ if (error instanceof TRPCError) {
11
+ return error;
13
12
  }
14
13
 
15
14
  const trpcError = new TRPCError({
@@ -25,7 +24,7 @@ export function getTRPCErrorFromUnknown(cause: unknown): TRPCError {
25
24
  }
26
25
 
27
26
  export class TRPCError extends Error {
28
- public readonly cause?;
27
+ public readonly cause?: Error;
29
28
  public readonly code;
30
29
 
31
30
  constructor(opts: {
@@ -33,20 +32,16 @@ export class TRPCError extends Error {
33
32
  code: TRPC_ERROR_CODE_KEY;
34
33
  cause?: unknown;
35
34
  }) {
36
- const code = opts.code;
37
35
  const message =
38
- opts.message ?? getMessageFromUnknownError(opts.cause, code);
39
- const cause: Error | undefined =
36
+ opts.message ?? getMessageFromUnknownError(opts.cause, opts.code);
37
+ const cause =
40
38
  opts.cause !== undefined ? getErrorFromUnknown(opts.cause) : undefined;
41
39
 
42
40
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
41
  // @ts-ignore https://github.com/tc39/proposal-error-cause
44
42
  super(message, { cause });
45
43
 
46
- this.code = code;
47
- this.cause = cause;
48
- this.name = 'TRPCError';
49
-
50
- Object.setPrototypeOf(this, new.target.prototype);
44
+ this.code = opts.code;
45
+ this.name = this.constructor.name;
51
46
  }
52
47
  }
@@ -1,2 +1,5 @@
1
1
  export * from './createProxy';
2
2
  export * from './jsonify';
3
+
4
+ // For `.d.ts` files https://github.com/trpc/trpc/issues/3943
5
+ export type { SerializeObject } from './internal/serialize';
@@ -42,8 +42,11 @@ type SerializeTuple<T extends [unknown, ...unknown[]]> = {
42
42
  [k in keyof T]: T[k] extends NonJsonPrimitive ? null : Serialize<T[k]>;
43
43
  };
44
44
 
45
- /** JSON serialize objects (not including arrays) and classes */
46
- type SerializeObject<T extends object> = {
45
+ /**
46
+ * JSON serialize objects (not including arrays) and classes
47
+ * @internal
48
+ **/
49
+ export type SerializeObject<T extends object> = {
47
50
  [k in keyof Omit<T, FilterKeys<T, NonJsonPrimitive>>]: Serialize<T[k]>;
48
51
  };
49
52
 
@@ -1 +0,0 @@
1
- export * from "../../../dist/declarations/src/adapters/express";
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var nodeHTTPRequestHandler = require('../../../dist/nodeHTTPRequestHandler-9a93c255.cjs.dev.js');
6
- require('url');
7
- require('../../../dist/resolveHTTPResponse-ab01e4b9.cjs.dev.js');
8
- require('../../../dist/transformTRPCResponse-36a41418.cjs.dev.js');
9
- require('../../../dist/codes-130e62df.cjs.dev.js');
10
-
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
- function createExpressMiddleware(opts) {
13
- return async (req, res) => {
14
- const endpoint = req.path.slice(1);
15
- await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
16
- req,
17
- res,
18
- path: endpoint
19
- });
20
- };
21
- }
22
-
23
- exports.createExpressMiddleware = createExpressMiddleware;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-server-adapters-express.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-server-adapters-express.cjs.dev.js");
7
- }
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var nodeHTTPRequestHandler = require('../../../dist/nodeHTTPRequestHandler-21707788.cjs.prod.js');
6
- require('url');
7
- require('../../../dist/resolveHTTPResponse-9812e803.cjs.prod.js');
8
- require('../../../dist/transformTRPCResponse-077b7539.cjs.prod.js');
9
- require('../../../dist/codes-aff770a3.cjs.prod.js');
10
-
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
- function createExpressMiddleware(opts) {
13
- return async (req, res) => {
14
- const endpoint = req.path.slice(1);
15
- await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
16
- req,
17
- res,
18
- path: endpoint
19
- });
20
- };
21
- }
22
-
23
- exports.createExpressMiddleware = createExpressMiddleware;
@@ -1,19 +0,0 @@
1
- import { n as nodeHTTPRequestHandler } from '../../../dist/nodeHTTPRequestHandler-4e09fc4c.esm.js';
2
- import 'url';
3
- import '../../../dist/resolveHTTPResponse-fcf14f5a.esm.js';
4
- import '../../../dist/transformTRPCResponse-56464e52.esm.js';
5
- import '../../../dist/codes-5678cc97.esm.js';
6
-
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- function createExpressMiddleware(opts) {
9
- return async (req, res) => {
10
- const endpoint = req.path.slice(1);
11
- await nodeHTTPRequestHandler({ ...opts,
12
- req,
13
- res,
14
- path: endpoint
15
- });
16
- };
17
- }
18
-
19
- export { createExpressMiddleware };
@@ -1 +0,0 @@
1
- export * from "../../../dist/declarations/src/adapters/lambda/index";
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var adapters_awsLambda_dist_trpcServerAdaptersAwsLambda = require('../../aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js');
6
- require('../../../dist/transformTRPCResponse-36a41418.cjs.dev.js');
7
- require('../../../dist/router-ee876044.cjs.dev.js');
8
- require('../../../dist/resolveHTTPResponse-ab01e4b9.cjs.dev.js');
9
- require('../../../dist/codes-130e62df.cjs.dev.js');
10
- require('events');
11
- require('http');
12
- require('url');
13
- require('../../../dist/nodeHTTPRequestHandler-9a93c255.cjs.dev.js');
14
-
15
- /**
16
- * @deprecated use `aws-lambda` instead
17
- */
18
-
19
- /**
20
- * @deprecated use `aws-lambda` instead
21
- */
22
- const lambdaRequestHandler = adapters_awsLambda_dist_trpcServerAdaptersAwsLambda.awsLambdaRequestHandler;
23
-
24
- exports.awsLambdaRequestHandler = adapters_awsLambda_dist_trpcServerAdaptersAwsLambda.awsLambdaRequestHandler;
25
- exports.lambdaRequestHandler = lambdaRequestHandler;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-server-adapters-lambda.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-server-adapters-lambda.cjs.dev.js");
7
- }
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var adapters_awsLambda_dist_trpcServerAdaptersAwsLambda = require('../../aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js');
6
- require('../../../dist/transformTRPCResponse-077b7539.cjs.prod.js');
7
- require('../../../dist/router-aaecbe82.cjs.prod.js');
8
- require('../../../dist/resolveHTTPResponse-9812e803.cjs.prod.js');
9
- require('../../../dist/codes-aff770a3.cjs.prod.js');
10
- require('events');
11
- require('http');
12
- require('url');
13
- require('../../../dist/nodeHTTPRequestHandler-21707788.cjs.prod.js');
14
-
15
- /**
16
- * @deprecated use `aws-lambda` instead
17
- */
18
-
19
- /**
20
- * @deprecated use `aws-lambda` instead
21
- */
22
- const lambdaRequestHandler = adapters_awsLambda_dist_trpcServerAdaptersAwsLambda.awsLambdaRequestHandler;
23
-
24
- exports.awsLambdaRequestHandler = adapters_awsLambda_dist_trpcServerAdaptersAwsLambda.awsLambdaRequestHandler;
25
- exports.lambdaRequestHandler = lambdaRequestHandler;
@@ -1,21 +0,0 @@
1
- import { awsLambdaRequestHandler } from '../../aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js';
2
- export { awsLambdaRequestHandler } from '../../aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js';
3
- import '../../../dist/transformTRPCResponse-56464e52.esm.js';
4
- import '../../../dist/router-a3fe3182.esm.js';
5
- import '../../../dist/resolveHTTPResponse-fcf14f5a.esm.js';
6
- import '../../../dist/codes-5678cc97.esm.js';
7
- import 'events';
8
- import 'http';
9
- import 'url';
10
- import '../../../dist/nodeHTTPRequestHandler-4e09fc4c.esm.js';
11
-
12
- /**
13
- * @deprecated use `aws-lambda` instead
14
- */
15
-
16
- /**
17
- * @deprecated use `aws-lambda` instead
18
- */
19
- const lambdaRequestHandler = awsLambdaRequestHandler;
20
-
21
- export { lambdaRequestHandler };
@@ -1 +0,0 @@
1
- export * from "../../../dist/declarations/src/adapters/next";
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var transformTRPCResponse = require('../../../dist/transformTRPCResponse-36a41418.cjs.dev.js');
6
- var nodeHTTPRequestHandler = require('../../../dist/nodeHTTPRequestHandler-9a93c255.cjs.dev.js');
7
- require('url');
8
- require('../../../dist/resolveHTTPResponse-ab01e4b9.cjs.dev.js');
9
- require('../../../dist/codes-130e62df.cjs.dev.js');
10
-
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
- function createNextApiHandler(opts) {
13
- return async (req, res) => {
14
- function getPath() {
15
- if (typeof req.query.trpc === 'string') {
16
- return req.query.trpc;
17
- }
18
-
19
- if (Array.isArray(req.query.trpc)) {
20
- return req.query.trpc.join('/');
21
- }
22
-
23
- return null;
24
- }
25
-
26
- const path = getPath();
27
-
28
- if (path === null) {
29
- const error = opts.router.getErrorShape({
30
- error: new transformTRPCResponse.TRPCError({
31
- message: 'Query "trpc" not found - is the file named `[trpc]`.ts or `[...trpc].ts`?',
32
- code: 'INTERNAL_SERVER_ERROR'
33
- }),
34
- type: 'unknown',
35
- ctx: undefined,
36
- path: undefined,
37
- input: undefined
38
- });
39
- const json = {
40
- id: -1,
41
- error
42
- };
43
- res.statusCode = 500;
44
- res.json(json);
45
- return;
46
- }
47
-
48
- await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
49
- req,
50
- res,
51
- path
52
- });
53
- };
54
- }
55
-
56
- exports.createNextApiHandler = createNextApiHandler;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-server-adapters-next.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-server-adapters-next.cjs.dev.js");
7
- }