@trpc/server 11.0.0-alpha-tmp-export-from-main-nuke-core.239 → 11.0.0-alpha-tmp-export-from-main.219

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 (253) hide show
  1. package/dist/@trpc-server/http.d.ts +2 -0
  2. package/dist/@trpc-server/http.d.ts.map +1 -0
  3. package/dist/adapters/aws-lambda/index.d.ts +2 -1
  4. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  5. package/dist/adapters/aws-lambda/index.js +4 -6
  6. package/dist/adapters/aws-lambda/index.mjs +2 -4
  7. package/dist/adapters/aws-lambda/utils.d.ts +3 -2
  8. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  9. package/dist/adapters/aws-lambda/utils.js +4 -5
  10. package/dist/adapters/aws-lambda/utils.mjs +2 -3
  11. package/dist/adapters/express.d.ts +2 -1
  12. package/dist/adapters/express.d.ts.map +1 -1
  13. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +2 -2
  14. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  15. package/dist/adapters/fastify/fastifyRequestHandler.js +3 -6
  16. package/dist/adapters/fastify/fastifyRequestHandler.mjs +1 -4
  17. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +2 -1
  18. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  19. package/dist/adapters/fastify/fastifyTRPCPlugin.js +1 -0
  20. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +1 -0
  21. package/dist/adapters/fetch/fetchRequestHandler.d.ts +2 -1
  22. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  23. package/dist/adapters/fetch/fetchRequestHandler.js +4 -6
  24. package/dist/adapters/fetch/fetchRequestHandler.mjs +2 -4
  25. package/dist/adapters/fetch/types.d.ts +3 -2
  26. package/dist/adapters/fetch/types.d.ts.map +1 -1
  27. package/dist/adapters/next.d.ts +3 -1
  28. package/dist/adapters/next.d.ts.map +1 -1
  29. package/dist/adapters/next.js +4 -6
  30. package/dist/adapters/next.mjs +2 -4
  31. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +1 -1
  32. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -1
  33. package/dist/adapters/node-http/content-type/json/getPostBody.js +2 -4
  34. package/dist/adapters/node-http/content-type/json/getPostBody.mjs +1 -3
  35. package/dist/adapters/node-http/content-type/json/index.js +2 -4
  36. package/dist/adapters/node-http/content-type/json/index.mjs +1 -3
  37. package/dist/adapters/node-http/internals/contentType.d.ts +2 -2
  38. package/dist/adapters/node-http/internals/contentType.d.ts.map +1 -1
  39. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -1
  40. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  41. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +4 -6
  42. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +2 -4
  43. package/dist/adapters/node-http/types.d.ts +4 -3
  44. package/dist/adapters/node-http/types.d.ts.map +1 -1
  45. package/dist/adapters/standalone.d.ts +2 -1
  46. package/dist/adapters/standalone.d.ts.map +1 -1
  47. package/dist/adapters/standalone.js +0 -1
  48. package/dist/adapters/standalone.mjs +0 -1
  49. package/dist/adapters/ws.d.ts +2 -3
  50. package/dist/adapters/ws.d.ts.map +1 -1
  51. package/dist/adapters/ws.js +26 -33
  52. package/dist/adapters/ws.mjs +1 -8
  53. package/dist/http.d.ts +6 -1
  54. package/dist/http.d.ts.map +1 -1
  55. package/dist/http.js +21 -11
  56. package/dist/http.mjs +1 -6
  57. package/dist/index.d.ts +68 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +41 -18
  60. package/dist/index.mjs +1 -8
  61. package/dist/observable.d.ts +3 -0
  62. package/dist/observable.d.ts.map +1 -0
  63. package/dist/observable.js +30 -0
  64. package/dist/observable.mjs +1 -0
  65. package/dist/rpc.d.ts +2 -1
  66. package/dist/rpc.d.ts.map +1 -1
  67. package/dist/rpc.js +13 -6
  68. package/dist/rpc.mjs +1 -3
  69. package/dist/shared.d.ts +1 -1
  70. package/dist/shared.d.ts.map +1 -1
  71. package/dist/shared.js +9 -6
  72. package/dist/shared.mjs +1 -4
  73. package/dist/unstableDontImportMe.d.ts +10 -0
  74. package/dist/unstableDontImportMe.d.ts.map +1 -0
  75. package/dist/unstableDontImportMe.js +142 -0
  76. package/dist/unstableDontImportMe.mjs +1 -0
  77. package/package.json +135 -52
  78. package/src/@trpc-server/http.ts +2 -0
  79. package/src/adapters/aws-lambda/index.ts +5 -4
  80. package/src/adapters/aws-lambda/utils.ts +4 -3
  81. package/src/adapters/express.ts +3 -1
  82. package/src/adapters/fastify/fastifyRequestHandler.ts +4 -6
  83. package/src/adapters/fastify/fastifyTRPCPlugin.ts +2 -1
  84. package/src/adapters/fetch/fetchRequestHandler.ts +4 -6
  85. package/src/adapters/fetch/types.ts +3 -2
  86. package/src/adapters/next.ts +4 -2
  87. package/src/adapters/node-http/content-type/form-data/index.ts +1 -1
  88. package/src/adapters/node-http/content-type/json/getPostBody.ts +2 -2
  89. package/src/adapters/node-http/content-type/json/index.ts +1 -1
  90. package/src/adapters/node-http/internals/contentType.ts +2 -2
  91. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +4 -6
  92. package/src/adapters/node-http/types.ts +5 -4
  93. package/src/adapters/standalone.ts +2 -2
  94. package/src/adapters/ws.ts +13 -14
  95. package/src/http.ts +26 -1
  96. package/src/index.ts +105 -1
  97. package/src/observable.ts +16 -0
  98. package/src/rpc.ts +26 -1
  99. package/src/shared.ts +1 -1
  100. package/src/unstableDontImportMe.ts +146 -0
  101. package/unstableDontImportMe/index.d.ts +1 -0
  102. package/unstableDontImportMe/index.js +1 -0
  103. package/dist/@trpc/server/http.d.ts +0 -7
  104. package/dist/@trpc/server/http.d.ts.map +0 -1
  105. package/dist/@trpc/server/index.d.ts +0 -69
  106. package/dist/@trpc/server/index.d.ts.map +0 -1
  107. package/dist/@trpc/server/rpc.d.ts +0 -3
  108. package/dist/@trpc/server/rpc.d.ts.map +0 -1
  109. package/dist/bundle-analysis.json +0 -757
  110. package/dist/observable/index.d.ts +0 -5
  111. package/dist/observable/index.d.ts.map +0 -1
  112. package/dist/observable/index.js +0 -13
  113. package/dist/observable/index.mjs +0 -2
  114. package/dist/observable/observable.d.ts +0 -13
  115. package/dist/observable/observable.d.ts.map +0 -1
  116. package/dist/observable/observable.js +0 -126
  117. package/dist/observable/observable.mjs +0 -122
  118. package/dist/observable/operators.d.ts +0 -8
  119. package/dist/observable/operators.d.ts.map +0 -1
  120. package/dist/observable/operators.js +0 -103
  121. package/dist/observable/operators.mjs +0 -99
  122. package/dist/observable/types.d.ts +0 -26
  123. package/dist/observable/types.d.ts.map +0 -1
  124. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +0 -6
  125. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +0 -1
  126. package/dist/unstable-core-do-not-import/createProxy.d.ts +0 -19
  127. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +0 -1
  128. package/dist/unstable-core-do-not-import/createProxy.js +0 -52
  129. package/dist/unstable-core-do-not-import/createProxy.mjs +0 -49
  130. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +0 -13
  131. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +0 -1
  132. package/dist/unstable-core-do-not-import/error/TRPCError.js +0 -67
  133. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +0 -63
  134. package/dist/unstable-core-do-not-import/error/formatter.d.ts +0 -33
  135. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +0 -1
  136. package/dist/unstable-core-do-not-import/error/formatter.js +0 -7
  137. package/dist/unstable-core-do-not-import/error/formatter.mjs +0 -5
  138. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +0 -15
  139. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +0 -1
  140. package/dist/unstable-core-do-not-import/error/getErrorShape.js +0 -31
  141. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +0 -29
  142. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +0 -24
  143. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +0 -1
  144. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.js +0 -32
  145. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.mjs +0 -30
  146. package/dist/unstable-core-do-not-import/http/contentType.d.ts +0 -29
  147. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +0 -1
  148. package/dist/unstable-core-do-not-import/http/contentType.js +0 -54
  149. package/dist/unstable-core-do-not-import/http/contentType.mjs +0 -52
  150. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +0 -5
  151. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +0 -1
  152. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +0 -51
  153. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +0 -48
  154. package/dist/unstable-core-do-not-import/http/index.d.ts +0 -7
  155. package/dist/unstable-core-do-not-import/http/index.d.ts.map +0 -1
  156. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +0 -51
  157. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +0 -1
  158. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.js +0 -295
  159. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.mjs +0 -293
  160. package/dist/unstable-core-do-not-import/http/types.d.ts +0 -96
  161. package/dist/unstable-core-do-not-import/http/types.d.ts.map +0 -1
  162. package/dist/unstable-core-do-not-import/index.d.ts +0 -37
  163. package/dist/unstable-core-do-not-import/index.d.ts.map +0 -1
  164. package/dist/unstable-core-do-not-import/index.js +0 -48
  165. package/dist/unstable-core-do-not-import/index.mjs +0 -16
  166. package/dist/unstable-core-do-not-import/initTRPC.d.ts +0 -96
  167. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +0 -1
  168. package/dist/unstable-core-do-not-import/initTRPC.js +0 -95
  169. package/dist/unstable-core-do-not-import/initTRPC.mjs +0 -93
  170. package/dist/unstable-core-do-not-import/middleware.d.ts +0 -105
  171. package/dist/unstable-core-do-not-import/middleware.d.ts.map +0 -1
  172. package/dist/unstable-core-do-not-import/middleware.js +0 -95
  173. package/dist/unstable-core-do-not-import/middleware.mjs +0 -89
  174. package/dist/unstable-core-do-not-import/parser.d.ts +0 -30
  175. package/dist/unstable-core-do-not-import/parser.d.ts.map +0 -1
  176. package/dist/unstable-core-do-not-import/parser.js +0 -37
  177. package/dist/unstable-core-do-not-import/parser.mjs +0 -35
  178. package/dist/unstable-core-do-not-import/procedure.d.ts +0 -72
  179. package/dist/unstable-core-do-not-import/procedure.d.ts.map +0 -1
  180. package/dist/unstable-core-do-not-import/procedure.js +0 -9
  181. package/dist/unstable-core-do-not-import/procedure.mjs +0 -7
  182. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +0 -101
  183. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +0 -1
  184. package/dist/unstable-core-do-not-import/procedureBuilder.js +0 -176
  185. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +0 -173
  186. package/dist/unstable-core-do-not-import/rootConfig.d.ts +0 -75
  187. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +0 -1
  188. package/dist/unstable-core-do-not-import/rootConfig.js +0 -8
  189. package/dist/unstable-core-do-not-import/rootConfig.mjs +0 -6
  190. package/dist/unstable-core-do-not-import/router.d.ts +0 -85
  191. package/dist/unstable-core-do-not-import/router.d.ts.map +0 -1
  192. package/dist/unstable-core-do-not-import/router.js +0 -156
  193. package/dist/unstable-core-do-not-import/router.mjs +0 -151
  194. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +0 -51
  195. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +0 -1
  196. package/dist/unstable-core-do-not-import/rpc/codes.js +0 -38
  197. package/dist/unstable-core-do-not-import/rpc/codes.mjs +0 -35
  198. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +0 -97
  199. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +0 -1
  200. package/dist/unstable-core-do-not-import/rpc/index.d.ts +0 -5
  201. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +0 -1
  202. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +0 -5
  203. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +0 -1
  204. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +0 -59
  205. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +0 -57
  206. package/dist/unstable-core-do-not-import/serialize.d.ts +0 -62
  207. package/dist/unstable-core-do-not-import/serialize.d.ts.map +0 -1
  208. package/dist/unstable-core-do-not-import/transformer.d.ts +0 -107
  209. package/dist/unstable-core-do-not-import/transformer.d.ts.map +0 -1
  210. package/dist/unstable-core-do-not-import/transformer.js +0 -107
  211. package/dist/unstable-core-do-not-import/transformer.mjs +0 -102
  212. package/dist/unstable-core-do-not-import/types.d.ts +0 -98
  213. package/dist/unstable-core-do-not-import/types.d.ts.map +0 -1
  214. package/dist/unstable-core-do-not-import/utils.d.ts +0 -27
  215. package/dist/unstable-core-do-not-import/utils.d.ts.map +0 -1
  216. package/dist/unstable-core-do-not-import/utils.js +0 -44
  217. package/dist/unstable-core-do-not-import/utils.mjs +0 -39
  218. package/src/@trpc/server/http.ts +0 -26
  219. package/src/@trpc/server/index.ts +0 -105
  220. package/src/@trpc/server/rpc.ts +0 -26
  221. package/src/observable/index.ts +0 -10
  222. package/src/observable/observable.ts +0 -158
  223. package/src/observable/operators.ts +0 -119
  224. package/src/observable/types.ts +0 -76
  225. package/src/unstable-core-do-not-import/TRPCInferrable.ts +0 -9
  226. package/src/unstable-core-do-not-import/createProxy.ts +0 -59
  227. package/src/unstable-core-do-not-import/error/TRPCError.ts +0 -82
  228. package/src/unstable-core-do-not-import/error/formatter.ts +0 -51
  229. package/src/unstable-core-do-not-import/error/getErrorShape.ts +0 -36
  230. package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +0 -29
  231. package/src/unstable-core-do-not-import/http/contentType.ts +0 -99
  232. package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +0 -57
  233. package/src/unstable-core-do-not-import/http/index.ts +0 -23
  234. package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +0 -458
  235. package/src/unstable-core-do-not-import/http/types.ts +0 -111
  236. package/src/unstable-core-do-not-import/index.ts +0 -110
  237. package/src/unstable-core-do-not-import/initTRPC.ts +0 -206
  238. package/src/unstable-core-do-not-import/middleware.ts +0 -233
  239. package/src/unstable-core-do-not-import/parser.ts +0 -94
  240. package/src/unstable-core-do-not-import/procedure.ts +0 -108
  241. package/src/unstable-core-do-not-import/procedureBuilder.ts +0 -458
  242. package/src/unstable-core-do-not-import/rootConfig.ts +0 -90
  243. package/src/unstable-core-do-not-import/router.ts +0 -370
  244. package/src/unstable-core-do-not-import/rpc/codes.ts +0 -44
  245. package/src/unstable-core-do-not-import/rpc/envelopes.ts +0 -136
  246. package/src/unstable-core-do-not-import/rpc/index.ts +0 -21
  247. package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +0 -85
  248. package/src/unstable-core-do-not-import/serialize.ts +0 -122
  249. package/src/unstable-core-do-not-import/transformer.ts +0 -202
  250. package/src/unstable-core-do-not-import/types.ts +0 -151
  251. package/src/unstable-core-do-not-import/utils.ts +0 -59
  252. package/unstable-core-do-not-import/index.d.ts +0 -1
  253. package/unstable-core-do-not-import/index.js +0 -1
@@ -1,48 +0,0 @@
1
- import { TRPC_ERROR_CODES_BY_NUMBER } from '../rpc/codes.mjs';
2
-
3
- const JSONRPC2_TO_HTTP_CODE = {
4
- PARSE_ERROR: 400,
5
- BAD_REQUEST: 400,
6
- UNAUTHORIZED: 401,
7
- NOT_FOUND: 404,
8
- FORBIDDEN: 403,
9
- METHOD_NOT_SUPPORTED: 405,
10
- TIMEOUT: 408,
11
- CONFLICT: 409,
12
- PRECONDITION_FAILED: 412,
13
- PAYLOAD_TOO_LARGE: 413,
14
- UNPROCESSABLE_CONTENT: 422,
15
- TOO_MANY_REQUESTS: 429,
16
- CLIENT_CLOSED_REQUEST: 499,
17
- INTERNAL_SERVER_ERROR: 500,
18
- NOT_IMPLEMENTED: 501
19
- };
20
- function getStatusCodeFromKey(code) {
21
- return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
22
- }
23
- function getHTTPStatusCode(json) {
24
- const arr = Array.isArray(json) ? json : [
25
- json
26
- ];
27
- const httpStatuses = new Set(arr.map((res)=>{
28
- if ('error' in res) {
29
- const data = res.error.data;
30
- if (typeof data['httpStatus'] === 'number') {
31
- return data['httpStatus'];
32
- }
33
- const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
34
- return getStatusCodeFromKey(code);
35
- }
36
- return 200;
37
- }));
38
- if (httpStatuses.size !== 1) {
39
- return 207;
40
- }
41
- const httpStatus = httpStatuses.values().next().value;
42
- return httpStatus;
43
- }
44
- function getHTTPStatusCodeFromError(error) {
45
- return getStatusCodeFromKey(error.code);
46
- }
47
-
48
- export { getHTTPStatusCode, getHTTPStatusCodeFromError };
@@ -1,7 +0,0 @@
1
- export { getHTTPStatusCode, getHTTPStatusCodeFromError, } from './getHTTPStatusCode';
2
- export { resolveHTTPResponse } from './resolveHTTPResponse';
3
- export type { BaseHandlerOptions, HTTPBaseHandlerOptions, HTTPHeaders, HTTPRequest, HTTPResponse, OnErrorFunction, ProcedureCall, ResolveHTTPRequestOptionsContextFn, ResponseChunk, ResponseMeta, ResponseMetaFn, TRPCRequestInfo, } from './types';
4
- export { getBatchStreamFormatter } from './batchStreamFormatter';
5
- export type { BaseContentTypeHandler, BodyResult } from './contentType';
6
- export { getJsonContentTypeInputs } from './contentType';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kCAAkC,EAClC,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,51 +0,0 @@
1
- import { TRPCError } from '../error/TRPCError';
2
- import type { AnyRouter } from '../router';
3
- import type { Maybe } from '../types';
4
- import type { BaseContentTypeHandler } from './contentType';
5
- import type { HTTPBaseHandlerOptions, HTTPRequest, HTTPResponse, ResolveHTTPRequestOptionsContextFn, ResponseChunk } from './types';
6
- interface ResolveHTTPRequestOptions<TRouter extends AnyRouter, TRequest extends HTTPRequest> extends HTTPBaseHandlerOptions<TRouter, TRequest> {
7
- createContext: ResolveHTTPRequestOptionsContextFn<TRouter>;
8
- req: TRequest;
9
- path: string;
10
- error?: Maybe<TRPCError>;
11
- contentTypeHandler?: BaseContentTypeHandler<any>;
12
- preprocessedBody?: boolean;
13
- /**
14
- * Called as soon as the response head is known.
15
- * When streaming, headers will have been generated
16
- * **without** knowing the response body.
17
- *
18
- * Without this callback, streaming is disabled.
19
- */
20
- unstable_onHead: (headResponse: Omit<HTTPResponse, 'body'>, isStreaming: boolean) => void;
21
- /**
22
- * Called for every procedure with `[index, result]`.
23
- *
24
- * Will be called a single time with `index = -1` if
25
- * - response is an error
26
- * - response is empty (HEAD request)
27
- *
28
- * Without this callback, streaming is disabled.
29
- */
30
- unstable_onChunk: (chunk: ResponseChunk) => void;
31
- }
32
- /**
33
- * Since `resolveHTTPResponse` is a public API (community adapters),
34
- * let's give it a strong type signature to increase discoverability.
35
- */
36
- /**
37
- * Non-streaming signature for `resolveHTTPResponse`:
38
- * @param opts.unstable_onHead `undefined`
39
- * @param opts.unstable_onChunk `undefined`
40
- * @returns `Promise<HTTPResponse>`
41
- */
42
- export declare function resolveHTTPResponse<TRouter extends AnyRouter, TRequest extends HTTPRequest>(opts: Omit<ResolveHTTPRequestOptions<TRouter, TRequest>, 'unstable_onChunk' | 'unstable_onHead'>): Promise<HTTPResponse>;
43
- /**
44
- * Streaming signature for `resolveHTTPResponse`:
45
- * @param opts.unstable_onHead called as soon as the response head is known
46
- * @param opts.unstable_onChunk called for every procedure with `[index, result]`
47
- * @returns `Promise<void>` since the response is streamed
48
- */
49
- export declare function resolveHTTPResponse<TRouter extends AnyRouter, TRequest extends HTTPRequest>(opts: ResolveHTTPRequestOptions<TRouter, TRequest>): Promise<void>;
50
- export {};
51
- //# sourceMappingURL=resolveHTTPResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,KAAK,EACV,sBAAsB,EAEtB,WAAW,EACX,YAAY,EACZ,kCAAkC,EAClC,aAAa,EAEd,MAAM,SAAS,CAAC;AAoBjB,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,kCAAkC,CAAC,OAAO,CAAC,CAAC;IAC3D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,eAAe,EAAE,CACf,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EACxC,WAAW,EAAE,OAAO,KACjB,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAClD;AAyJD;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAE5B,IAAI,EAAE,IAAI,CACR,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC5C,kBAAkB,GAAG,iBAAiB,CACvC,GACA,OAAO,CAAC,YAAY,CAAC,CAAC;AACzB;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,295 +0,0 @@
1
- 'use strict';
2
-
3
- var getErrorShape = require('../error/getErrorShape.js');
4
- var TRPCError = require('../error/TRPCError.js');
5
- var router = require('../router.js');
6
- var transformer = require('../transformer.js');
7
- var contentType = require('./contentType.js');
8
- var getHTTPStatusCode = require('./getHTTPStatusCode.js');
9
-
10
- const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
11
- GET: 'query',
12
- POST: 'mutation'
13
- };
14
- const fallbackContentTypeHandler = {
15
- getInputs: contentType.getJsonContentTypeInputs
16
- };
17
- function initResponse(initOpts) {
18
- const { ctx , paths , type , responseMeta , untransformedJSON , errors =[] , } = initOpts;
19
- let status = untransformedJSON ? getHTTPStatusCode.getHTTPStatusCode(untransformedJSON) : 200;
20
- const headers = {
21
- 'Content-Type': 'application/json'
22
- };
23
- const eagerGeneration = !untransformedJSON;
24
- const data = eagerGeneration ? [] : Array.isArray(untransformedJSON) ? untransformedJSON : [
25
- untransformedJSON
26
- ];
27
- const meta = responseMeta?.({
28
- ctx,
29
- paths,
30
- type,
31
- data,
32
- errors,
33
- eagerGeneration
34
- }) ?? {};
35
- for (const [key, value] of Object.entries(meta.headers ?? {})){
36
- headers[key] = value;
37
- }
38
- if (meta.status) {
39
- status = meta.status;
40
- }
41
- return {
42
- status,
43
- headers
44
- };
45
- }
46
- async function inputToProcedureCall(procedureOpts) {
47
- const { opts , ctx , type , input , path } = procedureOpts;
48
- try {
49
- const data = await router.callProcedure({
50
- procedures: opts.router._def.procedures,
51
- path,
52
- getRawInput: async ()=>input,
53
- ctx,
54
- type
55
- });
56
- return {
57
- result: {
58
- data
59
- }
60
- };
61
- } catch (cause) {
62
- const error = TRPCError.getTRPCErrorFromUnknown(cause);
63
- opts.onError?.({
64
- error,
65
- path,
66
- input,
67
- ctx,
68
- type: type,
69
- req: opts.req
70
- });
71
- return {
72
- error: getErrorShape.getErrorShape({
73
- config: opts.router._def._config,
74
- error,
75
- type,
76
- path,
77
- input,
78
- ctx
79
- })
80
- };
81
- }
82
- }
83
- function caughtErrorToData(cause, errorOpts) {
84
- const { router , req , onError } = errorOpts.opts;
85
- const error = TRPCError.getTRPCErrorFromUnknown(cause);
86
- onError?.({
87
- error,
88
- path: errorOpts.path,
89
- input: errorOpts.input,
90
- ctx: errorOpts.ctx,
91
- type: errorOpts.type,
92
- req
93
- });
94
- const untransformedJSON = {
95
- error: getErrorShape.getErrorShape({
96
- config: router._def._config,
97
- error,
98
- type: errorOpts.type,
99
- path: errorOpts.path,
100
- input: errorOpts.input,
101
- ctx: errorOpts.ctx
102
- })
103
- };
104
- const transformedJSON = transformer.transformTRPCResponse(router._def._config, untransformedJSON);
105
- const body = JSON.stringify(transformedJSON);
106
- return {
107
- error,
108
- untransformedJSON,
109
- body
110
- };
111
- }
112
- // implementation
113
- async function resolveHTTPResponse(opts) {
114
- const { router , req , unstable_onHead , unstable_onChunk } = opts;
115
- if (req.method === 'HEAD') {
116
- // can be used for lambda warmup
117
- const headResponse = {
118
- status: 204
119
- };
120
- unstable_onHead?.(headResponse, false);
121
- unstable_onChunk?.([
122
- -1,
123
- ''
124
- ]);
125
- return headResponse;
126
- }
127
- const contentTypeHandler = opts.contentTypeHandler ?? fallbackContentTypeHandler;
128
- const batchingEnabled = opts.batching?.enabled ?? true;
129
- const type = HTTP_METHOD_PROCEDURE_TYPE_MAP[req.method] ?? 'unknown';
130
- let ctx = undefined;
131
- let paths;
132
- const isBatchCall = !!req.query.get('batch');
133
- const isStreamCall = isBatchCall && unstable_onHead && unstable_onChunk && req.headers['trpc-batch-mode'] === 'stream';
134
- try {
135
- if (opts.error) {
136
- throw opts.error;
137
- }
138
- if (isBatchCall && !batchingEnabled) {
139
- throw new Error(`Batching is not enabled on the server`);
140
- }
141
- /* istanbul ignore if -- @preserve */ if (type === 'subscription') {
142
- throw new TRPCError.TRPCError({
143
- message: 'Subscriptions should use wsLink',
144
- code: 'METHOD_NOT_SUPPORTED'
145
- });
146
- }
147
- if (type === 'unknown') {
148
- throw new TRPCError.TRPCError({
149
- message: `Unexpected request method ${req.method}`,
150
- code: 'METHOD_NOT_SUPPORTED'
151
- });
152
- }
153
- const inputs = await contentTypeHandler.getInputs({
154
- isBatchCall,
155
- req,
156
- router,
157
- preprocessedBody: opts.preprocessedBody ?? false
158
- });
159
- paths = isBatchCall ? decodeURIComponent(opts.path).split(',') : [
160
- opts.path
161
- ];
162
- const info = {
163
- isBatchCall,
164
- calls: paths.map((path, idx)=>({
165
- path,
166
- type,
167
- input: inputs[idx] ?? undefined
168
- }))
169
- };
170
- ctx = await opts.createContext({
171
- info
172
- });
173
- const promises = paths.map((path, index)=>inputToProcedureCall({
174
- opts,
175
- ctx,
176
- type,
177
- input: inputs[index],
178
- path
179
- }));
180
- if (!isStreamCall) {
181
- /**
182
- * Non-streaming response:
183
- * - await all responses in parallel, blocking on the slowest one
184
- * - create headers with known response body
185
- * - return a complete HTTPResponse
186
- */ const untransformedJSON = await Promise.all(promises);
187
- const errors = untransformedJSON.flatMap((response)=>'error' in response ? [
188
- response.error
189
- ] : []);
190
- const headResponse1 = initResponse({
191
- ctx,
192
- paths,
193
- type,
194
- responseMeta: opts.responseMeta,
195
- untransformedJSON,
196
- errors
197
- });
198
- unstable_onHead?.(headResponse1, false);
199
- // return body stuff
200
- const result = isBatchCall ? untransformedJSON : untransformedJSON[0]; // eslint-disable-line @typescript-eslint/no-non-null-assertion -- `untransformedJSON` should be the length of `paths` which should be at least 1 otherwise there wouldn't be a request at all
201
- const transformedJSON = transformer.transformTRPCResponse(router._def._config, result);
202
- const body = JSON.stringify(transformedJSON);
203
- unstable_onChunk?.([
204
- -1,
205
- body
206
- ]);
207
- return {
208
- status: headResponse1.status,
209
- headers: headResponse1.headers,
210
- body
211
- };
212
- }
213
- /**
214
- * Streaming response:
215
- * - block on none, call `onChunk` as soon as each response is ready
216
- * - create headers with minimal data (cannot know the response body in advance)
217
- * - return void
218
- */ const headResponse2 = initResponse({
219
- ctx,
220
- paths,
221
- type,
222
- responseMeta: opts.responseMeta
223
- });
224
- unstable_onHead(headResponse2, true);
225
- const indexedPromises = new Map(promises.map((promise, index)=>[
226
- index,
227
- promise.then((r)=>[
228
- index,
229
- r
230
- ])
231
- ]));
232
- for (const _ of paths){
233
- const [index, untransformedJSON1] = await Promise.race(indexedPromises.values());
234
- indexedPromises.delete(index);
235
- try {
236
- const transformedJSON1 = transformer.transformTRPCResponse(router._def._config, untransformedJSON1);
237
- const body1 = JSON.stringify(transformedJSON1);
238
- unstable_onChunk([
239
- index,
240
- body1
241
- ]);
242
- } catch (cause) {
243
- const path = paths[index];
244
- const input = inputs[index];
245
- const { body: body2 } = caughtErrorToData(cause, {
246
- opts,
247
- ctx,
248
- type,
249
- path,
250
- input
251
- });
252
- unstable_onChunk([
253
- index,
254
- body2
255
- ]);
256
- }
257
- }
258
- return;
259
- } catch (cause1) {
260
- // we get here if
261
- // - batching is called when it's not enabled
262
- // - `createContext()` throws
263
- // - `router._def._config.transformer.output.serialize()` throws
264
- // - post body is too large
265
- // - input deserialization fails
266
- // - `errorFormatter` return value is malformed
267
- const { error , untransformedJSON: untransformedJSON2 , body: body3 } = caughtErrorToData(cause1, {
268
- opts,
269
- ctx,
270
- type
271
- });
272
- const headResponse3 = initResponse({
273
- ctx,
274
- paths,
275
- type,
276
- responseMeta: opts.responseMeta,
277
- untransformedJSON: untransformedJSON2,
278
- errors: [
279
- error
280
- ]
281
- });
282
- unstable_onHead?.(headResponse3, false);
283
- unstable_onChunk?.([
284
- -1,
285
- body3
286
- ]);
287
- return {
288
- status: headResponse3.status,
289
- headers: headResponse3.headers,
290
- body: body3
291
- };
292
- }
293
- }
294
-
295
- exports.resolveHTTPResponse = resolveHTTPResponse;