@trpc/server 10.0.0-proxy-beta.4 → 10.0.0-proxy-beta.6

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-e99e7cbe.mjs → TRPCError-281ac25a.mjs} +1 -1
  2. package/dist/adapters/aws-lambda/index.js +3 -3
  3. package/dist/adapters/aws-lambda/index.mjs +4 -4
  4. package/dist/adapters/express.js +3 -3
  5. package/dist/adapters/express.mjs +4 -4
  6. package/dist/adapters/fastify/index.js +2 -2
  7. package/dist/adapters/fastify/index.mjs +3 -3
  8. package/dist/adapters/fetch/index.js +2 -2
  9. package/dist/adapters/fetch/index.mjs +3 -3
  10. package/dist/adapters/next.js +3 -3
  11. package/dist/adapters/next.mjs +4 -4
  12. package/dist/adapters/node-http/index.js +3 -3
  13. package/dist/adapters/node-http/index.mjs +4 -4
  14. package/dist/adapters/standalone.d.ts +1 -1
  15. package/dist/adapters/standalone.js +4 -4
  16. package/dist/adapters/standalone.mjs +5 -5
  17. package/dist/adapters/ws.mjs +1 -1
  18. package/dist/{codes-731f0a7c.js → codes-76c38a34.js} +1 -0
  19. package/dist/{codes-f164ac85.mjs → codes-7d21f749.mjs} +1 -0
  20. package/dist/error/TRPCError.d.ts +1 -1
  21. package/dist/error/TRPCError.d.ts.map +1 -1
  22. package/dist/http/internals/getHTTPStatusCode.d.ts +1 -0
  23. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  24. package/dist/index.js +7 -7
  25. package/dist/index.mjs +6 -5
  26. package/dist/{nodeHTTPRequestHandler-ffd87be6.mjs → nodeHTTPRequestHandler-b59d2c10.mjs} +2 -2
  27. package/dist/{nodeHTTPRequestHandler-407721f8.js → nodeHTTPRequestHandler-d30a4185.js} +1 -1
  28. package/dist/{resolveHTTPResponse-a52a77cb.js → resolveHTTPResponse-0a8e47b8.js} +4 -275
  29. package/dist/{resolveHTTPResponse-3c852af0.mjs → resolveHTTPResponse-24d99c94.mjs} +6 -272
  30. package/dist/{router-a33b17a3.mjs → router-6e04fa44.mjs} +274 -7
  31. package/dist/{router-c87a28f9.js → router-bf52be2e.js} +280 -9
  32. package/dist/rpc/codes.d.ts +2 -0
  33. package/dist/rpc/codes.d.ts.map +1 -1
  34. package/dist/rpc/index.js +1 -1
  35. package/dist/rpc/index.mjs +1 -1
  36. package/dist/subscription.mjs +1 -1
  37. package/package.json +25 -12
  38. package/src/http/internals/getHTTPStatusCode.ts +1 -0
  39. package/src/rpc/codes.ts +1 -0
  40. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +0 -1
  41. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +0 -190
  42. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +0 -7
  43. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +0 -190
  44. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +0 -186
  45. package/adapters/express/dist/trpc-server-adapters-express.cjs.d.ts +0 -1
  46. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +0 -23
  47. package/adapters/express/dist/trpc-server-adapters-express.cjs.js +0 -7
  48. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +0 -23
  49. package/adapters/express/dist/trpc-server-adapters-express.esm.js +0 -19
  50. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +0 -1
  51. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +0 -109
  52. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +0 -7
  53. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +0 -109
  54. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +0 -104
  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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.0.0-proxy-beta.4",
3
+ "version": "10.0.0-proxy-beta.6",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -11,16 +11,23 @@
11
11
  "directory": "packages/server"
12
12
  },
13
13
  "eslintConfig": {
14
- "rules": {
15
- "explicit-module-boundary-types": "off",
16
- "no-restricted-imports": [
17
- "error",
18
- "@trpc/server"
19
- ]
20
- }
14
+ "overrides": [
15
+ {
16
+ "files": [
17
+ "src"
18
+ ],
19
+ "rules": {
20
+ "explicit-module-boundary-types": "off",
21
+ "no-restricted-imports": [
22
+ "error",
23
+ "@trpc/server"
24
+ ]
25
+ }
26
+ }
27
+ ]
21
28
  },
22
29
  "scripts": {
23
- "benchmark": "yarn tsc --project tsconfig.benchmark.json",
30
+ "benchmark": "tsc --project tsconfig.benchmark.json",
24
31
  "ts-watch": "tsc --project tsconfig.watch.json"
25
32
  },
26
33
  "main": "dist/index.js",
@@ -109,11 +116,16 @@
109
116
  "devDependencies": {
110
117
  "@cloudflare/workers-types": "^3.14.1",
111
118
  "@fastify/websocket": "^5.0.0",
112
- "@miniflare/core": "^2.4.0",
113
- "@tanstack/react-query": "^4.3.0",
119
+ "@miniflare/core": "^2.9.0",
120
+ "@trpc/client": "10.0.0-proxy-beta.6",
121
+ "@trpc/next": "10.0.0-proxy-beta.6",
122
+ "@trpc/react": "10.0.0-proxy-beta.6",
123
+ "@trpc/server": "10.0.0-proxy-beta.6",
114
124
  "@types/aws-lambda": "^8.10.97",
115
125
  "@types/express": "^4.17.12",
116
126
  "@types/hash-sum": "^1.0.0",
127
+ "@types/node": "^18.7.20",
128
+ "@types/node-fetch": "^2.5.11",
117
129
  "@types/ws": "^8.2.0",
118
130
  "abort-controller": "^3.0.0",
119
131
  "aws-lambda": "^1.0.7",
@@ -130,11 +142,12 @@
130
142
  "myzod": "^1.3.1",
131
143
  "next": "^12.3.1",
132
144
  "node-fetch": "^2.6.1",
145
+ "superjson": "^1.7.4",
133
146
  "superstruct": "^0.15.2",
134
147
  "typescript": "^4.8.3",
135
148
  "ws": "^8.0.0",
136
149
  "yup": "^0.32.8",
137
150
  "zod": "^3.0.0"
138
151
  },
139
- "gitHead": "fb72199e0d4454377cc6bc82f60b946e55732595"
152
+ "gitHead": "840af567d6634243e0b6a09d9fdb5bf19554cc93"
140
153
  }
@@ -22,6 +22,7 @@ const JSONRPC2_TO_HTTP_CODE: Record<
22
22
  PRECONDITION_FAILED: 412,
23
23
  PAYLOAD_TOO_LARGE: 413,
24
24
  METHOD_NOT_SUPPORTED: 405,
25
+ TOO_MANY_REQUESTS: 429,
25
26
  };
26
27
 
27
28
  function getStatusCodeFromKey(code: keyof typeof TRPC_ERROR_CODES_BY_KEY) {
package/src/rpc/codes.ts CHANGED
@@ -31,6 +31,7 @@ export const TRPC_ERROR_CODES_BY_KEY = {
31
31
  CONFLICT: -32009, // 409
32
32
  PRECONDITION_FAILED: -32012, // 412
33
33
  PAYLOAD_TOO_LARGE: -32013, // 413
34
+ TOO_MANY_REQUESTS: -32029, // 429
34
35
  CLIENT_CLOSED_REQUEST: -32099, // 499
35
36
  } as const;
36
37
 
@@ -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
- }
@@ -1,190 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var transformTRPCResponse = require('../../../dist/transformTRPCResponse-077b7539.cjs.prod.js');
6
- require('../../../dist/router-aaecbe82.cjs.prod.js');
7
- require('events');
8
- require('http');
9
- require('url');
10
- require('../../../dist/nodeHTTPRequestHandler-21707788.cjs.prod.js');
11
- var resolveHTTPResponse = require('../../../dist/resolveHTTPResponse-9812e803.cjs.prod.js');
12
- require('../../../dist/codes-aff770a3.cjs.prod.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,186 +0,0 @@
1
- import { T as TRPCError } from '../../../dist/transformTRPCResponse-56464e52.esm.js';
2
- import '../../../dist/router-a3fe3182.esm.js';
3
- import 'events';
4
- import 'http';
5
- import 'url';
6
- import '../../../dist/nodeHTTPRequestHandler-4e09fc4c.esm.js';
7
- import { r as resolveHTTPResponse } from '../../../dist/resolveHTTPResponse-fcf14f5a.esm.js';
8
- import '../../../dist/codes-5678cc97.esm.js';
9
-
10
- function isPayloadV1(event) {
11
- return determinePayloadFormat(event) == '1.0';
12
- }
13
- function isPayloadV2(event) {
14
- return determinePayloadFormat(event) == '2.0';
15
- }
16
-
17
- function determinePayloadFormat(event) {
18
- // https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
19
- // According to AWS support, version is is extracted from the version property in the event.
20
- // If there is no version property, then the version is implied as 1.0
21
- const unknownEvent = event;
22
-
23
- if (typeof unknownEvent.version === 'undefined') {
24
- return '1.0';
25
- } else {
26
- if (['1.0', '2.0'].includes(unknownEvent.version)) {
27
- return unknownEvent.version;
28
- } else {
29
- return 'custom';
30
- }
31
- }
32
- }
33
-
34
- 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';
35
-
36
- function lambdaEventToHTTPRequest(event) {
37
- const query = new URLSearchParams();
38
-
39
- for (const [key, value] of Object.entries((_event$queryStringPar = event.queryStringParameters) !== null && _event$queryStringPar !== void 0 ? _event$queryStringPar : {})) {
40
- var _event$queryStringPar;
41
-
42
- if (typeof value !== 'undefined') {
43
- query.append(key, value);
44
- }
45
- }
46
-
47
- return {
48
- method: getHTTPMethod(event),
49
- query: query,
50
- headers: event.headers,
51
- body: event.body
52
- };
53
- }
54
-
55
- function getHTTPMethod(event) {
56
- if (isPayloadV1(event)) {
57
- return event.httpMethod;
58
- }
59
-
60
- if (isPayloadV2(event)) {
61
- return event.requestContext.http.method;
62
- }
63
-
64
- throw new TRPCError({
65
- code: 'INTERNAL_SERVER_ERROR',
66
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
67
- });
68
- }
69
-
70
- function getPath(event) {
71
- if (isPayloadV1(event)) {
72
- const matches = event.resource.matchAll(/\{(.*?)\}/g);
73
-
74
- for (const match of matches) {
75
- const group = match[1];
76
-
77
- if (group.includes('+') && event.pathParameters) {
78
- return event.pathParameters[group.replace('+', '')] || '';
79
- }
80
- }
81
-
82
- return event.path.slice(1);
83
- }
84
-
85
- if (isPayloadV2(event)) {
86
- const matches = event.routeKey.matchAll(/\{(.*?)\}/g);
87
-
88
- for (const match of matches) {
89
- const group = match[1];
90
-
91
- if (group.includes('+') && event.pathParameters) {
92
- return event.pathParameters[group.replace('+', '')] || '';
93
- }
94
- }
95
-
96
- return event.rawPath.slice(1);
97
- }
98
-
99
- throw new TRPCError({
100
- code: 'INTERNAL_SERVER_ERROR',
101
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
102
- });
103
- }
104
-
105
- function transformHeaders(headers) {
106
- const obj = {};
107
-
108
- for (const [key, value] of Object.entries(headers)) {
109
- if (typeof value === 'undefined') {
110
- continue;
111
- }
112
-
113
- obj[key] = Array.isArray(value) ? value.join(',') : value;
114
- }
115
-
116
- return obj;
117
- }
118
-
119
- function tRPCOutputToAPIGatewayOutput(event, response) {
120
- if (isPayloadV1(event)) {
121
- var _response$body, _response$headers;
122
-
123
- const resp = {
124
- statusCode: response.status,
125
- body: (_response$body = response.body) !== null && _response$body !== void 0 ? _response$body : '',
126
- headers: transformHeaders((_response$headers = response.headers) !== null && _response$headers !== void 0 ? _response$headers : {})
127
- };
128
- return resp;
129
- } else if (isPayloadV2(event)) {
130
- var _response$body2, _response$headers2;
131
-
132
- const resp = {
133
- statusCode: response.status,
134
- body: (_response$body2 = response.body) !== null && _response$body2 !== void 0 ? _response$body2 : undefined,
135
- headers: transformHeaders((_response$headers2 = response.headers) !== null && _response$headers2 !== void 0 ? _response$headers2 : {})
136
- };
137
- return resp;
138
- } else {
139
- throw new TRPCError({
140
- code: 'INTERNAL_SERVER_ERROR',
141
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
142
- });
143
- }
144
- }
145
- /** Will check the createContext of the TRouter and get the parameter of event.
146
- * @internal
147
- **/
148
-
149
-
150
- function awsLambdaRequestHandler(opts) {
151
- return async (event, context) => {
152
- const req = lambdaEventToHTTPRequest(event);
153
- const path = getPath(event);
154
-
155
- const createContext = async function _createContext() {
156
- var _opts$createContext;
157
-
158
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, {
159
- event,
160
- context
161
- }));
162
- };
163
-
164
- const response = await resolveHTTPResponse({
165
- router: opts.router,
166
- batching: opts.batching,
167
- responseMeta: opts === null || opts === void 0 ? void 0 : opts.responseMeta,
168
- createContext,
169
- req,
170
- path,
171
- error: null,
172
-
173
- onError(o) {
174
- var _opts$onError;
175
-
176
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
177
- req: event
178
- });
179
- }
180
-
181
- });
182
- return tRPCOutputToAPIGatewayOutput(event, response);
183
- };
184
- }
185
-
186
- export { awsLambdaRequestHandler };
@@ -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;