@trpc/server 10.0.0-proxy-beta.24 → 10.0.0-proxy-beta.26

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 (101) hide show
  1. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  2. package/dist/adapters/aws-lambda/index.js +3 -2
  3. package/dist/adapters/aws-lambda/index.mjs +3 -2
  4. package/dist/adapters/express.js +4 -3
  5. package/dist/adapters/express.mjs +4 -3
  6. package/dist/adapters/fastify/index.js +3 -2
  7. package/dist/adapters/fastify/index.mjs +3 -2
  8. package/dist/adapters/fetch/index.js +3 -2
  9. package/dist/adapters/fetch/index.mjs +3 -2
  10. package/dist/adapters/next.js +4 -3
  11. package/dist/adapters/next.mjs +4 -3
  12. package/dist/adapters/node-http/index.js +4 -3
  13. package/dist/adapters/node-http/index.mjs +4 -3
  14. package/dist/adapters/standalone.js +4 -3
  15. package/dist/adapters/standalone.mjs +4 -3
  16. package/dist/adapters/ws.js +3 -2
  17. package/dist/adapters/ws.mjs +2 -1
  18. package/dist/{transformTRPCResponse-23e99f82.mjs → config-28be9d3d.mjs} +29 -53
  19. package/dist/{transformTRPCResponse-92c79c47.js → config-8ef987c1.js} +29 -53
  20. package/dist/core/initTRPC.d.ts.map +1 -1
  21. package/dist/core/internals/config.d.ts.map +1 -1
  22. package/dist/core/internals/procedureBuilder.d.ts +5 -2
  23. package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
  24. package/dist/http/{internals/getHTTPStatusCode.d.ts → getHTTPStatusCode.d.ts} +2 -2
  25. package/dist/http/getHTTPStatusCode.d.ts.map +1 -0
  26. package/dist/http/index.d.ts +1 -0
  27. package/dist/http/index.d.ts.map +1 -1
  28. package/dist/http/index.js +17 -0
  29. package/dist/http/index.mjs +6 -0
  30. package/dist/index.d.ts +0 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +399 -401
  33. package/dist/index.mjs +390 -391
  34. package/dist/{nodeHTTPRequestHandler-0e40a231.js → nodeHTTPRequestHandler-7ab93f6c.js} +1 -1
  35. package/dist/{nodeHTTPRequestHandler-bb607c2b.mjs → nodeHTTPRequestHandler-89b8c411.mjs} +1 -1
  36. package/dist/{resolveHTTPResponse-92daf326.js → resolveHTTPResponse-743deb7c.js} +4 -3
  37. package/dist/{resolveHTTPResponse-9dff3dcc.mjs → resolveHTTPResponse-d5ccf107.mjs} +2 -1
  38. package/dist/transformTRPCResponse-547a4702.mjs +25 -0
  39. package/dist/transformTRPCResponse-cc650f44.js +27 -0
  40. package/dist/types.d.ts +4 -7
  41. package/dist/types.d.ts.map +1 -1
  42. package/http/index.d.ts +1 -0
  43. package/http/index.js +1 -0
  44. package/package.json +13 -7
  45. package/src/adapters/aws-lambda/index.ts +2 -1
  46. package/src/core/initTRPC.ts +2 -1
  47. package/src/core/internals/config.ts +2 -2
  48. package/src/core/internals/procedureBuilder.ts +17 -2
  49. package/src/core/router.ts +1 -1
  50. package/src/deprecated/router.ts +2 -2
  51. package/src/http/{internals/getHTTPStatusCode.ts → getHTTPStatusCode.ts} +3 -3
  52. package/src/http/index.ts +1 -0
  53. package/src/http/resolveHTTPResponse.ts +1 -1
  54. package/src/index.ts +0 -1
  55. package/src/types.ts +4 -11
  56. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +0 -1
  57. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +0 -190
  58. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +0 -7
  59. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +0 -190
  60. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +0 -186
  61. package/adapters/express/dist/trpc-server-adapters-express.cjs.d.ts +0 -1
  62. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +0 -23
  63. package/adapters/express/dist/trpc-server-adapters-express.cjs.js +0 -7
  64. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +0 -23
  65. package/adapters/express/dist/trpc-server-adapters-express.esm.js +0 -19
  66. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +0 -1
  67. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +0 -109
  68. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +0 -7
  69. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +0 -109
  70. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +0 -104
  71. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +0 -1
  72. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +0 -25
  73. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +0 -7
  74. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +0 -25
  75. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +0 -21
  76. package/adapters/next/dist/trpc-server-adapters-next.cjs.d.ts +0 -1
  77. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +0 -56
  78. package/adapters/next/dist/trpc-server-adapters-next.cjs.js +0 -7
  79. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +0 -56
  80. package/adapters/next/dist/trpc-server-adapters-next.esm.js +0 -52
  81. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.d.ts +0 -1
  82. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +0 -13
  83. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.js +0 -7
  84. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +0 -13
  85. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +0 -5
  86. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.d.ts +0 -1
  87. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +0 -46
  88. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.js +0 -7
  89. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +0 -46
  90. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +0 -36
  91. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.d.ts +0 -1
  92. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +0 -363
  93. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.js +0 -7
  94. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +0 -363
  95. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +0 -359
  96. package/dist/http/internals/getHTTPStatusCode.d.ts.map +0 -1
  97. package/rpc/dist/trpc-server-rpc.cjs.d.ts +0 -1
  98. package/rpc/dist/trpc-server-rpc.cjs.dev.js +0 -10
  99. package/rpc/dist/trpc-server-rpc.cjs.js +0 -7
  100. package/rpc/dist/trpc-server-rpc.cjs.prod.js +0 -10
  101. package/rpc/dist/trpc-server-rpc.esm.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-92daf326.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-743deb7c.js');
4
4
  var TRPCError = require('./TRPCError-fe9113e5.js');
5
5
 
6
6
  async function getPostBody({ req , maxBodySize }) {
@@ -1,4 +1,4 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-9dff3dcc.mjs';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-d5ccf107.mjs';
2
2
  import { T as TRPCError } from './TRPCError-e99e7cbe.mjs';
3
3
 
4
4
  async function getPostBody({ req , maxBodySize }) {
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var transformTRPCResponse = require('./transformTRPCResponse-92c79c47.js');
3
+ var config = require('./config-8ef987c1.js');
4
4
  var TRPCError = require('./TRPCError-fe9113e5.js');
5
+ var transformTRPCResponse = require('./transformTRPCResponse-cc650f44.js');
5
6
 
6
7
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
7
8
  GET: 'query',
@@ -42,7 +43,7 @@ async function resolveHTTPResponse(opts) {
42
43
  let paths = undefined;
43
44
  const isBatchCall = !!req.query.get('batch');
44
45
  function endResponse(untransformedJSON, errors) {
45
- let status = transformTRPCResponse.getHTTPStatusCode(untransformedJSON);
46
+ let status = config.getHTTPStatusCode(untransformedJSON);
46
47
  const headers = {
47
48
  'Content-Type': 'application/json'
48
49
  };
@@ -121,7 +122,7 @@ async function resolveHTTPResponse(opts) {
121
122
  const rawResults = await Promise.all(paths.map(async (path, index)=>{
122
123
  const input = inputs[index];
123
124
  try {
124
- const output = await transformTRPCResponse.callProcedure({
125
+ const output = await config.callProcedure({
125
126
  procedures: router._def.procedures,
126
127
  path,
127
128
  rawInput: input,
@@ -1,5 +1,6 @@
1
- import { e as callProcedure, f as getHTTPStatusCode, t as transformTRPCResponse } from './transformTRPCResponse-23e99f82.mjs';
1
+ import { e as callProcedure, f as getHTTPStatusCode } from './config-28be9d3d.mjs';
2
2
  import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-e99e7cbe.mjs';
3
+ import { t as transformTRPCResponse } from './transformTRPCResponse-547a4702.mjs';
3
4
 
4
5
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
5
6
  GET: 'query',
@@ -0,0 +1,25 @@
1
+ function transformTRPCResponseItem(router, item) {
2
+ if ('error' in item) {
3
+ return {
4
+ ...item,
5
+ error: router._def._config.transformer.output.serialize(item.error)
6
+ };
7
+ }
8
+ if ('data' in item.result) {
9
+ return {
10
+ ...item,
11
+ result: {
12
+ ...item.result,
13
+ data: router._def._config.transformer.output.serialize(item.result.data)
14
+ }
15
+ };
16
+ }
17
+ return item;
18
+ }
19
+ /**
20
+ * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
21
+ **/ function transformTRPCResponse(router, itemOrItems) {
22
+ return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(router, item)) : transformTRPCResponseItem(router, itemOrItems);
23
+ }
24
+
25
+ export { transformTRPCResponse as t };
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ function transformTRPCResponseItem(router, item) {
4
+ if ('error' in item) {
5
+ return {
6
+ ...item,
7
+ error: router._def._config.transformer.output.serialize(item.error)
8
+ };
9
+ }
10
+ if ('data' in item.result) {
11
+ return {
12
+ ...item,
13
+ result: {
14
+ ...item.result,
15
+ data: router._def._config.transformer.output.serialize(item.result.data)
16
+ }
17
+ };
18
+ }
19
+ return item;
20
+ }
21
+ /**
22
+ * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
23
+ **/ function transformTRPCResponse(router, itemOrItems) {
24
+ return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(router, item)) : transformTRPCResponseItem(router, itemOrItems);
25
+ }
26
+
27
+ exports.transformTRPCResponse = transformTRPCResponse;
package/dist/types.d.ts CHANGED
@@ -2,13 +2,10 @@
2
2
  * @internal
3
3
  */
4
4
  export declare type identity<TType> = TType;
5
- declare type InferOptional<TType, TKeys extends keyof TType> = Partial<Pick<TType, TKeys>> & Omit<TType, TKeys>;
6
- declare type OmitNever<TType> = Pick<TType, {
7
- [K in keyof TType]: TType[K] extends never ? never : K;
8
- }[keyof TType]>;
9
- declare type UndefinedKeys<TType> = keyof OmitNever<{
10
- [K in keyof TType]: TType[K] extends undefined ? TType : never;
11
- }>;
5
+ export declare type InferOptional<TType, TKeys extends keyof TType> = Partial<Pick<TType, TKeys>> & Omit<TType, TKeys>;
6
+ export declare type UndefinedKeys<TType> = {
7
+ [K in keyof TType]: undefined extends TType[K] ? K : never;
8
+ }[keyof TType];
12
9
  /**
13
10
  * @internal
14
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;AAEpC,aAAK,aAAa,CAAC,KAAK,EAAE,KAAK,SAAS,MAAM,KAAK,IAAI,OAAO,CAC5D,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CACnB,GACC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAErB,aAAK,SAAS,CAAC,KAAK,IAAI,IAAI,CAC1B,KAAK,EACL;KACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC;CACvD,CAAC,MAAM,KAAK,CAAC,CACf,CAAC;AAEF,aAAK,aAAa,CAAC,KAAK,IAAI,MAAM,SAAS,CAAC;KACzC,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,KAAK;CAC/D,CAAC,CAAC;AAEH;;GAEG;AACH,oBAAY,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CACrD;KACG,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,IAAI,SAAS,MAAM,KAAK,GACzD,KAAK,CAAC,IAAI,CAAC,GACX,IAAI,SAAS,MAAM,KAAK,GACxB,KAAK,CAAC,IAAI,CAAC,GACX,KAAK;CACV,EACD,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAC5C,CAAC;AAEF;;GAEG;AACH,oBAAY,KAAK,CAAC,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAEpD;;GAEG;AACH,oBAAY,OAAO,CAAC,KAAK,IAAI,KAAK,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,CAAC;AAEV;;;GAGG;AACH,oBAAY,QAAQ,CAAC,KAAK,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,IAAI,GACpD,KAAK,GACL;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAC1C;;GAEG;AACH,oBAAY,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAE5D;;GAEG;AACH,oBAAY,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,oBAAY,SAAS,CAAC,KAAK,IAAI,KAAK,GAAG;KACpC,OAAO,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,oBAAoB,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IACtE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAEjC,aAAK,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,IAAI;KAC7C,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,GAAG,KAAK;CAChE,CAAC,MAAM,IAAI,CAAC,CAAC;AAEd;;GAEG;AACH,oBAAY,MAAM,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,IAAI,IAAI,CACrD,IAAI,EACJ,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAC1B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;AAEpC,oBAAY,aAAa,CAAC,KAAK,EAAE,KAAK,SAAS,MAAM,KAAK,IAAI,OAAO,CACnE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CACnB,GACC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAErB,oBAAY,aAAa,CAAC,KAAK,IAAI;KAChC,CAAC,IAAI,MAAM,KAAK,GAAG,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf;;GAEG;AACH,oBAAY,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CACrD;KACG,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,IAAI,SAAS,MAAM,KAAK,GACzD,KAAK,CAAC,IAAI,CAAC,GACX,IAAI,SAAS,MAAM,KAAK,GACxB,KAAK,CAAC,IAAI,CAAC,GACX,KAAK;CACV,EACD,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAC5C,CAAC;AAEF;;GAEG;AACH,oBAAY,KAAK,CAAC,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAEpD;;GAEG;AACH,oBAAY,OAAO,CAAC,KAAK,IAAI,KAAK,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,CAAC;AAEV;;;GAGG;AACH,oBAAY,QAAQ,CAAC,KAAK,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,IAAI,GACpD,KAAK,GACL;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAC1C;;GAEG;AACH,oBAAY,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAE5D;;GAEG;AACH,oBAAY,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,oBAAY,SAAS,CAAC,KAAK,IAAI,KAAK,GAAG;KACpC,OAAO,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,oBAAoB,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IACtE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAEjC,aAAK,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,IAAI;KAC7C,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,GAAG,KAAK;CAChE,CAAC,MAAM,IAAI,CAAC,CAAC;AAEd;;GAEG;AACH,oBAAY,MAAM,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,IAAI,IAAI,CACrD,IAAI,EACJ,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAC1B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from '../dist/http';
package/http/index.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/http');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.0.0-proxy-beta.24",
3
+ "version": "10.0.0-proxy-beta.26",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -79,6 +79,11 @@
79
79
  "require": "./dist/adapters/fetch/index.js",
80
80
  "default": "./dist/adapters/fetch/index.js"
81
81
  },
82
+ "./http": {
83
+ "import": "./dist/http/index.mjs",
84
+ "require": "./dist/http/index.js",
85
+ "default": "./dist/http/index.js"
86
+ },
82
87
  "./rpc": {
83
88
  "import": "./dist/rpc/index.mjs",
84
89
  "require": "./dist/rpc/index.js",
@@ -105,6 +110,7 @@
105
110
  "src",
106
111
  "README.md",
107
112
  "adapters",
113
+ "http",
108
114
  "rpc",
109
115
  "observable",
110
116
  "subscription",
@@ -122,10 +128,10 @@
122
128
  "@testing-library/jest-dom": "^5.16.5",
123
129
  "@testing-library/react": "^13.4.0",
124
130
  "@testing-library/user-event": "^14.4.3",
125
- "@trpc/client": "10.0.0-proxy-beta.24",
126
- "@trpc/next": "10.0.0-proxy-beta.24",
127
- "@trpc/react-query": "^10.0.0-proxy-beta.24",
128
- "@trpc/server": "10.0.0-proxy-beta.24",
131
+ "@trpc/client": "10.0.0-proxy-beta.26",
132
+ "@trpc/next": "10.0.0-proxy-beta.26",
133
+ "@trpc/react-query": "^10.0.0-proxy-beta.26",
134
+ "@trpc/server": "10.0.0-proxy-beta.26",
129
135
  "@types/aws-lambda": "^8.10.97",
130
136
  "@types/express": "^4.17.12",
131
137
  "@types/hash-sum": "^1.0.0",
@@ -138,7 +144,7 @@
138
144
  "abort-controller": "^3.0.0",
139
145
  "aws-lambda": "^1.0.7",
140
146
  "devalue": "^2.0.1",
141
- "expect-type": "^0.13.0",
147
+ "expect-type": "^0.15.0",
142
148
  "express": "^4.17.1",
143
149
  "fastify": "^3.27.1",
144
150
  "fastify-plugin": "^3.0.1",
@@ -161,5 +167,5 @@
161
167
  "yup": "^0.32.8",
162
168
  "zod": "^3.0.0"
163
169
  },
164
- "gitHead": "3ebdffbd40b9bce0f993877f6d65fb89336549b8"
170
+ "gitHead": "d8d42c6b045a27992c1153302734913935eb1f63"
165
171
  }
@@ -5,8 +5,9 @@ import type {
5
5
  APIGatewayProxyResult,
6
6
  APIGatewayProxyStructuredResultV2,
7
7
  } from 'aws-lambda';
8
- import { TRPCError, resolveHTTPResponse } from '../..';
8
+ import { TRPCError } from '../..';
9
9
  import { AnyRouter, inferRouterContext } from '../../core';
10
+ import { resolveHTTPResponse } from '../../http';
10
11
  import { HTTPRequest } from '../../http/internals/types';
11
12
  import type { HTTPResponse } from '../../http/internals/types';
12
13
  import {
@@ -106,7 +106,8 @@ function createTRPCInner<TParams extends PartialRootConfigTypes>() {
106
106
 
107
107
  const config: $Config = {
108
108
  transformer,
109
- isDev: runtime?.isDev ?? process.env.NODE_ENV !== 'production',
109
+ isDev:
110
+ runtime?.isDev ?? globalThis.process?.env?.NODE_ENV !== 'production',
110
111
  allowOutsideOfServer: runtime?.allowOutsideOfServer ?? false,
111
112
  errorFormatter,
112
113
  isServer: runtime?.isServer ?? isServerDefault,
@@ -17,8 +17,8 @@ export interface RootConfigTypes {
17
17
  export const isServerDefault: boolean =
18
18
  typeof window === 'undefined' ||
19
19
  'Deno' in window ||
20
- process.env.NODE_ENV === 'test' ||
21
- !!process.env.JEST_WORKER_ID;
20
+ globalThis.process?.env?.NODE_ENV === 'test' ||
21
+ !!globalThis.process?.env?.JEST_WORKER_ID;
22
22
 
23
23
  /**
24
24
  * The runtime config that are used and actually represents real values underneath
@@ -1,6 +1,11 @@
1
1
  import { TRPCError } from '../../error/TRPCError';
2
2
  import { getTRPCErrorFromUnknown } from '../../error/utils';
3
- import { FlatOverwrite, MaybePromise, Simplify } from '../../types';
3
+ import {
4
+ InferOptional,
5
+ MaybePromise,
6
+ Simplify,
7
+ UndefinedKeys,
8
+ } from '../../types';
4
9
  import {
5
10
  MiddlewareFunction,
6
11
  MiddlewareResult,
@@ -62,9 +67,19 @@ export interface BuildProcedure<
62
67
  : TParams
63
68
  > {}
64
69
 
70
+ type Merge<TType, TWith> = {
71
+ [TKey in keyof TType | keyof TWith]: TKey extends keyof TType
72
+ ? TKey extends keyof TWith
73
+ ? TType[TKey] & TWith[TKey]
74
+ : TType[TKey]
75
+ : TWith[TKey & keyof TWith];
76
+ };
77
+
65
78
  type OverwriteIfDefined<TType, TWith> = UnsetMarker extends TType
66
79
  ? TWith
67
- : Simplify<FlatOverwrite<TType, TWith>>;
80
+ : Simplify<
81
+ InferOptional<Merge<TType, TWith>, UndefinedKeys<Merge<TType, TWith>>>
82
+ >;
68
83
 
69
84
  type ErrorMessage<TMessage extends string> = TMessage;
70
85
 
@@ -1,6 +1,6 @@
1
1
  import { TRPCError } from '../error/TRPCError';
2
2
  import { DefaultErrorShape, defaultFormatter } from '../error/formatter';
3
- import { getHTTPStatusCodeFromError } from '../http/internals/getHTTPStatusCode';
3
+ import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';
4
4
  import { TRPC_ERROR_CODES_BY_KEY } from '../rpc';
5
5
  import { createRecursiveProxy } from '../shared';
6
6
  import { defaultTransformer } from '../transformer';
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { TRPCError } from '../error/TRPCError';
3
3
  import { defaultFormatter } from '../error/formatter';
4
- import { getHTTPStatusCodeFromError } from '../http/internals/getHTTPStatusCode';
4
+ import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';
5
5
  import { Observable, inferObservableValue } from '../observable';
6
6
  import {
7
7
  TRPCErrorShape,
@@ -816,7 +816,7 @@ export class Router<
816
816
  },
817
817
  };
818
818
  if (
819
- process.env.NODE_ENV !== 'production' &&
819
+ globalThis.process?.env?.NODE_ENV !== 'production' &&
820
820
  typeof opts.error.stack === 'string'
821
821
  ) {
822
822
  shape.data.stack = opts.error.stack;
@@ -1,6 +1,6 @@
1
- import { TRPCError } from '../../error/TRPCError';
2
- import { invert } from '../../internals/invert';
3
- import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../../rpc';
1
+ import { TRPCError } from '../error/TRPCError';
2
+ import { invert } from '../internals/invert';
3
+ import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../rpc';
4
4
 
5
5
  export const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
6
6
  type ValueOf<TType> = TType[keyof TType];
package/src/http/index.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './getHTTPStatusCode';
1
2
  export * from './resolveHTTPResponse';
2
3
  export * from './types';
@@ -11,7 +11,7 @@ import { getCauseFromUnknown, getTRPCErrorFromUnknown } from '../error/utils';
11
11
  import { transformTRPCResponse } from '../internals/transformTRPCResponse';
12
12
  import { TRPCResponse } from '../rpc';
13
13
  import { Maybe } from '../types';
14
- import { getHTTPStatusCode } from './internals/getHTTPStatusCode';
14
+ import { getHTTPStatusCode } from './getHTTPStatusCode';
15
15
  import {
16
16
  HTTPBaseHandlerOptions,
17
17
  HTTPHeaders,
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './http';
2
1
  export * from './transformer';
3
2
  export * from './error/TRPCError';
4
3
  export * from './types';
package/src/types.ts CHANGED
@@ -5,21 +5,14 @@
5
5
  */
6
6
  export type identity<TType> = TType;
7
7
 
8
- type InferOptional<TType, TKeys extends keyof TType> = Partial<
8
+ export type InferOptional<TType, TKeys extends keyof TType> = Partial<
9
9
  Pick<TType, TKeys>
10
10
  > &
11
11
  Omit<TType, TKeys>;
12
12
 
13
- type OmitNever<TType> = Pick<
14
- TType,
15
- {
16
- [K in keyof TType]: TType[K] extends never ? never : K;
17
- }[keyof TType]
18
- >;
19
-
20
- type UndefinedKeys<TType> = keyof OmitNever<{
21
- [K in keyof TType]: TType[K] extends undefined ? TType : never;
22
- }>;
13
+ export type UndefinedKeys<TType> = {
14
+ [K in keyof TType]: undefined extends TType[K] ? K : never;
15
+ }[keyof TType];
23
16
 
24
17
  /**
25
18
  * @internal
@@ -1 +0,0 @@
1
- export * from "../../../dist/declarations/src/adapters/aws-lambda/index";
@@ -1,190 +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
- require('../../../dist/router-ee876044.cjs.dev.js');
7
- require('events');
8
- require('http');
9
- require('url');
10
- require('../../../dist/nodeHTTPRequestHandler-9a93c255.cjs.dev.js');
11
- var resolveHTTPResponse = require('../../../dist/resolveHTTPResponse-ab01e4b9.cjs.dev.js');
12
- require('../../../dist/codes-130e62df.cjs.dev.js');
13
-
14
- function isPayloadV1(event) {
15
- return determinePayloadFormat(event) == '1.0';
16
- }
17
- function isPayloadV2(event) {
18
- return determinePayloadFormat(event) == '2.0';
19
- }
20
-
21
- function determinePayloadFormat(event) {
22
- // https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
23
- // According to AWS support, version is is extracted from the version property in the event.
24
- // If there is no version property, then the version is implied as 1.0
25
- const unknownEvent = event;
26
-
27
- if (typeof unknownEvent.version === 'undefined') {
28
- return '1.0';
29
- } else {
30
- if (['1.0', '2.0'].includes(unknownEvent.version)) {
31
- return unknownEvent.version;
32
- } else {
33
- return 'custom';
34
- }
35
- }
36
- }
37
-
38
- const UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = 'Custom payload format version not handled by this adapter. Please use either 1.0 or 2.0. More information here' + 'https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html';
39
-
40
- function lambdaEventToHTTPRequest(event) {
41
- const query = new URLSearchParams();
42
-
43
- for (const [key, value] of Object.entries((_event$queryStringPar = event.queryStringParameters) !== null && _event$queryStringPar !== void 0 ? _event$queryStringPar : {})) {
44
- var _event$queryStringPar;
45
-
46
- if (typeof value !== 'undefined') {
47
- query.append(key, value);
48
- }
49
- }
50
-
51
- return {
52
- method: getHTTPMethod(event),
53
- query: query,
54
- headers: event.headers,
55
- body: event.body
56
- };
57
- }
58
-
59
- function getHTTPMethod(event) {
60
- if (isPayloadV1(event)) {
61
- return event.httpMethod;
62
- }
63
-
64
- if (isPayloadV2(event)) {
65
- return event.requestContext.http.method;
66
- }
67
-
68
- throw new transformTRPCResponse.TRPCError({
69
- code: 'INTERNAL_SERVER_ERROR',
70
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
71
- });
72
- }
73
-
74
- function getPath(event) {
75
- if (isPayloadV1(event)) {
76
- const matches = event.resource.matchAll(/\{(.*?)\}/g);
77
-
78
- for (const match of matches) {
79
- const group = match[1];
80
-
81
- if (group.includes('+') && event.pathParameters) {
82
- return event.pathParameters[group.replace('+', '')] || '';
83
- }
84
- }
85
-
86
- return event.path.slice(1);
87
- }
88
-
89
- if (isPayloadV2(event)) {
90
- const matches = event.routeKey.matchAll(/\{(.*?)\}/g);
91
-
92
- for (const match of matches) {
93
- const group = match[1];
94
-
95
- if (group.includes('+') && event.pathParameters) {
96
- return event.pathParameters[group.replace('+', '')] || '';
97
- }
98
- }
99
-
100
- return event.rawPath.slice(1);
101
- }
102
-
103
- throw new transformTRPCResponse.TRPCError({
104
- code: 'INTERNAL_SERVER_ERROR',
105
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
106
- });
107
- }
108
-
109
- function transformHeaders(headers) {
110
- const obj = {};
111
-
112
- for (const [key, value] of Object.entries(headers)) {
113
- if (typeof value === 'undefined') {
114
- continue;
115
- }
116
-
117
- obj[key] = Array.isArray(value) ? value.join(',') : value;
118
- }
119
-
120
- return obj;
121
- }
122
-
123
- function tRPCOutputToAPIGatewayOutput(event, response) {
124
- if (isPayloadV1(event)) {
125
- var _response$body, _response$headers;
126
-
127
- const resp = {
128
- statusCode: response.status,
129
- body: (_response$body = response.body) !== null && _response$body !== void 0 ? _response$body : '',
130
- headers: transformHeaders((_response$headers = response.headers) !== null && _response$headers !== void 0 ? _response$headers : {})
131
- };
132
- return resp;
133
- } else if (isPayloadV2(event)) {
134
- var _response$body2, _response$headers2;
135
-
136
- const resp = {
137
- statusCode: response.status,
138
- body: (_response$body2 = response.body) !== null && _response$body2 !== void 0 ? _response$body2 : undefined,
139
- headers: transformHeaders((_response$headers2 = response.headers) !== null && _response$headers2 !== void 0 ? _response$headers2 : {})
140
- };
141
- return resp;
142
- } else {
143
- throw new transformTRPCResponse.TRPCError({
144
- code: 'INTERNAL_SERVER_ERROR',
145
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
146
- });
147
- }
148
- }
149
- /** Will check the createContext of the TRouter and get the parameter of event.
150
- * @internal
151
- **/
152
-
153
-
154
- function awsLambdaRequestHandler(opts) {
155
- return async (event, context) => {
156
- const req = lambdaEventToHTTPRequest(event);
157
- const path = getPath(event);
158
-
159
- const createContext = async function _createContext() {
160
- var _opts$createContext;
161
-
162
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, {
163
- event,
164
- context
165
- }));
166
- };
167
-
168
- const response = await resolveHTTPResponse.resolveHTTPResponse({
169
- router: opts.router,
170
- batching: opts.batching,
171
- responseMeta: opts === null || opts === void 0 ? void 0 : opts.responseMeta,
172
- createContext,
173
- req,
174
- path,
175
- error: null,
176
-
177
- onError(o) {
178
- var _opts$onError;
179
-
180
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
181
- req: event
182
- });
183
- }
184
-
185
- });
186
- return tRPCOutputToAPIGatewayOutput(event, response);
187
- };
188
- }
189
-
190
- exports.awsLambdaRequestHandler = awsLambdaRequestHandler;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-server-adapters-aws-lambda.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-server-adapters-aws-lambda.cjs.dev.js");
7
- }