@tstdl/base 0.78.0-beta8 → 0.78.0-beta81

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 (610) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +38 -16
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js +3 -2
  5. package/api/response.js.map +1 -1
  6. package/api/server/api-controller.d.ts +3 -1
  7. package/api/server/api-controller.js +7 -2
  8. package/api/server/api-controller.js.map +1 -1
  9. package/api/server/gateway.d.ts +15 -3
  10. package/api/server/gateway.js +53 -37
  11. package/api/server/gateway.js.map +1 -1
  12. package/api/server/middlewares/allowed-methods.middleware.js +1 -1
  13. package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
  14. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  15. package/api/server/middlewares/cors.middleware.js +30 -30
  16. package/api/server/middlewares/cors.middleware.js.map +1 -1
  17. package/api/types.d.ts +36 -14
  18. package/api/types.js +1 -2
  19. package/api/types.js.map +1 -1
  20. package/api/utils.d.ts +9 -0
  21. package/api/utils.js +15 -0
  22. package/api/utils.js.map +1 -0
  23. package/application/application.d.ts +15 -2
  24. package/application/application.js +89 -42
  25. package/application/application.js.map +1 -1
  26. package/collections/awaitable/awaitable-list.js +10 -11
  27. package/collections/awaitable/awaitable-list.js.map +1 -1
  28. package/collections/observable/observable-array.js +1 -1
  29. package/collections/observable/observable-array.js.map +1 -1
  30. package/collections/observable/observable-collection-base.js +12 -14
  31. package/collections/observable/observable-collection-base.js.map +1 -1
  32. package/collections/observable/observable-list-base.js +6 -8
  33. package/collections/observable/observable-list-base.js.map +1 -1
  34. package/collections/observable/observable-sorted-array-list.js +3 -3
  35. package/collections/observable/observable-sorted-array-list.js.map +1 -1
  36. package/collections/sorted-array-list.js +3 -3
  37. package/collections/sorted-array-list.js.map +1 -1
  38. package/collections/sorted-map.js +1 -1
  39. package/collections/sorted-map.js.map +1 -1
  40. package/container/container.js +19 -21
  41. package/container/container.js.map +1 -1
  42. package/container/decorators.d.ts +1 -1
  43. package/container/decorators.js.map +1 -1
  44. package/container/resolve-chain.d.ts +2 -1
  45. package/container/resolve-chain.js +6 -2
  46. package/container/resolve-chain.js.map +1 -1
  47. package/core.js +2 -2
  48. package/core.js.map +1 -1
  49. package/css/theme/theme.service.js.map +1 -1
  50. package/data-structures/circular-buffer.js +5 -6
  51. package/data-structures/circular-buffer.js.map +1 -1
  52. package/data-structures/collection.js +4 -5
  53. package/data-structures/collection.js.map +1 -1
  54. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  55. package/data-structures/index-out-of-bounds.error.js +2 -2
  56. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  57. package/data-structures/iterable-weak-map.js +1 -1
  58. package/data-structures/iterable-weak-map.js.map +1 -1
  59. package/data-structures/linked-list.js.map +1 -1
  60. package/data-structures/sorted-array-list.js +2 -2
  61. package/data-structures/sorted-array-list.js.map +1 -1
  62. package/database/mongo/classes.js.map +1 -1
  63. package/database/mongo/mongo-base.repository.js +3 -3
  64. package/database/mongo/mongo-base.repository.js.map +1 -1
  65. package/database/mongo/mongo-entity-repository.js +2 -2
  66. package/database/mongo/mongo-entity-repository.js.map +1 -1
  67. package/distributed-loop/distributed-loop.js.map +1 -1
  68. package/distributed-loop/provider.js.map +1 -1
  69. package/environment.d.ts +10 -0
  70. package/environment.js +26 -0
  71. package/environment.js.map +1 -0
  72. package/error/custom.error.d.ts +7 -3
  73. package/error/custom.error.js +17 -8
  74. package/error/custom.error.js.map +1 -1
  75. package/error/index.d.ts +1 -0
  76. package/error/index.js +1 -0
  77. package/error/index.js.map +1 -1
  78. package/error/max-bytes-exceeded.error.d.ts +1 -0
  79. package/error/max-bytes-exceeded.error.js +3 -0
  80. package/error/max-bytes-exceeded.error.js.map +1 -1
  81. package/error/not-implemented.error.js +1 -1
  82. package/error/not-implemented.error.js.map +1 -1
  83. package/error/not-supported.error.d.ts +7 -0
  84. package/error/not-supported.error.js +17 -0
  85. package/error/not-supported.error.js.map +1 -0
  86. package/error/unsupported-media-type.error.js +1 -1
  87. package/error/unsupported-media-type.error.js.map +1 -1
  88. package/examples/api/basic-overview.js +17 -25
  89. package/examples/api/basic-overview.js.map +1 -1
  90. package/examples/api/streaming.d.ts +1 -0
  91. package/examples/api/streaming.js +79 -0
  92. package/examples/api/streaming.js.map +1 -0
  93. package/examples/mail/basic.js +12 -7
  94. package/examples/mail/basic.js.map +1 -1
  95. package/examples/mail/templates/hello-name.d.ts +2 -0
  96. package/examples/mail/templates/hello-name.js +11 -0
  97. package/examples/mail/templates/hello-name.js.map +1 -0
  98. package/examples/pdf/basic.js +9 -6
  99. package/examples/pdf/basic.js.map +1 -1
  100. package/examples/pdf/templates/hello-name.d.ts +1 -4
  101. package/examples/pdf/templates/hello-name.js +30 -4
  102. package/examples/pdf/templates/hello-name.js.map +1 -1
  103. package/examples/reflection/basic.js +1 -1
  104. package/examples/reflection/basic.js.map +1 -1
  105. package/examples/template/basic.d.ts +1 -0
  106. package/examples/template/basic.js +25 -0
  107. package/examples/template/basic.js.map +1 -0
  108. package/examples/template/templates/hello-name.d.ts +2 -0
  109. package/examples/template/templates/hello-name.js +23 -0
  110. package/examples/template/templates/hello-name.js.map +1 -0
  111. package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
  112. package/http/client/adapters/undici-http-client.adapter.js +10 -12
  113. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  114. package/http/client/http-client-request.d.ts +24 -14
  115. package/http/client/http-client-request.js +4 -2
  116. package/http/client/http-client-request.js.map +1 -1
  117. package/http/client/http-client-response.d.ts +10 -12
  118. package/http/client/http-client-response.js +5 -1
  119. package/http/client/http-client-response.js.map +1 -1
  120. package/http/client/http-client.adapter.d.ts +1 -2
  121. package/http/client/http-client.adapter.js.map +1 -1
  122. package/http/client/http-client.d.ts +30 -31
  123. package/http/client/http-client.js +107 -74
  124. package/http/client/http-client.js.map +1 -1
  125. package/http/http-body.d.ts +19 -0
  126. package/http/http-body.js +52 -0
  127. package/http/http-body.js.map +1 -0
  128. package/http/http-headers.d.ts +3 -0
  129. package/http/http-headers.js +6 -0
  130. package/http/http-headers.js.map +1 -1
  131. package/http/http-value-map.js +2 -2
  132. package/http/http-value-map.js.map +1 -1
  133. package/http/http.error.d.ts +5 -2
  134. package/http/http.error.js +27 -5
  135. package/http/http.error.js.map +1 -1
  136. package/http/index.d.ts +2 -0
  137. package/http/index.js +2 -0
  138. package/http/index.js.map +1 -1
  139. package/http/server/http-server-request.d.ts +5 -10
  140. package/http/server/http-server-request.js +3 -30
  141. package/http/server/http-server-request.js.map +1 -1
  142. package/http/server/http-server-response.d.ts +4 -4
  143. package/http/server/node/node-http-server.js +6 -5
  144. package/http/server/node/node-http-server.js.map +1 -1
  145. package/http/types.d.ts +1 -11
  146. package/http/types.js +1 -2
  147. package/http/types.js.map +1 -1
  148. package/http/utils.d.ts +15 -0
  149. package/http/utils.js +113 -0
  150. package/http/utils.js.map +1 -0
  151. package/image-service/image-service.js.map +1 -1
  152. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  153. package/json-path/json-path.d.ts +8 -5
  154. package/json-path/json-path.js +15 -1
  155. package/json-path/json-path.js.map +1 -1
  156. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  157. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  158. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  159. package/lock/mongo/lock.js.map +1 -1
  160. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  161. package/lock/mongo/provider.js.map +1 -1
  162. package/logger/console/logger.js +1 -1
  163. package/logger/console/logger.js.map +1 -1
  164. package/logger/logger.d.ts +2 -2
  165. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  166. package/mail/index.d.ts +0 -3
  167. package/mail/index.js +0 -3
  168. package/mail/index.js.map +1 -1
  169. package/mail/mail.service.d.ts +3 -5
  170. package/mail/mail.service.js +8 -14
  171. package/mail/mail.service.js.map +1 -1
  172. package/mail/models/mail-template.model.d.ts +11 -10
  173. package/mail/models/mail-template.model.js +7 -0
  174. package/mail/models/mail-template.model.js.map +1 -1
  175. package/mail/module.d.ts +1 -5
  176. package/mail/module.js +2 -11
  177. package/mail/module.js.map +1 -1
  178. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  179. package/mail/tokens.d.ts +0 -3
  180. package/mail/tokens.js +1 -2
  181. package/mail/tokens.js.map +1 -1
  182. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  183. package/message-bus/local/local-message-bus.js.map +1 -1
  184. package/message-bus/message-bus-base.js +1 -2
  185. package/message-bus/message-bus-base.js.map +1 -1
  186. package/migration/migrator.js.map +1 -1
  187. package/migration/mongo/migration-state-repository.js.map +1 -1
  188. package/module/modules/web-server.module.js.map +1 -1
  189. package/notification/api.d.ts +20 -0
  190. package/notification/api.js +35 -0
  191. package/notification/api.js.map +1 -0
  192. package/notification/model.d.ts +18 -0
  193. package/notification/model.js +36 -0
  194. package/notification/model.js.map +1 -0
  195. package/notification/module.d.ts +9 -0
  196. package/notification/module.js +15 -0
  197. package/notification/module.js.map +1 -0
  198. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  199. package/object-storage/s3/s3.object-storage.js.map +1 -1
  200. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  201. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  202. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  203. package/openid-connect/oidc-configuration.service.js +5 -3
  204. package/openid-connect/oidc-configuration.service.js.map +1 -1
  205. package/openid-connect/oidc.service-model.d.ts +11 -3
  206. package/openid-connect/oidc.service.d.ts +6 -3
  207. package/openid-connect/oidc.service.js +72 -25
  208. package/openid-connect/oidc.service.js.map +1 -1
  209. package/package.json +13 -12
  210. package/pdf/pdf.service.d.ts +92 -12
  211. package/pdf/pdf.service.js +234 -34
  212. package/pdf/pdf.service.js.map +1 -1
  213. package/pool/pool.d.ts +23 -4
  214. package/pool/pool.js +76 -40
  215. package/pool/pool.js.map +1 -1
  216. package/promise/deferred-promise.d.ts +2 -15
  217. package/promise/deferred-promise.js +5 -10
  218. package/promise/deferred-promise.js.map +1 -1
  219. package/promise/index.d.ts +1 -0
  220. package/promise/index.js +1 -0
  221. package/promise/index.js.map +1 -1
  222. package/promise/lazy-promise.d.ts +11 -0
  223. package/promise/lazy-promise.js +31 -0
  224. package/promise/lazy-promise.js.map +1 -0
  225. package/queue/mongo/mongo-job.repository.js +1 -1
  226. package/queue/mongo/mongo-job.repository.js.map +1 -1
  227. package/queue/mongo/queue.js.map +1 -1
  228. package/queue/mongo/queue.provider.js.map +1 -1
  229. package/reflection/decorator-data.js +1 -1
  230. package/reflection/decorator-data.js.map +1 -1
  231. package/reflection/decorators.d.ts +2 -2
  232. package/reflection/decorators.js +7 -7
  233. package/reflection/decorators.js.map +1 -1
  234. package/reflection/registry.d.ts +8 -8
  235. package/reflection/registry.js +1 -1
  236. package/reflection/registry.js.map +1 -1
  237. package/reflection/types.d.ts +3 -2
  238. package/reflection/utils.d.ts +7 -2
  239. package/reflection/utils.js +38 -12
  240. package/reflection/utils.js.map +1 -1
  241. package/require.d.ts +1 -0
  242. package/require.js +9 -0
  243. package/require.js.map +1 -0
  244. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  245. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  246. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  247. package/rpc/index.d.ts +4 -0
  248. package/rpc/index.js +21 -0
  249. package/rpc/index.js.map +1 -0
  250. package/rpc/model.d.ts +72 -0
  251. package/rpc/model.js +13 -0
  252. package/rpc/model.js.map +1 -0
  253. package/rpc/rpc-endpoint.d.ts +11 -0
  254. package/rpc/rpc-endpoint.js +23 -0
  255. package/rpc/rpc-endpoint.js.map +1 -0
  256. package/rpc/rpc-error.d.ts +8 -0
  257. package/rpc/rpc-error.js +26 -0
  258. package/rpc/rpc-error.js.map +1 -0
  259. package/rpc/rpc.d.ts +19 -0
  260. package/rpc/rpc.js +263 -0
  261. package/rpc/rpc.js.map +1 -0
  262. package/rxjs/retry-backoff.js +4 -5
  263. package/rxjs/retry-backoff.js.map +1 -1
  264. package/schema/array-constraints/maximum-length.d.ts +2 -2
  265. package/schema/array-constraints/maximum-length.js +2 -2
  266. package/schema/array-constraints/maximum-length.js.map +1 -1
  267. package/schema/array-constraints/minimum-length.d.ts +2 -2
  268. package/schema/array-constraints/minimum-length.js +2 -2
  269. package/schema/array-constraints/minimum-length.js.map +1 -1
  270. package/schema/coercers/boolean.coercer.d.ts +2 -2
  271. package/schema/coercers/boolean.coercer.js +2 -2
  272. package/schema/coercers/boolean.coercer.js.map +1 -1
  273. package/schema/coercers/date.coercer.d.ts +2 -2
  274. package/schema/coercers/date.coercer.js +2 -2
  275. package/schema/coercers/date.coercer.js.map +1 -1
  276. package/schema/coercers/number.coercer.d.ts +3 -3
  277. package/schema/coercers/number.coercer.js +2 -2
  278. package/schema/coercers/number.coercer.js.map +1 -1
  279. package/schema/coercers/regexp.coercer.d.ts +2 -2
  280. package/schema/coercers/regexp.coercer.js +2 -2
  281. package/schema/coercers/regexp.coercer.js.map +1 -1
  282. package/schema/coercers/string.coercer.d.ts +3 -3
  283. package/schema/coercers/string.coercer.js +2 -2
  284. package/schema/coercers/string.coercer.js.map +1 -1
  285. package/schema/coercers/uint8-array.coercer.js +2 -2
  286. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  287. package/schema/constraints/enumeration.d.ts +5 -5
  288. package/schema/constraints/enumeration.js +6 -6
  289. package/schema/constraints/enumeration.js.map +1 -1
  290. package/schema/constraints/generic.d.ts +2 -2
  291. package/schema/constraints/generic.js +2 -2
  292. package/schema/constraints/generic.js.map +1 -1
  293. package/schema/constraints/integer.d.ts +2 -2
  294. package/schema/constraints/integer.js +2 -2
  295. package/schema/constraints/integer.js.map +1 -1
  296. package/schema/constraints/literal.d.ts +2 -2
  297. package/schema/constraints/literal.js +2 -2
  298. package/schema/constraints/literal.js.map +1 -1
  299. package/schema/constraints/maximum-date.d.ts +2 -2
  300. package/schema/constraints/maximum-date.js +2 -2
  301. package/schema/constraints/maximum-date.js.map +1 -1
  302. package/schema/constraints/maximum-length.d.ts +3 -3
  303. package/schema/constraints/maximum-length.js +2 -2
  304. package/schema/constraints/maximum-length.js.map +1 -1
  305. package/schema/constraints/maximum.d.ts +2 -2
  306. package/schema/constraints/maximum.js +2 -2
  307. package/schema/constraints/maximum.js.map +1 -1
  308. package/schema/constraints/minimum-date.d.ts +2 -2
  309. package/schema/constraints/minimum-date.js +2 -2
  310. package/schema/constraints/minimum-date.js.map +1 -1
  311. package/schema/constraints/minimum-length.d.ts +3 -3
  312. package/schema/constraints/minimum-length.js +2 -2
  313. package/schema/constraints/minimum-length.js.map +1 -1
  314. package/schema/constraints/minimum.d.ts +2 -2
  315. package/schema/constraints/minimum.js +2 -2
  316. package/schema/constraints/minimum.js.map +1 -1
  317. package/schema/constraints/pattern.d.ts +2 -2
  318. package/schema/constraints/pattern.js +2 -2
  319. package/schema/constraints/pattern.js.map +1 -1
  320. package/schema/decorators/array.d.ts +2 -2
  321. package/schema/decorators/array.js.map +1 -1
  322. package/schema/decorators/defaulted.d.ts +2 -2
  323. package/schema/decorators/defaulted.js.map +1 -1
  324. package/schema/decorators/index.d.ts +1 -0
  325. package/schema/decorators/index.js +1 -0
  326. package/schema/decorators/index.js.map +1 -1
  327. package/schema/decorators/one-or-many.d.ts +6 -0
  328. package/schema/decorators/one-or-many.js +12 -0
  329. package/schema/decorators/one-or-many.js.map +1 -0
  330. package/schema/decorators/optional.d.ts +3 -1
  331. package/schema/decorators/optional.js +2 -2
  332. package/schema/decorators/optional.js.map +1 -1
  333. package/schema/decorators/types.d.ts +3 -3
  334. package/schema/decorators/utils.d.ts +3 -2
  335. package/schema/decorators/utils.js +8 -4
  336. package/schema/decorators/utils.js.map +1 -1
  337. package/schema/schema.d.ts +4 -10
  338. package/schema/schema.error.d.ts +6 -5
  339. package/schema/schema.error.js +13 -10
  340. package/schema/schema.error.js.map +1 -1
  341. package/schema/schema.js +113 -104
  342. package/schema/schema.js.map +1 -1
  343. package/schema/schemas/array.d.ts +3 -3
  344. package/schema/schemas/array.js +1 -1
  345. package/schema/schemas/array.js.map +1 -1
  346. package/schema/schemas/assign.d.ts +6 -6
  347. package/schema/schemas/assign.js +3 -1
  348. package/schema/schemas/assign.js.map +1 -1
  349. package/schema/schemas/constraint.d.ts +3 -2
  350. package/schema/schemas/constraint.js.map +1 -1
  351. package/schema/schemas/defaulted.d.ts +2 -2
  352. package/schema/schemas/defaulted.js.map +1 -1
  353. package/schema/schemas/enumeration.js +1 -1
  354. package/schema/schemas/enumeration.js.map +1 -1
  355. package/schema/schemas/index.d.ts +3 -1
  356. package/schema/schemas/index.js +3 -1
  357. package/schema/schemas/index.js.map +1 -1
  358. package/schema/schemas/nullable.d.ts +2 -2
  359. package/schema/schemas/nullable.js.map +1 -1
  360. package/schema/schemas/number.d.ts +1 -1
  361. package/schema/schemas/number.js +0 -3
  362. package/schema/schemas/number.js.map +1 -1
  363. package/schema/schemas/omit.d.ts +4 -0
  364. package/schema/schemas/{exclude.js → omit.js} +8 -6
  365. package/schema/schemas/omit.js.map +1 -0
  366. package/schema/schemas/one-or-many.d.ts +10 -0
  367. package/schema/schemas/one-or-many.js +12 -0
  368. package/schema/schemas/one-or-many.js.map +1 -0
  369. package/schema/schemas/optional.d.ts +3 -2
  370. package/schema/schemas/optional.js.map +1 -1
  371. package/schema/schemas/partial.d.ts +4 -0
  372. package/schema/schemas/partial.js +22 -0
  373. package/schema/schemas/partial.js.map +1 -0
  374. package/schema/schemas/pick.d.ts +2 -2
  375. package/schema/schemas/pick.js +3 -1
  376. package/schema/schemas/pick.js.map +1 -1
  377. package/schema/schemas/record.d.ts +2 -2
  378. package/schema/schemas/record.js.map +1 -1
  379. package/schema/schemas/union.d.ts +4 -9
  380. package/schema/schemas/union.js.map +1 -1
  381. package/schema/types.d.ts +30 -20
  382. package/schema/types.js +22 -8
  383. package/schema/types.js.map +1 -1
  384. package/schema/utils/schema.d.ts +6 -1
  385. package/schema/utils/schema.js +60 -7
  386. package/schema/utils/schema.js.map +1 -1
  387. package/schema/utils/value-type.d.ts +5 -3
  388. package/schema/utils/value-type.js +22 -7
  389. package/schema/utils/value-type.js.map +1 -1
  390. package/search-index/elastic/config.js.map +1 -1
  391. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  392. package/search-index/elastic/model/index-mapping.js.map +1 -1
  393. package/search-index/elastic/search-index.js +5 -4
  394. package/search-index/elastic/search-index.js.map +1 -1
  395. package/search-index/error.d.ts +1 -1
  396. package/search-index/error.js +2 -2
  397. package/search-index/error.js.map +1 -1
  398. package/serializer/handlers/register.d.ts +2 -2
  399. package/serializer/handlers/register.js +6 -2
  400. package/serializer/handlers/register.js.map +1 -1
  401. package/serializer/serializable.d.ts +11 -8
  402. package/serializer/serializable.js +13 -4
  403. package/serializer/serializable.js.map +1 -1
  404. package/serializer/serializer.js +21 -8
  405. package/serializer/serializer.js.map +1 -1
  406. package/serializer/types.d.ts +21 -6
  407. package/serializer/types.js +2 -1
  408. package/serializer/types.js.map +1 -1
  409. package/supports.d.ts +5 -0
  410. package/supports.js +9 -0
  411. package/supports.js.map +1 -0
  412. package/templates/index.d.ts +2 -0
  413. package/templates/index.js +2 -0
  414. package/templates/index.js.map +1 -1
  415. package/templates/module.d.ts +3 -1
  416. package/templates/module.js +31 -8
  417. package/templates/module.js.map +1 -1
  418. package/templates/providers/file.provider-template.d.ts +16 -0
  419. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  420. package/templates/providers/file.provider-template.js.map +1 -0
  421. package/templates/providers/memory.template-provider.d.ts +8 -0
  422. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  423. package/templates/providers/memory.template-provider.js.map +1 -0
  424. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  425. package/templates/renderers/handlebars.template-renderer.js +70 -3
  426. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  427. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  428. package/templates/renderers/mjml.template-renderer.js +8 -9
  429. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  430. package/templates/renderers/string.template-renderer.d.ts +8 -0
  431. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  432. package/templates/renderers/string.template-renderer.js.map +1 -0
  433. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  434. package/templates/resolvers/file.template-resolver.js +63 -0
  435. package/templates/resolvers/file.template-resolver.js.map +1 -0
  436. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  437. package/templates/resolvers/string.template-resolver.js +44 -0
  438. package/templates/resolvers/string.template-resolver.js.map +1 -0
  439. package/templates/template-renderer.provider.js +7 -19
  440. package/templates/template-renderer.provider.js.map +1 -1
  441. package/templates/template-resolver.provider.d.ts +8 -0
  442. package/templates/template-resolver.provider.js +48 -0
  443. package/templates/template-resolver.provider.js.map +1 -0
  444. package/templates/template.model.d.ts +15 -4
  445. package/templates/template.model.js +50 -0
  446. package/templates/template.model.js.map +1 -1
  447. package/templates/template.renderer.d.ts +14 -3
  448. package/templates/template.renderer.js +3 -0
  449. package/templates/template.renderer.js.map +1 -1
  450. package/templates/template.resolver.d.ts +5 -0
  451. package/templates/template.resolver.js +7 -0
  452. package/templates/template.resolver.js.map +1 -0
  453. package/templates/template.service.d.ts +10 -4
  454. package/templates/template.service.js +19 -6
  455. package/templates/template.service.js.map +1 -1
  456. package/templates/tokens.d.ts +3 -2
  457. package/templates/tokens.js +2 -1
  458. package/templates/tokens.js.map +1 -1
  459. package/threading/index.d.ts +2 -0
  460. package/{rxjs/compat → threading}/index.js +2 -1
  461. package/threading/index.js.map +1 -0
  462. package/threading/thread-pool.d.ts +20 -0
  463. package/threading/thread-pool.js +50 -0
  464. package/threading/thread-pool.js.map +1 -0
  465. package/threading/thread-worker.d.ts +3 -0
  466. package/threading/thread-worker.js +9 -0
  467. package/threading/thread-worker.js.map +1 -0
  468. package/types.d.ts +27 -9
  469. package/utils/alphabet.d.ts +3 -1
  470. package/utils/alphabet.js +2 -0
  471. package/utils/alphabet.js.map +1 -1
  472. package/utils/array/array.d.ts +1 -2
  473. package/utils/array/array.js.map +1 -1
  474. package/utils/async-iterable-helpers/observable-iterable.js +1 -2
  475. package/utils/async-iterable-helpers/observable-iterable.js.map +1 -1
  476. package/utils/async-iterable-helpers/take-until.js +2 -3
  477. package/utils/async-iterable-helpers/take-until.js.map +1 -1
  478. package/utils/base64.js +3 -2
  479. package/utils/base64.js.map +1 -1
  480. package/utils/binary.js +3 -2
  481. package/utils/binary.js.map +1 -1
  482. package/utils/cancellation-token.d.ts +28 -28
  483. package/utils/cancellation-token.js +14 -14
  484. package/utils/cancellation-token.js.map +1 -1
  485. package/utils/clone.js +4 -0
  486. package/utils/clone.js.map +1 -1
  487. package/utils/compression.d.ts +19 -15
  488. package/utils/compression.js +43 -10
  489. package/utils/compression.js.map +1 -1
  490. package/utils/encoding.d.ts +10 -0
  491. package/utils/encoding.js +20 -4
  492. package/utils/encoding.js.map +1 -1
  493. package/utils/enum.d.ts +5 -8
  494. package/utils/enum.js +15 -13
  495. package/utils/enum.js.map +1 -1
  496. package/utils/feedable-async-iterable.js +1 -2
  497. package/utils/feedable-async-iterable.js.map +1 -1
  498. package/utils/function/memoize.js +4 -4
  499. package/utils/function/memoize.js.map +1 -1
  500. package/utils/helpers.d.ts +0 -2
  501. package/utils/helpers.js +3 -14
  502. package/utils/helpers.js.map +1 -1
  503. package/utils/image.js +7 -8
  504. package/utils/image.js.map +1 -1
  505. package/utils/index.d.ts +2 -0
  506. package/utils/index.js +2 -0
  507. package/utils/index.js.map +1 -1
  508. package/utils/math.d.ts +37 -10
  509. package/utils/math.js +57 -12
  510. package/utils/math.js.map +1 -1
  511. package/utils/object/decycle.js +10 -21
  512. package/utils/object/decycle.js.map +1 -1
  513. package/utils/object/dereference.d.ts +7 -5
  514. package/utils/object/dereference.js +4 -4
  515. package/utils/object/dereference.js.map +1 -1
  516. package/utils/object/forward-ref.js +3 -19
  517. package/utils/object/forward-ref.js.map +1 -1
  518. package/utils/object/merge.js +3 -3
  519. package/utils/object/merge.js.map +1 -1
  520. package/utils/object/object.js +3 -3
  521. package/utils/object/object.js.map +1 -1
  522. package/utils/object/property-name.d.ts +2 -2
  523. package/utils/patch-worker.js +1 -2
  524. package/utils/patch-worker.js.map +1 -1
  525. package/utils/periodic-sampler.js +2 -2
  526. package/utils/periodic-sampler.js.map +1 -1
  527. package/utils/proxy.d.ts +6 -0
  528. package/utils/proxy.js +21 -0
  529. package/utils/proxy.js.map +1 -0
  530. package/utils/stream/finalize-stream.d.ts +1 -0
  531. package/utils/stream/finalize-stream.js +38 -0
  532. package/utils/stream/finalize-stream.js.map +1 -0
  533. package/utils/stream/index.d.ts +4 -3
  534. package/utils/stream/index.js +4 -3
  535. package/utils/stream/index.js.map +1 -1
  536. package/utils/stream/readable-stream-adapter.d.ts +5 -0
  537. package/utils/stream/readable-stream-adapter.js +45 -0
  538. package/utils/stream/readable-stream-adapter.js.map +1 -0
  539. package/utils/stream/readable-stream-from-promise.d.ts +1 -0
  540. package/utils/stream/readable-stream-from-promise.js +12 -0
  541. package/utils/stream/readable-stream-from-promise.js.map +1 -0
  542. package/utils/stream/size-limited-stream.d.ts +2 -0
  543. package/utils/stream/size-limited-stream.js +18 -0
  544. package/utils/stream/size-limited-stream.js.map +1 -0
  545. package/utils/stream/stream-reader.d.ts +2 -1
  546. package/utils/stream/stream-reader.js +7 -10
  547. package/utils/stream/stream-reader.js.map +1 -1
  548. package/utils/throw.d.ts +2 -0
  549. package/utils/throw.js +15 -0
  550. package/utils/throw.js.map +1 -0
  551. package/utils/timing.js +2 -2
  552. package/utils/timing.js.map +1 -1
  553. package/utils/type-guards.d.ts +34 -16
  554. package/utils/type-guards.js +112 -75
  555. package/utils/type-guards.js.map +1 -1
  556. package/web-types.d.ts +28 -0
  557. package/web-types.js +3 -0
  558. package/web-types.js.map +1 -0
  559. package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
  560. package/http/client/adapters/got-http-client.adapter.js +0 -141
  561. package/http/client/adapters/got-http-client.adapter.js.map +0 -1
  562. package/http/client/adapters/utils.d.ts +0 -11
  563. package/http/client/adapters/utils.js +0 -79
  564. package/http/client/adapters/utils.js.map +0 -1
  565. package/mail/mail-template-renderer.provider.d.ts +0 -8
  566. package/mail/mail-template-renderer.provider.js +0 -60
  567. package/mail/mail-template-renderer.provider.js.map +0 -1
  568. package/mail/mail-template.provider.d.ts +0 -4
  569. package/mail/mail-template.provider.js +0 -7
  570. package/mail/mail-template.provider.js.map +0 -1
  571. package/mail/mail-template.renderer.d.ts +0 -10
  572. package/mail/mail-template.renderer.js +0 -7
  573. package/mail/mail-template.renderer.js.map +0 -1
  574. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  575. package/mail/template-providers/file-mail-template.provider.js +0 -51
  576. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  577. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  578. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  579. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  580. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  581. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  582. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  583. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  584. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  585. package/rxjs/compat/first-value-from.d.ts +0 -2
  586. package/rxjs/compat/first-value-from.js +0 -9
  587. package/rxjs/compat/first-value-from.js.map +0 -1
  588. package/rxjs/compat/index.d.ts +0 -1
  589. package/rxjs/compat/index.js.map +0 -1
  590. package/schema/schemas/exclude.d.ts +0 -4
  591. package/schema/schemas/exclude.js.map +0 -1
  592. package/templates/providers/file-template.provider.base.d.ts +0 -12
  593. package/templates/providers/file-template.provider.base.js +0 -50
  594. package/templates/providers/file-template.provider.base.js.map +0 -1
  595. package/templates/providers/file-template.provider.d.ts +0 -22
  596. package/templates/providers/file-template.provider.js.map +0 -1
  597. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  598. package/templates/providers/memory-template.provider.base.js.map +0 -1
  599. package/templates/providers/memory-template.provider.d.ts +0 -4
  600. package/templates/providers/memory-template.provider.js +0 -18
  601. package/templates/providers/memory-template.provider.js.map +0 -1
  602. package/utils/stream/async-iterable-readable.d.ts +0 -13
  603. package/utils/stream/async-iterable-readable.js +0 -40
  604. package/utils/stream/async-iterable-readable.js.map +0 -1
  605. package/utils/stream/async-writable-stream.d.ts +0 -16
  606. package/utils/stream/async-writable-stream.js +0 -41
  607. package/utils/stream/async-writable-stream.js.map +0 -1
  608. package/utils/stream/typed-readable.d.ts +0 -58
  609. package/utils/stream/typed-readable.js +0 -9
  610. package/utils/stream/typed-readable.js.map +0 -1
@@ -5,7 +5,8 @@ import type { ApiClientImplementation, ApiDefinition, ApiEndpointDefinition } fr
5
5
  export declare type ApiClient<T extends ApiDefinition> = new (httpClient: HttpClient) => ApiClientImplementation<T> & Injectable<HttpClientOptions>;
6
6
  export declare type ClientOptions = {
7
7
  /**
8
- * url prefix (default: 'api/')
8
+ * url prefix
9
+ * @default `api/`
9
10
  */
10
11
  prefix?: string;
11
12
  defaultHttpClientOptions?: HttpClientOptions;
@@ -4,10 +4,9 @@ exports.compileClient = exports.apiDefinitionSymbol = exports.httpClientSymbol =
4
4
  const container_1 = require("../../container");
5
5
  const client_1 = require("../../http/client");
6
6
  const schema_1 = require("../../schema");
7
- const array_1 = require("../../utils/array");
8
- const comparison_1 = require("../../utils/comparison");
9
7
  const type_guards_1 = require("../../utils/type-guards");
10
8
  const types_1 = require("../types");
9
+ const utils_1 = require("../utils");
11
10
  exports.httpClientSymbol = Symbol('ApiTransport');
12
11
  exports.apiDefinitionSymbol = Symbol('ApiDefinition');
13
12
  // eslint-disable-next-line max-lines-per-function
@@ -30,29 +29,24 @@ function compileClient(definition, options = {}) {
30
29
  }
31
30
  });
32
31
  const endpointsEntries = (0, types_1.normalizedApiDefinitionEndpointsEntries)(endpoints);
33
- const base = path;
34
- const prefix = options.prefix ?? 'api/';
35
- for (const [name, config] of endpointsEntries) {
36
- const version = ((0, type_guards_1.isUndefined)(config.version) ? [1] : (0, array_1.toArray)(config.version)).sort(comparison_1.compareByValueDescending)[0];
37
- const methods = (0, type_guards_1.isArray)(config.method) ? config.method : [config.method ?? 'GET'];
38
- const versionPrefix = (0, type_guards_1.isNull)(config.version) ? '' : `v${version}/`;
39
- const resource = (config.resource == types_1.rootResource) ? `${prefix}${versionPrefix}${base}` : `${prefix}${versionPrefix}${base}/${config.resource ?? name}`;
32
+ for (const [name, endpoint] of endpointsEntries) {
33
+ const methods = (0, type_guards_1.isArray)(endpoint.method) ? endpoint.method : [endpoint.method ?? 'GET'];
34
+ const resource = (0, utils_1.getFullApiEndpointResource)({ api: definition, endpoint, prefix: options.prefix });
40
35
  const hasGet = methods.includes('GET');
41
36
  const fallbackMethod = methods.filter((method) => method != 'GET')[0] ?? 'GET';
42
37
  const apiEndpointFunction = {
43
- async [name](parameters) {
44
- const context = {
45
- endpoint: config
46
- };
38
+ async [name](parameters, requestBody) {
39
+ const context = { endpoint };
47
40
  const method = (hasGet && (0, type_guards_1.isUndefined)(parameters)) ? 'GET' : fallbackMethod;
48
41
  const request = new client_1.HttpClientRequest({
49
42
  method,
50
43
  url: resource,
51
44
  parameters,
45
+ body: getRequestBody(requestBody),
52
46
  context
53
47
  });
54
48
  const response = await this[exports.httpClientSymbol].rawRequest(request);
55
- return getBody(response, config.result);
49
+ return getResponseBody(response, endpoint.result);
56
50
  }
57
51
  }[name];
58
52
  Object.defineProperty(api.prototype, name, {
@@ -65,10 +59,38 @@ function compileClient(definition, options = {}) {
65
59
  return api;
66
60
  }
67
61
  exports.compileClient = compileClient;
68
- function getBody(response, schema) {
62
+ function getRequestBody(body) {
63
+ if ((0, type_guards_1.isUndefined)(body)) {
64
+ return undefined;
65
+ }
66
+ if ((0, type_guards_1.isUint8Array)(body)) {
67
+ return { buffer: body };
68
+ }
69
+ if ((0, type_guards_1.isReadableStream)(body)) {
70
+ return { stream: body };
71
+ }
72
+ if ((0, type_guards_1.isBlob)(body)) {
73
+ return { blob: body };
74
+ }
75
+ if ((0, type_guards_1.isString)(body)) {
76
+ return { text: body };
77
+ }
78
+ return { json: body };
79
+ }
80
+ async function getResponseBody(response, schema) {
69
81
  if ((0, type_guards_1.isUndefined)(schema)) {
82
+ response.close();
70
83
  return undefined;
71
84
  }
72
- return schema_1.Schema.parse(schema, response.body);
85
+ const body = response.hasBody
86
+ ? (schema == ReadableStream)
87
+ ? response.body.readAsBinaryStream()
88
+ : (schema == Uint8Array)
89
+ ? await response.body.readAsBuffer()
90
+ : (schema == String)
91
+ ? await response.body.readAsText()
92
+ : await response.body.read()
93
+ : undefined;
94
+ return schema_1.Schema.parse(schema, body, { mask: true });
73
95
  }
74
96
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/api/client/client.ts"],"names":[],"mappings":"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"}
package/api/response.js CHANGED
@@ -8,7 +8,7 @@ const default_error_handlers_1 = require("./default-error-handlers");
8
8
  const errorHandlers = new Map();
9
9
  function registerErrorHandler(constructor, statusCode, serializer, deserializer) {
10
10
  if (errorHandlers.has(constructor.errorName)) {
11
- throw new Error(`a handler for ${constructor.errorName} already registered`);
11
+ throw new Error(`A handler for ${constructor.errorName} already registered.`);
12
12
  }
13
13
  errorHandlers.set(constructor.errorName, { statusCode, serializer, deserializer });
14
14
  }
@@ -79,7 +79,7 @@ function parseResponse(response) {
79
79
  if (isErrorResponse(response)) {
80
80
  throw parseErrorResponse(response);
81
81
  }
82
- throw new Error('unsupported response');
82
+ throw new Error('Unsupported response.');
83
83
  }
84
84
  exports.parseResponse = parseResponse;
85
85
  function parseErrorResponse(response, fallbackToGenericApiError = true) {
@@ -115,6 +115,7 @@ registerErrorHandler(error_1.InvalidTokenError, 401, () => undefined, (_, error)
115
115
  registerErrorHandler(error_1.MaxBytesExceededError, 400, () => undefined, (_, error) => new error_1.MaxBytesExceededError(error.message));
116
116
  registerErrorHandler(error_1.NotFoundError, 404, () => undefined, (_, error) => new error_1.NotFoundError(error.message));
117
117
  registerErrorHandler(error_1.NotImplementedError, 404, () => undefined, (_, error) => new error_1.NotImplementedError(error.message));
118
+ registerErrorHandler(error_1.NotSupportedError, 400, () => undefined, (_, error) => new error_1.NotSupportedError(error.message));
118
119
  registerErrorHandler(error_1.UnauthorizedError, 401, () => undefined, (_, error) => new error_1.UnauthorizedError(error.message));
119
120
  registerErrorHandler(error_1.MethodNotAllowedError, 405, () => undefined, (_, error) => new error_1.MethodNotAllowedError(error.message));
120
121
  registerErrorHandler(error_1.UnsupportedMediaTypeError, 415, () => undefined, (_, error) => new error_1.UnsupportedMediaTypeError(error.message));
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../source/api/response.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import type { InjectableOptionsWithoutLifecycle } from "../../container";
2
2
  import type { Constructor, Type } from "../../types";
3
3
  import type { ApiController, ApiDefinition } from '../types';
4
+ declare type ApiDefinitionProvider = () => ApiDefinition;
4
5
  export declare const apiControllerDefinition: unique symbol;
5
6
  export declare function getApiControllerDefinition(controller: Type): ApiDefinition;
6
7
  export declare function isApiController(controller: Type): boolean;
7
8
  export declare function ensureApiController(controller: Type): void;
8
- export declare function apiController<T = Type<ApiController>, P = any>(definition: ApiDefinition, injectableOptions?: InjectableOptionsWithoutLifecycle<T, P>): ClassDecorator;
9
+ export declare function apiController<T = Type<ApiController>, A = any>(definition: ApiDefinition | ApiDefinitionProvider, injectableOptions?: InjectableOptionsWithoutLifecycle<T, A>): ClassDecorator;
9
10
  export declare function implementApi<T extends ApiDefinition>(definition: T, implementation: ApiController<T>): Constructor<ApiController<T>>;
11
+ export {};
@@ -2,11 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.implementApi = exports.apiController = exports.ensureApiController = exports.isApiController = exports.getApiControllerDefinition = exports.apiControllerDefinition = void 0;
4
4
  const container_1 = require("../../container");
5
+ const type_guards_1 = require("../../utils/type-guards");
5
6
  exports.apiControllerDefinition = Symbol('ApiController definition');
6
7
  const registeredApiControllers = new Map();
7
8
  function getApiControllerDefinition(controller) {
8
9
  ensureApiController(controller);
9
- return registeredApiControllers.get(controller);
10
+ const definitionOrProvider = registeredApiControllers.get(controller);
11
+ if ((0, type_guards_1.isFunction)(definitionOrProvider)) {
12
+ return definitionOrProvider();
13
+ }
14
+ return definitionOrProvider;
10
15
  }
11
16
  exports.getApiControllerDefinition = getApiControllerDefinition;
12
17
  function isApiController(controller) {
@@ -15,7 +20,7 @@ function isApiController(controller) {
15
20
  exports.isApiController = isApiController;
16
21
  function ensureApiController(controller) {
17
22
  if (!isApiController(controller)) {
18
- throw new Error(`Provided type ${controller?.name} is not a known ApiController. Make sure to use @ApiController decorator`);
23
+ throw new Error(`Provided type ${controller?.name} is not a known ApiController. Make sure to use @ApiController decorator.`);
19
24
  }
20
25
  }
21
26
  exports.ensureApiController = ensureApiController;
@@ -1 +1 @@
1
- {"version":3,"file":"api-controller.js","sourceRoot":"","sources":["../../../source/api/server/api-controller.ts"],"names":[],"mappings":";;;AAEA,+CAAwC;AAI3B,QAAA,uBAAuB,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEzF,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE/E,SAAgB,0BAA0B,CAAC,UAAgB;IACzD,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;AACnD,CAAC;AAHD,gEAGC;AAED,SAAgB,eAAe,CAAC,UAAgB;IAC9C,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC;AAED,SAAgB,mBAAmB,CAAC,UAAgB;IAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAkB,UAA+B,EAAE,IAAI,0EAA0E,CAAC,CAAC;KACpJ;AACH,CAAC;AAJD,kDAIC;AAED,SAAgB,aAAa,CAAmC,UAAyB,EAAE,oBAA6D,EAAE;IACxJ,SAAS,sBAAsB,CAAc,WAA2B;QACtE,wBAAwB,CAAC,GAAG,CAAC,WAA6C,EAAE,UAAU,CAAC,CAAC;QACxF,IAAA,qBAAS,EAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,sBAAwC,CAAC;AAClD,CAAC;AAPD,sCAOC;AAED,SAAgB,YAAY,CAA0B,UAAa,EAAE,cAAgC;IACnG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACtC,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,GAAG,kBAAkB,eAAe,CAAC;IAErD,MAAM,GAAG,GAAG;QACV,CAAC,OAAO,CAAC,EAAE;SAAS;KACrB,CAAC,OAAO,CAAE,CAAC;IAEZ,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,qBAAqB,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;KACJ;IAED,OAAO,GAA+C,CAAC;AACzD,CAAC;AAvBD,oCAuBC"}
1
+ {"version":3,"file":"api-controller.js","sourceRoot":"","sources":["../../../source/api/server/api-controller.ts"],"names":[],"mappings":";;;AAEA,+CAAwC;AAExC,yDAAiD;AAKpC,QAAA,uBAAuB,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEzF,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA8D,CAAC;AAEvG,SAAgB,0BAA0B,CAAC,UAAgB;IACzD,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEhC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;IAEvE,IAAI,IAAA,wBAAU,EAAC,oBAAoB,CAAC,EAAE;QACpC,OAAO,oBAAoB,EAAE,CAAC;KAC/B;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAVD,gEAUC;AAED,SAAgB,eAAe,CAAC,UAAgB;IAC9C,OAAO,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC;AAED,SAAgB,mBAAmB,CAAC,UAAgB;IAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAkB,UAA+B,EAAE,IAAI,2EAA2E,CAAC,CAAC;KACrJ;AACH,CAAC;AAJD,kDAIC;AAED,SAAgB,aAAa,CAAmC,UAAiD,EAAE,oBAA6D,EAAE;IAChL,SAAS,sBAAsB,CAAc,WAA2B;QACtE,wBAAwB,CAAC,GAAG,CAAC,WAA6C,EAAE,UAAU,CAAC,CAAC;QACxF,IAAA,qBAAS,EAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,sBAAwC,CAAC;AAClD,CAAC;AAPD,sCAOC;AAED,SAAgB,YAAY,CAA0B,UAAa,EAAE,cAAgC;IACnG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACtC,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,GAAG,kBAAkB,eAAe,CAAC;IAErD,MAAM,GAAG,GAAG;QACV,CAAC,OAAO,CAAC,EAAE;SAAS;KACrB,CAAC,OAAO,CAAE,CAAC;IAEZ,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,qBAAqB,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;KACJ;IAED,OAAO,GAA+C,CAAC;AACzD,CAAC;AAvBD,oCAuBC"}
@@ -8,6 +8,7 @@ import type { Type } from "../../types";
8
8
  import type { AsyncMiddleware, AsyncMiddlewareNext } from "../../utils/middleware";
9
9
  import 'urlpattern-polyfill';
10
10
  import type { ApiController, ApiDefinition, ApiEndpointDefinition, ApiEndpointMethod, ApiEndpointServerImplementation } from '../types';
11
+ import type { CorsMiddlewareOptions } from './middlewares';
11
12
  export declare type ApiGatewayMiddlewareContext = {
12
13
  api: ApiItem;
13
14
  /** can be undefined if used before allowedMethods middleware */
@@ -17,12 +18,22 @@ export declare type ApiGatewayMiddlewareContext = {
17
18
  export declare type ApiGatewayMiddlewareNext = AsyncMiddlewareNext<HttpServerRequest, HttpServerResponse>;
18
19
  export declare type ApiGatewayMiddleware = AsyncMiddleware<HttpServerRequest, HttpServerResponse, ApiGatewayMiddlewareContext>;
19
20
  export declare type ApiGatewayOptions = {
20
- /** default: api/ */
21
+ /**
22
+ * Api prefix
23
+ * @default api/
24
+ */
21
25
  prefix?: string;
22
- /** initial middlewares */
26
+ /** Initial middlewares */
23
27
  middlewares?: ApiGatewayMiddleware[];
24
- /** errors to supress in log output */
28
+ /** Errors to supress in log output */
25
29
  supressedErrors?: Type<Error>[];
30
+ /** Cors middleware options */
31
+ cors?: CorsMiddlewareOptions;
32
+ /**
33
+ * Maximum size of request body. Useful to prevent harmful requests.
34
+ * @default 10 MB
35
+ */
36
+ defaultMaxBytes?: number;
26
37
  };
27
38
  export declare type GatewayEndpoint = {
28
39
  definition: ApiEndpointDefinition;
@@ -50,6 +61,7 @@ export declare class ApiGateway implements Injectable<ApiGatewayOptions> {
50
61
  private readonly middlewares;
51
62
  private readonly supressedErrors;
52
63
  private readonly catchErrorMiddleware;
64
+ private readonly options;
53
65
  private handler;
54
66
  readonly [resolveArgumentType]: ApiGatewayOptions;
55
67
  constructor(logger: Logger, options?: ApiGatewayOptions);
@@ -15,31 +15,37 @@ var ApiGateway_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ApiGateway = void 0;
17
17
  const container_1 = require("../../container");
18
- const error_1 = require("../../error");
18
+ const bad_request_error_1 = require("../../error/bad-request.error");
19
+ const not_found_error_1 = require("../../error/not-found.error");
20
+ const not_implemented_error_1 = require("../../error/not-implemented.error");
19
21
  const server_1 = require("../../http/server");
20
22
  const logger_1 = require("../../logger");
21
23
  const schema_1 = require("../../schema");
22
24
  const array_1 = require("../../utils/array");
23
- const helpers_1 = require("../../utils/helpers");
24
25
  const middleware_1 = require("../../utils/middleware");
26
+ const throw_1 = require("../../utils/throw");
25
27
  const type_guards_1 = require("../../utils/type-guards");
28
+ const units_1 = require("../../utils/units");
26
29
  require("urlpattern-polyfill");
27
30
  const types_1 = require("../types");
31
+ const utils_1 = require("../utils");
28
32
  const api_controller_1 = require("./api-controller");
29
33
  const error_handler_1 = require("./error-handler");
30
34
  const middlewares_1 = require("./middlewares");
31
35
  const tokens_1 = require("./tokens");
36
+ const defaultMaxBytes = 10 * units_1.mebibyte;
32
37
  /**
33
38
  * router for {@link ApiTransport} requests to {@link ApiImplementation}
34
39
  * @todo error handling (standardized format, serialization etc.)
35
40
  */
36
41
  let ApiGateway = ApiGateway_1 = class ApiGateway {
37
- constructor(logger, options) {
42
+ constructor(logger, options = {}) {
38
43
  this.logger = logger;
39
- this.prefix = options?.prefix ?? 'api/';
44
+ this.options = options;
45
+ this.prefix = options.prefix ?? 'api/';
40
46
  this.apis = new Map();
41
- this.middlewares = options?.middlewares ?? [];
42
- this.supressedErrors = new Set(options?.supressedErrors);
47
+ this.middlewares = options.middlewares ?? [];
48
+ this.supressedErrors = new Set(options.supressedErrors);
43
49
  this.catchErrorMiddleware = (0, middlewares_1.catchErrorMiddleware)(this.supressedErrors, logger);
44
50
  this.updateMiddleware();
45
51
  }
@@ -58,21 +64,19 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
58
64
  this.registerApi(definition, instance);
59
65
  }
60
66
  registerApi(definition, implementation) {
61
- const base = definition.resource;
62
67
  for (const [name, endpointDefinition] of (0, types_1.normalizedApiDefinitionEndpointsEntries)(definition.endpoints)) {
63
68
  const versionArray = (0, type_guards_1.isUndefined)(endpointDefinition.version) ? [1] : (0, array_1.toArray)(endpointDefinition.version);
64
69
  for (const version of versionArray) {
65
- const versionPrefix = (0, type_guards_1.isNull)(version) ? '' : `v${version}/`;
66
- const resource = (endpointDefinition.resource == types_1.rootResource) ? `${this.prefix}${versionPrefix}${base}` : `${this.prefix}${versionPrefix}${base}/${endpointDefinition.resource ?? name}`;
70
+ const resource = (0, utils_1.getFullApiEndpointResource)({ api: definition, endpoint: endpointDefinition, prefix: this.prefix, explicitVersion: version });
67
71
  const methods = (0, type_guards_1.isArray)(endpointDefinition.method) ? endpointDefinition.method : [endpointDefinition.method ?? 'GET'];
68
72
  if (methods.length == 0) {
69
- throw new Error(`No method provided for resource ${resource}`);
73
+ throw new Error(`No method provided for resource ${resource}.`);
70
74
  }
71
75
  let resourceApis = this.apis.get(resource);
72
76
  if ((0, type_guards_1.isUndefined)(resourceApis)) {
73
77
  resourceApis = {
74
78
  resource,
75
- pattern: new (globalThis.URLPattern)({
79
+ pattern: new URLPattern({
76
80
  pathname: resource,
77
81
  baseURL: 'http://localhost',
78
82
  username: '*',
@@ -87,7 +91,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
87
91
  };
88
92
  this.apis.set(resource, resourceApis);
89
93
  }
90
- const endpointImplementation = implementation[name]?.bind(implementation) ?? (0, helpers_1.deferThrow)(new error_1.NotImplementedError(`endpoint ${name} for resource ${resource} not implemented`));
94
+ const endpointImplementation = implementation[name]?.bind(implementation) ?? (0, throw_1.deferThrow)(new not_implemented_error_1.NotImplementedError(`Endpoint ${name} for resource ${resource} not implemented.`));
91
95
  for (const method of methods) {
92
96
  resourceApis.endpoints.set(method, { definition: endpointDefinition, implementation: endpointImplementation });
93
97
  }
@@ -119,21 +123,22 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
119
123
  }
120
124
  return { api, patternResult: result };
121
125
  }
122
- throw new error_1.NotFoundError(`resource ${resource.pathname} not available`);
126
+ throw new not_found_error_1.NotFoundError(`Resource ${resource.pathname} not available.`);
123
127
  }
124
128
  updateMiddleware() {
125
- const middlewares = [middlewares_1.responseTimeMiddleware, middlewares_1.corsMiddleware, middlewares_1.allowedMethodsMiddleware, this.catchErrorMiddleware, ...this.middlewares];
129
+ const middlewares = [middlewares_1.responseTimeMiddleware, (0, middlewares_1.corsMiddleware)(this.options.cors), middlewares_1.allowedMethodsMiddleware, this.catchErrorMiddleware, ...this.middlewares];
126
130
  this.handler = (0, middleware_1.composeAsyncMiddleware)(middlewares, async (request, context) => this.middlewareHandler(request, context));
127
131
  }
128
132
  async middlewareHandler(request, context) {
133
+ const readBodyOptions = { maxBytes: context.endpoint.definition.maxBytes ?? this.options.defaultMaxBytes ?? defaultMaxBytes };
129
134
  const body = (0, type_guards_1.isDefined)(context.endpoint.definition.body)
130
- ? await this.getBody(request, context.endpoint.definition.body)
135
+ ? await this.getBody(request, readBodyOptions, context.endpoint.definition.body)
131
136
  : undefined;
132
137
  const bodyAsParameters = ((0, type_guards_1.isUndefined)(context.endpoint.definition.body) && (request.headers.contentType?.includes('json') == true))
133
- ? await request.bodyAsJson()
138
+ ? await request.body.readAsJson(readBodyOptions)
134
139
  : undefined;
135
140
  if ((0, type_guards_1.isDefined)(bodyAsParameters) && !(0, type_guards_1.isObject)(bodyAsParameters)) {
136
- throw new error_1.BadRequestError('expected json object as body');
141
+ throw new bad_request_error_1.BadRequestError('Expected json object as body.');
137
142
  }
138
143
  const parameters = { ...request.query.asObject(), ...bodyAsParameters, ...context.resourcePatternResult.pathname.groups };
139
144
  const validatedParameters = (0, type_guards_1.isDefined)(context.endpoint.definition.parameters)
@@ -141,7 +146,7 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
141
146
  : parameters;
142
147
  const requestData = {
143
148
  parameters: validatedParameters,
144
- body: body,
149
+ body,
145
150
  request
146
151
  };
147
152
  const result = await context.endpoint.implementation(requestData);
@@ -149,19 +154,39 @@ let ApiGateway = ApiGateway_1 = class ApiGateway {
149
154
  return result;
150
155
  }
151
156
  const response = new server_1.HttpServerResponse({
152
- body: (0, type_guards_1.isString)(result) ? { text: result }
153
- : (0, type_guards_1.isUint8Array)(result) ? { buffer: result }
154
- : { json: result }
157
+ body: (0, type_guards_1.isUint8Array)(result) ? { buffer: result }
158
+ : (0, type_guards_1.isBlob)(result) ? { stream: result.stream() }
159
+ : (0, type_guards_1.isReadableStream)(result) ? { stream: result }
160
+ : (context.endpoint.definition.result == String) ? { text: result }
161
+ : { json: result }
155
162
  });
156
163
  return response;
157
164
  }
158
- async getBody(request, schema) {
159
- const body = await getRequestBody(request);
160
- if ((0, type_guards_1.isUndefined)(body)) {
161
- return undefined;
162
- }
163
- if ((0, type_guards_1.isUndefined)(schema)) {
164
- return body;
165
+ async getBody(request, options, schema) {
166
+ let body;
167
+ if (request.hasBody) {
168
+ if (schema == ReadableStream) {
169
+ body = request.body.readAsBinaryStream(options);
170
+ }
171
+ else if (schema == Uint8Array) {
172
+ body = await request.body.readAsBuffer(options);
173
+ }
174
+ else if (schema == Blob) {
175
+ const buffer = await request.body.readAsBuffer(options);
176
+ body = new Blob([buffer], { type: request.headers.contentType });
177
+ }
178
+ else if (schema == String) {
179
+ body = await request.body.readAsText(options);
180
+ }
181
+ else if (request.headers.contentType?.startsWith('text') == true) {
182
+ body = await request.body.readAsText(options);
183
+ }
184
+ else if (request.headers.contentType?.includes('json') == true) {
185
+ body = await request.body.readAsJson(options);
186
+ }
187
+ else {
188
+ body = await request.body.readAsBuffer(options);
189
+ }
165
190
  }
166
191
  return schema_1.Schema.parse(schema, body);
167
192
  }
@@ -175,13 +200,4 @@ ApiGateway = ApiGateway_1 = __decorate([
175
200
  __metadata("design:paramtypes", [logger_1.Logger, Object])
176
201
  ], ApiGateway);
177
202
  exports.ApiGateway = ApiGateway;
178
- async function getRequestBody(request) {
179
- if (request.headers.contentType?.startsWith('text') == true) {
180
- return request.bodyAsText();
181
- }
182
- if (request.headers.contentType?.includes('json') == true) {
183
- return request.bodyAsJson();
184
- }
185
- return request.bodyAsBytes();
186
- }
187
203
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../source/api/server/gateway.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const type_guards_1 = require("../../../utils/type-guards");
7
7
  async function allowedMethodsMiddleware(request, next, context) {
8
8
  if (request.method != 'OPTIONS') {
9
9
  if ((0, type_guards_1.isUndefined)(context.endpoint)) {
10
- throw new method_not_allowed_error_1.MethodNotAllowedError(`method ${request.method} for resource ${context.api.resource} not available`);
10
+ throw new method_not_allowed_error_1.MethodNotAllowedError(`Method ${request.method} for resource ${context.api.resource} not available.`);
11
11
  }
12
12
  return next(request);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"allowed-methods.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/allowed-methods.middleware.ts"],"names":[],"mappings":";;;AAAA,sFAAyE;AAEzE,iDAAmD;AAEnD,4DAAkD;AAG3C,KAAK,UAAU,wBAAwB,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IAC/K,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,gDAAqB,CAAC,UAAU,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,GAAG,CAAC,QAAQ,gBAAgB,CAAC,CAAC;SAChH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,2BAAkB,CAAC,UAAU,CAAC;QACnC,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;SACpB;KACF,CAAC,CAAC;AACL,CAAC;AAlBD,4DAkBC"}
1
+ {"version":3,"file":"allowed-methods.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/allowed-methods.middleware.ts"],"names":[],"mappings":";;;AAAA,sFAAyE;AAEzE,iDAAmD;AAEnD,4DAAkD;AAG3C,KAAK,UAAU,wBAAwB,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IAC/K,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,gDAAqB,CAAC,UAAU,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,GAAG,CAAC,QAAQ,iBAAiB,CAAC,CAAC;SACjH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,2BAAkB,CAAC,UAAU,CAAC;QACnC,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;SACpB;KACF,CAAC,CAAC;AACL,CAAC;AAlBD,4DAkBC"}
@@ -1,4 +1,6 @@
1
- import type { HttpServerRequest, HttpServerResponse } from "../../../http/server";
2
- import type { AsyncMiddlewareNext } from "../../../utils/middleware";
3
- import type { ApiGatewayMiddlewareContext } from '../gateway';
4
- export declare function corsMiddleware(request: HttpServerRequest, next: AsyncMiddlewareNext<HttpServerRequest, HttpServerResponse>, context: ApiGatewayMiddlewareContext): Promise<HttpServerResponse>;
1
+ import type { ApiEndpointDefinitionCors } from "../../types";
2
+ import type { ApiGatewayMiddleware } from '../gateway';
3
+ export declare type CorsMiddlewareOptions = {
4
+ default?: ApiEndpointDefinitionCors;
5
+ };
6
+ export declare function corsMiddleware(options?: CorsMiddlewareOptions): ApiGatewayMiddleware;
@@ -3,39 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.corsMiddleware = void 0;
4
4
  const types_1 = require("../../types");
5
5
  const type_guards_1 = require("../../../utils/type-guards");
6
- // eslint-disable-next-line max-statements
7
- async function corsMiddleware(request, next, context) {
8
- const response = await next(request);
9
- const requestMethod = request.headers.tryGetSingle('Access-Control-Request-Method') ?? request.method;
10
- const cors = context.api.endpoints.get(requestMethod)?.definition.cors;
11
- if ((0, type_guards_1.isUndefined)(cors)) {
12
- return response;
13
- }
14
- if (request.method == 'OPTIONS') {
15
- const allowMethods = (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowMethods)) ?? [...context.api.endpoints.keys()].join(', ');
16
- const allowCredentials = (0, type_guards_1.isDefined)(cors.accessControlAllowCredentials) && (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowCredentials));
17
- response.headers.setIfMissing('Access-Control-Allow-Methods', allowMethods);
18
- if (allowCredentials) {
19
- response.headers.setIfMissing('Access-Control-Allow-Credentials', 'true');
20
- }
21
- if ((0, type_guards_1.isDefined)(cors.accessControlAllowHeaders)) {
22
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowHeaders);
23
- response.headers.setIfMissing('Access-Control-Allow-Headers', value);
6
+ function corsMiddleware(options = {}) {
7
+ // eslint-disable-next-line max-statements, @typescript-eslint/no-shadow
8
+ async function corsMiddleware(request, next, context) {
9
+ const response = await next(request);
10
+ const requestMethod = request.headers.tryGetSingle('Access-Control-Request-Method') ?? request.method;
11
+ const cors = { ...options.default, ...context.api.endpoints.get(requestMethod)?.definition.cors };
12
+ if (request.method == 'OPTIONS') {
13
+ const allowMethods = (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowMethods)) ?? [...context.api.endpoints.keys()].join(', ');
14
+ const allowCredentials = (0, type_guards_1.isDefined)(cors.accessControlAllowCredentials) && (await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowCredentials));
15
+ response.headers.setIfMissing('Access-Control-Allow-Methods', allowMethods);
16
+ if (allowCredentials) {
17
+ response.headers.setIfMissing('Access-Control-Allow-Credentials', 'true');
18
+ }
19
+ if ((0, type_guards_1.isDefined)(cors.accessControlAllowHeaders)) {
20
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowHeaders);
21
+ response.headers.setIfMissing('Access-Control-Allow-Headers', value);
22
+ }
23
+ if ((0, type_guards_1.isDefined)(cors.accessControlExposeHeaders)) {
24
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlExposeHeaders);
25
+ response.headers.setIfMissing('Access-Control-Expose-Headers', value);
26
+ }
27
+ if ((0, type_guards_1.isDefined)(cors.accessControlMaxAge)) {
28
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlMaxAge);
29
+ response.headers.setIfMissing('Access-Control-Max-Age', value);
30
+ }
24
31
  }
25
- if ((0, type_guards_1.isDefined)(cors.accessControlExposeHeaders)) {
26
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlExposeHeaders);
27
- response.headers.setIfMissing('Access-Control-Expose-Headers', value);
32
+ if ((0, type_guards_1.isDefined)(cors.accessControlAllowOrigin)) {
33
+ const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowOrigin);
34
+ response.headers.setIfMissing('Access-Control-Allow-Origin', value);
28
35
  }
29
- if ((0, type_guards_1.isDefined)(cors.accessControlMaxAge)) {
30
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlMaxAge);
31
- response.headers.setIfMissing('Access-Control-Max-Age', value);
32
- }
33
- }
34
- if ((0, type_guards_1.isDefined)(cors.accessControlAllowOrigin)) {
35
- const value = await (0, types_1.resolveApiEndpointDataProvider)(request, context, cors.accessControlAllowOrigin);
36
- response.headers.setIfMissing('Access-Control-Allow-Origin', value);
36
+ return response;
37
37
  }
38
- return response;
38
+ return corsMiddleware;
39
39
  }
40
40
  exports.corsMiddleware = corsMiddleware;
41
41
  //# sourceMappingURL=cors.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/cors.middleware.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAG7D,4DAA6D;AAG7D,0CAA0C;AACnC,KAAK,UAAU,cAAc,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;IACrK,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;IACtG,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAkC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IAE5F,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9J,MAAM,gBAAgB,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvK,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;QAE5E,IAAI,gBAAgB,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;SAC3E;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACrG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;SACtE;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;YAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;SACvE;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/F,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SAChE;KACF;IAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACpG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1CD,wCA0CC"}
1
+ {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../../../source/api/server/middlewares/cors.middleware.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAG7D,4DAAgD;AAOhD,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,wEAAwE;IACxE,KAAK,UAAU,cAAc,CAAC,OAA0B,EAAE,IAAgE,EAAE,OAAoC;QAC9J,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;QACtG,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAkC,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QAEvH,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;YAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9J,MAAM,gBAAgB,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAEvK,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;YAE5E,IAAI,gBAAgB,EAAE;gBACpB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;aAC3E;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;gBAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACrG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;aACtE;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACtG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;aACvE;YAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACvC,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/F,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;aAChE;SACF;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACpG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;SACrE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA3CD,wCA2CC"}