@h4ad/serverless-adapter 3.0.0 → 3.1.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 (436) hide show
  1. package/README.md +2 -2
  2. package/lib/@types/binary-settings.d.ts +41 -0
  3. package/lib/@types/binary-settings.d.ts.map +1 -0
  4. package/lib/@types/binary-settings.js +1 -1
  5. package/lib/@types/binary-settings.js.map +1 -1
  6. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +37 -0
  7. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts.map +1 -0
  8. package/lib/@types/digital-ocean/digital-ocean-http-event.js +1 -1
  9. package/lib/@types/digital-ocean/digital-ocean-http-event.js.map +1 -1
  10. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +22 -0
  11. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts.map +1 -0
  12. package/lib/@types/digital-ocean/digital-ocean-http-response.js +1 -1
  13. package/lib/@types/digital-ocean/digital-ocean-http-response.js.map +1 -1
  14. package/lib/@types/digital-ocean/index.d.ts +2 -0
  15. package/lib/@types/digital-ocean/index.d.ts.map +1 -0
  16. package/lib/@types/digital-ocean/index.js +1 -1
  17. package/lib/@types/digital-ocean/index.js.map +1 -1
  18. package/lib/@types/headers.d.ts +37 -0
  19. package/lib/@types/headers.d.ts.map +1 -0
  20. package/lib/@types/headers.js +1 -1
  21. package/lib/@types/headers.js.map +1 -1
  22. package/lib/@types/helpers.d.ts +10 -0
  23. package/lib/@types/helpers.d.ts.map +1 -0
  24. package/lib/@types/helpers.js +1 -1
  25. package/lib/@types/helpers.js.map +1 -1
  26. package/lib/@types/huawei/huawei-api-gateway-event.d.ts +81 -0
  27. package/lib/@types/huawei/huawei-api-gateway-event.d.ts.map +1 -0
  28. package/lib/@types/huawei/huawei-api-gateway-event.js +1 -1
  29. package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -1
  30. package/lib/@types/huawei/huawei-api-gateway-response.d.ts +27 -0
  31. package/lib/@types/huawei/huawei-api-gateway-response.d.ts.map +1 -0
  32. package/lib/@types/huawei/huawei-api-gateway-response.js +1 -1
  33. package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -1
  34. package/lib/@types/huawei/huawei-context.d.ts +188 -0
  35. package/lib/@types/huawei/huawei-context.d.ts.map +1 -0
  36. package/lib/@types/huawei/huawei-context.js +1 -1
  37. package/lib/@types/huawei/huawei-context.js.map +1 -1
  38. package/lib/@types/huawei/index.d.ts +4 -0
  39. package/lib/@types/huawei/index.d.ts.map +1 -0
  40. package/lib/@types/huawei/index.js +1 -1
  41. package/lib/@types/huawei/index.js.map +1 -1
  42. package/lib/@types/index.d.ts +4 -0
  43. package/lib/@types/index.d.ts.map +1 -0
  44. package/lib/@types/index.js +1 -1
  45. package/lib/@types/index.js.map +1 -1
  46. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +56 -0
  47. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts.map +1 -0
  48. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js +1 -1
  49. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js.map +1 -1
  50. package/lib/adapters/apollo-server/index.d.ts +2 -0
  51. package/lib/adapters/apollo-server/index.d.ts.map +1 -0
  52. package/lib/adapters/apollo-server/index.js +1 -1
  53. package/lib/adapters/apollo-server/index.js.map +1 -1
  54. package/lib/adapters/aws/alb.adapter.d.ts +71 -0
  55. package/lib/adapters/aws/alb.adapter.d.ts.map +1 -0
  56. package/lib/adapters/aws/alb.adapter.js +1 -1
  57. package/lib/adapters/aws/alb.adapter.js.map +1 -1
  58. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +76 -0
  59. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts.map +1 -0
  60. package/lib/adapters/aws/api-gateway-v1.adapter.js +1 -1
  61. package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -1
  62. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +75 -0
  63. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts.map +1 -0
  64. package/lib/adapters/aws/api-gateway-v2.adapter.js +1 -1
  65. package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -1
  66. package/lib/adapters/aws/base/aws-simple-adapter.d.ts +83 -0
  67. package/lib/adapters/aws/base/aws-simple-adapter.d.ts.map +1 -0
  68. package/lib/adapters/aws/base/aws-simple-adapter.js +1 -1
  69. package/lib/adapters/aws/base/aws-simple-adapter.js.map +1 -1
  70. package/lib/adapters/aws/base/index.d.ts +2 -0
  71. package/lib/adapters/aws/base/index.d.ts.map +1 -0
  72. package/lib/adapters/aws/base/index.js +1 -1
  73. package/lib/adapters/aws/base/index.js.map +1 -1
  74. package/lib/adapters/aws/dynamodb.adapter.d.ts +56 -0
  75. package/lib/adapters/aws/dynamodb.adapter.d.ts.map +1 -0
  76. package/lib/adapters/aws/dynamodb.adapter.js +1 -1
  77. package/lib/adapters/aws/dynamodb.adapter.js.map +1 -1
  78. package/lib/adapters/aws/event-bridge.adapter.d.ts +63 -0
  79. package/lib/adapters/aws/event-bridge.adapter.d.ts.map +1 -0
  80. package/lib/adapters/aws/event-bridge.adapter.js +1 -1
  81. package/lib/adapters/aws/event-bridge.adapter.js.map +1 -1
  82. package/lib/adapters/aws/index.d.ts +12 -0
  83. package/lib/adapters/aws/index.d.ts.map +1 -0
  84. package/lib/adapters/aws/index.js +1 -1
  85. package/lib/adapters/aws/index.js.map +1 -1
  86. package/lib/adapters/aws/lambda-edge.adapter.d.ts +209 -0
  87. package/lib/adapters/aws/lambda-edge.adapter.d.ts.map +1 -0
  88. package/lib/adapters/aws/lambda-edge.adapter.js +1 -1
  89. package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -1
  90. package/lib/adapters/aws/request-lambda-edge.adapter.d.ts +131 -0
  91. package/lib/adapters/aws/request-lambda-edge.adapter.d.ts.map +1 -0
  92. package/lib/adapters/aws/request-lambda-edge.adapter.js +2 -0
  93. package/lib/adapters/aws/request-lambda-edge.adapter.js.map +1 -0
  94. package/lib/adapters/aws/s3.adapter.d.ts +56 -0
  95. package/lib/adapters/aws/s3.adapter.d.ts.map +1 -0
  96. package/lib/adapters/aws/s3.adapter.js +1 -1
  97. package/lib/adapters/aws/s3.adapter.js.map +1 -1
  98. package/lib/adapters/aws/sns.adapter.d.ts +56 -0
  99. package/lib/adapters/aws/sns.adapter.d.ts.map +1 -0
  100. package/lib/adapters/aws/sns.adapter.js +1 -1
  101. package/lib/adapters/aws/sns.adapter.js.map +1 -1
  102. package/lib/adapters/aws/sqs.adapter.d.ts +56 -0
  103. package/lib/adapters/aws/sqs.adapter.d.ts.map +1 -0
  104. package/lib/adapters/aws/sqs.adapter.js +1 -1
  105. package/lib/adapters/aws/sqs.adapter.js.map +1 -1
  106. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +81 -0
  107. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts.map +1 -0
  108. package/lib/adapters/azure/http-trigger-v4.adapter.js +1 -1
  109. package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -1
  110. package/lib/adapters/azure/index.d.ts +2 -0
  111. package/lib/adapters/azure/index.d.ts.map +1 -0
  112. package/lib/adapters/azure/index.js +1 -1
  113. package/lib/adapters/azure/index.js.map +1 -1
  114. package/lib/adapters/digital-ocean/http-function.adapter.d.ts +65 -0
  115. package/lib/adapters/digital-ocean/http-function.adapter.d.ts.map +1 -0
  116. package/lib/adapters/digital-ocean/http-function.adapter.js +1 -1
  117. package/lib/adapters/digital-ocean/http-function.adapter.js.map +1 -1
  118. package/lib/adapters/digital-ocean/index.d.ts +2 -0
  119. package/lib/adapters/digital-ocean/index.d.ts.map +1 -0
  120. package/lib/adapters/digital-ocean/index.js +1 -1
  121. package/lib/adapters/digital-ocean/index.js.map +1 -1
  122. package/lib/adapters/dummy/dummy.adapter.d.ts +31 -0
  123. package/lib/adapters/dummy/dummy.adapter.d.ts.map +1 -0
  124. package/lib/adapters/dummy/dummy.adapter.js +1 -1
  125. package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
  126. package/lib/adapters/dummy/index.d.ts +2 -0
  127. package/lib/adapters/dummy/index.d.ts.map +1 -0
  128. package/lib/adapters/dummy/index.js +1 -1
  129. package/lib/adapters/dummy/index.js.map +1 -1
  130. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +66 -0
  131. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts.map +1 -0
  132. package/lib/adapters/huawei/huawei-api-gateway.adapter.js +1 -1
  133. package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -1
  134. package/lib/adapters/huawei/index.d.ts +2 -0
  135. package/lib/adapters/huawei/index.d.ts.map +1 -0
  136. package/lib/adapters/huawei/index.js +1 -1
  137. package/lib/adapters/huawei/index.js.map +1 -1
  138. package/lib/contracts/adapter.contract.d.ts +152 -0
  139. package/lib/contracts/adapter.contract.d.ts.map +1 -0
  140. package/lib/contracts/adapter.contract.js +1 -1
  141. package/lib/contracts/adapter.contract.js.map +1 -1
  142. package/lib/contracts/framework.contract.d.ts +19 -0
  143. package/lib/contracts/framework.contract.d.ts.map +1 -0
  144. package/lib/contracts/framework.contract.js +1 -1
  145. package/lib/contracts/framework.contract.js.map +1 -1
  146. package/lib/contracts/handler.contract.d.ts +25 -0
  147. package/lib/contracts/handler.contract.d.ts.map +1 -0
  148. package/lib/contracts/handler.contract.js +1 -1
  149. package/lib/contracts/handler.contract.js.map +1 -1
  150. package/lib/contracts/index.d.ts +5 -0
  151. package/lib/contracts/index.d.ts.map +1 -0
  152. package/lib/contracts/index.js +1 -1
  153. package/lib/contracts/index.js.map +1 -1
  154. package/lib/contracts/resolver.contract.d.ts +83 -0
  155. package/lib/contracts/resolver.contract.d.ts.map +1 -0
  156. package/lib/contracts/resolver.contract.js +1 -1
  157. package/lib/contracts/resolver.contract.js.map +1 -1
  158. package/lib/core/base-handler.d.ts +32 -0
  159. package/lib/core/base-handler.d.ts.map +1 -0
  160. package/lib/core/base-handler.js +1 -1
  161. package/lib/core/base-handler.js.map +1 -1
  162. package/lib/core/constants.d.ts +31 -0
  163. package/lib/core/constants.d.ts.map +1 -0
  164. package/lib/core/constants.js +1 -1
  165. package/lib/core/constants.js.map +1 -1
  166. package/lib/core/current-invoke.d.ts +48 -0
  167. package/lib/core/current-invoke.d.ts.map +1 -0
  168. package/lib/core/current-invoke.js +1 -1
  169. package/lib/core/current-invoke.js.map +1 -1
  170. package/lib/core/event-body.d.ts +22 -0
  171. package/lib/core/event-body.d.ts.map +1 -0
  172. package/lib/core/event-body.js +1 -1
  173. package/lib/core/event-body.js.map +1 -1
  174. package/lib/core/headers.d.ts +73 -0
  175. package/lib/core/headers.d.ts.map +1 -0
  176. package/lib/core/headers.js +2 -2
  177. package/lib/core/headers.js.map +1 -1
  178. package/lib/core/index.d.ts +12 -0
  179. package/lib/core/index.d.ts.map +1 -0
  180. package/lib/core/index.js +1 -1
  181. package/lib/core/index.js.map +1 -1
  182. package/lib/core/is-binary.d.ts +73 -0
  183. package/lib/core/is-binary.d.ts.map +1 -0
  184. package/lib/core/is-binary.js +1 -1
  185. package/lib/core/is-binary.js.map +1 -1
  186. package/lib/core/logger.d.ts +64 -0
  187. package/lib/core/logger.d.ts.map +1 -0
  188. package/lib/core/logger.js +1 -1
  189. package/lib/core/logger.js.map +1 -1
  190. package/lib/core/no-op.d.ts +8 -0
  191. package/lib/core/no-op.d.ts.map +1 -0
  192. package/lib/core/no-op.js +1 -1
  193. package/lib/core/no-op.js.map +1 -1
  194. package/lib/core/optional.d.ts +22 -0
  195. package/lib/core/optional.d.ts.map +1 -0
  196. package/lib/core/optional.js +1 -1
  197. package/lib/core/optional.js.map +1 -1
  198. package/lib/core/path.d.ts +53 -0
  199. package/lib/core/path.d.ts.map +1 -0
  200. package/lib/core/path.js +1 -1
  201. package/lib/core/path.js.map +1 -1
  202. package/lib/core/stream.d.ts +21 -0
  203. package/lib/core/stream.d.ts.map +1 -0
  204. package/lib/core/stream.js +1 -1
  205. package/lib/core/stream.js.map +1 -1
  206. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +69 -0
  207. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts.map +1 -0
  208. package/lib/frameworks/apollo-server/apollo-server.framework.js +1 -1
  209. package/lib/frameworks/apollo-server/apollo-server.framework.js.map +1 -1
  210. package/lib/frameworks/apollo-server/index.d.ts +2 -0
  211. package/lib/frameworks/apollo-server/index.d.ts.map +1 -0
  212. package/lib/frameworks/apollo-server/index.js +1 -1
  213. package/lib/frameworks/apollo-server/index.js.map +1 -1
  214. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts +69 -0
  215. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts.map +1 -0
  216. package/lib/frameworks/body-parser/base-body-parser.framework.js +1 -1
  217. package/lib/frameworks/body-parser/base-body-parser.framework.js.map +1 -1
  218. package/lib/frameworks/body-parser/index.d.ts +6 -0
  219. package/lib/frameworks/body-parser/index.d.ts.map +1 -0
  220. package/lib/frameworks/body-parser/index.js +1 -1
  221. package/lib/frameworks/body-parser/index.js.map +1 -1
  222. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts +26 -0
  223. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts.map +1 -0
  224. package/lib/frameworks/body-parser/json-body-parser.framework.js +1 -1
  225. package/lib/frameworks/body-parser/json-body-parser.framework.js.map +1 -1
  226. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts +26 -0
  227. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts.map +1 -0
  228. package/lib/frameworks/body-parser/raw-body-parser.framework.js +1 -1
  229. package/lib/frameworks/body-parser/raw-body-parser.framework.js.map +1 -1
  230. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts +26 -0
  231. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts.map +1 -0
  232. package/lib/frameworks/body-parser/text-body-parser.framework.js +1 -1
  233. package/lib/frameworks/body-parser/text-body-parser.framework.js.map +1 -1
  234. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts +26 -0
  235. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts.map +1 -0
  236. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js +1 -1
  237. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js.map +1 -1
  238. package/lib/frameworks/cors/cors.framework.d.ts +78 -0
  239. package/lib/frameworks/cors/cors.framework.d.ts.map +1 -0
  240. package/lib/frameworks/cors/cors.framework.js +2 -2
  241. package/lib/frameworks/cors/cors.framework.js.map +1 -1
  242. package/lib/frameworks/cors/index.d.ts +2 -0
  243. package/lib/frameworks/cors/index.d.ts.map +1 -0
  244. package/lib/frameworks/cors/index.js +1 -1
  245. package/lib/frameworks/cors/index.js.map +1 -1
  246. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +18 -0
  247. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts.map +1 -0
  248. package/lib/frameworks/deepkit/http-deepkit.framework.js +1 -1
  249. package/lib/frameworks/deepkit/http-deepkit.framework.js.map +1 -1
  250. package/lib/frameworks/deepkit/index.d.ts +2 -0
  251. package/lib/frameworks/deepkit/index.d.ts.map +1 -0
  252. package/lib/frameworks/deepkit/index.js +1 -1
  253. package/lib/frameworks/deepkit/index.js.map +1 -1
  254. package/lib/frameworks/express/express.framework.d.ts +17 -0
  255. package/lib/frameworks/express/express.framework.d.ts.map +1 -0
  256. package/lib/frameworks/express/express.framework.js +1 -1
  257. package/lib/frameworks/express/express.framework.js.map +1 -1
  258. package/lib/frameworks/express/index.d.ts +2 -0
  259. package/lib/frameworks/express/index.d.ts.map +1 -0
  260. package/lib/frameworks/express/index.js +1 -1
  261. package/lib/frameworks/express/index.js.map +1 -1
  262. package/lib/frameworks/fastify/fastify.framework.d.ts +17 -0
  263. package/lib/frameworks/fastify/fastify.framework.d.ts.map +1 -0
  264. package/lib/frameworks/fastify/fastify.framework.js +1 -1
  265. package/lib/frameworks/fastify/fastify.framework.js.map +1 -1
  266. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts +14 -0
  267. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts.map +1 -0
  268. package/lib/frameworks/fastify/helpers/no-op-content-parser.js +1 -1
  269. package/lib/frameworks/fastify/helpers/no-op-content-parser.js.map +1 -1
  270. package/lib/frameworks/fastify/index.d.ts +2 -0
  271. package/lib/frameworks/fastify/index.d.ts.map +1 -0
  272. package/lib/frameworks/fastify/index.js +1 -1
  273. package/lib/frameworks/fastify/index.js.map +1 -1
  274. package/lib/frameworks/hapi/hapi.framework.d.ts +17 -0
  275. package/lib/frameworks/hapi/hapi.framework.d.ts.map +1 -0
  276. package/lib/frameworks/hapi/hapi.framework.js +1 -1
  277. package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
  278. package/lib/frameworks/hapi/index.d.ts +2 -0
  279. package/lib/frameworks/hapi/index.d.ts.map +1 -0
  280. package/lib/frameworks/hapi/index.js +1 -1
  281. package/lib/frameworks/hapi/index.js.map +1 -1
  282. package/lib/frameworks/koa/index.d.ts +2 -0
  283. package/lib/frameworks/koa/index.d.ts.map +1 -0
  284. package/lib/frameworks/koa/index.js +1 -1
  285. package/lib/frameworks/koa/index.js.map +1 -1
  286. package/lib/frameworks/koa/koa.framework.d.ts +17 -0
  287. package/lib/frameworks/koa/koa.framework.d.ts.map +1 -0
  288. package/lib/frameworks/koa/koa.framework.js +1 -1
  289. package/lib/frameworks/koa/koa.framework.js.map +1 -1
  290. package/lib/frameworks/lazy/index.d.ts +2 -0
  291. package/lib/frameworks/lazy/index.d.ts.map +1 -0
  292. package/lib/frameworks/lazy/index.js +1 -1
  293. package/lib/frameworks/lazy/index.js.map +1 -1
  294. package/lib/frameworks/lazy/lazy.framework.d.ts +56 -0
  295. package/lib/frameworks/lazy/lazy.framework.d.ts.map +1 -0
  296. package/lib/frameworks/lazy/lazy.framework.js +1 -1
  297. package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
  298. package/lib/frameworks/trpc/index.d.ts +2 -0
  299. package/lib/frameworks/trpc/index.d.ts.map +1 -0
  300. package/lib/frameworks/trpc/index.js +1 -1
  301. package/lib/frameworks/trpc/index.js.map +1 -1
  302. package/lib/frameworks/trpc/trpc.framework.d.ts +153 -0
  303. package/lib/frameworks/trpc/trpc.framework.d.ts.map +1 -0
  304. package/lib/frameworks/trpc/trpc.framework.js +1 -1
  305. package/lib/frameworks/trpc/trpc.framework.js.map +1 -1
  306. package/lib/handlers/aws/aws-stream.handler.d.ts +89 -0
  307. package/lib/handlers/aws/aws-stream.handler.d.ts.map +1 -0
  308. package/lib/handlers/aws/aws-stream.handler.js +1 -1
  309. package/lib/handlers/aws/aws-stream.handler.js.map +1 -1
  310. package/lib/handlers/aws/index.d.ts +2 -0
  311. package/lib/handlers/aws/index.d.ts.map +1 -0
  312. package/lib/handlers/aws/index.js +1 -1
  313. package/lib/handlers/aws/index.js.map +1 -1
  314. package/lib/handlers/azure/azure.handler.d.ts +45 -0
  315. package/lib/handlers/azure/azure.handler.d.ts.map +1 -0
  316. package/lib/handlers/azure/azure.handler.js +1 -1
  317. package/lib/handlers/azure/azure.handler.js.map +1 -1
  318. package/lib/handlers/azure/index.d.ts +2 -0
  319. package/lib/handlers/azure/index.d.ts.map +1 -0
  320. package/lib/handlers/azure/index.js +1 -1
  321. package/lib/handlers/azure/index.js.map +1 -1
  322. package/lib/handlers/base/index.d.ts +2 -0
  323. package/lib/handlers/base/index.d.ts.map +1 -0
  324. package/lib/handlers/base/index.js +1 -1
  325. package/lib/handlers/base/index.js.map +1 -1
  326. package/lib/handlers/base/raw-request.d.ts +31 -0
  327. package/lib/handlers/base/raw-request.d.ts.map +1 -0
  328. package/lib/handlers/base/raw-request.js +1 -1
  329. package/lib/handlers/base/raw-request.js.map +1 -1
  330. package/lib/handlers/default/default.handler.d.ts +88 -0
  331. package/lib/handlers/default/default.handler.d.ts.map +1 -0
  332. package/lib/handlers/default/default.handler.js +1 -1
  333. package/lib/handlers/default/default.handler.js.map +1 -1
  334. package/lib/handlers/default/index.d.ts +2 -0
  335. package/lib/handlers/default/index.d.ts.map +1 -0
  336. package/lib/handlers/default/index.js +1 -1
  337. package/lib/handlers/default/index.js.map +1 -1
  338. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +17 -0
  339. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts.map +1 -0
  340. package/lib/handlers/digital-ocean/digital-ocean.handler.js +1 -1
  341. package/lib/handlers/digital-ocean/digital-ocean.handler.js.map +1 -1
  342. package/lib/handlers/digital-ocean/index.d.ts +2 -0
  343. package/lib/handlers/digital-ocean/index.d.ts.map +1 -0
  344. package/lib/handlers/digital-ocean/index.js +1 -1
  345. package/lib/handlers/digital-ocean/index.js.map +1 -1
  346. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts +27 -0
  347. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts.map +1 -0
  348. package/lib/handlers/firebase/http-firebase-v2.handler.js +1 -1
  349. package/lib/handlers/firebase/http-firebase-v2.handler.js.map +1 -1
  350. package/lib/handlers/firebase/http-firebase.handler.d.ts +19 -0
  351. package/lib/handlers/firebase/http-firebase.handler.d.ts.map +1 -0
  352. package/lib/handlers/firebase/http-firebase.handler.js +1 -1
  353. package/lib/handlers/firebase/http-firebase.handler.js.map +1 -1
  354. package/lib/handlers/firebase/index.d.ts +3 -0
  355. package/lib/handlers/firebase/index.d.ts.map +1 -0
  356. package/lib/handlers/firebase/index.js +1 -1
  357. package/lib/handlers/firebase/index.js.map +1 -1
  358. package/lib/handlers/gcp/gcp.handler.d.ts +26 -0
  359. package/lib/handlers/gcp/gcp.handler.d.ts.map +1 -0
  360. package/lib/handlers/gcp/gcp.handler.js +1 -1
  361. package/lib/handlers/gcp/gcp.handler.js.map +1 -1
  362. package/lib/handlers/gcp/index.d.ts +2 -0
  363. package/lib/handlers/gcp/index.d.ts.map +1 -0
  364. package/lib/handlers/gcp/index.js +1 -1
  365. package/lib/handlers/gcp/index.js.map +1 -1
  366. package/lib/handlers/huawei/http-huawei.handler.d.ts +59 -0
  367. package/lib/handlers/huawei/http-huawei.handler.d.ts.map +1 -0
  368. package/lib/handlers/huawei/http-huawei.handler.js +1 -1
  369. package/lib/handlers/huawei/http-huawei.handler.js.map +1 -1
  370. package/lib/handlers/huawei/index.d.ts +2 -0
  371. package/lib/handlers/huawei/index.d.ts.map +1 -0
  372. package/lib/handlers/huawei/index.js +1 -1
  373. package/lib/handlers/huawei/index.js.map +1 -1
  374. package/lib/index.d.ts +6 -0
  375. package/lib/index.d.ts.map +1 -0
  376. package/lib/index.doc.js +1 -1
  377. package/lib/index.doc.js.map +1 -1
  378. package/lib/index.js +1 -1
  379. package/lib/index.js.map +1 -1
  380. package/lib/network/index.d.ts +5 -0
  381. package/lib/network/index.d.ts.map +1 -0
  382. package/lib/network/index.js +1 -1
  383. package/lib/network/index.js.map +1 -1
  384. package/lib/network/request.d.ts +44 -0
  385. package/lib/network/request.d.ts.map +1 -0
  386. package/lib/network/request.js +1 -1
  387. package/lib/network/request.js.map +1 -1
  388. package/lib/network/response-stream.d.ts +41 -0
  389. package/lib/network/response-stream.d.ts.map +1 -0
  390. package/lib/network/response-stream.js +4 -4
  391. package/lib/network/response-stream.js.map +1 -1
  392. package/lib/network/response.d.ts +48 -0
  393. package/lib/network/response.d.ts.map +1 -0
  394. package/lib/network/response.js +2 -2
  395. package/lib/network/response.js.map +1 -1
  396. package/lib/network/utils.d.ts +9 -0
  397. package/lib/network/utils.d.ts.map +1 -0
  398. package/lib/network/utils.js +1 -1
  399. package/lib/network/utils.js.map +1 -1
  400. package/lib/resolvers/aws-context/aws-context.resolver.d.ts +19 -0
  401. package/lib/resolvers/aws-context/aws-context.resolver.d.ts.map +1 -0
  402. package/lib/resolvers/aws-context/aws-context.resolver.js +1 -1
  403. package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -1
  404. package/lib/resolvers/aws-context/index.d.ts +2 -0
  405. package/lib/resolvers/aws-context/index.d.ts.map +1 -0
  406. package/lib/resolvers/aws-context/index.js +1 -1
  407. package/lib/resolvers/aws-context/index.js.map +1 -1
  408. package/lib/resolvers/callback/callback.resolver.d.ts +23 -0
  409. package/lib/resolvers/callback/callback.resolver.d.ts.map +1 -0
  410. package/lib/resolvers/callback/callback.resolver.js +1 -1
  411. package/lib/resolvers/callback/callback.resolver.js.map +1 -1
  412. package/lib/resolvers/callback/index.d.ts +2 -0
  413. package/lib/resolvers/callback/index.d.ts.map +1 -0
  414. package/lib/resolvers/callback/index.js +1 -1
  415. package/lib/resolvers/callback/index.js.map +1 -1
  416. package/lib/resolvers/dummy/dummy.resolver.d.ts +14 -0
  417. package/lib/resolvers/dummy/dummy.resolver.d.ts.map +1 -0
  418. package/lib/resolvers/dummy/dummy.resolver.js +1 -1
  419. package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
  420. package/lib/resolvers/dummy/index.d.ts +2 -0
  421. package/lib/resolvers/dummy/index.d.ts.map +1 -0
  422. package/lib/resolvers/dummy/index.js +1 -1
  423. package/lib/resolvers/dummy/index.js.map +1 -1
  424. package/lib/resolvers/promise/index.d.ts +2 -0
  425. package/lib/resolvers/promise/index.d.ts.map +1 -0
  426. package/lib/resolvers/promise/index.js +1 -1
  427. package/lib/resolvers/promise/index.js.map +1 -1
  428. package/lib/resolvers/promise/promise.resolver.d.ts +14 -0
  429. package/lib/resolvers/promise/promise.resolver.d.ts.map +1 -0
  430. package/lib/resolvers/promise/promise.resolver.js +1 -1
  431. package/lib/resolvers/promise/promise.resolver.js.map +1 -1
  432. package/lib/serverless-adapter.d.ts +119 -0
  433. package/lib/serverless-adapter.d.ts.map +1 -0
  434. package/lib/serverless-adapter.js +1 -1
  435. package/lib/serverless-adapter.js.map +1 -1
  436. package/package.json +2 -3
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { ServerResponse } from 'http';
4
+ import { Writable } from 'stream';
5
+ import { BothValueHeaders } from '../@types';
6
+ import { ILogger } from '../core';
7
+ /**
8
+ * The properties to create a {@link ServerlessStreamResponse}.
9
+ *
10
+ * @breadcrumb Network / ServerlessStreamResponse
11
+ * @public
12
+ */
13
+ export interface ServerlessStreamResponseProps {
14
+ /**
15
+ * The HTTP Method from request
16
+ */
17
+ method?: string;
18
+ /**
19
+ * The callback to receive the headers when they are written to the stream
20
+ * You need to return a writable stream be able to continue writing the response
21
+ *
22
+ * @param statusCode - The status code of the response
23
+ * @param headers - The headers of the response
24
+ */
25
+ onReceiveHeaders: (statusCode: number, headers: BothValueHeaders) => Writable;
26
+ /**
27
+ * Instance of the logger
28
+ */
29
+ log: ILogger;
30
+ }
31
+ /**
32
+ * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.
33
+ * This response is specially built to deal with transfer-encoding: chunked
34
+ *
35
+ * @breadcrumb Network / ServerlessStreamResponse
36
+ * @public
37
+ */
38
+ export declare class ServerlessStreamResponse extends ServerResponse {
39
+ constructor({ method, onReceiveHeaders, log, }: ServerlessStreamResponseProps);
40
+ }
41
+ //# sourceMappingURL=response-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-stream.d.ts","sourceRoot":"","sources":["../../src/network/response-stream.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AAOvD;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,QAAQ,CAAC;IAE9E;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;gBAC9C,EACV,MAAM,EACN,gBAAgB,EAChB,GAAG,GACJ,EAAE,6BAA6B;CA8EjC"}
@@ -1,7 +1,7 @@
1
- "use strict";var l=Object.defineProperty,d=Object.getOwnPropertyDescriptor,R=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h=(t,e)=>{for(var s in e)l(t,s,{get:e[s],enumerable:!0})},y=(t,e,s,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of R(e))!g.call(t,r)&&r!==s&&l(t,r,{get:()=>e[r],enumerable:!(u=d(e,r))||u.enumerable});return t},b=t=>y(l({},"__esModule",{value:!0}),t),f={};h(f,{ServerlessStreamResponse:()=>m});module.exports=b(f);var w=require("http"),o=require("../core"),A=require("./utils");const D=`0\r
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),response_stream_exports={};__export(response_stream_exports,{ServerlessStreamResponse:()=>ServerlessStreamResponse});module.exports=__toCommonJS(response_stream_exports);var import_http=require("http"),import_core=require("../core"),import_utils=require("./utils");const endChunked=`0\r
2
2
  \r
3
- `,N=`\r
3
+ `,headerEnd=`\r
4
4
  \r
5
- `,k=`\r
6
- `;class m extends w.ServerResponse{constructor({method:e,onReceiveHeaders:s,log:u}){super({method:e}),this.useChunkedEncodingByDefault=!0,this.chunkedEncoding=!0;let r=null,p=!0,i=0;const E={_writableState:{},writable:!0,on:o.NO_OP,removeListener:o.NO_OP,destroy:o.NO_OP,cork:o.NO_OP,uncork:o.NO_OP,write:(n,a,c)=>{if(typeof a=="function"&&(c=a,a=null),u.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:DATA",()=>({data:Buffer.isBuffer(n)?n.toString("utf8"):n,encoding:a})),!p&&r){if(n===D)return r.end(c),!0;if(i>0)return i--,!0;r.write(n,c),i=3}else if(p){p=!1;const _=(0,A.getString)(n),S=_.indexOf(k),P=+_.slice(0,S).split(" ")[1],v=_.slice(S+2,_.indexOf(N)),O=(0,o.parseHeaders)(v);u.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:FRAMEWORK_HEADERS",{headers:O}),i=1,r=s(P,O)}return!0}};this.assignSocket(E)}}
5
+ `,endStatusSeparator=`\r
6
+ `;class ServerlessStreamResponse extends import_http.ServerResponse{constructor({method,onReceiveHeaders,log}){super({method}),this.useChunkedEncodingByDefault=!0,this.chunkedEncoding=!0;let internalWritable=null,isFirstCall=!0,writesToIgnore=0;const socket={_writableState:{},writable:!0,on:import_core.NO_OP,removeListener:import_core.NO_OP,destroy:import_core.NO_OP,cork:import_core.NO_OP,uncork:import_core.NO_OP,write:(data,encoding,cb)=>{if(typeof encoding=="function"&&(cb=encoding,encoding=null),log.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:DATA",()=>({data:Buffer.isBuffer(data)?data.toString("utf8"):data,encoding})),!isFirstCall&&internalWritable){if(data===endChunked)return internalWritable.end(cb),!0;if(writesToIgnore>0)return writesToIgnore--,!0;internalWritable.write(data,cb),writesToIgnore=3}else if(isFirstCall){isFirstCall=!1;const stringData=(0,import_utils.getString)(data),endStatusIndex=stringData.indexOf(endStatusSeparator),status=+stringData.slice(0,endStatusIndex).split(" ")[1],headerData=stringData.slice(endStatusIndex+2,stringData.indexOf(headerEnd)),headers=(0,import_core.parseHeaders)(headerData);log.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:FRAMEWORK_HEADERS",{headers}),writesToIgnore=1,internalWritable=onReceiveHeaders(status,headers)}return!0}};this.assignSocket(socket)}}
7
7
  //# sourceMappingURL=response-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-stream.js","sources":["../../src/network/response-stream.ts"],"sourcesContent":["import { ServerResponse } from 'http';\nimport { Socket } from 'net';\nimport { Writable } from 'stream';\nimport { BothValueHeaders } from '../@types';\nimport { ILogger, NO_OP, parseHeaders } from '../core';\nimport { getString } from './utils';\n\nconst endChunked = '0\\r\\n\\r\\n';\nconst headerEnd = '\\r\\n\\r\\n';\nconst endStatusSeparator = '\\r\\n';\n\n/**\n * The properties to create a {@link ServerlessStreamResponse}.\n *\n * @breadcrumb Network / ServerlessStreamResponse\n * @public\n */\nexport interface ServerlessStreamResponseProps {\n /**\n * The HTTP Method from request\n */\n method?: string;\n\n /**\n * The callback to receive the headers when they are written to the stream\n * You need to return a writable stream be able to continue writing the response\n *\n * @param statusCode - The status code of the response\n * @param headers - The headers of the response\n */\n onReceiveHeaders: (statusCode: number, headers: BothValueHeaders) => Writable;\n\n /**\n * Instance of the logger\n */\n log: ILogger;\n}\n\n/**\n * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.\n * This response is specially built to deal with transfer-encoding: chunked\n *\n * @breadcrumb Network / ServerlessStreamResponse\n * @public\n */\nexport class ServerlessStreamResponse extends ServerResponse {\n constructor({\n method,\n onReceiveHeaders,\n log,\n }: ServerlessStreamResponseProps) {\n super({ method } as any);\n\n this.useChunkedEncodingByDefault = true;\n this.chunkedEncoding = true;\n\n let internalWritable: Writable | null = null;\n let isFirstCall = true;\n // this ignore is used because I need to ignore these write calls:\n // https://github.com/nodejs/node/blob/main/lib/_http_outgoing.js#L934-L935\n // https://github.com/nodejs/node/blob/main/lib/_http_outgoing.js#L937\n let writesToIgnore = 0;\n\n const socket: Partial<Socket> & { _writableState: any } = {\n _writableState: {},\n writable: true,\n on: NO_OP,\n removeListener: NO_OP,\n destroy: NO_OP,\n cork: NO_OP,\n uncork: NO_OP,\n write: (\n data: Uint8Array | string,\n encoding?: string | null | (() => void),\n cb?: () => void,\n ): any => {\n // very unlikely, I don't even know how to reproduce this, but exist on types\n // istanbul ignore if\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n log.debug('SERVERLESS_ADAPTER:RESPONSE_STREAM:DATA', () => ({\n data: Buffer.isBuffer(data) ? data.toString('utf8') : data,\n encoding,\n }));\n\n if (!isFirstCall && internalWritable) {\n if (data === endChunked) {\n internalWritable.end(cb);\n\n return true;\n }\n\n if (writesToIgnore > 0) {\n writesToIgnore--;\n return true;\n }\n\n internalWritable.write(data, cb);\n writesToIgnore = 3;\n } else if (isFirstCall) {\n isFirstCall = false;\n\n const stringData = getString(data);\n const endStatusIndex = stringData.indexOf(endStatusSeparator);\n const status = +stringData.slice(0, endStatusIndex).split(' ')[1];\n\n const headerData = stringData.slice(\n endStatusIndex + 2,\n stringData.indexOf(headerEnd),\n );\n const headers = parseHeaders(headerData);\n log.debug('SERVERLESS_ADAPTER:RESPONSE_STREAM:FRAMEWORK_HEADERS', {\n headers,\n });\n\n writesToIgnore = 1;\n internalWritable = onReceiveHeaders(status, headers);\n }\n\n return true;\n },\n };\n\n this.assignSocket(socket as unknown as Socket);\n }\n}\n"],"names":["response_stream_exports","__export","ServerlessStreamResponse","__toCommonJS","import_http","import_core","import_utils","endChunked","headerEnd","endStatusSeparator","method","onReceiveHeaders","log","internalWritable","isFirstCall","writesToIgnore","socket","data","encoding","cb","stringData","endStatusIndex","status","headerData","headers"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,yBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAAA,IAA+BI,EAAA,QAAA,MAAA,EAIcC,EAAA,QAAA,SAAA,EACnBC,EAAA,QAAA,SAAA,EAE1B,MAAMC,EAAa;AAAA;AAAA,EACbC,EAAY;AAAA;AAAA,EACZC,EAAqB;AAAA,EAoCpB,MAAMP,UAAiCE,EAAe,cAAA,CAC3D,YAAY,CACV,OAAAM,EACA,iBAAAC,EACA,IAAAC,CAAA,EACgC,CAC1B,MAAA,CAAE,OAAAF,EAAe,EAEvB,KAAK,4BAA8B,GACnC,KAAK,gBAAkB,GAEvB,IAAIG,EAAoC,KACpCC,EAAc,GAIdC,EAAiB,EAErB,MAAMC,EAAoD,CACxD,eAAgB,CAAC,EACjB,SAAU,GACV,GAAIX,EAAA,MACJ,eAAgBA,EAAA,MAChB,QAASA,EAAA,MACT,KAAMA,EAAA,MACN,OAAQA,EAAA,MACR,MAAO,CACLY,EACAC,EACAC,IACQ,CAaJ,GAVA,OAAOD,GAAa,aACjBC,EAAAD,EACMA,EAAA,MAGTN,EAAA,MAAM,0CAA2C,KAAO,CAC1D,KAAM,OAAO,SAASK,CAAI,EAAIA,EAAK,SAAS,MAAM,EAAIA,EACtD,SAAAC,CACA,EAAA,EAEE,CAACJ,GAAeD,EAAkB,CACpC,GAAII,IAASV,EACX,OAAAM,EAAiB,IAAIM,CAAE,EAEhB,GAGT,GAAIJ,EAAiB,EACnB,OAAAA,IACO,GAGQF,EAAA,MAAMI,EAAME,CAAE,EACdJ,EAAA,UACRD,EAAa,CACRA,EAAA,GAER,MAAAM,KAAad,aAAUW,CAAI,EAC3BI,EAAiBD,EAAW,QAAQX,CAAkB,EACtDa,EAAS,CAACF,EAAW,MAAM,EAAGC,CAAc,EAAE,MAAM,GAAG,EAAE,CAAC,EAE1DE,EAAaH,EAAW,MAC5BC,EAAiB,EACjBD,EAAW,QAAQZ,CAAS,CAAA,EAExBgB,KAAUnB,gBAAakB,CAAU,EACvCX,EAAI,MAAM,uDAAwD,CAChE,QAAAY,CAAA,CACD,EAEgBT,EAAA,EACEF,EAAAF,EAAiBW,EAAQE,CAAO,EAG9C,MAAA,EACT,CAAA,EAGF,KAAK,aAAaR,CAA2B,CAC/C,CACF"}
1
+ {"version":3,"file":"response-stream.js","sources":["../../src/network/response-stream.ts"],"sourcesContent":["import { ServerResponse } from 'http';\nimport { Socket } from 'net';\nimport { Writable } from 'stream';\nimport { BothValueHeaders } from '../@types';\nimport { ILogger, NO_OP, parseHeaders } from '../core';\nimport { getString } from './utils';\n\nconst endChunked = '0\\r\\n\\r\\n';\nconst headerEnd = '\\r\\n\\r\\n';\nconst endStatusSeparator = '\\r\\n';\n\n/**\n * The properties to create a {@link ServerlessStreamResponse}.\n *\n * @breadcrumb Network / ServerlessStreamResponse\n * @public\n */\nexport interface ServerlessStreamResponseProps {\n /**\n * The HTTP Method from request\n */\n method?: string;\n\n /**\n * The callback to receive the headers when they are written to the stream\n * You need to return a writable stream be able to continue writing the response\n *\n * @param statusCode - The status code of the response\n * @param headers - The headers of the response\n */\n onReceiveHeaders: (statusCode: number, headers: BothValueHeaders) => Writable;\n\n /**\n * Instance of the logger\n */\n log: ILogger;\n}\n\n/**\n * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.\n * This response is specially built to deal with transfer-encoding: chunked\n *\n * @breadcrumb Network / ServerlessStreamResponse\n * @public\n */\nexport class ServerlessStreamResponse extends ServerResponse {\n constructor({\n method,\n onReceiveHeaders,\n log,\n }: ServerlessStreamResponseProps) {\n super({ method } as any);\n\n this.useChunkedEncodingByDefault = true;\n this.chunkedEncoding = true;\n\n let internalWritable: Writable | null = null;\n let isFirstCall = true;\n // this ignore is used because I need to ignore these write calls:\n // https://github.com/nodejs/node/blob/main/lib/_http_outgoing.js#L934-L935\n // https://github.com/nodejs/node/blob/main/lib/_http_outgoing.js#L937\n let writesToIgnore = 0;\n\n const socket: Partial<Socket> & { _writableState: any } = {\n _writableState: {},\n writable: true,\n on: NO_OP,\n removeListener: NO_OP,\n destroy: NO_OP,\n cork: NO_OP,\n uncork: NO_OP,\n write: (\n data: Uint8Array | string,\n encoding?: string | null | (() => void),\n cb?: () => void,\n ): any => {\n // very unlikely, I don't even know how to reproduce this, but exist on types\n // istanbul ignore if\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n log.debug('SERVERLESS_ADAPTER:RESPONSE_STREAM:DATA', () => ({\n data: Buffer.isBuffer(data) ? data.toString('utf8') : data,\n encoding,\n }));\n\n if (!isFirstCall && internalWritable) {\n if (data === endChunked) {\n internalWritable.end(cb);\n\n return true;\n }\n\n if (writesToIgnore > 0) {\n writesToIgnore--;\n return true;\n }\n\n internalWritable.write(data, cb);\n writesToIgnore = 3;\n } else if (isFirstCall) {\n isFirstCall = false;\n\n const stringData = getString(data);\n const endStatusIndex = stringData.indexOf(endStatusSeparator);\n const status = +stringData.slice(0, endStatusIndex).split(' ')[1];\n\n const headerData = stringData.slice(\n endStatusIndex + 2,\n stringData.indexOf(headerEnd),\n );\n const headers = parseHeaders(headerData);\n log.debug('SERVERLESS_ADAPTER:RESPONSE_STREAM:FRAMEWORK_HEADERS', {\n headers,\n });\n\n writesToIgnore = 1;\n internalWritable = onReceiveHeaders(status, headers);\n }\n\n return true;\n },\n };\n\n this.assignSocket(socket as unknown as Socket);\n }\n}\n"],"names":[],"mappings":"ooBAAA,wBAAA,CAAA,EAAA,SAAA,wBAAA,CAAA,yBAAA,IAAA,wBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,uBAAA,EAAA,IAA+B,YAAA,QAAA,MAAA,EAIc,YAAA,QAAA,SAAA,EACnB,aAAA,QAAA,SAAA,EAE1B,MAAM,WAAa;AAAA;AAAA,EACb,UAAY;AAAA;AAAA,EACZ,mBAAqB;AAAA,EAoCpB,MAAM,iCAAiC,YAAe,cAAA,CAC3D,YAAY,CACV,OACA,iBACA,GAAA,EACgC,CAC1B,MAAA,CAAE,OAAe,EAEvB,KAAK,4BAA8B,GACnC,KAAK,gBAAkB,GAEvB,IAAI,iBAAoC,KACpC,YAAc,GAId,eAAiB,EAErB,MAAM,OAAoD,CACxD,eAAgB,CAAC,EACjB,SAAU,GACV,GAAI,YAAA,MACJ,eAAgB,YAAA,MAChB,QAAS,YAAA,MACT,KAAM,YAAA,MACN,OAAQ,YAAA,MACR,MAAO,CACL,KACA,SACA,KACQ,CAaJ,GAVA,OAAO,UAAa,aACjB,GAAA,SACM,SAAA,MAGT,IAAA,MAAM,0CAA2C,KAAO,CAC1D,KAAM,OAAO,SAAS,IAAI,EAAI,KAAK,SAAS,MAAM,EAAI,KACtD,QACA,EAAA,EAEE,CAAC,aAAe,iBAAkB,CACpC,GAAI,OAAS,WACX,wBAAiB,IAAI,EAAE,EAEhB,GAGT,GAAI,eAAiB,EACnB,wBACO,GAGQ,iBAAA,MAAM,KAAM,EAAE,EACd,eAAA,UACR,YAAa,CACR,YAAA,GAER,MAAA,cAAa,wBAAU,IAAI,EAC3B,eAAiB,WAAW,QAAQ,kBAAkB,EACtD,OAAS,CAAC,WAAW,MAAM,EAAG,cAAc,EAAE,MAAM,GAAG,EAAE,CAAC,EAE1D,WAAa,WAAW,MAC5B,eAAiB,EACjB,WAAW,QAAQ,SAAS,CAAA,EAExB,WAAU,0BAAa,UAAU,EACvC,IAAI,MAAM,uDAAwD,CAChE,OAAA,CACD,EAEgB,eAAA,EACE,iBAAA,iBAAiB,OAAQ,OAAO,EAG9C,MAAA,EACT,CAAA,EAGF,KAAK,aAAa,MAA2B,CAC/C,CACF"}
@@ -0,0 +1,48 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { IncomingMessage, ServerResponse } from 'http';
4
+ declare const BODY: unique symbol;
5
+ declare const HEADERS: unique symbol;
6
+ /**
7
+ * The properties to create a {@link ServerlessResponse}.
8
+ *
9
+ * @breadcrumb Network / ServerlessResponse
10
+ * @public
11
+ */
12
+ export interface ServerlessResponseProps {
13
+ /**
14
+ * The HTTP Method from request
15
+ */
16
+ method?: string;
17
+ }
18
+ /**
19
+ * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.
20
+ * Once it's happens, we use the properties from this response to built the response to the cloud.
21
+ *
22
+ * @breadcrumb Network / ServerlessResponse
23
+ * @public
24
+ */
25
+ export declare class ServerlessResponse extends ServerResponse {
26
+ constructor({ method }: ServerlessResponseProps);
27
+ _header: string;
28
+ _headers?: Record<any, any>;
29
+ _wroteHeader?: boolean;
30
+ [BODY]: any[];
31
+ [HEADERS]: Record<any, any>;
32
+ get headers(): Record<any, any>;
33
+ static from(res: IncomingMessage): ServerlessResponse;
34
+ static body(res: ServerlessResponse): Buffer;
35
+ static headers(res: ServerlessResponse): import("http").OutgoingHttpHeaders & Record<any, any>;
36
+ setHeader(key: string, value: number | string | readonly string[]): any;
37
+ writeHead(statusCode: number, statusMessage?: string | any | any[], obj?: any | any[]): any;
38
+ /**
39
+ * I use ignore here because in nodejs 12.x, statusMessage can be string | OutgoingHttpHeaders
40
+ * But in nodejs \>=14.x, statusMessage can also be OutgoingHttpHeaders[]
41
+ * I take care of these cases above, but here I can't handle it well, so I give up
42
+ * nodejs 12.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v12/http.d.ts#L229
43
+ * nodejs 14.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v14/http.d.ts#L263
44
+ */
45
+ protected callNativeWriteHead(statusCode: number, statusMessage?: string | any | any[], obj?: any | any[]): this;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/network/response.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAOvD,QAAA,MAAM,IAAI,eAA0B,CAAC;AACrC,QAAA,MAAM,OAAO,eAA6B,CAAC;AAY3C;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,EAAE,MAAM,EAAE,EAAE,uBAAuB;IAiD/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE5B,IAAI,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAE9B;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe;IAWhC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM;IAI5C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB;IAMtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,GAAG;IAKvE,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,EACpC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAChB,GAAG;IAuBN;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC3B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,EACpC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAChB,IAAI;CAGR"}
@@ -1,4 +1,4 @@
1
- "use strict";var p=Object.defineProperty,y=Object.getOwnPropertyDescriptor,O=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,w=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},b=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of O(e))!v.call(r,s)&&s!==t&&p(r,s,{get:()=>e[s],enumerable:!(o=y(e,s))||o.enumerable});return r},g=r=>b(p({},"__esModule",{value:!0}),r),_={};w(_,{ServerlessResponse:()=>P});module.exports=g(_);var m=require("http"),a=require("../core"),H=require("./utils");const d=`\r
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),response_exports={};__export(response_exports,{ServerlessResponse:()=>ServerlessResponse});module.exports=__toCommonJS(response_exports);var import_http=require("http"),import_core=require("../core"),import_utils=require("./utils");const headerEnd=`\r
2
2
  \r
3
- `,f=Symbol("Response body"),c=Symbol("Response headers");function h(r,e){if(Buffer.isBuffer(e)||typeof e=="string"||e instanceof Uint8Array)r[f].push(Buffer.from(e));else throw new Error(`response.write() of unexpected type: ${typeof e}`)}const l=class extends m.ServerResponse{constructor({method:r}){super({method:r}),this[f]=[],this[c]={},this.useChunkedEncodingByDefault=!1,this.chunkedEncoding=!1,this._header="";const e={_writableState:{},writable:!0,on:a.NO_OP,removeListener:a.NO_OP,destroy:a.NO_OP,cork:a.NO_OP,uncork:a.NO_OP,write:(t,o,s)=>{if(typeof o=="function"&&(s=o,o=null),this._header===""||this._wroteHeader)h(this,t);else{const n=(0,H.getString)(t),i=n.indexOf(d);if(i!==-1){const u=n.slice(i+d.length);u&&h(this,u),this._wroteHeader=!0}}typeof s=="function"&&s()}};this.assignSocket(e)}get headers(){return this[c]}static from(r){const e=new l({method:r.method});return e.statusCode=r.statusCode||0,e[c]=r.headers,e[f]=r.body?[Buffer.from(r.body)]:[],e.end(),e}static body(r){return Buffer.concat(r[f])}static headers(r){const e=r.getHeaders();return Object.assign(e,r[c])}setHeader(r,e){this._wroteHeader?this[c][r]=e:super.setHeader(r,e)}writeHead(r,e,t){const o=typeof e=="string"?t:e,s=Array.isArray(o)?o:[o||{}];for(const n of s)for(const i in n)if(this.setHeader(i,n[i]),!this._wroteHeader)break;return this.callNativeWriteHead(r,e,t)}callNativeWriteHead(r,e,t){return super.writeHead(r,e,t)}};let P=l;
3
+ `,BODY=Symbol("Response body"),HEADERS=Symbol("Response headers");function addData(stream,data){if(Buffer.isBuffer(data)||typeof data=="string"||data instanceof Uint8Array)stream[BODY].push(Buffer.from(data));else throw new Error(`response.write() of unexpected type: ${typeof data}`)}const _ServerlessResponse=class extends import_http.ServerResponse{constructor({method}){super({method}),this[BODY]=[],this[HEADERS]={},this.useChunkedEncodingByDefault=!1,this.chunkedEncoding=!1,this._header="";const socket={_writableState:{},writable:!0,on:import_core.NO_OP,removeListener:import_core.NO_OP,destroy:import_core.NO_OP,cork:import_core.NO_OP,uncork:import_core.NO_OP,write:(data,encoding,cb)=>{if(typeof encoding=="function"&&(cb=encoding,encoding=null),this._header===""||this._wroteHeader)addData(this,data);else{const string=(0,import_utils.getString)(data),index=string.indexOf(headerEnd);if(index!==-1){const remainder=string.slice(index+headerEnd.length);remainder&&addData(this,remainder),this._wroteHeader=!0}}typeof cb=="function"&&cb()}};this.assignSocket(socket)}get headers(){return this[HEADERS]}static from(res){const response=new _ServerlessResponse({method:res.method});return response.statusCode=res.statusCode||0,response[HEADERS]=res.headers,response[BODY]=res.body?[Buffer.from(res.body)]:[],response.end(),response}static body(res){return Buffer.concat(res[BODY])}static headers(res){const headers=res.getHeaders();return Object.assign(headers,res[HEADERS])}setHeader(key,value){this._wroteHeader?this[HEADERS][key]=value:super.setHeader(key,value)}writeHead(statusCode,statusMessage,obj){const headersObjOrArray=typeof statusMessage=="string"?obj:statusMessage,arrayHeaders=Array.isArray(headersObjOrArray)?headersObjOrArray:[headersObjOrArray||{}];for(const headers of arrayHeaders)for(const name in headers)if(this.setHeader(name,headers[name]),!this._wroteHeader)break;return this.callNativeWriteHead(statusCode,statusMessage,obj)}callNativeWriteHead(statusCode,statusMessage,obj){return super.writeHead(statusCode,statusMessage,obj)}};let ServerlessResponse=_ServerlessResponse;
4
4
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sources":["../../src/network/response.ts"],"sourcesContent":["// ATTRIBUTION: https://github.com/dougmoscrop/serverless-http\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { Socket } from 'net';\nimport { NO_OP } from '../core';\nimport { getString } from './utils';\n\nconst headerEnd = '\\r\\n\\r\\n';\n\nconst BODY = Symbol('Response body');\nconst HEADERS = Symbol('Response headers');\n\nfunction addData(stream: ServerlessResponse, data: Uint8Array | string) {\n if (\n Buffer.isBuffer(data) ||\n typeof data === 'string' ||\n data instanceof Uint8Array\n )\n stream[BODY].push(Buffer.from(data));\n else throw new Error(`response.write() of unexpected type: ${typeof data}`);\n}\n\n/**\n * The properties to create a {@link ServerlessResponse}.\n *\n * @breadcrumb Network / ServerlessResponse\n * @public\n */\nexport interface ServerlessResponseProps {\n /**\n * The HTTP Method from request\n */\n method?: string;\n}\n\n/**\n * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.\n * Once it's happens, we use the properties from this response to built the response to the cloud.\n *\n * @breadcrumb Network / ServerlessResponse\n * @public\n */\nexport class ServerlessResponse extends ServerResponse {\n constructor({ method }: ServerlessResponseProps) {\n super({ method } as any);\n\n this[BODY] = [];\n this[HEADERS] = {};\n\n this.useChunkedEncodingByDefault = false;\n this.chunkedEncoding = false;\n this._header = '';\n\n const socket: Partial<Socket> & { _writableState: any } = {\n _writableState: {},\n writable: true,\n on: NO_OP,\n removeListener: NO_OP,\n destroy: NO_OP,\n cork: NO_OP,\n uncork: NO_OP,\n write: (\n data: Uint8Array | string,\n encoding?: string | null | (() => void),\n cb?: () => void,\n ): any => {\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (this._header === '' || this._wroteHeader) addData(this, data);\n else {\n const string = getString(data);\n const index = string.indexOf(headerEnd);\n\n if (index !== -1) {\n const remainder = string.slice(index + headerEnd.length);\n\n if (remainder) addData(this, remainder);\n\n this._wroteHeader = true;\n }\n }\n\n if (typeof cb === 'function') cb();\n },\n };\n\n this.assignSocket(socket as unknown as Socket);\n }\n\n _header: string;\n _headers?: Record<any, any>;\n _wroteHeader?: boolean;\n\n [BODY]: any[];\n [HEADERS]: Record<any, any>;\n\n get headers(): Record<any, any> {\n return this[HEADERS];\n }\n\n static from(res: IncomingMessage) {\n const response = new ServerlessResponse({ method: res.method });\n\n response.statusCode = res.statusCode || 0;\n response[HEADERS] = res.headers;\n response[BODY] = (res as any).body ? [Buffer.from((res as any).body)] : [];\n response.end();\n\n return response;\n }\n\n static body(res: ServerlessResponse): Buffer {\n return Buffer.concat(res[BODY]);\n }\n\n static headers(res: ServerlessResponse) {\n const headers = res.getHeaders();\n\n return Object.assign(headers, res[HEADERS]);\n }\n\n setHeader(key: string, value: number | string | readonly string[]): any {\n if (this._wroteHeader) this[HEADERS][key] = value;\n else super.setHeader(key, value);\n }\n\n writeHead(\n statusCode: number,\n statusMessage?: string | any | any[],\n obj?: any | any[],\n ): any {\n const headersObjOrArray =\n typeof statusMessage === 'string' ? obj : statusMessage;\n\n const arrayHeaders = Array.isArray(headersObjOrArray)\n ? headersObjOrArray\n : [headersObjOrArray || {}];\n\n for (const headers of arrayHeaders) {\n for (const name in headers) {\n this.setHeader(name, headers[name]!);\n\n if (!this._wroteHeader) {\n // we only need to initiate super.headers once\n // writeHead will add the other headers itself\n break;\n }\n }\n }\n\n return this.callNativeWriteHead(statusCode, statusMessage, obj);\n }\n\n /**\n * I use ignore here because in nodejs 12.x, statusMessage can be string | OutgoingHttpHeaders\n * But in nodejs \\>=14.x, statusMessage can also be OutgoingHttpHeaders[]\n * I take care of these cases above, but here I can't handle it well, so I give up\n * nodejs 12.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v12/http.d.ts#L229\n * nodejs 14.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v14/http.d.ts#L263\n */\n protected callNativeWriteHead(\n statusCode: number,\n statusMessage?: string | any | any[],\n obj?: any | any[],\n ): this {\n return super.writeHead(statusCode, statusMessage, obj);\n }\n}\n"],"names":["response_exports","__export","ServerlessResponse","__toCommonJS","import_http","import_core","import_utils","headerEnd","BODY","HEADERS","addData","stream","data","_ServerlessResponse","method","socket","encoding","cb","string","index","remainder","res","response","headers","key","value","statusCode","statusMessage","obj","headersObjOrArray","arrayHeaders","name"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,mBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EACA,IAAgDI,EAAA,QAAA,MAAA,EAE1BC,EAAA,QAAA,SAAA,EACIC,EAAA,QAAA,SAAA,EAE1B,MAAMC,EAAY;AAAA;AAAA,EAEZC,EAAO,OAAO,eAAe,EAC7BC,EAAU,OAAO,kBAAkB,EAEzC,SAASC,EAAQC,EAA4BC,EAA2B,CACtE,GACE,OAAO,SAASA,CAAI,GACpB,OAAOA,GAAS,UAChBA,aAAgB,WAEhBD,EAAOH,CAAI,EAAE,KAAK,OAAO,KAAKI,CAAI,CAAC,MAChC,OAAM,IAAI,MAAM,wCAAwC,OAAOA,GAAM,CAC5E,CAsBO,MAAMC,EAAN,cAAiCT,EAAe,cAAA,CACrD,YAAY,CAAE,OAAAU,GAAmC,CACzC,MAAA,CAAE,OAAAA,EAAe,EAElB,KAAAN,CAAI,EAAI,GACR,KAAAC,CAAO,EAAI,GAEhB,KAAK,4BAA8B,GACnC,KAAK,gBAAkB,GACvB,KAAK,QAAU,GAEf,MAAMM,EAAoD,CACxD,eAAgB,CAAC,EACjB,SAAU,GACV,GAAIV,EAAA,MACJ,eAAgBA,EAAA,MAChB,QAASA,EAAA,MACT,KAAMA,EAAA,MACN,OAAQA,EAAA,MACR,MAAO,CACLO,EACAI,EACAC,IACQ,CAMJ,GALA,OAAOD,GAAa,aACjBC,EAAAD,EACMA,EAAA,MAGT,KAAK,UAAY,IAAM,KAAK,aAAcN,EAAQ,KAAME,CAAI,MAC3D,CACG,MAAAM,KAASZ,aAAUM,CAAI,EACvBO,EAAQD,EAAO,QAAQX,CAAS,EAEtC,GAAIY,IAAU,GAAI,CAChB,MAAMC,EAAYF,EAAO,MAAMC,EAAQZ,EAAU,MAAM,EAEnDa,GAAWV,EAAQ,KAAMU,CAAS,EAEtC,KAAK,aAAe,IAIpB,OAAOH,GAAO,YAAeA,GACnC,CAAA,EAGF,KAAK,aAAaF,CAA2B,CAC/C,CASA,IAAI,SAA4B,CAC9B,OAAO,KAAKN,CAAO,CACrB,CAEA,OAAO,KAAKY,EAAsB,CAChC,MAAMC,EAAW,IAAIT,EAAmB,CAAE,OAAQQ,EAAI,OAAQ,EAErD,OAAAC,EAAA,WAAaD,EAAI,YAAc,EAC/BC,EAAAb,CAAO,EAAIY,EAAI,QACfC,EAAAd,CAAI,EAAKa,EAAY,KAAO,CAAC,OAAO,KAAMA,EAAY,IAAI,CAAC,EAAI,CAAA,EACxEC,EAAS,IAAI,EAENA,CACT,CAEA,OAAO,KAAKD,EAAiC,CAC3C,OAAO,OAAO,OAAOA,EAAIb,CAAI,CAAC,CAChC,CAEA,OAAO,QAAQa,EAAyB,CAChC,MAAAE,EAAUF,EAAI,aAEpB,OAAO,OAAO,OAAOE,EAASF,EAAIZ,CAAO,CAAC,CAC5C,CAEA,UAAUe,EAAaC,EAAiD,CAClE,KAAK,aAAmB,KAAAhB,CAAO,EAAEe,CAAG,EAAIC,EACjC,MAAA,UAAUD,EAAKC,CAAK,CACjC,CAEA,UACEC,EACAC,EACAC,EACK,CACL,MAAMC,EACJ,OAAOF,GAAkB,SAAWC,EAAMD,EAEtCG,EAAe,MAAM,QAAQD,CAAiB,EAChDA,EACA,CAACA,GAAqB,CAAA,CAAE,EAE5B,UAAWN,KAAWO,EACpB,UAAWC,KAAQR,EAGb,GAFJ,KAAK,UAAUQ,EAAMR,EAAQQ,CAAI,CAAE,EAE/B,CAAC,KAAK,aAGR,MAKN,OAAO,KAAK,oBAAoBL,EAAYC,EAAeC,CAAG,CAChE,CASU,oBACRF,EACAC,EACAC,EACM,CACN,OAAO,MAAM,UAAUF,EAAYC,EAAeC,CAAG,CACvD,CACF,EAhIO,IAAM1B,EAANW"}
1
+ {"version":3,"file":"response.js","sources":["../../src/network/response.ts"],"sourcesContent":["// ATTRIBUTION: https://github.com/dougmoscrop/serverless-http\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { Socket } from 'net';\nimport { NO_OP } from '../core';\nimport { getString } from './utils';\n\nconst headerEnd = '\\r\\n\\r\\n';\n\nconst BODY = Symbol('Response body');\nconst HEADERS = Symbol('Response headers');\n\nfunction addData(stream: ServerlessResponse, data: Uint8Array | string) {\n if (\n Buffer.isBuffer(data) ||\n typeof data === 'string' ||\n data instanceof Uint8Array\n )\n stream[BODY].push(Buffer.from(data));\n else throw new Error(`response.write() of unexpected type: ${typeof data}`);\n}\n\n/**\n * The properties to create a {@link ServerlessResponse}.\n *\n * @breadcrumb Network / ServerlessResponse\n * @public\n */\nexport interface ServerlessResponseProps {\n /**\n * The HTTP Method from request\n */\n method?: string;\n}\n\n/**\n * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.\n * Once it's happens, we use the properties from this response to built the response to the cloud.\n *\n * @breadcrumb Network / ServerlessResponse\n * @public\n */\nexport class ServerlessResponse extends ServerResponse {\n constructor({ method }: ServerlessResponseProps) {\n super({ method } as any);\n\n this[BODY] = [];\n this[HEADERS] = {};\n\n this.useChunkedEncodingByDefault = false;\n this.chunkedEncoding = false;\n this._header = '';\n\n const socket: Partial<Socket> & { _writableState: any } = {\n _writableState: {},\n writable: true,\n on: NO_OP,\n removeListener: NO_OP,\n destroy: NO_OP,\n cork: NO_OP,\n uncork: NO_OP,\n write: (\n data: Uint8Array | string,\n encoding?: string | null | (() => void),\n cb?: () => void,\n ): any => {\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (this._header === '' || this._wroteHeader) addData(this, data);\n else {\n const string = getString(data);\n const index = string.indexOf(headerEnd);\n\n if (index !== -1) {\n const remainder = string.slice(index + headerEnd.length);\n\n if (remainder) addData(this, remainder);\n\n this._wroteHeader = true;\n }\n }\n\n if (typeof cb === 'function') cb();\n },\n };\n\n this.assignSocket(socket as unknown as Socket);\n }\n\n _header: string;\n _headers?: Record<any, any>;\n _wroteHeader?: boolean;\n\n [BODY]: any[];\n [HEADERS]: Record<any, any>;\n\n get headers(): Record<any, any> {\n return this[HEADERS];\n }\n\n static from(res: IncomingMessage) {\n const response = new ServerlessResponse({ method: res.method });\n\n response.statusCode = res.statusCode || 0;\n response[HEADERS] = res.headers;\n response[BODY] = (res as any).body ? [Buffer.from((res as any).body)] : [];\n response.end();\n\n return response;\n }\n\n static body(res: ServerlessResponse): Buffer {\n return Buffer.concat(res[BODY]);\n }\n\n static headers(res: ServerlessResponse) {\n const headers = res.getHeaders();\n\n return Object.assign(headers, res[HEADERS]);\n }\n\n setHeader(key: string, value: number | string | readonly string[]): any {\n if (this._wroteHeader) this[HEADERS][key] = value;\n else super.setHeader(key, value);\n }\n\n writeHead(\n statusCode: number,\n statusMessage?: string | any | any[],\n obj?: any | any[],\n ): any {\n const headersObjOrArray =\n typeof statusMessage === 'string' ? obj : statusMessage;\n\n const arrayHeaders = Array.isArray(headersObjOrArray)\n ? headersObjOrArray\n : [headersObjOrArray || {}];\n\n for (const headers of arrayHeaders) {\n for (const name in headers) {\n this.setHeader(name, headers[name]!);\n\n if (!this._wroteHeader) {\n // we only need to initiate super.headers once\n // writeHead will add the other headers itself\n break;\n }\n }\n }\n\n return this.callNativeWriteHead(statusCode, statusMessage, obj);\n }\n\n /**\n * I use ignore here because in nodejs 12.x, statusMessage can be string | OutgoingHttpHeaders\n * But in nodejs \\>=14.x, statusMessage can also be OutgoingHttpHeaders[]\n * I take care of these cases above, but here I can't handle it well, so I give up\n * nodejs 12.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v12/http.d.ts#L229\n * nodejs 14.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v14/http.d.ts#L263\n */\n protected callNativeWriteHead(\n statusCode: number,\n statusMessage?: string | any | any[],\n obj?: any | any[],\n ): this {\n return super.writeHead(statusCode, statusMessage, obj);\n }\n}\n"],"names":[],"mappings":"ooBAAA,iBAAA,CAAA,EAAA,SAAA,iBAAA,CAAA,mBAAA,IAAA,kBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,gBAAA,EACA,IAAgD,YAAA,QAAA,MAAA,EAE1B,YAAA,QAAA,SAAA,EACI,aAAA,QAAA,SAAA,EAE1B,MAAM,UAAY;AAAA;AAAA,EAEZ,KAAO,OAAO,eAAe,EAC7B,QAAU,OAAO,kBAAkB,EAEzC,SAAS,QAAQ,OAA4B,KAA2B,CACtE,GACE,OAAO,SAAS,IAAI,GACpB,OAAO,MAAS,UAChB,gBAAgB,WAEhB,OAAO,IAAI,EAAE,KAAK,OAAO,KAAK,IAAI,CAAC,MAChC,OAAM,IAAI,MAAM,wCAAwC,OAAO,MAAM,CAC5E,CAsBO,MAAM,oBAAN,cAAiC,YAAe,cAAA,CACrD,YAAY,CAAE,QAAmC,CACzC,MAAA,CAAE,OAAe,EAElB,KAAA,IAAI,EAAI,GACR,KAAA,OAAO,EAAI,GAEhB,KAAK,4BAA8B,GACnC,KAAK,gBAAkB,GACvB,KAAK,QAAU,GAEf,MAAM,OAAoD,CACxD,eAAgB,CAAC,EACjB,SAAU,GACV,GAAI,YAAA,MACJ,eAAgB,YAAA,MAChB,QAAS,YAAA,MACT,KAAM,YAAA,MACN,OAAQ,YAAA,MACR,MAAO,CACL,KACA,SACA,KACQ,CAMJ,GALA,OAAO,UAAa,aACjB,GAAA,SACM,SAAA,MAGT,KAAK,UAAY,IAAM,KAAK,aAAc,QAAQ,KAAM,IAAI,MAC3D,CACG,MAAA,UAAS,wBAAU,IAAI,EACvB,MAAQ,OAAO,QAAQ,SAAS,EAEtC,GAAI,QAAU,GAAI,CAChB,MAAM,UAAY,OAAO,MAAM,MAAQ,UAAU,MAAM,EAEnD,WAAW,QAAQ,KAAM,SAAS,EAEtC,KAAK,aAAe,IAIpB,OAAO,IAAO,YAAe,IACnC,CAAA,EAGF,KAAK,aAAa,MAA2B,CAC/C,CASA,IAAI,SAA4B,CAC9B,OAAO,KAAK,OAAO,CACrB,CAEA,OAAO,KAAK,IAAsB,CAChC,MAAM,SAAW,IAAI,oBAAmB,CAAE,OAAQ,IAAI,OAAQ,EAErD,gBAAA,WAAa,IAAI,YAAc,EAC/B,SAAA,OAAO,EAAI,IAAI,QACf,SAAA,IAAI,EAAK,IAAY,KAAO,CAAC,OAAO,KAAM,IAAY,IAAI,CAAC,EAAI,CAAA,EACxE,SAAS,IAAI,EAEN,QACT,CAEA,OAAO,KAAK,IAAiC,CAC3C,OAAO,OAAO,OAAO,IAAI,IAAI,CAAC,CAChC,CAEA,OAAO,QAAQ,IAAyB,CAChC,MAAA,QAAU,IAAI,aAEpB,OAAO,OAAO,OAAO,QAAS,IAAI,OAAO,CAAC,CAC5C,CAEA,UAAU,IAAa,MAAiD,CAClE,KAAK,aAAmB,KAAA,OAAO,EAAE,GAAG,EAAI,MACjC,MAAA,UAAU,IAAK,KAAK,CACjC,CAEA,UACE,WACA,cACA,IACK,CACL,MAAM,kBACJ,OAAO,eAAkB,SAAW,IAAM,cAEtC,aAAe,MAAM,QAAQ,iBAAiB,EAChD,kBACA,CAAC,mBAAqB,CAAA,CAAE,EAE5B,UAAW,WAAW,aACpB,UAAW,QAAQ,QAGb,GAFJ,KAAK,UAAU,KAAM,QAAQ,IAAI,CAAE,EAE/B,CAAC,KAAK,aAGR,MAKN,OAAO,KAAK,oBAAoB,WAAY,cAAe,GAAG,CAChE,CASU,oBACR,WACA,cACA,IACM,CACN,OAAO,MAAM,UAAU,WAAY,cAAe,GAAG,CACvD,CACF,EAhIO,IAAM,mBAAN"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Get the data from a buffer, string, or Uint8Array
4
+ *
5
+ * @breadcrumb Network
6
+ * @param data - The data that was written inside the stream
7
+ */
8
+ export declare function getString(data: Buffer | string | unknown): string;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/network/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,UAKxD"}
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,f=Object.prototype.hasOwnProperty,_=(e,r)=>{for(var o in r)n(e,o,{get:r[o],enumerable:!0})},c=(e,r,o,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of u(r))!f.call(e,t)&&t!==o&&n(e,t,{get:()=>r[t],enumerable:!(p=s(r,t))||p.enumerable});return e},y=e=>c(n({},"__esModule",{value:!0}),e),i={};_(i,{getString:()=>g});module.exports=y(i);function g(e){if(Buffer.isBuffer(e))return e.toString("utf8");if(typeof e=="string")return e;if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw new Error(`response.write() of unexpected type: ${typeof e}`)}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),utils_exports={};__export(utils_exports,{getString:()=>getString});module.exports=__toCommonJS(utils_exports);function getString(data){if(Buffer.isBuffer(data))return data.toString("utf8");if(typeof data=="string")return data;if(data instanceof Uint8Array)return new TextDecoder().decode(data);throw new Error(`response.write() of unexpected type: ${typeof data}`)}
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/network/utils.ts"],"sourcesContent":["/**\n * Get the data from a buffer, string, or Uint8Array\n *\n * @param data - The data that was written inside the stream\n */\nexport function getString(data: Buffer | string | unknown) {\n if (Buffer.isBuffer(data)) return data.toString('utf8');\n else if (typeof data === 'string') return data;\n else if (data instanceof Uint8Array) return new TextDecoder().decode(data);\n else throw new Error(`response.write() of unexpected type: ${typeof data}`);\n}\n"],"names":["utils_exports","__export","getString","__toCommonJS","data"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,UAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAKO,SAASE,EAAUE,EAAiC,CACrD,GAAA,OAAO,SAASA,CAAI,EAAU,OAAAA,EAAK,SAAS,MAAM,EAAA,GAC7C,OAAOA,GAAS,SAAiB,OAAAA,EAAA,GACjCA,aAAgB,WAAY,OAAO,IAAI,YAAA,EAAc,OAAOA,CAAI,EACpE,MAAM,IAAI,MAAM,wCAAwC,OAAOA,GAAM,CAC5E"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/network/utils.ts"],"sourcesContent":["/**\n * Get the data from a buffer, string, or Uint8Array\n *\n * @breadcrumb Network\n * @param data - The data that was written inside the stream\n */\nexport function getString(data: Buffer | string | unknown) {\n if (Buffer.isBuffer(data)) return data.toString('utf8');\n else if (typeof data === 'string') return data;\n else if (data instanceof Uint8Array) return new TextDecoder().decode(data);\n else throw new Error(`response.write() of unexpected type: ${typeof data}`);\n}\n"],"names":[],"mappings":"ooBAAA,cAAA,CAAA,EAAA,SAAA,cAAA,CAAA,UAAA,IAAA,SAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAMO,SAAS,UAAU,KAAiC,CACrD,GAAA,OAAO,SAAS,IAAI,EAAU,OAAA,KAAK,SAAS,MAAM,EAAA,GAC7C,OAAO,MAAS,SAAiB,OAAA,KAAA,GACjC,gBAAgB,WAAY,OAAO,IAAI,YAAA,EAAc,OAAO,IAAI,EACpE,MAAM,IAAI,MAAM,wCAAwC,OAAO,MAAM,CAC5E"}
@@ -0,0 +1,19 @@
1
+ import type { Context } from 'aws-lambda';
2
+ import { Resolver, ResolverContract, ResolverProps } from '../../contracts';
3
+ /**
4
+ * The class that implements the resolver by using the AWS Context object.
5
+ *
6
+ * @remarks To use this resolver, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.
7
+ *
8
+ * @deprecated From the AWS Documentation, describing the functions used in this resolver: Functions for compatibility with earlier Node.js Runtime v0.10.42. No longer documented, so they are deprecated, but they still work as of the 12.x runtime, so they are not removed from the types.
9
+ *
10
+ * @breadcrumb Resolvers / AwsContextResolver
11
+ * @public
12
+ */
13
+ export declare class AwsContextResolver<TEvent, TCallback, TResponse> implements ResolverContract<TEvent, Context, TCallback, TResponse, void> {
14
+ /**
15
+ * {@inheritDoc}
16
+ */
17
+ createResolver({ context, event, log, respondWithErrors, adapter, }: ResolverProps<any, Context, any, any>): Resolver<any, void>;
18
+ }
19
+ //# sourceMappingURL=aws-context.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-context.resolver.d.ts","sourceRoot":"","sources":["../../../src/resolvers/aws-context/aws-context.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAEL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;GASG;AACH,qBAAa,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAC1D,YAAW,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC;IAExE;;OAEG;IACI,cAAc,CAAC,EACpB,OAAO,EACP,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,OAAO,GACR,EAAE,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CA6C/D"}
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty,l=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,w=(r,e)=>{for(var o in e)u(r,o,{get:e[o],enumerable:!0})},p=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of h(e))!v.call(r,t)&&t!==o&&u(r,t,{get:()=>e[t],enumerable:!(n=l(e,t))||n.enumerable});return r},d=r=>p(u({},"__esModule",{value:!0}),r),_={};w(_,{AwsContextResolver:()=>f});module.exports=d(_);class f{createResolver({context:e,event:o,log:n,respondWithErrors:t,adapter:i}){if(!e)throw new Error('Could not figure out how to create the resolver because the "context" argument was not sent.');if(!e.succeed)throw new Error(`Could not figure out how to create the resolver because the "context" argument didn't have the "succeed" function.`);if(!e.fail)throw new Error(`Could not figure out how to create the resolver because the "context" argument didn't have the "fail" function.`);const c={succeed:a=>e.succeed(a),fail:a=>e.fail(a)};return{run:a=>{a().then(s=>c.succeed(s)).catch(s=>{n.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",s),i.onErrorWhileForwarding({delegatedResolver:c,error:s,log:n,event:o,respondWithErrors:t})})}}}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),aws_context_resolver_exports={};__export(aws_context_resolver_exports,{AwsContextResolver:()=>AwsContextResolver});module.exports=__toCommonJS(aws_context_resolver_exports);class AwsContextResolver{createResolver({context,event,log,respondWithErrors,adapter}){if(!context)throw new Error('Could not figure out how to create the resolver because the "context" argument was not sent.');if(!context.succeed)throw new Error(`Could not figure out how to create the resolver because the "context" argument didn't have the "succeed" function.`);if(!context.fail)throw new Error(`Could not figure out how to create the resolver because the "context" argument didn't have the "fail" function.`);const delegatedResolver={succeed:response=>context.succeed(response),fail:error=>context.fail(error)};return{run:task=>{task().then(response=>delegatedResolver.succeed(response)).catch(error=>{log.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",error),adapter.onErrorWhileForwarding({delegatedResolver,error,log,event,respondWithErrors})})}}}}
2
2
  //# sourceMappingURL=aws-context.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-context.resolver.js","sources":["../../../src/resolvers/aws-context/aws-context.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport type { Context } from 'aws-lambda';\nimport {\n DelegatedResolver,\n Resolver,\n ResolverContract,\n ResolverProps,\n} from '../../contracts';\n\n//#endregion\n\n/**\n * The class that implements the resolver by using the AWS Context object.\n *\n * @remarks To use this resolver, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.\n *\n * @deprecated From the AWS Documentation, describing the functions used in this resolver: Functions for compatibility with earlier Node.js Runtime v0.10.42. No longer documented, so they are deprecated, but they still work as of the 12.x runtime, so they are not removed from the types.\n *\n * @breadcrumb Resolvers / AwsContextResolver\n * @public\n */\nexport class AwsContextResolver<TEvent, TCallback, TResponse>\n implements ResolverContract<TEvent, Context, TCallback, TResponse, void>\n{\n /**\n * {@inheritDoc}\n */\n public createResolver({\n context,\n event,\n log,\n respondWithErrors,\n adapter,\n }: ResolverProps<any, Context, any, any>): Resolver<any, void> {\n if (!context) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument was not sent.',\n );\n }\n\n if (!context.succeed) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument didn\\'t have the \"succeed\" function.',\n );\n }\n\n if (!context.fail) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument didn\\'t have the \"fail\" function.',\n );\n }\n\n const delegatedResolver: DelegatedResolver<any> = {\n succeed: response => context.succeed(response),\n fail: error => context.fail(error),\n };\n\n return {\n run: task => {\n task()\n .then(response => delegatedResolver.succeed(response))\n .catch(error => {\n log.error(\n 'SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR',\n error,\n );\n\n adapter.onErrorWhileForwarding({\n delegatedResolver,\n error,\n log,\n event,\n respondWithErrors,\n });\n });\n },\n };\n }\n}\n"],"names":["aws_context_resolver_exports","__export","AwsContextResolver","__toCommonJS","context","event","log","respondWithErrors","adapter","delegatedResolver","response","error","task"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,mBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAsBO,MAAME,CAEb,CAIS,eAAe,CACpB,QAAAE,EACA,MAAAC,EACA,IAAAC,EACA,kBAAAC,EACA,QAAAC,CAAA,EAC6D,CAC7D,GAAI,CAACJ,EACH,MAAM,IAAI,MACR,8FAAA,EAIA,GAAA,CAACA,EAAQ,QACX,MAAM,IAAI,MACR,oHAAA,EAIA,GAAA,CAACA,EAAQ,KACX,MAAM,IAAI,MACR,iHAAA,EAIJ,MAAMK,EAA4C,CAChD,QAASC,GAAYN,EAAQ,QAAQM,CAAQ,EAC7C,KAAMC,GAASP,EAAQ,KAAKO,CAAK,CAAA,EAG5B,MAAA,CACL,IAAaC,GAAA,CACNA,IACF,KAAiBF,GAAAD,EAAkB,QAAQC,CAAQ,CAAC,EACpD,MAAeC,GAAA,CACVL,EAAA,MACF,wDACAK,CAAA,EAGFH,EAAQ,uBAAuB,CAC7B,kBAAAC,EACA,MAAAE,EACA,IAAAL,EACA,MAAAD,EACA,kBAAAE,CAAA,CACD,CAAA,CACF,CACL,CAAA,CAEJ,CACF"}
1
+ {"version":3,"file":"aws-context.resolver.js","sources":["../../../src/resolvers/aws-context/aws-context.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport type { Context } from 'aws-lambda';\nimport {\n DelegatedResolver,\n Resolver,\n ResolverContract,\n ResolverProps,\n} from '../../contracts';\n\n//#endregion\n\n/**\n * The class that implements the resolver by using the AWS Context object.\n *\n * @remarks To use this resolver, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.\n *\n * @deprecated From the AWS Documentation, describing the functions used in this resolver: Functions for compatibility with earlier Node.js Runtime v0.10.42. No longer documented, so they are deprecated, but they still work as of the 12.x runtime, so they are not removed from the types.\n *\n * @breadcrumb Resolvers / AwsContextResolver\n * @public\n */\nexport class AwsContextResolver<TEvent, TCallback, TResponse>\n implements ResolverContract<TEvent, Context, TCallback, TResponse, void>\n{\n /**\n * {@inheritDoc}\n */\n public createResolver({\n context,\n event,\n log,\n respondWithErrors,\n adapter,\n }: ResolverProps<any, Context, any, any>): Resolver<any, void> {\n if (!context) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument was not sent.',\n );\n }\n\n if (!context.succeed) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument didn\\'t have the \"succeed\" function.',\n );\n }\n\n if (!context.fail) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"context\" argument didn\\'t have the \"fail\" function.',\n );\n }\n\n const delegatedResolver: DelegatedResolver<any> = {\n succeed: response => context.succeed(response),\n fail: error => context.fail(error),\n };\n\n return {\n run: task => {\n task()\n .then(response => delegatedResolver.succeed(response))\n .catch(error => {\n log.error(\n 'SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR',\n error,\n );\n\n adapter.onErrorWhileForwarding({\n delegatedResolver,\n error,\n log,\n event,\n respondWithErrors,\n });\n });\n },\n };\n }\n}\n"],"names":[],"mappings":"ooBAAA,6BAAA,CAAA,EAAA,SAAA,6BAAA,CAAA,mBAAA,IAAA,kBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,4BAAA,EAsBO,MAAM,kBAEb,CAIS,eAAe,CACpB,QACA,MACA,IACA,kBACA,OAAA,EAC6D,CAC7D,GAAI,CAAC,QACH,MAAM,IAAI,MACR,8FAAA,EAIA,GAAA,CAAC,QAAQ,QACX,MAAM,IAAI,MACR,oHAAA,EAIA,GAAA,CAAC,QAAQ,KACX,MAAM,IAAI,MACR,iHAAA,EAIJ,MAAM,kBAA4C,CAChD,QAAS,UAAY,QAAQ,QAAQ,QAAQ,EAC7C,KAAM,OAAS,QAAQ,KAAK,KAAK,CAAA,EAG5B,MAAA,CACL,IAAa,MAAA,CACN,OACF,KAAiB,UAAA,kBAAkB,QAAQ,QAAQ,CAAC,EACpD,MAAe,OAAA,CACV,IAAA,MACF,wDACA,KAAA,EAGF,QAAQ,uBAAuB,CAC7B,kBACA,MACA,IACA,MACA,iBAAA,CACD,CAAA,CACF,CACL,CAAA,CAEJ,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './aws-context.resolver';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/aws-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,p=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!c.call(r,t)&&t!==o&&_(r,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return r},O=(r,e,o)=>(p(r,e,"default"),o&&p(o,e,"default")),l=r=>p(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);O(n,require("./aws-context.resolver"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),aws_context_exports={};module.exports=__toCommonJS(aws_context_exports);__reExport(aws_context_exports,require("./aws-context.resolver"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/resolvers/aws-context/index.ts"],"sourcesContent":["export * from './aws-context.resolver';\n"],"names":["aws_context_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,wBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/resolvers/aws-context/index.ts"],"sourcesContent":["export * from './aws-context.resolver';\n"],"names":[],"mappings":"kqBAAA,oBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,mBAAA,EAAA,WAAA,oBAAc,QAAd,wBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,23 @@
1
+ import { Resolver, ResolverContract, ResolverProps } from '../../contracts';
2
+ /**
3
+ * The default signature of the callback sent by serverless
4
+ *
5
+ * @breadcrumb Resolvers / CallbackResolver
6
+ * @public
7
+ */
8
+ export type ServerlessCallback<TResponse> = (error: Error | null, success: TResponse | null) => void;
9
+ /**
10
+ * The class that implements the resolver using the callback function sent by serverless
11
+ *
12
+ * @remarks To use this resolver on AWS, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.
13
+ *
14
+ * @breadcrumb Resolvers / CallbackResolver
15
+ * @public
16
+ */
17
+ export declare class CallbackResolver<TEvent, TContext, TResponse> implements ResolverContract<TEvent, TContext, ServerlessCallback<any>, TResponse, void> {
18
+ /**
19
+ * {@inheritDoc}
20
+ */
21
+ createResolver({ callback, event, log, respondWithErrors, adapter, }: ResolverProps<TEvent, TContext, ServerlessCallback<any>, TResponse>): Resolver<any, void>;
22
+ }
23
+ //# sourceMappingURL=callback.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.resolver.d.ts","sourceRoot":"","sources":["../../../src/resolvers/callback/callback.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAIzB;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,IAAI,CAC1C,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,EAAE,SAAS,GAAG,IAAI,KACtB,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CACvD,YACE,gBAAgB,CACd,MAAM,EACN,QAAQ,EACR,kBAAkB,CAAC,GAAG,CAAC,EACvB,SAAS,EACT,IAAI,CACL;IAEH;;OAEG;IACI,cAAc,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,OAAO,GACR,EAAE,aAAa,CACd,MAAM,EACN,QAAQ,EACR,kBAAkB,CAAC,GAAG,CAAC,EACvB,SAAS,CACV,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CAiCxB"}
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty,p=Object.getOwnPropertyDescriptor,v=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,i=(r,e)=>{for(var o in e)l(r,o,{get:e[o],enumerable:!0})},R=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of v(e))!O.call(r,t)&&t!==o&&l(r,t,{get:()=>e[t],enumerable:!(a=p(e,t))||a.enumerable});return r},b=r=>R(l({},"__esModule",{value:!0}),r),c={};i(c,{CallbackResolver:()=>w});module.exports=b(c);class w{createResolver({callback:e,event:o,log:a,respondWithErrors:t,adapter:u}){if(!e)throw new Error('Could not figure out how to create the resolver because the "callback" argument was not sent.');const _={succeed:n=>e(null,n),fail:n=>e(n,null)};return{run:n=>{n().then(s=>_.succeed(s)).catch(s=>{a.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",s),u.onErrorWhileForwarding({delegatedResolver:_,error:s,log:a,event:o,respondWithErrors:t})})}}}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),callback_resolver_exports={};__export(callback_resolver_exports,{CallbackResolver:()=>CallbackResolver});module.exports=__toCommonJS(callback_resolver_exports);class CallbackResolver{createResolver({callback,event,log,respondWithErrors,adapter}){if(!callback)throw new Error('Could not figure out how to create the resolver because the "callback" argument was not sent.');const delegatedResolver={succeed:response=>callback(null,response),fail:error=>callback(error,null)};return{run:task=>{task().then(response=>delegatedResolver.succeed(response)).catch(error=>{log.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",error),adapter.onErrorWhileForwarding({delegatedResolver,error,log,event,respondWithErrors})})}}}}
2
2
  //# sourceMappingURL=callback.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.resolver.js","sources":["../../../src/resolvers/callback/callback.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport {\n DelegatedResolver,\n Resolver,\n ResolverContract,\n ResolverProps,\n} from '../../contracts';\n\n//#endregion\n\n/**\n * The default signature of the callback sent by serverless\n *\n * @breadcrumb Resolvers / CallbackResolver\n * @public\n */\nexport type ServerlessCallback<TResponse> = (\n error: Error | null,\n success: TResponse | null,\n) => void;\n\n/**\n * The class that implements the resolver using the callback function sent by serverless\n *\n * @remarks To use this resolver on AWS, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.\n *\n * @breadcrumb Resolvers / CallbackResolver\n * @public\n */\nexport class CallbackResolver<TEvent, TContext, TResponse>\n implements\n ResolverContract<\n TEvent,\n TContext,\n ServerlessCallback<any>,\n TResponse,\n void\n >\n{\n /**\n * {@inheritDoc}\n */\n public createResolver({\n callback,\n event,\n log,\n respondWithErrors,\n adapter,\n }: ResolverProps<\n TEvent,\n TContext,\n ServerlessCallback<any>,\n TResponse\n >): Resolver<any, void> {\n if (!callback) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"callback\" argument was not sent.',\n );\n }\n\n const delegatedResolver: DelegatedResolver<any> = {\n succeed: response => callback(null, response),\n fail: error => callback(error, null),\n };\n\n return {\n run: task => {\n task()\n .then(response => delegatedResolver.succeed(response))\n .catch(error => {\n log.error(\n 'SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR',\n error,\n );\n\n adapter.onErrorWhileForwarding({\n delegatedResolver,\n error,\n log,\n event,\n respondWithErrors,\n });\n });\n },\n };\n }\n}\n"],"names":["callback_resolver_exports","__export","CallbackResolver","__toCommonJS","callback","event","log","respondWithErrors","adapter","delegatedResolver","response","error","task"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,iBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EA8BO,MAAME,CASb,CAIS,eAAe,CACpB,SAAAE,EACA,MAAAC,EACA,IAAAC,EACA,kBAAAC,EACA,QAAAC,CAAA,EAMsB,CACtB,GAAI,CAACJ,EACH,MAAM,IAAI,MACR,+FAAA,EAIJ,MAAMK,EAA4C,CAChD,QAASC,GAAYN,EAAS,KAAMM,CAAQ,EAC5C,KAAMC,GAASP,EAASO,EAAO,IAAI,CAAA,EAG9B,MAAA,CACL,IAAaC,GAAA,CACNA,IACF,KAAiBF,GAAAD,EAAkB,QAAQC,CAAQ,CAAC,EACpD,MAAeC,GAAA,CACVL,EAAA,MACF,wDACAK,CAAA,EAGFH,EAAQ,uBAAuB,CAC7B,kBAAAC,EACA,MAAAE,EACA,IAAAL,EACA,MAAAD,EACA,kBAAAE,CAAA,CACD,CAAA,CACF,CACL,CAAA,CAEJ,CACF"}
1
+ {"version":3,"file":"callback.resolver.js","sources":["../../../src/resolvers/callback/callback.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport {\n DelegatedResolver,\n Resolver,\n ResolverContract,\n ResolverProps,\n} from '../../contracts';\n\n//#endregion\n\n/**\n * The default signature of the callback sent by serverless\n *\n * @breadcrumb Resolvers / CallbackResolver\n * @public\n */\nexport type ServerlessCallback<TResponse> = (\n error: Error | null,\n success: TResponse | null,\n) => void;\n\n/**\n * The class that implements the resolver using the callback function sent by serverless\n *\n * @remarks To use this resolver on AWS, you MUST leave `{@link https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html | callbackWaitsForEmptyEventLoop}` as true, otherwise, AWS will not wait for this resolver to resolve.\n *\n * @breadcrumb Resolvers / CallbackResolver\n * @public\n */\nexport class CallbackResolver<TEvent, TContext, TResponse>\n implements\n ResolverContract<\n TEvent,\n TContext,\n ServerlessCallback<any>,\n TResponse,\n void\n >\n{\n /**\n * {@inheritDoc}\n */\n public createResolver({\n callback,\n event,\n log,\n respondWithErrors,\n adapter,\n }: ResolverProps<\n TEvent,\n TContext,\n ServerlessCallback<any>,\n TResponse\n >): Resolver<any, void> {\n if (!callback) {\n throw new Error(\n 'Could not figure out how to create the resolver because the \"callback\" argument was not sent.',\n );\n }\n\n const delegatedResolver: DelegatedResolver<any> = {\n succeed: response => callback(null, response),\n fail: error => callback(error, null),\n };\n\n return {\n run: task => {\n task()\n .then(response => delegatedResolver.succeed(response))\n .catch(error => {\n log.error(\n 'SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR',\n error,\n );\n\n adapter.onErrorWhileForwarding({\n delegatedResolver,\n error,\n log,\n event,\n respondWithErrors,\n });\n });\n },\n };\n }\n}\n"],"names":[],"mappings":"ooBAAA,0BAAA,CAAA,EAAA,SAAA,0BAAA,CAAA,iBAAA,IAAA,gBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,yBAAA,EA8BO,MAAM,gBASb,CAIS,eAAe,CACpB,SACA,MACA,IACA,kBACA,OAAA,EAMsB,CACtB,GAAI,CAAC,SACH,MAAM,IAAI,MACR,+FAAA,EAIJ,MAAM,kBAA4C,CAChD,QAAS,UAAY,SAAS,KAAM,QAAQ,EAC5C,KAAM,OAAS,SAAS,MAAO,IAAI,CAAA,EAG9B,MAAA,CACL,IAAa,MAAA,CACN,OACF,KAAiB,UAAA,kBAAkB,QAAQ,QAAQ,CAAC,EACpD,MAAe,OAAA,CACV,IAAA,MACF,wDACA,KAAA,EAGF,QAAQ,uBAAuB,CAC7B,kBACA,MACA,IACA,MACA,iBAAA,CACD,CAAA,CACF,CACL,CAAA,CAEJ,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './callback.resolver';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/callback/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,p=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!s.call(r,t)&&t!==a&&_(r,t,{get:()=>e[t],enumerable:!(o=c(e,t))||o.enumerable});return r},u=(r,e,a)=>(p(r,e,"default"),a&&p(a,e,"default")),O=r=>p(_({},"__esModule",{value:!0}),r),n={};module.exports=O(n);u(n,require("./callback.resolver"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),callback_exports={};module.exports=__toCommonJS(callback_exports);__reExport(callback_exports,require("./callback.resolver"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/resolvers/callback/index.ts"],"sourcesContent":["export * from './callback.resolver';\n"],"names":["callback_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,qBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/resolvers/callback/index.ts"],"sourcesContent":["export * from './callback.resolver';\n"],"names":[],"mappings":"kqBAAA,iBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,gBAAA,EAAA,WAAA,iBAAc,QAAd,qBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,14 @@
1
+ import { Resolver, ResolverContract } from '../../contracts';
2
+ /**
3
+ * The class that represents a dummy resolver that does nothing and can be used by the cloud that doesn't use resolvers.
4
+ *
5
+ * @breadcrumb Resolvers / DummyResolver
6
+ * @public
7
+ */
8
+ export declare class DummyResolver implements ResolverContract<any, any, any, any, any> {
9
+ /**
10
+ * {@inheritDoc}
11
+ */
12
+ createResolver(): Resolver<any, void>;
13
+ }
14
+ //# sourceMappingURL=dummy.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy.resolver.d.ts","sourceRoot":"","sources":["../../../src/resolvers/dummy/dummy.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAI7D;;;;;GAKG;AACH,qBAAa,aACX,YAAW,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEpD;;OAEG;IACI,cAAc,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CAM7C"}
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,u=Object.prototype.hasOwnProperty,v=(r,e)=>{for(var o in e)s(r,o,{get:e[o],enumerable:!0})},c=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!u.call(r,t)&&t!==o&&s(r,t,{get:()=>e[t],enumerable:!(a=_(e,t))||a.enumerable});return r},l=r=>c(s({},"__esModule",{value:!0}),r),p={};v(p,{DummyResolver:()=>y});module.exports=l(p);class y{createResolver(){return{run:()=>Promise.resolve()}}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),dummy_resolver_exports={};__export(dummy_resolver_exports,{DummyResolver:()=>DummyResolver});module.exports=__toCommonJS(dummy_resolver_exports);class DummyResolver{createResolver(){return{run:()=>Promise.resolve()}}}
2
2
  //# sourceMappingURL=dummy.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dummy.resolver.js","sources":["../../../src/resolvers/dummy/dummy.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport { Resolver, ResolverContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The class that represents a dummy resolver that does nothing and can be used by the cloud that doesn't use resolvers.\n *\n * @breadcrumb Resolvers / DummyResolver\n * @public\n */\nexport class DummyResolver\n implements ResolverContract<any, any, any, any, any>\n{\n /**\n * {@inheritDoc}\n */\n public createResolver(): Resolver<any, void> {\n return {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n run: () => Promise.resolve(),\n };\n }\n}\n"],"names":["dummy_resolver_exports","__export","DummyResolver","__toCommonJS"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,cAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAYO,MAAME,CAEb,CAIS,gBAAsC,CACpC,MAAA,CAEL,IAAK,IAAM,QAAQ,QAAQ,CAAA,CAE/B,CACF"}
1
+ {"version":3,"file":"dummy.resolver.js","sources":["../../../src/resolvers/dummy/dummy.resolver.ts"],"sourcesContent":["//#region Imports\n\nimport { Resolver, ResolverContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The class that represents a dummy resolver that does nothing and can be used by the cloud that doesn't use resolvers.\n *\n * @breadcrumb Resolvers / DummyResolver\n * @public\n */\nexport class DummyResolver\n implements ResolverContract<any, any, any, any, any>\n{\n /**\n * {@inheritDoc}\n */\n public createResolver(): Resolver<any, void> {\n return {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n run: () => Promise.resolve(),\n };\n }\n}\n"],"names":[],"mappings":"ooBAAA,uBAAA,CAAA,EAAA,SAAA,uBAAA,CAAA,cAAA,IAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,sBAAA,EAYO,MAAM,aAEb,CAIS,gBAAsC,CACpC,MAAA,CAEL,IAAK,IAAM,QAAQ,QAAQ,CAAA,CAE/B,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './dummy.resolver';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/dummy/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!y.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(a=u(e,t))||a.enumerable});return r},O=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),c=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=c(n);O(n,require("./dummy.resolver"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),dummy_exports={};module.exports=__toCommonJS(dummy_exports);__reExport(dummy_exports,require("./dummy.resolver"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/resolvers/dummy/index.ts"],"sourcesContent":["export * from './dummy.resolver';\n"],"names":["dummy_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/resolvers/dummy/index.ts"],"sourcesContent":["export * from './dummy.resolver';\n"],"names":[],"mappings":"kqBAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAAA,WAAA,cAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './promise.resolver';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolvers/promise/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{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:!(a=s(e,t))||a.enumerable});return r},c=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),l=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./promise.resolver"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),promise_exports={};module.exports=__toCommonJS(promise_exports);__reExport(promise_exports,require("./promise.resolver"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/resolvers/promise/index.ts"],"sourcesContent":["export * from './promise.resolver';\n"],"names":["promise_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,oBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/resolvers/promise/index.ts"],"sourcesContent":["export * from './promise.resolver';\n"],"names":[],"mappings":"kqBAAA,gBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,eAAA,EAAA,WAAA,gBAAc,QAAd,oBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,14 @@
1
+ import { Resolver, ResolverContract, ResolverProps } from '../../contracts';
2
+ /**
3
+ * The class that implements the resolver using the promise object sent by this library
4
+ *
5
+ * @breadcrumb Resolvers / PromiseResolver
6
+ * @public
7
+ */
8
+ export declare class PromiseResolver<TEvent, TContext, TCallback, TResponse, TReturn> implements ResolverContract<TEvent, TContext, TCallback, TResponse, Promise<any>> {
9
+ /**
10
+ * {@inheritDoc}
11
+ */
12
+ createResolver({ event, log, respondWithErrors, adapter, }: ResolverProps<TEvent, TContext, TCallback, TResponse>): Resolver<TResponse, Promise<TReturn>>;
13
+ }
14
+ //# sourceMappingURL=promise.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.resolver.d.ts","sourceRoot":"","sources":["../../../src/resolvers/promise/promise.resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAIzB;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAC1E,YACE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAExE;;OAEG;IACI,cAAc,CAAC,EACpB,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,OAAO,GACR,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,QAAQ,CACjE,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CACjB;CA6BF"}
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,P=(r,e)=>{for(var o in e)a(r,o,{get:e[o],enumerable:!0})},R=(r,e,o,_)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of l(e))!O.call(r,s)&&s!==o&&a(r,s,{get:()=>e[s],enumerable:!(_=i(e,s))||_.enumerable});return r},E=r=>R(a({},"__esModule",{value:!0}),r),c={};P(c,{PromiseResolver:()=>y});module.exports=E(c);class y{createResolver({event:e,log:o,respondWithErrors:_,adapter:s}){return{run:p=>new Promise((u,v)=>{const n={succeed:t=>u(t),fail:t=>v(t)};p().then(t=>n.succeed(t)).catch(t=>{o.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",t),s.onErrorWhileForwarding({delegatedResolver:n,error:t,log:o,event:e,respondWithErrors:_})})})}}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),promise_resolver_exports={};__export(promise_resolver_exports,{PromiseResolver:()=>PromiseResolver});module.exports=__toCommonJS(promise_resolver_exports);class PromiseResolver{createResolver({event,log,respondWithErrors,adapter}){return{run:task=>new Promise((resolve,reject)=>{const delegatedResolver={succeed:response=>resolve(response),fail:error=>reject(error)};task().then(response=>delegatedResolver.succeed(response)).catch(error=>{log.error("SERVERLESS_ADAPTER:RESPOND_TO_EVENT_SOURCE_WITH_ERROR",error),adapter.onErrorWhileForwarding({delegatedResolver,error,log,event,respondWithErrors})})})}}}
2
2
  //# sourceMappingURL=promise.resolver.js.map