@trpc/server 10.0.0-proxy-beta.5 → 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 (72) hide show
  1. package/dist/{TRPCError-e99e7cbe.mjs → TRPCError-281ac25a.mjs} +1 -1
  2. package/dist/adapters/aws-lambda/index.js +2 -2
  3. package/dist/adapters/aws-lambda/index.mjs +3 -3
  4. package/dist/adapters/express.js +2 -2
  5. package/dist/adapters/express.mjs +3 -3
  6. package/dist/adapters/fastify/index.js +1 -1
  7. package/dist/adapters/fastify/index.mjs +2 -2
  8. package/dist/adapters/fetch/index.js +1 -1
  9. package/dist/adapters/fetch/index.mjs +2 -2
  10. package/dist/adapters/next.js +2 -2
  11. package/dist/adapters/next.mjs +3 -3
  12. package/dist/adapters/node-http/index.js +2 -2
  13. package/dist/adapters/node-http/index.mjs +3 -3
  14. package/dist/adapters/standalone.d.ts +1 -1
  15. package/dist/adapters/standalone.js +3 -3
  16. package/dist/adapters/standalone.mjs +4 -4
  17. package/dist/adapters/ws.mjs +1 -1
  18. package/dist/index.js +6 -6
  19. package/dist/index.mjs +5 -4
  20. package/dist/{nodeHTTPRequestHandler-1427713e.mjs → nodeHTTPRequestHandler-b59d2c10.mjs} +2 -2
  21. package/dist/{nodeHTTPRequestHandler-c3200031.js → nodeHTTPRequestHandler-d30a4185.js} +1 -1
  22. package/dist/{resolveHTTPResponse-6fecf1e4.js → resolveHTTPResponse-0a8e47b8.js} +1 -273
  23. package/dist/{resolveHTTPResponse-d922c40d.mjs → resolveHTTPResponse-24d99c94.mjs} +3 -270
  24. package/dist/{router-239218de.mjs → router-6e04fa44.mjs} +273 -6
  25. package/dist/{router-cf869ecb.js → router-bf52be2e.js} +279 -8
  26. package/dist/subscription.mjs +1 -1
  27. package/package.json +25 -12
  28. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +0 -1
  29. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +0 -190
  30. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +0 -7
  31. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +0 -190
  32. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +0 -186
  33. package/adapters/express/dist/trpc-server-adapters-express.cjs.d.ts +0 -1
  34. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +0 -23
  35. package/adapters/express/dist/trpc-server-adapters-express.cjs.js +0 -7
  36. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +0 -23
  37. package/adapters/express/dist/trpc-server-adapters-express.esm.js +0 -19
  38. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +0 -1
  39. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +0 -109
  40. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +0 -7
  41. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +0 -109
  42. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +0 -104
  43. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +0 -1
  44. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +0 -25
  45. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +0 -7
  46. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +0 -25
  47. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +0 -21
  48. package/adapters/next/dist/trpc-server-adapters-next.cjs.d.ts +0 -1
  49. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +0 -56
  50. package/adapters/next/dist/trpc-server-adapters-next.cjs.js +0 -7
  51. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +0 -56
  52. package/adapters/next/dist/trpc-server-adapters-next.esm.js +0 -52
  53. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.d.ts +0 -1
  54. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +0 -13
  55. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.js +0 -7
  56. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +0 -13
  57. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +0 -5
  58. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.d.ts +0 -1
  59. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +0 -46
  60. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.js +0 -7
  61. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +0 -46
  62. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +0 -36
  63. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.d.ts +0 -1
  64. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +0 -363
  65. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.js +0 -7
  66. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +0 -363
  67. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +0 -359
  68. package/rpc/dist/trpc-server-rpc.cjs.d.ts +0 -1
  69. package/rpc/dist/trpc-server-rpc.cjs.dev.js +0 -10
  70. package/rpc/dist/trpc-server-rpc.cjs.js +0 -7
  71. package/rpc/dist/trpc-server-rpc.cjs.prod.js +0 -10
  72. package/rpc/dist/trpc-server-rpc.esm.js +0 -1
@@ -1,9 +1,276 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-6fecf1e4.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-0a8e47b8.js');
4
4
  var codes = require('./codes-76c38a34.js');
5
5
  var TRPCError = require('./TRPCError-fe9113e5.js');
6
6
 
7
+ /**
8
+ * @internal
9
+ */ // FIXME this should use RootConfig
10
+ function createMiddlewareFactory() {
11
+ return function createMiddleware(fn) {
12
+ return fn;
13
+ };
14
+ }
15
+ function isPlainObject(obj) {
16
+ return obj && typeof obj === 'object' && !Array.isArray(obj);
17
+ }
18
+ /**
19
+ * @internal
20
+ * Please note, `trpc-openapi` uses this function.
21
+ */ function createInputMiddleware(parse) {
22
+ const inputMiddleware = async ({ next , rawInput , input , })=>{
23
+ let parsedInput;
24
+ try {
25
+ parsedInput = await parse(rawInput);
26
+ } catch (cause) {
27
+ throw new TRPCError.TRPCError({
28
+ code: 'BAD_REQUEST',
29
+ cause: TRPCError.getCauseFromUnknown(cause)
30
+ });
31
+ }
32
+ // Multiple input parsers
33
+ const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
34
+ ...input,
35
+ ...parsedInput
36
+ } : parsedInput;
37
+ // TODO fix this typing?
38
+ return next({
39
+ input: combinedInput
40
+ });
41
+ };
42
+ inputMiddleware._type = 'input';
43
+ return inputMiddleware;
44
+ }
45
+ /**
46
+ * @internal
47
+ */ function createOutputMiddleware(parse) {
48
+ const outputMiddleware = async ({ next })=>{
49
+ const result = await next();
50
+ if (!result.ok) {
51
+ // pass through failures without validating
52
+ return result;
53
+ }
54
+ try {
55
+ const data = await parse(result.data);
56
+ return {
57
+ ...result,
58
+ data
59
+ };
60
+ } catch (cause) {
61
+ throw new TRPCError.TRPCError({
62
+ message: 'Output validation failed',
63
+ code: 'INTERNAL_SERVER_ERROR',
64
+ cause: TRPCError.getCauseFromUnknown(cause)
65
+ });
66
+ }
67
+ };
68
+ outputMiddleware._type = 'output';
69
+ return outputMiddleware;
70
+ }
71
+
72
+ function getParseFn$1(procedureParser) {
73
+ const parser = procedureParser;
74
+ if (typeof parser === 'function') {
75
+ // ProcedureParserCustomValidatorEsque
76
+ return parser;
77
+ }
78
+ if (typeof parser.parseAsync === 'function') {
79
+ // ProcedureParserZodEsque
80
+ return parser.parseAsync.bind(parser);
81
+ }
82
+ if (typeof parser.parse === 'function') {
83
+ // ProcedureParserZodEsque
84
+ return parser.parse.bind(parser);
85
+ }
86
+ if (typeof parser.validateSync === 'function') {
87
+ // ProcedureParserYupEsque
88
+ return parser.validateSync.bind(parser);
89
+ }
90
+ if (typeof parser.create === 'function') {
91
+ // ProcedureParserSuperstructEsque
92
+ return parser.create.bind(parser);
93
+ }
94
+ throw new Error('Could not find a validator fn');
95
+ }
96
+ /**
97
+ * @deprecated only for backwards compat
98
+ * @internal
99
+ */ function getParseFnOrPassThrough(procedureParser) {
100
+ if (!procedureParser) {
101
+ return (v)=>v;
102
+ }
103
+ return getParseFn$1(procedureParser);
104
+ }
105
+
106
+ /**
107
+ * @internal
108
+ */ const middlewareMarker$1 = 'middlewareMarker';
109
+
110
+ function createNewBuilder(def1, def2) {
111
+ const { middlewares =[] , inputs , ...rest } = def2;
112
+ // TODO: maybe have a fn here to warn about calls
113
+ return createBuilder({
114
+ ...resolveHTTPResponse.mergeWithoutOverrides(def1, rest),
115
+ inputs: [
116
+ ...def1.inputs,
117
+ ...inputs ?? []
118
+ ],
119
+ middlewares: [
120
+ ...def1.middlewares,
121
+ ...middlewares
122
+ ]
123
+ });
124
+ }
125
+ function createBuilder(initDef) {
126
+ const _def = initDef || {
127
+ inputs: [],
128
+ middlewares: []
129
+ };
130
+ return {
131
+ _def,
132
+ input (input) {
133
+ const parser = getParseFn$1(input);
134
+ return createNewBuilder(_def, {
135
+ inputs: [
136
+ input
137
+ ],
138
+ middlewares: [
139
+ createInputMiddleware(parser)
140
+ ]
141
+ });
142
+ },
143
+ output (output) {
144
+ const parseOutput = getParseFn$1(output);
145
+ return createNewBuilder(_def, {
146
+ output,
147
+ middlewares: [
148
+ createOutputMiddleware(parseOutput)
149
+ ]
150
+ });
151
+ },
152
+ meta (meta) {
153
+ return createNewBuilder(_def, {
154
+ meta: meta
155
+ });
156
+ },
157
+ unstable_concat (builder) {
158
+ return createNewBuilder(_def, builder._def);
159
+ },
160
+ use (middleware) {
161
+ return createNewBuilder(_def, {
162
+ middlewares: [
163
+ middleware
164
+ ]
165
+ });
166
+ },
167
+ query (resolver) {
168
+ return createResolver({
169
+ ..._def,
170
+ query: true
171
+ }, resolver);
172
+ },
173
+ mutation (resolver) {
174
+ return createResolver({
175
+ ..._def,
176
+ mutation: true
177
+ }, resolver);
178
+ },
179
+ subscription (resolver) {
180
+ return createResolver({
181
+ ..._def,
182
+ subscription: true
183
+ }, resolver);
184
+ }
185
+ };
186
+ }
187
+ function createResolver(_def, resolver) {
188
+ const finalBuilder = createNewBuilder(_def, {
189
+ resolver,
190
+ middlewares: [
191
+ async function resolveMiddleware(opts) {
192
+ const data = await resolver(opts);
193
+ return {
194
+ marker: middlewareMarker$1,
195
+ ok: true,
196
+ data,
197
+ ctx: opts.ctx
198
+ };
199
+ }
200
+ ]
201
+ });
202
+ return createProcedureCaller(finalBuilder._def);
203
+ }
204
+ const codeblock = `
205
+ If you want to call this function on the server, you do the following:
206
+ This is a client-only function.
207
+
208
+ const caller = appRouter.createCaller({
209
+ /* ... your context */
210
+ });
211
+
212
+ const result = await caller.call('myProcedure', input);
213
+ `.trim();
214
+ function createProcedureCaller(_def) {
215
+ const procedure = async function resolve(opts) {
216
+ // is direct server-side call
217
+ if (!opts || !('rawInput' in opts)) {
218
+ throw new Error(codeblock);
219
+ }
220
+ // run the middlewares recursively with the resolver as the last one
221
+ const callRecursive = async (callOpts = {
222
+ index: 0,
223
+ ctx: opts.ctx
224
+ })=>{
225
+ try {
226
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
227
+ const middleware = _def.middlewares[callOpts.index];
228
+ const result = await middleware({
229
+ ctx: callOpts.ctx,
230
+ type: opts.type,
231
+ path: opts.path,
232
+ rawInput: opts.rawInput,
233
+ meta: _def.meta,
234
+ input: callOpts.input,
235
+ next: async (nextOpts)=>{
236
+ return await callRecursive({
237
+ index: callOpts.index + 1,
238
+ ctx: nextOpts && 'ctx' in nextOpts ? {
239
+ ...callOpts.ctx,
240
+ ...nextOpts.ctx
241
+ } : callOpts.ctx,
242
+ input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input
243
+ });
244
+ }
245
+ });
246
+ return result;
247
+ } catch (cause) {
248
+ return {
249
+ ok: false,
250
+ error: TRPCError.getTRPCErrorFromUnknown(cause),
251
+ marker: middlewareMarker$1
252
+ };
253
+ }
254
+ };
255
+ // there's always at least one "next" since we wrap this.resolver in a middleware
256
+ const result = await callRecursive();
257
+ if (!result) {
258
+ throw new TRPCError.TRPCError({
259
+ code: 'INTERNAL_SERVER_ERROR',
260
+ message: 'No result from middlewares - did you forget to `return next()`?'
261
+ });
262
+ }
263
+ if (!result.ok) {
264
+ // re-throw original error
265
+ throw result.error;
266
+ }
267
+ return result.data;
268
+ };
269
+ procedure._def = _def;
270
+ procedure.meta = _def.meta;
271
+ return procedure;
272
+ }
273
+
7
274
  resolveHTTPResponse.assertNotBrowser();
8
275
 
9
276
  /**
@@ -89,7 +356,7 @@ function getParseFn(procedureParser) {
89
356
  data,
90
357
  ctx
91
358
  };
92
- },
359
+ }
93
360
  ]);
94
361
  // run the middlewares recursively with the resolver as the last one
95
362
  const callRecursive = async (callOpts = {
@@ -184,17 +451,17 @@ function createProcedure(opts) {
184
451
 
185
452
  function migrateProcedure(oldProc, type) {
186
453
  const def = oldProc._def();
187
- const inputParser = resolveHTTPResponse.getParseFnOrPassThrough(def.inputParser);
188
- const outputParser = resolveHTTPResponse.getParseFnOrPassThrough(def.outputParser);
189
- const inputMiddleware = resolveHTTPResponse.createInputMiddleware(inputParser);
190
- const builder = resolveHTTPResponse.createBuilder({
454
+ const inputParser = getParseFnOrPassThrough(def.inputParser);
455
+ const outputParser = getParseFnOrPassThrough(def.outputParser);
456
+ const inputMiddleware = createInputMiddleware(inputParser);
457
+ const builder = createBuilder({
191
458
  inputs: [
192
459
  def.inputParser
193
460
  ],
194
461
  middlewares: [
195
462
  ...def.middlewares,
196
463
  inputMiddleware,
197
- resolveHTTPResponse.createOutputMiddleware(outputParser),
464
+ createOutputMiddleware(outputParser)
198
465
  ],
199
466
  meta: def.meta,
200
467
  output: def.outputParser,
@@ -298,7 +565,7 @@ function safeObject(...args) {
298
565
  const duplicates = [
299
566
  ...duplicateQueries,
300
567
  ...duplicateMutations,
301
- ...duplicateSubscriptions,
568
+ ...duplicateSubscriptions
302
569
  ];
303
570
  if (duplicates.length) {
304
571
  throw new Error(`Duplicate endpoint(s): ${duplicates.join(', ')}`);
@@ -450,4 +717,8 @@ function safeObject(...args) {
450
717
  return new Router();
451
718
  }
452
719
 
720
+ exports.createBuilder = createBuilder;
721
+ exports.createInputMiddleware = createInputMiddleware;
722
+ exports.createMiddlewareFactory = createMiddlewareFactory;
723
+ exports.createOutputMiddleware = createOutputMiddleware;
453
724
  exports.router = router;
@@ -1,4 +1,4 @@
1
- import { a as getTRPCErrorFromUnknown } from './TRPCError-e99e7cbe.mjs';
1
+ import { g as getTRPCErrorFromUnknown } from './TRPCError-281ac25a.mjs';
2
2
  import { o as observable } from './observable-e129ac9d.mjs';
3
3
 
4
4
  function subscriptionPullFactory(opts) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.0.0-proxy-beta.5",
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": "54b1938bdca755d2d8ff6e79712ba57d3e29edab"
152
+ "gitHead": "840af567d6634243e0b6a09d9fdb5bf19554cc93"
140
153
  }
@@ -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
- }