@h4ad/serverless-adapter 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/README.md +7 -0
  2. package/lib/@types/binary-settings.js +2 -11
  3. package/lib/@types/binary-settings.js.map +1 -1
  4. package/lib/@types/digital-ocean/digital-ocean-http-event.js +2 -7
  5. package/lib/@types/digital-ocean/digital-ocean-http-event.js.map +1 -1
  6. package/lib/@types/digital-ocean/digital-ocean-http-response.js +2 -7
  7. package/lib/@types/digital-ocean/digital-ocean-http-response.js.map +1 -1
  8. package/lib/@types/digital-ocean/index.js +2 -18
  9. package/lib/@types/digital-ocean/index.js.map +1 -1
  10. package/lib/@types/headers.js +2 -11
  11. package/lib/@types/headers.js.map +1 -1
  12. package/lib/@types/helpers.js +2 -6
  13. package/lib/@types/helpers.js.map +1 -1
  14. package/lib/@types/huawei/huawei-api-gateway-event.js +2 -14
  15. package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -1
  16. package/lib/@types/huawei/huawei-api-gateway-response.js +2 -7
  17. package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -1
  18. package/lib/@types/huawei/huawei-context.js +2 -36
  19. package/lib/@types/huawei/huawei-context.js.map +1 -1
  20. package/lib/@types/huawei/index.js +2 -20
  21. package/lib/@types/huawei/index.js.map +1 -1
  22. package/lib/@types/index.js +2 -20
  23. package/lib/@types/index.js.map +1 -1
  24. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js +2 -86
  25. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js.map +1 -1
  26. package/lib/adapters/apollo-server/index.js +2 -18
  27. package/lib/adapters/apollo-server/index.js.map +1 -1
  28. package/lib/adapters/aws/alb.adapter.js +2 -129
  29. package/lib/adapters/aws/alb.adapter.js.map +1 -1
  30. package/lib/adapters/aws/api-gateway-v1.adapter.js +2 -140
  31. package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -1
  32. package/lib/adapters/aws/api-gateway-v2.adapter.js +2 -134
  33. package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -1
  34. package/lib/adapters/aws/base/aws-simple-adapter.js +2 -99
  35. package/lib/adapters/aws/base/aws-simple-adapter.js.map +1 -1
  36. package/lib/adapters/aws/base/index.js +2 -18
  37. package/lib/adapters/aws/base/index.js.map +1 -1
  38. package/lib/adapters/aws/dynamodb.adapter.js +2 -64
  39. package/lib/adapters/aws/dynamodb.adapter.js.map +1 -1
  40. package/lib/adapters/aws/event-bridge.adapter.js +2 -75
  41. package/lib/adapters/aws/event-bridge.adapter.js.map +1 -1
  42. package/lib/adapters/aws/index.js +2 -27
  43. package/lib/adapters/aws/index.js.map +1 -1
  44. package/lib/adapters/aws/lambda-edge.adapter.js +2 -284
  45. package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -1
  46. package/lib/adapters/aws/s3.adapter.js +2 -63
  47. package/lib/adapters/aws/s3.adapter.js.map +1 -1
  48. package/lib/adapters/aws/sns.adapter.js +2 -63
  49. package/lib/adapters/aws/sns.adapter.js.map +1 -1
  50. package/lib/adapters/aws/sqs.adapter.js +2 -64
  51. package/lib/adapters/aws/sqs.adapter.js.map +1 -1
  52. package/lib/adapters/azure/http-trigger-v4.adapter.js +2 -202
  53. package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -1
  54. package/lib/adapters/azure/index.js +2 -18
  55. package/lib/adapters/azure/index.js.map +1 -1
  56. package/lib/adapters/digital-ocean/http-function.adapter.js +2 -118
  57. package/lib/adapters/digital-ocean/http-function.adapter.js.map +1 -1
  58. package/lib/adapters/digital-ocean/index.js +2 -18
  59. package/lib/adapters/digital-ocean/index.js.map +1 -1
  60. package/lib/adapters/dummy/dummy.adapter.js +2 -54
  61. package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
  62. package/lib/adapters/dummy/index.js +2 -18
  63. package/lib/adapters/dummy/index.js.map +1 -1
  64. package/lib/adapters/huawei/huawei-api-gateway.adapter.js +2 -126
  65. package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -1
  66. package/lib/adapters/huawei/index.js +2 -18
  67. package/lib/adapters/huawei/index.js.map +1 -1
  68. package/lib/contracts/adapter.contract.js +2 -18
  69. package/lib/contracts/adapter.contract.js.map +1 -1
  70. package/lib/contracts/framework.contract.js +2 -7
  71. package/lib/contracts/framework.contract.js.map +1 -1
  72. package/lib/contracts/handler.contract.js +2 -13
  73. package/lib/contracts/handler.contract.js.map +1 -1
  74. package/lib/contracts/index.js +2 -21
  75. package/lib/contracts/index.js.map +1 -1
  76. package/lib/contracts/resolver.contract.js +2 -15
  77. package/lib/contracts/resolver.contract.js.map +1 -1
  78. package/lib/core/base-handler.js +2 -67
  79. package/lib/core/base-handler.js.map +1 -1
  80. package/lib/core/constants.js +2 -33
  81. package/lib/core/constants.js.map +1 -1
  82. package/lib/core/current-invoke.js +2 -46
  83. package/lib/core/current-invoke.js.map +1 -1
  84. package/lib/core/event-body.js +2 -31
  85. package/lib/core/event-body.js.map +1 -1
  86. package/lib/core/headers.js +3 -97
  87. package/lib/core/headers.js.map +1 -1
  88. package/lib/core/index.js +2 -28
  89. package/lib/core/index.js.map +1 -1
  90. package/lib/core/is-binary.js +2 -118
  91. package/lib/core/is-binary.js.map +1 -1
  92. package/lib/core/logger.js +2 -115
  93. package/lib/core/logger.js.map +1 -1
  94. package/lib/core/no-op.js +2 -12
  95. package/lib/core/no-op.js.map +1 -1
  96. package/lib/core/optional.js +2 -31
  97. package/lib/core/optional.js.map +1 -1
  98. package/lib/core/path.js +2 -68
  99. package/lib/core/path.js.map +1 -1
  100. package/lib/core/stream.js +2 -63
  101. package/lib/core/stream.js.map +1 -1
  102. package/lib/frameworks/apollo-server/apollo-server.framework.js +2 -87
  103. package/lib/frameworks/apollo-server/apollo-server.framework.js.map +1 -1
  104. package/lib/frameworks/apollo-server/index.js +2 -18
  105. package/lib/frameworks/apollo-server/index.js.map +1 -1
  106. package/lib/frameworks/body-parser/base-body-parser.framework.js +2 -66
  107. package/lib/frameworks/body-parser/base-body-parser.framework.js.map +1 -1
  108. package/lib/frameworks/body-parser/index.js +2 -22
  109. package/lib/frameworks/body-parser/index.js.map +1 -1
  110. package/lib/frameworks/body-parser/json-body-parser.framework.js +2 -29
  111. package/lib/frameworks/body-parser/json-body-parser.framework.js.map +1 -1
  112. package/lib/frameworks/body-parser/raw-body-parser.framework.js +2 -29
  113. package/lib/frameworks/body-parser/raw-body-parser.framework.js.map +1 -1
  114. package/lib/frameworks/body-parser/text-body-parser.framework.js +2 -29
  115. package/lib/frameworks/body-parser/text-body-parser.framework.js.map +1 -1
  116. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js +2 -29
  117. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js.map +1 -1
  118. package/lib/frameworks/cors/cors.framework.js +3 -145
  119. package/lib/frameworks/cors/cors.framework.js.map +1 -1
  120. package/lib/frameworks/cors/index.js +2 -18
  121. package/lib/frameworks/cors/index.js.map +1 -1
  122. package/lib/frameworks/deepkit/http-deepkit.framework.js +2 -33
  123. package/lib/frameworks/deepkit/http-deepkit.framework.js.map +1 -1
  124. package/lib/frameworks/deepkit/index.js +2 -18
  125. package/lib/frameworks/deepkit/index.js.map +1 -1
  126. package/lib/frameworks/express/express.framework.js +2 -22
  127. package/lib/frameworks/express/express.framework.js.map +1 -1
  128. package/lib/frameworks/express/index.js +2 -18
  129. package/lib/frameworks/express/index.js.map +1 -1
  130. package/lib/frameworks/fastify/fastify.framework.js +2 -23
  131. package/lib/frameworks/fastify/fastify.framework.js.map +1 -1
  132. package/lib/frameworks/fastify/helpers/no-op-content-parser.js +2 -27
  133. package/lib/frameworks/fastify/helpers/no-op-content-parser.js.map +1 -1
  134. package/lib/frameworks/fastify/index.js +2 -18
  135. package/lib/frameworks/fastify/index.js.map +1 -1
  136. package/lib/frameworks/hapi/hapi.framework.js +2 -23
  137. package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
  138. package/lib/frameworks/hapi/index.js +2 -18
  139. package/lib/frameworks/hapi/index.js.map +1 -1
  140. package/lib/frameworks/koa/index.js +2 -18
  141. package/lib/frameworks/koa/index.js.map +1 -1
  142. package/lib/frameworks/koa/koa.framework.js +2 -22
  143. package/lib/frameworks/koa/koa.framework.js.map +1 -1
  144. package/lib/frameworks/lazy/index.js +2 -18
  145. package/lib/frameworks/lazy/index.js.map +1 -1
  146. package/lib/frameworks/lazy/lazy.framework.js +2 -82
  147. package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
  148. package/lib/frameworks/trpc/index.js +2 -18
  149. package/lib/frameworks/trpc/index.js.map +1 -1
  150. package/lib/frameworks/trpc/trpc.framework.js +2 -153
  151. package/lib/frameworks/trpc/trpc.framework.js.map +1 -1
  152. package/lib/handlers/aws/aws-stream.handler.js +2 -169
  153. package/lib/handlers/aws/aws-stream.handler.js.map +1 -1
  154. package/lib/handlers/aws/index.js +2 -18
  155. package/lib/handlers/aws/index.js.map +1 -1
  156. package/lib/handlers/azure/azure.handler.js +2 -74
  157. package/lib/handlers/azure/azure.handler.js.map +1 -1
  158. package/lib/handlers/azure/index.js +2 -18
  159. package/lib/handlers/azure/index.js.map +1 -1
  160. package/lib/handlers/base/index.js +2 -18
  161. package/lib/handlers/base/index.js.map +1 -1
  162. package/lib/handlers/base/raw-request.js +2 -65
  163. package/lib/handlers/base/raw-request.js.map +1 -1
  164. package/lib/handlers/default/default.handler.js +2 -191
  165. package/lib/handlers/default/default.handler.js.map +1 -1
  166. package/lib/handlers/default/index.js +2 -18
  167. package/lib/handlers/default/index.js.map +1 -1
  168. package/lib/handlers/digital-ocean/digital-ocean.handler.js +2 -34
  169. package/lib/handlers/digital-ocean/digital-ocean.handler.js.map +1 -1
  170. package/lib/handlers/digital-ocean/index.js +2 -18
  171. package/lib/handlers/digital-ocean/index.js.map +1 -1
  172. package/lib/handlers/firebase/http-firebase-v2.handler.js +2 -50
  173. package/lib/handlers/firebase/http-firebase-v2.handler.js.map +1 -1
  174. package/lib/handlers/firebase/http-firebase.handler.js +2 -27
  175. package/lib/handlers/firebase/http-firebase.handler.js.map +1 -1
  176. package/lib/handlers/firebase/index.js +2 -19
  177. package/lib/handlers/firebase/index.js.map +1 -1
  178. package/lib/handlers/gcp/gcp.handler.js +2 -40
  179. package/lib/handlers/gcp/gcp.handler.js.map +1 -1
  180. package/lib/handlers/gcp/index.js +2 -18
  181. package/lib/handlers/gcp/index.js.map +1 -1
  182. package/lib/handlers/huawei/http-huawei.handler.js +2 -106
  183. package/lib/handlers/huawei/http-huawei.handler.js.map +1 -1
  184. package/lib/handlers/huawei/index.js +2 -18
  185. package/lib/handlers/huawei/index.js.map +1 -1
  186. package/lib/index.doc.js +2 -0
  187. package/lib/index.doc.js.map +1 -0
  188. package/lib/index.js +2 -22
  189. package/lib/index.js.map +1 -1
  190. package/lib/network/index.js +2 -21
  191. package/lib/network/index.js.map +1 -1
  192. package/lib/network/request.js +2 -46
  193. package/lib/network/request.js.map +1 -1
  194. package/lib/network/response-stream.js +7 -88
  195. package/lib/network/response-stream.js.map +1 -1
  196. package/lib/network/response.js +4 -127
  197. package/lib/network/response.js.map +1 -1
  198. package/lib/network/utils.js +2 -21
  199. package/lib/network/utils.js.map +1 -1
  200. package/lib/resolvers/aws-context/aws-context.resolver.js +2 -59
  201. package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -1
  202. package/lib/resolvers/aws-context/index.js +2 -18
  203. package/lib/resolvers/aws-context/index.js.map +1 -1
  204. package/lib/resolvers/callback/callback.resolver.js +2 -53
  205. package/lib/resolvers/callback/callback.resolver.js.map +1 -1
  206. package/lib/resolvers/callback/index.js +2 -18
  207. package/lib/resolvers/callback/index.js.map +1 -1
  208. package/lib/resolvers/dummy/dummy.resolver.js +2 -24
  209. package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
  210. package/lib/resolvers/dummy/index.js +2 -18
  211. package/lib/resolvers/dummy/index.js.map +1 -1
  212. package/lib/resolvers/promise/index.js +2 -18
  213. package/lib/resolvers/promise/index.js.map +1 -1
  214. package/lib/resolvers/promise/promise.resolver.js +2 -48
  215. package/lib/resolvers/promise/promise.resolver.js.map +1 -1
  216. package/lib/serverless-adapter.js +2 -176
  217. package/lib/serverless-adapter.js.map +1 -1
  218. package/package.json +61 -79
  219. package/lib/@types/binary-settings.d.ts +0 -43
  220. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +0 -37
  221. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +0 -22
  222. package/lib/@types/digital-ocean/index.d.ts +0 -1
  223. package/lib/@types/headers.d.ts +0 -39
  224. package/lib/@types/helpers.d.ts +0 -10
  225. package/lib/@types/huawei/huawei-api-gateway-event.d.ts +0 -84
  226. package/lib/@types/huawei/huawei-api-gateway-response.d.ts +0 -27
  227. package/lib/@types/huawei/huawei-context.d.ts +0 -203
  228. package/lib/@types/huawei/index.d.ts +0 -3
  229. package/lib/@types/index.d.ts +0 -3
  230. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +0 -56
  231. package/lib/adapters/apollo-server/index.d.ts +0 -1
  232. package/lib/adapters/aws/alb.adapter.d.ts +0 -66
  233. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +0 -71
  234. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +0 -70
  235. package/lib/adapters/aws/base/aws-simple-adapter.d.ts +0 -85
  236. package/lib/adapters/aws/base/index.d.ts +0 -1
  237. package/lib/adapters/aws/dynamodb.adapter.d.ts +0 -56
  238. package/lib/adapters/aws/event-bridge.adapter.d.ts +0 -64
  239. package/lib/adapters/aws/index.d.ts +0 -10
  240. package/lib/adapters/aws/lambda-edge.adapter.d.ts +0 -213
  241. package/lib/adapters/aws/s3.adapter.d.ts +0 -56
  242. package/lib/adapters/aws/sns.adapter.d.ts +0 -56
  243. package/lib/adapters/aws/sqs.adapter.d.ts +0 -56
  244. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +0 -81
  245. package/lib/adapters/azure/index.d.ts +0 -1
  246. package/lib/adapters/digital-ocean/http-function.adapter.d.ts +0 -65
  247. package/lib/adapters/digital-ocean/index.d.ts +0 -1
  248. package/lib/adapters/dummy/dummy.adapter.d.ts +0 -30
  249. package/lib/adapters/dummy/index.d.ts +0 -1
  250. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +0 -66
  251. package/lib/adapters/huawei/index.d.ts +0 -1
  252. package/lib/contracts/adapter.contract.d.ts +0 -155
  253. package/lib/contracts/framework.contract.d.ts +0 -19
  254. package/lib/contracts/handler.contract.d.ts +0 -26
  255. package/lib/contracts/index.d.ts +0 -4
  256. package/lib/contracts/resolver.contract.d.ts +0 -86
  257. package/lib/core/base-handler.d.ts +0 -31
  258. package/lib/core/constants.d.ts +0 -31
  259. package/lib/core/current-invoke.d.ts +0 -48
  260. package/lib/core/event-body.d.ts +0 -21
  261. package/lib/core/headers.d.ts +0 -47
  262. package/lib/core/index.d.ts +0 -11
  263. package/lib/core/is-binary.d.ts +0 -72
  264. package/lib/core/logger.d.ts +0 -67
  265. package/lib/core/no-op.d.ts +0 -7
  266. package/lib/core/optional.d.ts +0 -21
  267. package/lib/core/path.d.ts +0 -36
  268. package/lib/core/stream.d.ts +0 -20
  269. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +0 -71
  270. package/lib/frameworks/apollo-server/index.d.ts +0 -1
  271. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts +0 -69
  272. package/lib/frameworks/body-parser/index.d.ts +0 -5
  273. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts +0 -26
  274. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts +0 -26
  275. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts +0 -26
  276. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts +0 -26
  277. package/lib/frameworks/cors/cors.framework.d.ts +0 -78
  278. package/lib/frameworks/cors/index.d.ts +0 -1
  279. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +0 -17
  280. package/lib/frameworks/deepkit/index.d.ts +0 -1
  281. package/lib/frameworks/express/express.framework.d.ts +0 -16
  282. package/lib/frameworks/express/index.d.ts +0 -1
  283. package/lib/frameworks/fastify/fastify.framework.d.ts +0 -16
  284. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts +0 -13
  285. package/lib/frameworks/fastify/index.d.ts +0 -1
  286. package/lib/frameworks/hapi/hapi.framework.d.ts +0 -16
  287. package/lib/frameworks/hapi/index.d.ts +0 -1
  288. package/lib/frameworks/koa/index.d.ts +0 -1
  289. package/lib/frameworks/koa/koa.framework.d.ts +0 -16
  290. package/lib/frameworks/lazy/index.d.ts +0 -1
  291. package/lib/frameworks/lazy/lazy.framework.d.ts +0 -55
  292. package/lib/frameworks/trpc/index.d.ts +0 -1
  293. package/lib/frameworks/trpc/trpc.framework.d.ts +0 -155
  294. package/lib/handlers/aws/aws-stream.handler.d.ts +0 -83
  295. package/lib/handlers/aws/index.d.ts +0 -1
  296. package/lib/handlers/azure/azure.handler.d.ts +0 -45
  297. package/lib/handlers/azure/index.d.ts +0 -1
  298. package/lib/handlers/base/index.d.ts +0 -1
  299. package/lib/handlers/base/raw-request.d.ts +0 -30
  300. package/lib/handlers/default/default.handler.d.ts +0 -87
  301. package/lib/handlers/default/index.d.ts +0 -1
  302. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +0 -16
  303. package/lib/handlers/digital-ocean/index.d.ts +0 -1
  304. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts +0 -26
  305. package/lib/handlers/firebase/http-firebase.handler.d.ts +0 -18
  306. package/lib/handlers/firebase/index.d.ts +0 -2
  307. package/lib/handlers/gcp/gcp.handler.d.ts +0 -25
  308. package/lib/handlers/gcp/index.d.ts +0 -1
  309. package/lib/handlers/huawei/http-huawei.handler.d.ts +0 -59
  310. package/lib/handlers/huawei/index.d.ts +0 -1
  311. package/lib/index.d.ts +0 -5
  312. package/lib/network/index.d.ts +0 -4
  313. package/lib/network/request.d.ts +0 -44
  314. package/lib/network/response-stream.d.ts +0 -41
  315. package/lib/network/response.d.ts +0 -48
  316. package/lib/network/utils.d.ts +0 -7
  317. package/lib/resolvers/aws-context/aws-context.resolver.d.ts +0 -18
  318. package/lib/resolvers/aws-context/index.d.ts +0 -1
  319. package/lib/resolvers/callback/callback.resolver.d.ts +0 -23
  320. package/lib/resolvers/callback/index.d.ts +0 -1
  321. package/lib/resolvers/dummy/dummy.resolver.d.ts +0 -13
  322. package/lib/resolvers/dummy/index.d.ts +0 -1
  323. package/lib/resolvers/promise/index.d.ts +0 -1
  324. package/lib/resolvers/promise/promise.resolver.d.ts +0 -13
  325. package/lib/serverless-adapter.d.ts +0 -118
@@ -1,23 +1,2 @@
1
- "use strict";
2
- //#region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.FastifyFramework = void 0;
5
- //#endregion
6
- /**
7
- * The framework that forwards requests to fastify handler
8
- *
9
- * @breadcrumb Frameworks / FastifyFramework
10
- * @public
11
- */
12
- class FastifyFramework {
13
- /**
14
- * {@inheritDoc}
15
- */
16
- sendRequest(app, request, response) {
17
- // ref: https://www.fastify.io/docs/latest/Guides/Serverless/#implement-and-export-the-function
18
- app.ready().then(() => app.server.emit('request', request, response));
19
- }
20
- }
21
- exports.FastifyFramework = FastifyFramework;
22
- FastifyFramework.__type = ['app', 'request', 'response', 'sendRequest', 'P"2!!2"!2#$0$5"6"'];
23
- //# sourceMappingURL=fastify.framework.js.map
1
+ "use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,u=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},c=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of p(e))!y.call(r,a)&&a!==t&&s(r,a,{get:()=>e[a],enumerable:!(o=n(e,a))||o.enumerable});return r},i=r=>c(s({},"__esModule",{value:!0}),r),_={};u(_,{FastifyFramework:()=>v});module.exports=i(_);class v{sendRequest(e,t,o){e.ready().then(()=>e.server.emit("request",t,o))}}
2
+ //# sourceMappingURL=fastify.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.framework.js","sourceRoot":"","sources":["../../../src/frameworks/fastify/fastify.framework.ts"],"names":[],"mappings":";AAAA,iBAAiB;;;AAMjB,YAAY;AAEZ;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACI,WAAW,CAChB,GAAoB,EACpB,OAAwB,EACxB,QAAwB;QAExB,+FAA+F;QAC/F,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;;AAXH,4CAYC"}
1
+ {"version":3,"file":"fastify.framework.js","sources":["../../../src/frameworks/fastify/fastify.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { FastifyInstance } from 'fastify';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to fastify handler\n *\n * @breadcrumb Frameworks / FastifyFramework\n * @public\n */\nexport class FastifyFramework implements FrameworkContract<FastifyInstance> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: FastifyInstance,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n // ref: https://www.fastify.io/docs/latest/Guides/Serverless/#implement-and-export-the-function\n app.ready().then(() => app.server.emit('request', request, response));\n }\n}\n"],"names":["fastify_framework_exports","__export","FastifyFramework","__toCommonJS","app","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,iBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAcO,MAAME,CAA+D,CAInE,YACLE,EACAC,EACAC,EACM,CAEFF,EAAA,MAAA,EAAQ,KAAK,IAAMA,EAAI,OAAO,KAAK,UAAWC,EAASC,CAAQ,CAAC,CACtE,CACF"}
@@ -1,27 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setNoOpForContentType = void 0;
4
- function __assignType(fn, args) {
5
- fn.__type = args;
6
- return fn;
7
- }
8
- //#endregion
9
- /**
10
- * Just return the current body as it was parsed.
11
- *
12
- * @remarks This function is intended to be used with BodyParserFrameworks.
13
- *
14
- * @param app - The instance of fastify
15
- * @param contentType - The content type to be anuled
16
- *
17
- * @breadcrumb Frameworks / FastifyFramework / Helpers
18
- * @public
19
- */
20
- function setNoOpForContentType(app, contentType) {
21
- app.addContentTypeParser(contentType, __assignType((_, req, done) => {
22
- return done(null, req.body);
23
- }, ['_', 'req', 'done', '', 'P"2!"2""2#"/$']));
24
- }
25
- exports.setNoOpForContentType = setNoOpForContentType;
26
- setNoOpForContentType.__type = ['app', 'contentType', 'setNoOpForContentType', 'P"2!&2"$/#'];
27
- //# sourceMappingURL=no-op-content-parser.js.map
1
+ "use strict";var p=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,u=Object.prototype.hasOwnProperty,y=(r,e)=>{for(var o in e)p(r,o,{get:e[o],enumerable:!0})},c=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!u.call(r,t)&&t!==o&&p(r,t,{get:()=>e[t],enumerable:!(n=a(e,t))||n.enumerable});return r},O=r=>c(p({},"__esModule",{value:!0}),r),_={};y(_,{setNoOpForContentType:()=>v});module.exports=O(_);function v(r,e){r.addContentTypeParser(e,(o,n,t)=>t(null,n.body))}
2
+ //# sourceMappingURL=no-op-content-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-op-content-parser.js","sourceRoot":"","sources":["../../../../src/frameworks/fastify/helpers/no-op-content-parser.ts"],"names":[],"mappings":";;;;;;;AAIA,YAAY;AAEZ;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CACnC,GAAoB,EACpB,WAAmB;IAEnB,GAAG,CAAC,oBAAoB,CAAC,WAAW,eAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACrD,OAAO,IAAI,CAAC,IAAI,EAAG,GAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,6CAAC,CAAC;AACL,CAAC;AAPD,sDAOC"}
1
+ {"version":3,"file":"no-op-content-parser.js","sources":["../../../../src/frameworks/fastify/helpers/no-op-content-parser.ts"],"sourcesContent":["//#region Imports\n\nimport { FastifyInstance } from 'fastify';\n\n//#endregion\n\n/**\n * Just return the current body as it was parsed.\n *\n * @remarks This function is intended to be used with BodyParserFrameworks.\n *\n * @param app - The instance of fastify\n * @param contentType - The content type to be anuled\n *\n * @breadcrumb Frameworks / FastifyFramework / Helpers\n * @public\n */\nexport function setNoOpForContentType(\n app: FastifyInstance,\n contentType: string,\n): void {\n app.addContentTypeParser(contentType, (_, req, done) => {\n return done(null, (req as any).body);\n });\n}\n"],"names":["no_op_content_parser_exports","__export","setNoOpForContentType","__toCommonJS","app","contentType","_","req","done"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,sBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAiBO,SAASE,EACdE,EACAC,EACM,CACND,EAAI,qBAAqBC,EAAa,CAACC,EAAGC,EAAKC,IACtCA,EAAK,KAAOD,EAAY,IAAI,CACpC,CACH"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./fastify.framework"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!y.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r},O=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),c=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=c(n);O(n,require("./fastify.framework"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/fastify/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/fastify/index.ts"],"sourcesContent":["export * from './fastify.framework';\n"],"names":["fastify_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,qBAAA,EAAA,OAAA,OAAA"}
@@ -1,23 +1,2 @@
1
- "use strict";
2
- //#region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.HapiFramework = void 0;
5
- //#endregion
6
- /**
7
- * The framework that forwards requests to hapi handler
8
- *
9
- * @breadcrumb Frameworks / HapiFramework
10
- * @public
11
- */
12
- class HapiFramework {
13
- /**
14
- * {@inheritDoc}
15
- */
16
- sendRequest(app, request, response) {
17
- const httpServer = app.listener;
18
- httpServer._events.request(request, response);
19
- }
20
- }
21
- exports.HapiFramework = HapiFramework;
22
- HapiFramework.__type = ['app', 'request', 'response', 'sendRequest', 'P"2!!2"!2#$0$5"6"'];
23
- //# sourceMappingURL=hapi.framework.js.map
1
+ "use strict";var p=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,c=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of n(e))!v.call(r,o)&&o!==t&&p(r,o,{get:()=>e[o],enumerable:!(a=_(e,o))||a.enumerable});return r},i=r=>u(p({},"__esModule",{value:!0}),r),s={};c(s,{HapiFramework:()=>O});module.exports=i(s);class O{sendRequest(e,t,a){e.listener._events.request(t,a)}}
2
+ //# sourceMappingURL=hapi.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hapi.framework.js","sourceRoot":"","sources":["../../../src/frameworks/hapi/hapi.framework.ts"],"names":[],"mappings":";AAAA,iBAAiB;;;AAMjB,YAAY;AAEZ;;;;;GAKG;AACH,MAAa,aAAa;IACxB;;OAEG;IACI,WAAW,CAChB,GAAW,EACX,OAAwB,EACxB,QAAwB;QAExB,MAAM,UAAU,GAAQ,GAAG,CAAC,QAAQ,CAAC;QAErC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;;AAZH,sCAaC"}
1
+ {"version":3,"file":"hapi.framework.js","sources":["../../../src/frameworks/hapi/hapi.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { Server } from '@hapi/hapi';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to hapi handler\n *\n * @breadcrumb Frameworks / HapiFramework\n * @public\n */\nexport class HapiFramework implements FrameworkContract<Server> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Server,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const httpServer: any = app.listener;\n\n httpServer._events.request(request, response);\n }\n}\n"],"names":["hapi_framework_exports","__export","HapiFramework","__toCommonJS","app","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,cAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAcO,MAAME,CAAmD,CAIvD,YACLE,EACAC,EACAC,EACM,CACkBF,EAAI,SAEjB,QAAQ,QAAQC,EAASC,CAAQ,CAC9C,CACF"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./hapi.framework"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!O.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r},c=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),l=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./hapi.framework"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/hapi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/hapi/index.ts"],"sourcesContent":["export * from './hapi.framework';\n"],"names":["hapi_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./koa.framework"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,p=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!O.call(r,t)&&t!==o&&_(r,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return r},c=(r,e,o)=>(p(r,e,"default"),o&&p(o,e,"default")),l=r=>p(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./koa.framework"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/koa/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/koa/index.ts"],"sourcesContent":["export * from './koa.framework';\n"],"names":["koa_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
@@ -1,22 +1,2 @@
1
- "use strict";
2
- //#region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.KoaFramework = void 0;
5
- //#endregion
6
- /**
7
- * The framework that forwards requests to koa handler
8
- *
9
- * @breadcrumb Frameworks / KoaFramework
10
- * @public
11
- */
12
- class KoaFramework {
13
- /**
14
- * {@inheritDoc}
15
- */
16
- sendRequest(app, request, response) {
17
- app.callback()(request, response);
18
- }
19
- }
20
- exports.KoaFramework = KoaFramework;
21
- KoaFramework.__type = ['app', 'request', 'response', 'sendRequest', 'P"2!!2"!2#$0$5"6"'];
22
- //# sourceMappingURL=koa.framework.js.map
1
+ "use strict";var p=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,u=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},v=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of s(e))!c.call(r,o)&&o!==t&&p(r,o,{get:()=>e[o],enumerable:!(a=n(e,o))||a.enumerable});return r},O=r=>v(p({},"__esModule",{value:!0}),r),_={};u(_,{KoaFramework:()=>b});module.exports=O(_);class b{sendRequest(e,t,a){e.callback()(t,a)}}
2
+ //# sourceMappingURL=koa.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"koa.framework.js","sourceRoot":"","sources":["../../../src/frameworks/koa/koa.framework.ts"],"names":[],"mappings":";AAAA,iBAAiB;;;AAMjB,YAAY;AAEZ;;;;;GAKG;AACH,MAAa,YAAY;IACvB;;OAEG;IACI,WAAW,CAChB,GAAgB,EAChB,OAAwB,EACxB,QAAwB;QAExB,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;;AAVH,oCAWC"}
1
+ {"version":3,"file":"koa.framework.js","sources":["../../../src/frameworks/koa/koa.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type Application from 'koa';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to koa handler\n *\n * @breadcrumb Frameworks / KoaFramework\n * @public\n */\nexport class KoaFramework implements FrameworkContract<Application> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Application,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n app.callback()(request, response);\n }\n}\n"],"names":["koa_framework_exports","__export","KoaFramework","__toCommonJS","app","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,aAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAcO,MAAME,CAAuD,CAI3D,YACLE,EACAC,EACAC,EACM,CACFF,EAAA,SAAA,EAAWC,EAASC,CAAQ,CAClC,CACF"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lazy.framework"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!l.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r},y=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),O=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=O(n);y(n,require("./lazy.framework"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/lazy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/lazy/index.ts"],"sourcesContent":["export * from './lazy.framework';\n"],"names":["lazy_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -1,82 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LazyFramework = void 0;
4
- const { __ΩFrameworkContract } = require('../../contracts');
5
- const { __ΩILogger } = require('../../core');
6
- function __assignType(fn, args) {
7
- fn.__type = args;
8
- return fn;
9
- }
10
- const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
11
- const core_1 = require("../../core");
12
- //#endregion
13
- /**
14
- * The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.
15
- *
16
- * @example
17
- * ```typescript
18
- * import express from 'express';
19
- * import { ServerlessAdapter } from '@h4ad/serverless-adapter';
20
- * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
21
- * import { LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';
22
- *
23
- * const expressFramework = new ExpressFramework();
24
- * const factory = async () => {
25
- * const app = express();
26
- *
27
- * // do some asynchronous stuffs like create the database;
28
- * await new Promise(resolve => setTimeout(resolve, 100);
29
- *
30
- * return app;
31
- * };
32
- * const framework = new LazyFramework(expressFramework, factory);
33
- *
34
- * export const handler = ServerlessAdapter.new(null)
35
- * .setFramework(framework)
36
- * // set other configurations and then build
37
- * .build();
38
- * ```
39
- *
40
- * @breadcrumb Frameworks / LazyFramework
41
- * @public
42
- */
43
- class LazyFramework {
44
- //#region Constructor
45
- /**
46
- * Default Constructor
47
- */
48
- constructor(framework, factory, logger = (0, core_1.createDefaultLogger)()) {
49
- this.framework = framework;
50
- this.factory = factory;
51
- this.logger = logger;
52
- this.delayedFactory = Promise.resolve()
53
- .then(() => factory())
54
- .then(__assignType(app => {
55
- this.cachedApp = app;
56
- }, ['app', '', 'P"2!"/"']))
57
- .catch(__assignType((error) => {
58
- // deal with the error only when receive some request
59
- // to be able to return some message to user
60
- this.logger.error('SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app.');
61
- this.logger.error(error);
62
- }, [() => __ΩError, 'error', '', 'Pn!2""/#']));
63
- }
64
- //#endregion
65
- //#region Public Methods
66
- /**
67
- * {@inheritDoc}
68
- */
69
- sendRequest(app, request, response) {
70
- if (this.cachedApp)
71
- return this.framework.sendRequest(this.cachedApp, request, response);
72
- this.delayedFactory.then(() => {
73
- if (!this.cachedApp) {
74
- return response.emit('error', new Error('SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.'));
75
- }
76
- return this.framework.sendRequest(this.cachedApp, request, response);
77
- });
78
- }
79
- }
80
- exports.LazyFramework = LazyFramework;
81
- LazyFramework.__type = ['TApp', () => __ΩFrameworkContract, 'framework', '', 'factory', () => __ΩILogger, 'logger', () => (0, core_1.createDefaultLogger)(), 'constructor', 'cachedApp', 'delayedFactory', 'app', 'request', 'response', 'sendRequest', 'b!Pe"!o""2#<9Pe#!`/$2%<9n&2\'<9>("0)e!!3*8<$`3+9<P,2,!2-!2.$0/5,6"'];
82
- //# sourceMappingURL=lazy.framework.js.map
1
+ "use strict";var s=Object.defineProperty,p=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,h=(o,e)=>{for(var r in e)s(o,r,{get:e[r],enumerable:!0})},_=(o,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of i(e))!n.call(o,t)&&t!==r&&s(o,t,{get:()=>e[t],enumerable:!(a=p(e,t))||a.enumerable});return o},u=o=>_(s({},"__esModule",{value:!0}),o),c={};h(c,{LazyFramework:()=>l});module.exports=u(c);var y=require("../../core");class l{constructor(e,r,a=(0,y.createDefaultLogger)()){this.framework=e,this.factory=r,this.logger=a,this.delayedFactory=Promise.resolve().then(()=>r()).then(t=>{this.cachedApp=t}).catch(t=>{this.logger.error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app."),this.logger.error(t)})}sendRequest(e,r,a){if(this.cachedApp)return this.framework.sendRequest(this.cachedApp,r,a);this.delayedFactory.then(()=>this.cachedApp?this.framework.sendRequest(this.cachedApp,r,a):a.emit("error",new Error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.")))}}
2
+ //# sourceMappingURL=lazy.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.framework.js","sourceRoot":"","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"names":[],"mappings":";;;yCAGkC,iBAAiB;+BACN,YAAY;;;;;;AAAzD,qCAA0D;AAE1D,YAAY;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,aAAa;IACxB,qBAAqB;IAErB;;OAEG;IACH,YACqB,SAAkC,EAClC,OAA4B,EAC5B,SAAkB,IAAA,0BAAmB,GAAE;QAFvC,cAAS,GAAT,SAAS,CAAyB;QAClC,YAAO,GAAP,OAAO,CAAqB;QAC5B,WAAM,GAAN,MAAM,CAAiC;QAE1D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE;aACpC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;aACrB,IAAI,cAAC,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,CAAC,0BAAC;aACD,KAAK,cAAC,CAAC,KAAY,EAAE,EAAE;YACtB,qDAAqD;YACrD,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sFAAsF,CACvF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,6CAAC,CAAC;IACP,CAAC;IAgBD,YAAY;IAEZ,wBAAwB;IAExB;;OAEG;IACI,WAAW,CAChB,GAAS,EACT,OAAwB,EACxB,QAAwB;QAExB,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,QAAQ,CAAC,IAAI,CAClB,OAAO,EACP,IAAI,KAAK,CACP,8HAA8H,CAC/H,CACF,CAAC;aACH;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;;AAnEH,sCAsEC"}
1
+ {"version":3,"file":"lazy.framework.js","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { FrameworkContract } from '../../contracts';\nimport { ILogger, createDefaultLogger } from '../../core';\n\n//#endregion\n\n/**\n * The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.\n *\n * @example\n * ```typescript\n * import express from 'express';\n * import { ServerlessAdapter } from '@h4ad/serverless-adapter';\n * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';\n * import { LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';\n *\n * const expressFramework = new ExpressFramework();\n * const factory = async () => {\n * const app = express();\n *\n * // do some asynchronous stuffs like create the database;\n * await new Promise(resolve => setTimeout(resolve, 100);\n *\n * return app;\n * };\n * const framework = new LazyFramework(expressFramework, factory);\n *\n * export const handler = ServerlessAdapter.new(null)\n * .setFramework(framework)\n * // set other configurations and then build\n * .build();\n * ```\n *\n * @breadcrumb Frameworks / LazyFramework\n * @public\n */\nexport class LazyFramework<TApp> implements FrameworkContract<null> {\n //#region Constructor\n\n /**\n * Default Constructor\n */\n constructor(\n protected readonly framework: FrameworkContract<TApp>,\n protected readonly factory: () => Promise<TApp>,\n protected readonly logger: ILogger = createDefaultLogger(),\n ) {\n this.delayedFactory = Promise.resolve()\n .then(() => factory())\n .then(app => {\n this.cachedApp = app;\n })\n .catch((error: Error) => {\n // deal with the error only when receive some request\n // to be able to return some message to user\n this.logger.error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app.',\n );\n this.logger.error(error);\n });\n }\n\n //#endregion\n\n //#region Protected Properties\n\n /**\n * The cached version of the app\n */\n protected cachedApp?: TApp;\n\n /**\n * The delayed factory to create an instance of the app\n */\n protected readonly delayedFactory: Promise<void>;\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: null,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n if (this.cachedApp)\n return this.framework.sendRequest(this.cachedApp, request, response);\n\n this.delayedFactory.then(() => {\n if (!this.cachedApp) {\n return response.emit(\n 'error',\n new Error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.',\n ),\n );\n }\n\n return this.framework.sendRequest(this.cachedApp, request, response);\n });\n }\n\n //#endregion\n}\n"],"names":["lazy_framework_exports","__export","LazyFramework","__toCommonJS","import_core","framework","factory","logger","app","error","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,cAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAIA,IAA6CI,EAAA,QAAA,YAAA,EAkCtC,MAAMF,CAAuD,CAMlE,YACqBG,EACAC,EACAC,KAAkBH,yBACrC,CAHmB,KAAA,UAAAC,EACA,KAAA,QAAAC,EACA,KAAA,OAAAC,EAEd,KAAA,eAAiB,QAAQ,UAC3B,KAAK,IAAMD,GAAS,EACpB,KAAYE,GAAA,CACX,KAAK,UAAYA,CAAA,CAClB,EACA,MAAOC,GAAiB,CAGvB,KAAK,OAAO,MACV,sFAAA,EAEG,KAAA,OAAO,MAAMA,CAAK,CAAA,CACxB,CACL,CAuBO,YACLD,EACAE,EACAC,EACM,CACN,GAAI,KAAK,UACP,OAAO,KAAK,UAAU,YAAY,KAAK,UAAWD,EAASC,CAAQ,EAEhE,KAAA,eAAe,KAAK,IAClB,KAAK,UASH,KAAK,UAAU,YAAY,KAAK,UAAWD,EAASC,CAAQ,EAR1DA,EAAS,KACd,QACA,IAAI,MACF,8HACF,CAAA,CAKL,CACH,CAGF"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./trpc.framework"), exports);
18
- //# sourceMappingURL=index.js.map
1
+ "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!c.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return r},O=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),l=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);O(n,require("./trpc.framework"),module.exports);
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/trpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/trpc/index.ts"],"sourcesContent":["export * from './trpc.framework';\n"],"names":["trpc_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -1,153 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrpcFramework = exports.__ΩTrpcFrameworkOptions = exports.__ΩTrpcAdapterContext = exports.__ΩTrpcAdapterBaseContext = exports.BufferToJSObjectTransformer = void 0;
4
- const { __ΩSingleValueHeaders } = require('../../@types');
5
- function __assignType(fn, args) {
6
- fn.__type = args;
7
- return fn;
8
- }
9
- const __ΩPick = ['T', 'K', 'l+e#!e"!fRb!b"Pde""N#!'];
10
- const __ΩExclude = ['T', 'U', 'l6!Re$!RPe#!e$"qk#%QRb!b"Pde"!p)'];
11
- const __ΩOmit = ['T', 'K', () => __ΩPick, () => __ΩExclude, 'b!b"e!!e!!ge!"o$#o##'];
12
- const node_http_1 = require("@trpc/server/adapters/node-http");
13
- const core_1 = require("../../core");
14
- //#endregion
15
- /**
16
- * The transformer that is responsible to transform buffer's input to javascript objects
17
- *
18
- * @deprecated You should use {@link JsonBodyParserFramework} instead, is more reliable and enable you to use transformer of trpc to other things.
19
- * @breadcrumb Frameworks / TrpcFramework
20
- * @public
21
- */
22
- class BufferToJSObjectTransformer {
23
- /**
24
- * Deserialize unknown values to javascript objects
25
- *
26
- * @param value - The value to be deserialized
27
- */
28
- deserialize(value) {
29
- if (value instanceof Buffer)
30
- return JSON.parse(value.toString('utf-8'));
31
- return value;
32
- }
33
- /**
34
- * The value to be serialized, do nothing because tRPC can handle.
35
- *
36
- * @param value - The value to be serialized
37
- */
38
- serialize(value) {
39
- return value;
40
- }
41
- }
42
- exports.BufferToJSObjectTransformer = BufferToJSObjectTransformer;
43
- BufferToJSObjectTransformer.__type = ['value', 'deserialize', 'serialize', 'P#2!8"0"P"2!"0#5'];
44
- const __ΩTrpcAdapterBaseContext = ['request', 'response', 'statusCode', 'setStatus', 'name', 'value', 'setHeader', 'removeHeader', 'getHeader', () => __ΩSingleValueHeaders, 'getHeaders', 'getIp', 'getUrl', 'getMethod', 'P!4!!4"P\'2#$1$P&2%P\'&J2&$1\'P&2%$1(P&2%P&-J1)Pn*1+PP&-J1,PP&-J1-PP&-J1.M'];
45
- exports.__ΩTrpcAdapterBaseContext = __ΩTrpcAdapterBaseContext;
46
- const __ΩTrpcAdapterContext = ['TContext', () => __ΩTrpcAdapterBaseContext, 'b!Pe"!n"K'];
47
- exports.__ΩTrpcAdapterContext = __ΩTrpcAdapterContext;
48
- const __ΩTrpcFrameworkOptions = ['TContext', () => __ΩOmit, "router", "createContext", 'opts', () => __ΩOmit, () => __ΩTrpcAdapterBaseContext, () => __ΩOmit, () => __ΩTrpcAdapterBaseContext, '', 'createContext', 'b!P"P.#.$Jo"#PP"2%Pe%!n\'go&#e%!n)go(#`J/*4+8MK'];
49
- exports.__ΩTrpcFrameworkOptions = __ΩTrpcFrameworkOptions;
50
- /**
51
- * The framework that forwards requests to TRPC handler
52
- *
53
- * @breadcrumb Frameworks / TrpcFramework
54
- * @public
55
- */
56
- class TrpcFramework {
57
- //#region Constructor
58
- /**
59
- * Default constructor
60
- */
61
- constructor(options) {
62
- this.options = options;
63
- }
64
- //#endregion
65
- //#region Public Methods
66
- /**
67
- * {@inheritDoc}
68
- */
69
- sendRequest(app, request, response) {
70
- const endpoint = this.getSafeUrlForTrpc(request);
71
- (0, node_http_1.nodeHTTPRequestHandler)({
72
- req: request,
73
- res: response,
74
- path: endpoint,
75
- router: app,
76
- ...this.options,
77
- createContext: __assignType(createContextOptions => this.mergeDefaultContextWithOptionsContext(createContextOptions), ['createContextOptions', '', 'P"2!"/"']),
78
- });
79
- }
80
- //#endregion
81
- //#region Protected Methods
82
- /**
83
- * Get safe url that can be used inside Trpc.
84
- *
85
- * @example
86
- * ```typescript
87
- * const url = getSafeUrlForTrpc('/users?input=hello');
88
- * console.log(url); // users
89
- * ```
90
- *
91
- * @param request - The request object that will be forward to your app
92
- */
93
- getSafeUrlForTrpc(request) {
94
- let url = request.url;
95
- if (url.startsWith('/'))
96
- url = url.slice(1);
97
- if (url.includes('?'))
98
- url = url.split('?')[0];
99
- return url;
100
- }
101
- /**
102
- * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.
103
- *
104
- * @param createContextOptions - The options sent by trpc to create the context
105
- */
106
- mergeDefaultContextWithOptionsContext(createContextOptions) {
107
- var _a;
108
- const createContextFromOptions = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.createContext, () => undefined);
109
- const resolvedContext = createContextFromOptions(createContextOptions);
110
- if (resolvedContext && resolvedContext.then) {
111
- return resolvedContext.then(__assignType(context => this.wrapResolvedContextWithDefaultContext(context, createContextOptions), ['context', '', 'P"2!"/"']));
112
- }
113
- return this.wrapResolvedContextWithDefaultContext(resolvedContext, createContextOptions);
114
- }
115
- /**
116
- * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge
117
- * with the {@link TrpcAdapterContext} generated by the library.
118
- *
119
- * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}
120
- * @param createContextOptions - The options sent by trpc to create the context
121
- */
122
- wrapResolvedContextWithDefaultContext(resolvedContext, createContextOptions) {
123
- const request = createContextOptions.req;
124
- const response = createContextOptions.res;
125
- return {
126
- ...resolvedContext,
127
- request,
128
- response,
129
- getUrl: () => request.url,
130
- getMethod: () => request.method,
131
- getHeaders: () => (0, core_1.getFlattenedHeadersMap)(request.headers, ',', true),
132
- setHeader: __assignType((header, value) => {
133
- response.setHeader(header, value);
134
- }, ['header', 'value', '', 'P"2!"2""/#']),
135
- removeHeader: __assignType(header => {
136
- response.removeHeader(header);
137
- }, ['header', '', 'P"2!"/"']),
138
- getHeader: __assignType((header) => {
139
- return (0, core_1.getFlattenedHeadersMap)(request.headers, ',', true)[header.toLowerCase()];
140
- }, ['header', '', 'P&2!"/"']),
141
- setStatus: __assignType((statusCode) => {
142
- response.statusCode = statusCode;
143
- // force undefined to get default message for the status code
144
- // ref: https://nodejs.org/dist/latest-v16.x/docs/api/http.html#responsestatusmessage
145
- response.statusMessage = undefined;
146
- }, ['statusCode', '', 'P\'2!"/"']),
147
- getIp: () => request.connection.remoteAddress,
148
- };
149
- }
150
- }
151
- exports.TrpcFramework = TrpcFramework;
152
- TrpcFramework.__type = ['TContext', () => __ΩTrpcFrameworkOptions, 'options', 'constructor', 'app', 'request', 'response', 'sendRequest', 'getSafeUrlForTrpc', 'createContextOptions', 'mergeDefaultContextWithOptionsContext', 'resolvedContext', 'wrapResolvedContextWithDefaultContext', 'b!Pe"!o""2#8<9"0$P"2%!2&!2\'$0(P!2&&0)<P"2*Pe#!e#!`J0+<Pe"!2,"2*e"!0-<5"6"'];
153
- //# sourceMappingURL=trpc.framework.js.map
1
+ "use strict";var i=Object.defineProperty,d=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,f=(n,e)=>{for(var t in e)i(n,t,{get:e[t],enumerable:!0})},h=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!l.call(n,o)&&o!==t&&i(n,o,{get:()=>e[o],enumerable:!(r=d(e,o))||r.enumerable});return n},_=n=>h(i({},"__esModule",{value:!0}),n),p={};f(p,{BufferToJSObjectTransformer:()=>v,TrpcFramework:()=>m});module.exports=_(p);var g=require("@trpc/server/adapters/node-http"),a=require("../../core");class v{deserialize(e){return e instanceof Buffer?JSON.parse(e.toString("utf-8")):e}serialize(e){return e}}class m{constructor(e){this.options=e}sendRequest(e,t,r){const o=this.getSafeUrlForTrpc(t);(0,g.nodeHTTPRequestHandler)({req:t,res:r,path:o,router:e,...this.options,createContext:s=>this.mergeDefaultContextWithOptionsContext(s)})}getSafeUrlForTrpc(e){let t=e.url;return t.startsWith("/")&&(t=t.slice(1)),t.includes("?")&&(t=t.split("?")[0]),t}mergeDefaultContextWithOptionsContext(e){var o;const r=(0,a.getDefaultIfUndefined)((o=this.options)==null?void 0:o.createContext,()=>{})(e);return r&&r.then?r.then(s=>this.wrapResolvedContextWithDefaultContext(s,e)):this.wrapResolvedContextWithDefaultContext(r,e)}wrapResolvedContextWithDefaultContext(e,t){const r=t.req,o=t.res;return{...e,request:r,response:o,getUrl:()=>r.url,getMethod:()=>r.method,getHeaders:()=>(0,a.getFlattenedHeadersMap)(r.headers,",",!0),setHeader:(s,u)=>{o.setHeader(s,u)},removeHeader:s=>{o.removeHeader(s)},getHeader:s=>(0,a.getFlattenedHeadersMap)(r.headers,",",!0)[s.toLowerCase()],setStatus:s=>{o.statusCode=s,o.statusMessage=void 0},getIp:()=>r.connection.remoteAddress}}}
2
+ //# sourceMappingURL=trpc.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.framework.js","sourceRoot":"","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"names":[],"mappings":";;;0CAUmC,cAAc;;;;;;;;AANjD,+DAKyC;AAGzC,qCAA2E;AAE3E,YAAY;AAEZ;;;;;;GAMG;AACH,MAAa,2BAA2B;IACtC;;;;OAIG;IACI,WAAW,CAAC,KAAe;QAChC,IAAI,KAAK,YAAY,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAExE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,KAAU;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;;AAnBH,kEAoBC;;;;;;;;AAuGD;;;;;GAKG;AACH,MAAa,aAAa;IAGxB,qBAAqB;IAErB;;OAEG;IACH,YAA+B,OAAwC;QAAxC,YAAO,GAAP,OAAO,CAAiC;IAAG,CAAC;IAE3E,YAAY;IAEZ,wBAAwB;IAExB;;OAEG;IACI,WAAW,CAChB,GAAwB,EACxB,OAAwB,EACxB,QAAwB;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAA,kCAAsB,EAAC;YACrB,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,GAAG;YACX,GAAG,IAAI,CAAC,OAAO;YACf,aAAa,eAAE,oBAAoB,CAAC,EAAE,CACpC,IAAI,CAAC,qCAAqC,CAAC,oBAAoB,CAAC,0CAAA;SACnE,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IAEZ,2BAA2B;IAE3B;;;;;;;;;;OAUG;IACO,iBAAiB,CAAC,OAAwB;QAClD,IAAI,GAAG,GAAG,OAAO,CAAC,GAAI,CAAC;QAEvB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACO,qCAAqC,CAC7C,oBAGC;;QAED,MAAM,wBAAwB,GAI1B,IAAA,4BAAqB,EACvB,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,EAC3B,GAAG,EAAE,CACH,SAAoE,CACvE,CAAC;QAEF,MAAM,eAAe,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;QAEvE,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE;YAC3C,OAAO,eAAe,CAAC,IAAI,cAAC,OAAO,CAAC,EAAE,CACpC,IAAI,CAAC,qCAAqC,CACxC,OAAO,EACP,oBAAoB,CACrB,8BACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,qCAAqC,CAC/C,eAAe,EACf,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,qCAAqC,CAC7C,eAAyB,EACzB,oBAGC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC;QACzC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAE1C,OAAO;YACL,GAAG,eAAe;YAClB,OAAO;YACP,QAAQ;YACR,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG;YACzB,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM;YAC/B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,6BAAsB,EAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;YACpE,SAAS,eAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC3B,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC,wCAAA;YACD,YAAY,eAAE,MAAM,CAAC,EAAE;gBACrB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,4BAAA;YACD,SAAS,eAAE,CAAC,MAAc,EAAE,EAAE;gBAC5B,OAAO,IAAA,6BAAsB,EAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CACvD,MAAM,CAAC,WAAW,EAAE,CACrB,CAAC;YACJ,CAAC,4BAAA;YACD,SAAS,eAAE,CAAC,UAAkB,EAAE,EAAE;gBAChC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;gBACjC,6DAA6D;gBAC7D,qFAAqF;gBACrF,QAAQ,CAAC,aAAa,GAAG,SAAgB,CAAC;YAC5C,CAAC,iCAAA;YACD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa;SAC9C,CAAC;IACJ,CAAC;;AA7IH,sCAgJC"}
1
+ {"version":3,"file":"trpc.framework.js","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"sourcesContent":["//#region\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { AnyRouter, DataTransformer } from '@trpc/server';\nimport {\n NodeHTTPCreateContextFn,\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n nodeHTTPRequestHandler,\n} from '@trpc/server/adapters/node-http';\nimport { SingleValueHeaders } from '../../@types';\nimport { FrameworkContract } from '../../contracts';\nimport { getDefaultIfUndefined, getFlattenedHeadersMap } from '../../core';\n\n//#endregion\n\n/**\n * The transformer that is responsible to transform buffer's input to javascript objects\n *\n * @deprecated You should use {@link JsonBodyParserFramework} instead, is more reliable and enable you to use transformer of trpc to other things.\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class BufferToJSObjectTransformer implements DataTransformer {\n /**\n * Deserialize unknown values to javascript objects\n *\n * @param value - The value to be deserialized\n */\n public deserialize(value?: unknown): any {\n if (value instanceof Buffer) return JSON.parse(value.toString('utf-8'));\n\n return value;\n }\n\n /**\n * The value to be serialized, do nothing because tRPC can handle.\n *\n * @param value - The value to be serialized\n */\n public serialize(value: any): any {\n return value;\n }\n}\n\n/**\n * The context created by this library that allows getting some information from the request and setting the status and header of the response.\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport interface TrpcAdapterBaseContext {\n /**\n * The request object that will be forward to your app\n */\n request: IncomingMessage;\n\n /**\n * The response object that will be forward to your app to output the response\n */\n response: ServerResponse;\n\n /**\n * The method to set response status.\n *\n * @param statusCode - The response status that you want\n */\n setStatus(statusCode: number): void;\n\n /**\n * The method to set some header in the response\n *\n * @param name - The name of the header\n * @param value - The value to be set in the header\n */\n setHeader(name: string, value: number | string): void;\n\n /**\n * The method to remove some header from the response\n *\n * @param name - The name of the header\n */\n removeHeader(name: string): void;\n\n /**\n * The method to return the value of some header from the request\n *\n * @param name - The name of the header\n */\n getHeader(name: string): string | undefined;\n\n /**\n * The method to return the request headers\n */\n getHeaders(): SingleValueHeaders;\n\n /**\n * The method to return user's address\n */\n getIp(): string | undefined;\n\n /**\n * The method to return the URL called\n */\n getUrl(): string | undefined;\n\n /**\n * The method to return the HTTP Method in the request\n */\n getMethod(): string | undefined;\n}\n\n/**\n * This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.\n *\n * This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.\n * So to make the type work, just send the properties you've added inside {@link TContext}.\n *\n * @example\n * ```typescript\n * type MyCustomContext = { user: { name: string } };\n * type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router\n * ```\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;\n\n/**\n * The options to customize the {@link TrpcFramework}\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcFrameworkOptions<TContext> = Omit<\n NodeHTTPHandlerOptions<AnyRouter, IncomingMessage, ServerResponse>,\n 'router' | 'createContext'\n> & {\n createContext?: (\n opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>,\n ) =>\n | Omit<TContext, keyof TrpcAdapterBaseContext>\n | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;\n};\n\n/**\n * The framework that forwards requests to TRPC handler\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class TrpcFramework<\n TContext extends TrpcAdapterBaseContext,\n TRouter extends AnyRouter = AnyRouter,\n> implements FrameworkContract<TRouter>\n{\n //#region Constructor\n\n /**\n * Default constructor\n */\n constructor(protected readonly options?: TrpcFrameworkOptions<TContext>) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest<TRouter extends AnyRouter>(\n app: TRouter,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const endpoint = this.getSafeUrlForTrpc(request);\n\n nodeHTTPRequestHandler({\n req: request,\n res: response,\n path: endpoint,\n router: app,\n ...this.options,\n createContext: createContextOptions =>\n this.mergeDefaultContextWithOptionsContext(createContextOptions),\n });\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get safe url that can be used inside Trpc.\n *\n * @example\n * ```typescript\n * const url = getSafeUrlForTrpc('/users?input=hello');\n * console.log(url); // users\n * ```\n *\n * @param request - The request object that will be forward to your app\n */\n protected getSafeUrlForTrpc(request: IncomingMessage): string {\n let url = request.url!;\n\n if (url.startsWith('/')) url = url.slice(1);\n\n if (url.includes('?')) url = url.split('?')[0];\n\n return url;\n }\n\n /**\n * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.\n *\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected mergeDefaultContextWithOptionsContext(\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext | Promise<TContext> {\n const createContextFromOptions: NodeHTTPCreateContextFn<\n AnyRouter,\n IncomingMessage,\n ServerResponse\n > = getDefaultIfUndefined(\n this.options?.createContext,\n () =>\n undefined as unknown as Omit<TContext, keyof TrpcAdapterBaseContext>,\n );\n\n const resolvedContext = createContextFromOptions(createContextOptions);\n\n if (resolvedContext && resolvedContext.then) {\n return resolvedContext.then(context =>\n this.wrapResolvedContextWithDefaultContext(\n context,\n createContextOptions,\n ),\n );\n }\n\n return this.wrapResolvedContextWithDefaultContext(\n resolvedContext,\n createContextOptions,\n );\n }\n\n /**\n * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge\n * with the {@link TrpcAdapterContext} generated by the library.\n *\n * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected wrapResolvedContextWithDefaultContext(\n resolvedContext: TContext,\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext {\n const request = createContextOptions.req;\n const response = createContextOptions.res;\n\n return {\n ...resolvedContext,\n request,\n response,\n getUrl: () => request.url,\n getMethod: () => request.method,\n getHeaders: () => getFlattenedHeadersMap(request.headers, ',', true),\n setHeader: (header, value) => {\n response.setHeader(header, value);\n },\n removeHeader: header => {\n response.removeHeader(header);\n },\n getHeader: (header: string) => {\n return getFlattenedHeadersMap(request.headers, ',', true)[\n header.toLowerCase()\n ];\n },\n setStatus: (statusCode: number) => {\n response.statusCode = statusCode;\n // force undefined to get default message for the status code\n // ref: https://nodejs.org/dist/latest-v16.x/docs/api/http.html#responsestatusmessage\n response.statusMessage = undefined as any;\n },\n getIp: () => request.connection.remoteAddress,\n };\n }\n\n //#endregion\n}\n"],"names":["trpc_framework_exports","__export","BufferToJSObjectTransformer","TrpcFramework","__toCommonJS","import_node_http","import_core","value","options","app","request","response","endpoint","createContextOptions","url","resolvedContext","_a","context","header","statusCode"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,4BAAA,IAAAE,EAAA,cAAA,IAAAC,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAJ,CAAA,EAIA,IAKOK,EAAA,QAAA,iCAAA,EAGuDC,EAAA,QAAA,YAAA,EAWvD,MAAMJ,CAAuD,CAM3D,YAAYK,EAAsB,CACvC,OAAIA,aAAiB,OAAe,KAAK,MAAMA,EAAM,SAAS,OAAO,CAAC,EAE/DA,CACT,CAOO,UAAUA,EAAiB,CACzB,OAAAA,CACT,CACF,CA6GO,MAAMJ,CAIb,CAME,YAA+BK,EAA0C,CAA1C,KAAA,QAAAA,CAA2C,CASnE,YACLC,EACAC,EACAC,EACM,CACA,MAAAC,EAAW,KAAK,kBAAkBF,CAAO,KAExBL,EAAA,wBAAA,CACrB,IAAKK,EACL,IAAKC,EACL,KAAMC,EACN,OAAQH,EACR,GAAG,KAAK,QACR,cAAeI,GACb,KAAK,sCAAsCA,CAAoB,CAAA,CAClE,CACH,CAiBU,kBAAkBH,EAAkC,CAC5D,IAAII,EAAMJ,EAAQ,IAEd,OAAAI,EAAI,WAAW,GAAG,IAASA,EAAAA,EAAI,MAAM,CAAC,GAEtCA,EAAI,SAAS,GAAG,IAAGA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,GAEtCA,CACT,CAOU,sCACRD,EAI8B,OAWxB,MAAAE,KANFT,EAAA,wBACFU,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,IAAA,EACE,EAG6CH,CAAoB,EAEjE,OAAAE,GAAmBA,EAAgB,KAC9BA,EAAgB,QACrB,KAAK,sCACHE,EACAJ,CACF,CAAA,EAIG,KAAK,sCACVE,EACAF,CAAA,CAEJ,CASU,sCACRE,EACAF,EAIU,CACV,MAAMH,EAAUG,EAAqB,IAC/BF,EAAWE,EAAqB,IAE/B,MAAA,CACL,GAAGE,EACH,QAAAL,EACA,SAAAC,EACA,OAAQ,IAAMD,EAAQ,IACtB,UAAW,IAAMA,EAAQ,OACzB,WAAY,OAAMJ,EAAA,wBAAuBI,EAAQ,QAAS,IAAK,EAAI,EACnE,UAAW,CAACQ,EAAQX,IAAU,CACnBI,EAAA,UAAUO,EAAQX,CAAK,CAClC,EACA,aAAwBW,GAAA,CACtBP,EAAS,aAAaO,CAAM,CAC9B,EACA,UAAYA,MACHZ,EAAA,wBAAuBI,EAAQ,QAAS,IAAK,EAAI,EACtDQ,EAAO,aACT,EAEF,UAAYC,GAAuB,CACjCR,EAAS,WAAaQ,EAGtBR,EAAS,cAAgB,MAC3B,EACA,MAAO,IAAMD,EAAQ,WAAW,aAAA,CAEpC,CAGF"}