@tstdl/base 0.83.0-beta2 → 0.83.0-beta3

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 (1353) hide show
  1. package/api/client/client.js +125 -110
  2. package/api/client/index.js +18 -2
  3. package/api/default-error-handlers.js +44 -19
  4. package/api/index.js +20 -15
  5. package/api/response.js +122 -99
  6. package/api/server/api-controller.js +70 -43
  7. package/api/server/api-request-token.provider.js +40 -14
  8. package/api/server/error-handler.js +46 -26
  9. package/api/server/gateway.js +213 -209
  10. package/api/server/index.js +22 -6
  11. package/api/server/middlewares/allowed-methods.middleware.js +40 -18
  12. package/api/server/middlewares/catch-error.middleware.js +33 -13
  13. package/api/server/middlewares/cors.middleware.js +69 -50
  14. package/api/server/middlewares/index.js +21 -5
  15. package/api/server/middlewares/response-time.middleware.js +31 -9
  16. package/api/server/module.js +42 -19
  17. package/api/server/tokens.js +25 -3
  18. package/api/types.js +40 -15
  19. package/api/utils.js +36 -14
  20. package/application/application.js +181 -166
  21. package/application/index.js +18 -2
  22. package/async-iterator-symbol.js +28 -6
  23. package/authentication/authentication.api.js +113 -90
  24. package/authentication/client/api.client.js +57 -30
  25. package/authentication/client/authentication.service.js +264 -239
  26. package/authentication/client/http-client.middleware.js +44 -22
  27. package/authentication/client/index.js +22 -6
  28. package/authentication/client/module.js +38 -16
  29. package/authentication/client/tokens.js +29 -6
  30. package/authentication/errors/index.js +18 -2
  31. package/authentication/errors/secret-requirements.error.js +29 -8
  32. package/authentication/index.js +19 -3
  33. package/authentication/models/authentication-credentials.model.js +66 -38
  34. package/authentication/models/authentication-session.model.js +80 -52
  35. package/authentication/models/index.js +23 -7
  36. package/authentication/models/init-secret-reset-data.model.js +44 -17
  37. package/authentication/models/secret-check-result.model.js +36 -11
  38. package/authentication/models/token-payload-base.model.js +59 -32
  39. package/authentication/models/token.model.js +16 -2
  40. package/authentication/server/authentication-api-request-token.provider.js +52 -26
  41. package/authentication/server/authentication-credentials.repository.js +24 -2
  42. package/authentication/server/authentication-secret-requirements.validator.js +51 -25
  43. package/authentication/server/authentication-secret-reset.handler.js +24 -2
  44. package/authentication/server/authentication-session.repository.js +24 -2
  45. package/authentication/server/authentication-subject.resolver.js +24 -6
  46. package/authentication/server/authentication-token-payload.provider.js +29 -6
  47. package/authentication/server/authentication.api-controller.js +114 -90
  48. package/authentication/server/authentication.service.js +290 -255
  49. package/authentication/server/helper.js +87 -67
  50. package/authentication/server/index.js +28 -12
  51. package/authentication/server/module.js +43 -21
  52. package/authentication/server/mongo/index.js +19 -3
  53. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +84 -55
  54. package/authentication/server/mongo/mongo-authentication-session.repository.js +81 -52
  55. package/collections/awaitable/awaitable-list.js +122 -100
  56. package/collections/awaitable/awaitable-map.js +116 -94
  57. package/collections/awaitable/awaitable-set.js +86 -64
  58. package/collections/awaitable/index.js +20 -4
  59. package/collections/collection.js +16 -2
  60. package/collections/index.js +23 -7
  61. package/collections/keyed-set.js +77 -54
  62. package/collections/list.js +16 -2
  63. package/collections/observable/index.js +25 -9
  64. package/collections/observable/observable-array.js +118 -96
  65. package/collections/observable/observable-collection-base.js +83 -61
  66. package/collections/observable/observable-collection.js +16 -2
  67. package/collections/observable/observable-list-base.js +78 -56
  68. package/collections/observable/observable-list.js +16 -2
  69. package/collections/observable/observable-map.js +79 -57
  70. package/collections/observable/observable-set.js +98 -76
  71. package/collections/observable/observable-sorted-array-list.js +188 -166
  72. package/collections/sorted-array-list.js +179 -157
  73. package/collections/sorted-list.js +16 -2
  74. package/collections/sorted-map.js +93 -71
  75. package/container/container.js +437 -423
  76. package/container/decorators.js +96 -113
  77. package/container/index.js +27 -11
  78. package/container/interfaces.js +26 -3
  79. package/container/provider.js +54 -25
  80. package/container/resolve-chain.js +99 -75
  81. package/container/resolve.error.js +35 -11
  82. package/container/token.js +29 -10
  83. package/container/type-info.js +16 -2
  84. package/container/types.js +16 -2
  85. package/container/utils.js +42 -19
  86. package/cookie/cookie.js +71 -50
  87. package/cookie/index.js +18 -2
  88. package/core.js +63 -38
  89. package/data-structures/array-list.js +128 -106
  90. package/data-structures/circular-buffer.js +216 -196
  91. package/data-structures/collection.js +109 -87
  92. package/data-structures/index-out-of-bounds.error.js +31 -9
  93. package/data-structures/index.js +29 -13
  94. package/data-structures/iterable-weak-map.js +149 -130
  95. package/data-structures/linked-list.js +385 -369
  96. package/data-structures/list.js +101 -79
  97. package/data-structures/map.js +87 -65
  98. package/data-structures/multi-key-map.js +162 -140
  99. package/data-structures/set.js +77 -55
  100. package/data-structures/sorted-array-list.js +169 -144
  101. package/data-structures/weak-ref-map.js +143 -124
  102. package/database/entity-repository.js +24 -2
  103. package/database/entity.js +16 -2
  104. package/database/id.js +27 -5
  105. package/database/index.js +23 -7
  106. package/database/module.js +31 -8
  107. package/database/mongo/classes.js +42 -17
  108. package/database/mongo/index.js +27 -11
  109. package/database/mongo/model/document.js +85 -55
  110. package/database/mongo/model/index.js +18 -2
  111. package/database/mongo/module.js +71 -52
  112. package/database/mongo/mongo-base.repository.js +283 -260
  113. package/database/mongo/mongo-bulk.js +110 -88
  114. package/database/mongo/mongo-entity-repository.js +295 -270
  115. package/database/mongo/operations.js +76 -49
  116. package/database/mongo/query-converter.js +96 -74
  117. package/database/mongo/simple-entity-repository.js +28 -6
  118. package/database/mongo/types.js +25 -3
  119. package/database/query.js +36 -8
  120. package/database/utils.js +25 -3
  121. package/disposable/async-disposer.js +110 -99
  122. package/disposable/disposable.js +33 -8
  123. package/disposable/index.js +20 -4
  124. package/disposable/using.js +37 -16
  125. package/distributed-loop/controller.js +16 -2
  126. package/distributed-loop/distributed-loop.js +105 -80
  127. package/distributed-loop/index.js +20 -4
  128. package/distributed-loop/provider.js +48 -22
  129. package/enumerable/async-enumerable.js +261 -239
  130. package/enumerable/enumerable-methods.js +16 -2
  131. package/enumerable/enumerable.js +200 -178
  132. package/enumerable/index.js +19 -3
  133. package/environment.d.ts +5 -4
  134. package/environment.js +57 -24
  135. package/error/api.error.js +33 -12
  136. package/error/assertion.error.js +29 -8
  137. package/error/bad-request.error.js +29 -8
  138. package/error/custom.error.js +47 -26
  139. package/error/details.error.js +31 -10
  140. package/error/forbidden.error.js +29 -8
  141. package/error/index.js +32 -16
  142. package/error/invalid-token.error.js +29 -8
  143. package/error/max-bytes-exceeded.error.js +32 -11
  144. package/error/method-not-allowed.error.js +29 -8
  145. package/error/multi.error.js +31 -10
  146. package/error/not-found.error.js +29 -8
  147. package/error/not-implemented.error.js +29 -8
  148. package/error/not-supported.error.js +34 -13
  149. package/error/unauthorized.error.js +29 -8
  150. package/error/unsupported-media-type.error.js +29 -8
  151. package/examples/api/authentication.js +40 -41
  152. package/examples/api/basic-overview.js +86 -82
  153. package/examples/api/custom-authentication.js +66 -62
  154. package/examples/api/streaming.js +94 -90
  155. package/examples/http/client.js +13 -13
  156. package/examples/mail/basic.js +31 -31
  157. package/examples/mail/templates/hello-name.js +33 -11
  158. package/examples/pdf/basic.js +22 -22
  159. package/examples/pdf/templates/hello-name.js +53 -31
  160. package/examples/reflection/basic.js +84 -54
  161. package/examples/template/basic.js +26 -26
  162. package/examples/template/templates/hello-jsx.js +32 -9
  163. package/examples/template/templates/hello-name.js +41 -19
  164. package/global-this.js +36 -18
  165. package/http/client/adapters/undici-http-client.adapter.js +110 -92
  166. package/http/client/http-client-options.js +37 -15
  167. package/http/client/http-client-request.js +167 -146
  168. package/http/client/http-client-response.js +56 -34
  169. package/http/client/http-client.adapter.js +24 -2
  170. package/http/client/http-client.js +319 -300
  171. package/http/client/index.js +23 -7
  172. package/http/client/module.js +38 -16
  173. package/http/cookie-parser.js +42 -20
  174. package/http/http-body.js +75 -53
  175. package/http/http-form.js +37 -15
  176. package/http/http-headers.js +109 -87
  177. package/http/http-query.js +37 -15
  178. package/http/http-url-parameters.js +31 -9
  179. package/http/http-value-map.js +133 -111
  180. package/http/http.error.js +82 -62
  181. package/http/index.js +28 -12
  182. package/http/server/http-server-request.js +47 -25
  183. package/http/server/http-server-response.js +45 -23
  184. package/http/server/http-server.js +25 -3
  185. package/http/server/index.js +20 -4
  186. package/http/server/node/index.js +19 -3
  187. package/http/server/node/module.js +28 -9
  188. package/http/server/node/node-http-server.js +234 -210
  189. package/http/types.js +47 -22
  190. package/http/utils.js +108 -93
  191. package/image-service/image-service.js +91 -60
  192. package/image-service/imgproxy/imgproxy-image-service.js +124 -88
  193. package/image-service/imgproxy/index.js +18 -2
  194. package/image-service/index.js +18 -2
  195. package/import.js +25 -3
  196. package/index.js +18 -2
  197. package/interfaces.js +16 -2
  198. package/json-path/index.js +18 -2
  199. package/json-path/json-path.js +134 -134
  200. package/key-value-store/index.js +19 -3
  201. package/key-value-store/key-value-store.provider.js +24 -2
  202. package/key-value-store/key-value.store.js +29 -7
  203. package/key-value-store/mongo/index.js +23 -7
  204. package/key-value-store/mongo/module.js +35 -18
  205. package/key-value-store/mongo/mongo-key-value-store.provider.js +48 -22
  206. package/key-value-store/mongo/mongo-key-value.model.js +16 -2
  207. package/key-value-store/mongo/mongo-key-value.repository.js +52 -24
  208. package/key-value-store/mongo/mongo-key-value.store.js +89 -61
  209. package/key-value-store/mongo/tokens.js +25 -3
  210. package/lock/index.js +19 -3
  211. package/lock/lock.js +28 -6
  212. package/lock/mongo/index.js +22 -6
  213. package/lock/mongo/lock.js +135 -113
  214. package/lock/mongo/model.js +16 -2
  215. package/lock/mongo/module.js +37 -19
  216. package/lock/mongo/mongo-lock-repository.js +85 -58
  217. package/lock/mongo/provider.js +68 -40
  218. package/lock/provider.js +24 -2
  219. package/lock/web/index.js +20 -4
  220. package/lock/web/module.js +31 -12
  221. package/lock/web/web-lock.js +105 -82
  222. package/lock/web/web-lock.provider.js +57 -29
  223. package/logger/console/index.js +18 -2
  224. package/logger/console/logger.js +71 -46
  225. package/logger/index.js +19 -3
  226. package/logger/level.js +31 -9
  227. package/logger/logger.js +60 -38
  228. package/logger/noop/index.js +18 -2
  229. package/logger/noop/logger.js +39 -18
  230. package/mail/clients/nodemailer.mail-client.js +90 -64
  231. package/mail/index.js +22 -6
  232. package/mail/mail-log.repository.js +25 -3
  233. package/mail/mail.client.js +62 -35
  234. package/mail/mail.service.js +106 -75
  235. package/mail/models/index.js +23 -7
  236. package/mail/models/mail-address.model.js +16 -2
  237. package/mail/models/mail-content.model.js +16 -2
  238. package/mail/models/mail-data.model.js +16 -2
  239. package/mail/models/mail-log.model.js +16 -2
  240. package/mail/models/mail-send-result.model.js +16 -2
  241. package/mail/models/mail-template.model.js +28 -6
  242. package/mail/module.js +41 -22
  243. package/mail/repositories/mongo-mail-log.repository.js +56 -26
  244. package/mail/tokens.js +25 -3
  245. package/memory/finalization.js +60 -37
  246. package/memory/index.js +19 -3
  247. package/memory/observable-finalization-registry.js +32 -10
  248. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +53 -25
  249. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +74 -48
  250. package/message-bus/broadcast-channel/index.js +20 -4
  251. package/message-bus/broadcast-channel/module.js +31 -12
  252. package/message-bus/index.js +20 -4
  253. package/message-bus/local/index.js +20 -4
  254. package/message-bus/local/local-message-bus-provider.js +65 -37
  255. package/message-bus/local/local-message-bus.js +66 -40
  256. package/message-bus/local/module.js +31 -12
  257. package/message-bus/local/types.js +16 -2
  258. package/message-bus/message-bus-base.js +63 -42
  259. package/message-bus/message-bus-provider.js +24 -2
  260. package/message-bus/message-bus.js +28 -6
  261. package/migration/index.js +20 -4
  262. package/migration/migration-state-repository.js +25 -3
  263. package/migration/migration-state.js +16 -2
  264. package/migration/migrator.js +108 -82
  265. package/migration/mongo/index.js +19 -3
  266. package/migration/mongo/migration-state-repository.js +53 -25
  267. package/migration/mongo/module.js +34 -16
  268. package/module/index.js +21 -5
  269. package/module/module-base.js +60 -38
  270. package/module/module-metric-reporter.js +77 -59
  271. package/module/module.js +34 -11
  272. package/module/modules/function.module.js +34 -12
  273. package/module/modules/index.js +19 -3
  274. package/module/modules/web-server.module.js +103 -69
  275. package/module/utils.js +43 -20
  276. package/notification/api.js +50 -23
  277. package/notification/models/index.js +19 -3
  278. package/notification/models/notification-channel-job.model.js +16 -2
  279. package/notification/models/notification.model.js +103 -76
  280. package/notification/module.js +28 -9
  281. package/notification/notification-channel.service.js +24 -2
  282. package/notification/notification.repository.js +24 -2
  283. package/notification/notification.service.js +58 -32
  284. package/object-storage/index.js +20 -4
  285. package/object-storage/object-storage-provider.js +24 -2
  286. package/object-storage/object-storage.js +29 -7
  287. package/object-storage/object.js +30 -8
  288. package/object-storage/s3/index.js +20 -4
  289. package/object-storage/s3/s3.object-storage-provider.js +108 -84
  290. package/object-storage/s3/s3.object-storage.js +152 -127
  291. package/object-storage/s3/s3.object.js +62 -40
  292. package/openid-connect/cached-oidc-configuration.service.js +65 -37
  293. package/openid-connect/index.js +28 -12
  294. package/openid-connect/mongo-oidc-state.repository.js +64 -40
  295. package/openid-connect/oidc-configuration.service.js +66 -40
  296. package/openid-connect/oidc-state.model.js +16 -2
  297. package/openid-connect/oidc-state.repository.js +25 -3
  298. package/openid-connect/oidc.service-model.js +16 -2
  299. package/openid-connect/oidc.service.js +187 -159
  300. package/package.json +5 -3
  301. package/password/have-i-been-pwned.js +39 -22
  302. package/password/index.js +21 -5
  303. package/password/password-check-result.model.js +63 -35
  304. package/password/password-check.js +76 -47
  305. package/password/password-check.localization.js +111 -87
  306. package/pdf/index.js +18 -2
  307. package/pdf/pdf.service.js +301 -266
  308. package/pool/index.js +18 -2
  309. package/pool/pool.js +127 -111
  310. package/process-shutdown.js +77 -55
  311. package/promise/cancelable-promise.js +41 -24
  312. package/promise/deferred-promise.js +91 -69
  313. package/promise/index.js +20 -4
  314. package/promise/lazy-promise.js +46 -25
  315. package/queue/enqueue-batch.js +41 -19
  316. package/queue/index.js +20 -4
  317. package/queue/mongo/index.js +21 -5
  318. package/queue/mongo/job.js +16 -2
  319. package/queue/mongo/mongo-job.repository.js +70 -46
  320. package/queue/mongo/queue.js +265 -244
  321. package/queue/mongo/queue.provider.js +70 -46
  322. package/queue/provider.js +24 -2
  323. package/queue/queue.js +41 -16
  324. package/random/index.js +18 -2
  325. package/random/number/index.js +20 -4
  326. package/random/number/mulberry32.js +50 -34
  327. package/random/number/seeded.js +31 -9
  328. package/random/number/sfc32.js +63 -47
  329. package/reflection/decorator-data.js +80 -64
  330. package/reflection/decorators.js +70 -41
  331. package/reflection/index.js +22 -6
  332. package/reflection/reflection-data-map.js +55 -33
  333. package/reflection/registry.js +132 -113
  334. package/reflection/types.js +16 -2
  335. package/reflection/utils.js +124 -97
  336. package/require.js +26 -4
  337. package/rpc/endpoints/message-port.rpc-endpoint.js +48 -30
  338. package/rpc/index.js +21 -5
  339. package/rpc/model.js +30 -8
  340. package/rpc/rpc-endpoint.js +40 -18
  341. package/rpc/rpc-error.js +40 -19
  342. package/rpc/rpc.js +235 -224
  343. package/rxjs/cast.js +28 -5
  344. package/rxjs/index.js +29 -13
  345. package/rxjs/intersection-observer.js +48 -26
  346. package/rxjs/media-query.js +27 -9
  347. package/rxjs/mutation-observer.js +50 -29
  348. package/rxjs/noop.js +28 -5
  349. package/rxjs/performance-observer.js +60 -38
  350. package/rxjs/resize-observer.js +50 -29
  351. package/rxjs/retry-backoff.js +47 -24
  352. package/rxjs/slow-array.js +36 -23
  353. package/rxjs/teardown.js +44 -22
  354. package/rxjs/timing.js +55 -25
  355. package/rxjs/touch.js +30 -12
  356. package/schema/array-constraints/index.js +19 -3
  357. package/schema/array-constraints/maximum-length.js +42 -20
  358. package/schema/array-constraints/minimum-length.js +42 -20
  359. package/schema/coercers/boolean.coercer.js +49 -26
  360. package/schema/coercers/date.coercer.js +38 -15
  361. package/schema/coercers/index.js +23 -7
  362. package/schema/coercers/number.coercer.js +36 -13
  363. package/schema/coercers/regexp.coercer.js +41 -19
  364. package/schema/coercers/string.coercer.js +36 -13
  365. package/schema/coercers/uint8-array.coercer.js +40 -17
  366. package/schema/constraints/enumeration.js +49 -28
  367. package/schema/constraints/generic.js +41 -22
  368. package/schema/constraints/index.js +29 -13
  369. package/schema/constraints/integer.js +44 -21
  370. package/schema/constraints/length.js +36 -15
  371. package/schema/constraints/literal.js +44 -23
  372. package/schema/constraints/maximum-date.js +46 -24
  373. package/schema/constraints/maximum-length.js +45 -23
  374. package/schema/constraints/maximum.js +44 -22
  375. package/schema/constraints/minimum-date.js +46 -24
  376. package/schema/constraints/minimum-length.js +45 -23
  377. package/schema/constraints/minimum.js +44 -22
  378. package/schema/constraints/pattern.js +46 -24
  379. package/schema/decorators/class.js +26 -5
  380. package/schema/decorators/coerce.js +26 -5
  381. package/schema/decorators/constraint.js +28 -7
  382. package/schema/decorators/index.js +23 -7
  383. package/schema/decorators/property.js +38 -17
  384. package/schema/decorators/types.js +16 -2
  385. package/schema/decorators/utils.js +73 -46
  386. package/schema/index.js +27 -11
  387. package/schema/schema.error.js +71 -60
  388. package/schema/schema.js +267 -254
  389. package/schema/schemas/any.js +30 -8
  390. package/schema/schemas/array.js +44 -22
  391. package/schema/schemas/assign.js +48 -26
  392. package/schema/schemas/boolean.js +30 -8
  393. package/schema/schemas/constraint.js +29 -7
  394. package/schema/schemas/date.js +43 -21
  395. package/schema/schemas/defaulted.js +31 -9
  396. package/schema/schemas/enumeration.js +38 -16
  397. package/schema/schemas/index.js +43 -27
  398. package/schema/schemas/instance.js +26 -5
  399. package/schema/schemas/literal.js +38 -16
  400. package/schema/schemas/nullable.js +30 -8
  401. package/schema/schemas/number.js +48 -26
  402. package/schema/schemas/object.js +34 -11
  403. package/schema/schemas/omit.js +37 -15
  404. package/schema/schemas/one-or-many.js +35 -14
  405. package/schema/schemas/optional.js +30 -7
  406. package/schema/schemas/partial.js +39 -17
  407. package/schema/schemas/pick.js +37 -15
  408. package/schema/schemas/readable-stream.js +30 -8
  409. package/schema/schemas/record.js +30 -9
  410. package/schema/schemas/regexp.js +30 -8
  411. package/schema/schemas/string.js +59 -37
  412. package/schema/schemas/transform.js +29 -7
  413. package/schema/schemas/uint8-array.js +50 -28
  414. package/schema/schemas/union.js +34 -12
  415. package/schema/schemas/unknown.js +30 -8
  416. package/schema/transformers/generic.js +39 -17
  417. package/schema/transformers/index.js +21 -5
  418. package/schema/transformers/lowercase.js +33 -11
  419. package/schema/transformers/trim.js +33 -11
  420. package/schema/transformers/uppercase.js +33 -11
  421. package/schema/types/index.js +22 -6
  422. package/schema/types/schema-array-constraint.js +24 -2
  423. package/schema/types/schema-value-coercer.js +24 -2
  424. package/schema/types/schema-value-constraint.js +24 -2
  425. package/schema/types/schema-value-transformer.js +24 -2
  426. package/schema/types/types.js +174 -147
  427. package/schema/utils/index.js +19 -3
  428. package/schema/utils/schema.js +136 -115
  429. package/schema/utils/value-type.js +73 -50
  430. package/search-index/elastic/config.js +49 -21
  431. package/search-index/elastic/index.js +23 -7
  432. package/search-index/elastic/keyword-rewriter.js +40 -18
  433. package/search-index/elastic/model/elastic-query.js +16 -2
  434. package/search-index/elastic/model/index-mapping.js +26 -5
  435. package/search-index/elastic/model/index.js +20 -4
  436. package/search-index/elastic/model/sort.js +16 -2
  437. package/search-index/elastic/module.js +64 -39
  438. package/search-index/elastic/query-builder/boolean-query-builder.js +69 -47
  439. package/search-index/elastic/query-builder/index.js +18 -2
  440. package/search-index/elastic/query-converter.js +192 -175
  441. package/search-index/elastic/search-index.js +153 -133
  442. package/search-index/elastic/sort-converter.js +34 -13
  443. package/search-index/elastic/types.js +16 -2
  444. package/search-index/error.js +35 -14
  445. package/search-index/index.js +20 -4
  446. package/search-index/memory/index.js +18 -2
  447. package/search-index/memory/memory-search-index.js +152 -131
  448. package/search-index/search-index.js +53 -31
  449. package/search-index/search-result.js +16 -2
  450. package/serializer/handlers/binary.js +47 -20
  451. package/serializer/handlers/date.js +28 -5
  452. package/serializer/handlers/error.js +31 -8
  453. package/serializer/handlers/index.js +24 -8
  454. package/serializer/handlers/map.js +40 -17
  455. package/serializer/handlers/regex.js +31 -8
  456. package/serializer/handlers/register.js +59 -37
  457. package/serializer/handlers/set.js +37 -14
  458. package/serializer/index.js +30 -4
  459. package/serializer/serializable.js +68 -44
  460. package/serializer/serializer.js +264 -245
  461. package/serializer/types.js +34 -7
  462. package/sse/index.js +19 -3
  463. package/sse/model.js +16 -2
  464. package/sse/server-sent-events-source.js +76 -55
  465. package/sse/server-sent-events.js +72 -49
  466. package/supports.js +32 -6
  467. package/templates/index.js +26 -10
  468. package/templates/module.js +58 -38
  469. package/templates/providers/file.template-provider.js +81 -41
  470. package/templates/providers/memory.template-provider.js +55 -29
  471. package/templates/renderers/handlebars.template-renderer.js +115 -79
  472. package/templates/renderers/jsx.template-renderer.js +56 -30
  473. package/templates/renderers/mjml.template-renderer.js +82 -45
  474. package/templates/renderers/string.template-renderer.js +49 -23
  475. package/templates/resolvers/file.template-resolver.js +89 -47
  476. package/templates/resolvers/jsx.template-resolver.js +59 -31
  477. package/templates/resolvers/string.template-resolver.js +59 -31
  478. package/templates/template-renderer.provider.js +66 -38
  479. package/templates/template-resolver.provider.js +66 -38
  480. package/templates/template.model.js +69 -41
  481. package/templates/template.provider.js +24 -2
  482. package/templates/template.renderer.js +34 -12
  483. package/templates/template.resolver.js +24 -2
  484. package/templates/template.service.js +82 -51
  485. package/templates/tokens.js +27 -4
  486. package/templates/types/jsx.intrinsic-elements.js +16 -2
  487. package/text/dynamic-text.model.js +49 -25
  488. package/text/index.js +20 -4
  489. package/text/localizable-text.model.js +16 -2
  490. package/text/localization.service.js +217 -190
  491. package/theme/adapters/css-adapter.js +46 -24
  492. package/theme/adapters/tailwind-adapter.js +51 -29
  493. package/theme/index.js +18 -2
  494. package/theme/theme-service.js +146 -109
  495. package/threading/index.js +19 -3
  496. package/threading/thread-pool.js +70 -49
  497. package/threading/thread-worker.js +26 -4
  498. package/tokens.js +25 -3
  499. package/tsconfig.json +1 -2
  500. package/types/geo-json.js +16 -2
  501. package/types.js +16 -3
  502. package/utils/alphabet.js +35 -13
  503. package/utils/any-iterable-iterator.js +27 -5
  504. package/utils/array/array-backtracker.js +65 -43
  505. package/utils/array/array.js +77 -76
  506. package/utils/array/index.js +19 -3
  507. package/utils/async-iterable-helpers/all.js +46 -26
  508. package/utils/async-iterable-helpers/any.js +46 -26
  509. package/utils/async-iterable-helpers/assert.js +43 -23
  510. package/utils/async-iterable-helpers/batch.js +46 -27
  511. package/utils/async-iterable-helpers/buffer.js +64 -48
  512. package/utils/async-iterable-helpers/concat.js +27 -6
  513. package/utils/async-iterable-helpers/default-if-empty.js +32 -10
  514. package/utils/async-iterable-helpers/deferred.js +26 -4
  515. package/utils/async-iterable-helpers/difference.js +48 -25
  516. package/utils/async-iterable-helpers/distinct.js +44 -24
  517. package/utils/async-iterable-helpers/drain.js +26 -5
  518. package/utils/async-iterable-helpers/filter.js +44 -24
  519. package/utils/async-iterable-helpers/first-or-default.js +30 -9
  520. package/utils/async-iterable-helpers/first.js +30 -9
  521. package/utils/async-iterable-helpers/for-each.js +38 -19
  522. package/utils/async-iterable-helpers/group-single.js +26 -4
  523. package/utils/async-iterable-helpers/group-to-map.js +41 -21
  524. package/utils/async-iterable-helpers/group-to-single-map.js +44 -24
  525. package/utils/async-iterable-helpers/group.js +26 -4
  526. package/utils/async-iterable-helpers/includes.js +28 -8
  527. package/utils/async-iterable-helpers/index.js +65 -49
  528. package/utils/async-iterable-helpers/interrupt.js +43 -20
  529. package/utils/async-iterable-helpers/is-async-iterable.js +29 -6
  530. package/utils/async-iterable-helpers/last-or-default.js +36 -14
  531. package/utils/async-iterable-helpers/last.js +36 -14
  532. package/utils/async-iterable-helpers/map-many.js +40 -20
  533. package/utils/async-iterable-helpers/map.js +40 -20
  534. package/utils/async-iterable-helpers/materialize.js +42 -22
  535. package/utils/async-iterable-helpers/metadata.js +58 -39
  536. package/utils/async-iterable-helpers/multiplex.js +44 -24
  537. package/utils/async-iterable-helpers/observable-iterable.js +53 -32
  538. package/utils/async-iterable-helpers/pairwise.js +44 -27
  539. package/utils/async-iterable-helpers/parallel/feed.js +45 -25
  540. package/utils/async-iterable-helpers/parallel/filter.js +31 -9
  541. package/utils/async-iterable-helpers/parallel/for-each.js +44 -22
  542. package/utils/async-iterable-helpers/parallel/group.js +32 -10
  543. package/utils/async-iterable-helpers/parallel/index.js +24 -8
  544. package/utils/async-iterable-helpers/parallel/map.js +29 -7
  545. package/utils/async-iterable-helpers/parallel/tap.js +29 -7
  546. package/utils/async-iterable-helpers/parallel/types.js +16 -2
  547. package/utils/async-iterable-helpers/reduce.js +46 -32
  548. package/utils/async-iterable-helpers/retry.js +58 -44
  549. package/utils/async-iterable-helpers/single-or-default.js +40 -18
  550. package/utils/async-iterable-helpers/single.js +42 -20
  551. package/utils/async-iterable-helpers/skip.js +26 -4
  552. package/utils/async-iterable-helpers/sort.js +29 -7
  553. package/utils/async-iterable-helpers/take-until.js +49 -33
  554. package/utils/async-iterable-helpers/take-while.js +46 -30
  555. package/utils/async-iterable-helpers/take.js +33 -11
  556. package/utils/async-iterable-helpers/tap.js +40 -20
  557. package/utils/async-iterable-helpers/throttle.js +30 -10
  558. package/utils/async-iterable-helpers/to-array.js +33 -11
  559. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +59 -41
  560. package/utils/async-iterable-helpers/to-async-iterator.js +54 -33
  561. package/utils/async-iterable-helpers/to-set.js +33 -11
  562. package/utils/async-iterable-helpers/to-sync-iterable.js +27 -7
  563. package/utils/async-iterable-helpers/types.js +16 -2
  564. package/utils/async-iterable-helpers/while.js +46 -26
  565. package/utils/async-iterator-iterable-iterator.js +62 -42
  566. package/utils/backoff.js +109 -110
  567. package/utils/base64.js +140 -154
  568. package/utils/benchmark.js +107 -115
  569. package/utils/binary-search.js +87 -71
  570. package/utils/binary.js +61 -51
  571. package/utils/cancellation-token.js +169 -148
  572. package/utils/clone.js +64 -44
  573. package/utils/comparison.js +98 -77
  574. package/utils/compression.js +118 -108
  575. package/utils/config-parser.js +48 -22
  576. package/utils/cryptography.js +111 -143
  577. package/utils/date-time.js +139 -104
  578. package/utils/encoding.js +60 -63
  579. package/utils/enum.js +53 -28
  580. package/utils/equals.js +116 -102
  581. package/utils/event-loop.js +39 -20
  582. package/utils/factory-map.js +75 -54
  583. package/utils/feedable-async-iterable.js +70 -48
  584. package/utils/file-reader.js +41 -16
  585. package/utils/format-error.js +56 -36
  586. package/utils/function/index.js +19 -3
  587. package/utils/function/memoize.js +53 -39
  588. package/utils/function/throttle.js +48 -27
  589. package/utils/helpers.js +122 -116
  590. package/utils/image.js +88 -63
  591. package/utils/index.js +64 -48
  592. package/utils/iterable-helpers/all.js +31 -9
  593. package/utils/iterable-helpers/any.js +31 -9
  594. package/utils/iterable-helpers/assert.js +30 -8
  595. package/utils/iterable-helpers/batch.js +34 -12
  596. package/utils/iterable-helpers/concat.js +27 -5
  597. package/utils/iterable-helpers/default-if-empty.js +32 -10
  598. package/utils/iterable-helpers/deferred.js +25 -3
  599. package/utils/iterable-helpers/difference.js +45 -22
  600. package/utils/iterable-helpers/distinct.js +32 -10
  601. package/utils/iterable-helpers/drain.js +26 -5
  602. package/utils/iterable-helpers/filter.js +30 -8
  603. package/utils/iterable-helpers/first-or-default.js +30 -9
  604. package/utils/iterable-helpers/first.js +30 -9
  605. package/utils/iterable-helpers/for-each.js +28 -6
  606. package/utils/iterable-helpers/group-single.js +26 -4
  607. package/utils/iterable-helpers/group-to-map.js +32 -10
  608. package/utils/iterable-helpers/group-to-single-map.js +33 -11
  609. package/utils/iterable-helpers/group.js +26 -4
  610. package/utils/iterable-helpers/includes.js +26 -4
  611. package/utils/iterable-helpers/index.js +56 -40
  612. package/utils/iterable-helpers/is-iterable.js +29 -6
  613. package/utils/iterable-helpers/last-or-default.js +36 -14
  614. package/utils/iterable-helpers/last.js +36 -14
  615. package/utils/iterable-helpers/map-many.js +29 -7
  616. package/utils/iterable-helpers/map.js +29 -7
  617. package/utils/iterable-helpers/materialize.js +25 -3
  618. package/utils/iterable-helpers/metadata.js +38 -17
  619. package/utils/iterable-helpers/pairwise.js +33 -12
  620. package/utils/iterable-helpers/range.js +27 -5
  621. package/utils/iterable-helpers/reduce.js +33 -12
  622. package/utils/iterable-helpers/single-or-default.js +37 -15
  623. package/utils/iterable-helpers/single.js +40 -18
  624. package/utils/iterable-helpers/skip.js +29 -7
  625. package/utils/iterable-helpers/sort.js +27 -5
  626. package/utils/iterable-helpers/take-until.js +31 -9
  627. package/utils/iterable-helpers/take-while.js +33 -11
  628. package/utils/iterable-helpers/take.js +33 -11
  629. package/utils/iterable-helpers/tap.js +29 -7
  630. package/utils/iterable-helpers/types.js +16 -2
  631. package/utils/iterable-helpers/while.js +31 -9
  632. package/utils/jwt.js +100 -78
  633. package/utils/map.js +62 -36
  634. package/utils/math.js +63 -102
  635. package/utils/merge.js +45 -27
  636. package/utils/middleware.js +60 -37
  637. package/utils/moving-metric.js +188 -156
  638. package/utils/noop.js +27 -5
  639. package/utils/object/decycle.js +78 -58
  640. package/utils/object/dereference.js +44 -47
  641. package/utils/object/forward-ref.js +73 -58
  642. package/utils/object/index.js +24 -8
  643. package/utils/object/lazy-property.js +96 -82
  644. package/utils/object/merge.js +70 -49
  645. package/utils/object/object.js +109 -84
  646. package/utils/object/property-name.js +65 -63
  647. package/utils/ordered-feedable-async-iterable.js +65 -43
  648. package/utils/patch-worker.js +90 -70
  649. package/utils/patterns.js +29 -8
  650. package/utils/periodic-reporter.js +82 -61
  651. package/utils/periodic-sampler.js +91 -68
  652. package/utils/provider-function-iterable.js +48 -27
  653. package/utils/proxy.js +42 -18
  654. package/utils/random.js +50 -41
  655. package/utils/reflection.js +41 -14
  656. package/utils/set.js +62 -37
  657. package/utils/singleton.js +41 -19
  658. package/utils/sort.js +77 -54
  659. package/utils/stream/finalize-stream.js +52 -33
  660. package/utils/stream/index.js +23 -7
  661. package/utils/stream/readable-stream-adapter.js +57 -36
  662. package/utils/stream/readable-stream-from-promise.js +27 -7
  663. package/utils/stream/size-limited-stream.js +35 -13
  664. package/utils/stream/stream-helper-types.js +16 -2
  665. package/utils/stream/stream-reader.js +52 -31
  666. package/utils/string/hypenate.js +25 -3
  667. package/utils/string/index.js +20 -4
  668. package/utils/string/title-case.js +26 -7
  669. package/utils/string/trim.js +32 -10
  670. package/utils/throw.js +30 -8
  671. package/utils/timer.js +91 -71
  672. package/utils/timing.js +60 -34
  673. package/utils/type-guards.js +1024 -242
  674. package/utils/type-of.js +43 -26
  675. package/utils/units.js +124 -54
  676. package/utils/url-builder.js +68 -48
  677. package/utils/z-base32.js +63 -43
  678. package/web-types.js +16 -2
  679. package/api/client/client.js.map +0 -1
  680. package/api/client/index.js.map +0 -1
  681. package/api/default-error-handlers.js.map +0 -1
  682. package/api/index.js.map +0 -1
  683. package/api/response.js.map +0 -1
  684. package/api/server/api-controller.js.map +0 -1
  685. package/api/server/api-request-token.provider.js.map +0 -1
  686. package/api/server/error-handler.js.map +0 -1
  687. package/api/server/gateway.js.map +0 -1
  688. package/api/server/index.js.map +0 -1
  689. package/api/server/middlewares/allowed-methods.middleware.js.map +0 -1
  690. package/api/server/middlewares/catch-error.middleware.js.map +0 -1
  691. package/api/server/middlewares/cors.middleware.js.map +0 -1
  692. package/api/server/middlewares/index.js.map +0 -1
  693. package/api/server/middlewares/response-time.middleware.js.map +0 -1
  694. package/api/server/module.js.map +0 -1
  695. package/api/server/tokens.js.map +0 -1
  696. package/api/types.js.map +0 -1
  697. package/api/utils.js.map +0 -1
  698. package/application/application.js.map +0 -1
  699. package/application/index.js.map +0 -1
  700. package/async-iterator-symbol.js.map +0 -1
  701. package/authentication/authentication.api.js.map +0 -1
  702. package/authentication/client/api.client.js.map +0 -1
  703. package/authentication/client/authentication.service.js.map +0 -1
  704. package/authentication/client/http-client.middleware.js.map +0 -1
  705. package/authentication/client/index.js.map +0 -1
  706. package/authentication/client/module.js.map +0 -1
  707. package/authentication/client/tokens.js.map +0 -1
  708. package/authentication/errors/index.js.map +0 -1
  709. package/authentication/errors/secret-requirements.error.js.map +0 -1
  710. package/authentication/index.js.map +0 -1
  711. package/authentication/models/authentication-credentials.model.js.map +0 -1
  712. package/authentication/models/authentication-session.model.js.map +0 -1
  713. package/authentication/models/index.js.map +0 -1
  714. package/authentication/models/init-secret-reset-data.model.js.map +0 -1
  715. package/authentication/models/secret-check-result.model.js.map +0 -1
  716. package/authentication/models/token-payload-base.model.js.map +0 -1
  717. package/authentication/models/token.model.js.map +0 -1
  718. package/authentication/server/authentication-api-request-token.provider.js.map +0 -1
  719. package/authentication/server/authentication-credentials.repository.js.map +0 -1
  720. package/authentication/server/authentication-secret-requirements.validator.js.map +0 -1
  721. package/authentication/server/authentication-secret-reset.handler.js.map +0 -1
  722. package/authentication/server/authentication-session.repository.js.map +0 -1
  723. package/authentication/server/authentication-subject.resolver.js.map +0 -1
  724. package/authentication/server/authentication-token-payload.provider.js.map +0 -1
  725. package/authentication/server/authentication.api-controller.js.map +0 -1
  726. package/authentication/server/authentication.service.js.map +0 -1
  727. package/authentication/server/helper.js.map +0 -1
  728. package/authentication/server/index.js.map +0 -1
  729. package/authentication/server/module.js.map +0 -1
  730. package/authentication/server/mongo/index.js.map +0 -1
  731. package/authentication/server/mongo/mongo-authentication-credentials.repository.js.map +0 -1
  732. package/authentication/server/mongo/mongo-authentication-session.repository.js.map +0 -1
  733. package/collections/awaitable/awaitable-list.js.map +0 -1
  734. package/collections/awaitable/awaitable-map.js.map +0 -1
  735. package/collections/awaitable/awaitable-set.js.map +0 -1
  736. package/collections/awaitable/index.js.map +0 -1
  737. package/collections/collection.js.map +0 -1
  738. package/collections/index.js.map +0 -1
  739. package/collections/keyed-set.js.map +0 -1
  740. package/collections/list.js.map +0 -1
  741. package/collections/observable/index.js.map +0 -1
  742. package/collections/observable/observable-array.js.map +0 -1
  743. package/collections/observable/observable-collection-base.js.map +0 -1
  744. package/collections/observable/observable-collection.js.map +0 -1
  745. package/collections/observable/observable-list-base.js.map +0 -1
  746. package/collections/observable/observable-list.js.map +0 -1
  747. package/collections/observable/observable-map.js.map +0 -1
  748. package/collections/observable/observable-set.js.map +0 -1
  749. package/collections/observable/observable-sorted-array-list.js.map +0 -1
  750. package/collections/sorted-array-list.js.map +0 -1
  751. package/collections/sorted-list.js.map +0 -1
  752. package/collections/sorted-map.js.map +0 -1
  753. package/container/container.js.map +0 -1
  754. package/container/decorators.js.map +0 -1
  755. package/container/index.js.map +0 -1
  756. package/container/interfaces.js.map +0 -1
  757. package/container/provider.js.map +0 -1
  758. package/container/resolve-chain.js.map +0 -1
  759. package/container/resolve.error.js.map +0 -1
  760. package/container/token.js.map +0 -1
  761. package/container/type-info.js.map +0 -1
  762. package/container/types.js.map +0 -1
  763. package/container/utils.js.map +0 -1
  764. package/cookie/cookie.js.map +0 -1
  765. package/cookie/index.js.map +0 -1
  766. package/core.js.map +0 -1
  767. package/data-structures/array-list.js.map +0 -1
  768. package/data-structures/circular-buffer.js.map +0 -1
  769. package/data-structures/collection.js.map +0 -1
  770. package/data-structures/index-out-of-bounds.error.js.map +0 -1
  771. package/data-structures/index.js.map +0 -1
  772. package/data-structures/iterable-weak-map.js.map +0 -1
  773. package/data-structures/linked-list.js.map +0 -1
  774. package/data-structures/list.js.map +0 -1
  775. package/data-structures/map.js.map +0 -1
  776. package/data-structures/multi-key-map.js.map +0 -1
  777. package/data-structures/set.js.map +0 -1
  778. package/data-structures/sorted-array-list.js.map +0 -1
  779. package/data-structures/weak-ref-map.js.map +0 -1
  780. package/database/entity-repository.js.map +0 -1
  781. package/database/entity.js.map +0 -1
  782. package/database/id.js.map +0 -1
  783. package/database/index.js.map +0 -1
  784. package/database/module.js.map +0 -1
  785. package/database/mongo/classes.js.map +0 -1
  786. package/database/mongo/index.js.map +0 -1
  787. package/database/mongo/model/document.js.map +0 -1
  788. package/database/mongo/model/index.js.map +0 -1
  789. package/database/mongo/module.js.map +0 -1
  790. package/database/mongo/mongo-base.repository.js.map +0 -1
  791. package/database/mongo/mongo-bulk.js.map +0 -1
  792. package/database/mongo/mongo-entity-repository.js.map +0 -1
  793. package/database/mongo/operations.js.map +0 -1
  794. package/database/mongo/query-converter.js.map +0 -1
  795. package/database/mongo/simple-entity-repository.js.map +0 -1
  796. package/database/mongo/types.js.map +0 -1
  797. package/database/query.js.map +0 -1
  798. package/database/utils.js.map +0 -1
  799. package/disposable/async-disposer.js.map +0 -1
  800. package/disposable/disposable.js.map +0 -1
  801. package/disposable/index.js.map +0 -1
  802. package/disposable/using.js.map +0 -1
  803. package/distributed-loop/controller.js.map +0 -1
  804. package/distributed-loop/distributed-loop.js.map +0 -1
  805. package/distributed-loop/index.js.map +0 -1
  806. package/distributed-loop/provider.js.map +0 -1
  807. package/enumerable/async-enumerable.js.map +0 -1
  808. package/enumerable/enumerable-methods.js.map +0 -1
  809. package/enumerable/enumerable.js.map +0 -1
  810. package/enumerable/index.js.map +0 -1
  811. package/environment.js.map +0 -1
  812. package/error/api.error.js.map +0 -1
  813. package/error/assertion.error.js.map +0 -1
  814. package/error/bad-request.error.js.map +0 -1
  815. package/error/custom.error.js.map +0 -1
  816. package/error/details.error.js.map +0 -1
  817. package/error/forbidden.error.js.map +0 -1
  818. package/error/index.js.map +0 -1
  819. package/error/invalid-token.error.js.map +0 -1
  820. package/error/max-bytes-exceeded.error.js.map +0 -1
  821. package/error/method-not-allowed.error.js.map +0 -1
  822. package/error/multi.error.js.map +0 -1
  823. package/error/not-found.error.js.map +0 -1
  824. package/error/not-implemented.error.js.map +0 -1
  825. package/error/not-supported.error.js.map +0 -1
  826. package/error/unauthorized.error.js.map +0 -1
  827. package/error/unsupported-media-type.error.js.map +0 -1
  828. package/examples/api/authentication.js.map +0 -1
  829. package/examples/api/basic-overview.js.map +0 -1
  830. package/examples/api/custom-authentication.js.map +0 -1
  831. package/examples/api/streaming.js.map +0 -1
  832. package/examples/http/client.js.map +0 -1
  833. package/examples/mail/basic.js.map +0 -1
  834. package/examples/mail/templates/hello-name.js.map +0 -1
  835. package/examples/pdf/basic.js.map +0 -1
  836. package/examples/pdf/templates/hello-name.js.map +0 -1
  837. package/examples/reflection/basic.js.map +0 -1
  838. package/examples/template/basic.js.map +0 -1
  839. package/examples/template/templates/hello-jsx.js.map +0 -1
  840. package/examples/template/templates/hello-name.js.map +0 -1
  841. package/global-this.js.map +0 -1
  842. package/http/client/adapters/undici-http-client.adapter.js.map +0 -1
  843. package/http/client/http-client-options.js.map +0 -1
  844. package/http/client/http-client-request.js.map +0 -1
  845. package/http/client/http-client-response.js.map +0 -1
  846. package/http/client/http-client.adapter.js.map +0 -1
  847. package/http/client/http-client.js.map +0 -1
  848. package/http/client/index.js.map +0 -1
  849. package/http/client/module.js.map +0 -1
  850. package/http/cookie-parser.js.map +0 -1
  851. package/http/http-body.js.map +0 -1
  852. package/http/http-form.js.map +0 -1
  853. package/http/http-headers.js.map +0 -1
  854. package/http/http-query.js.map +0 -1
  855. package/http/http-url-parameters.js.map +0 -1
  856. package/http/http-value-map.js.map +0 -1
  857. package/http/http.error.js.map +0 -1
  858. package/http/index.js.map +0 -1
  859. package/http/server/http-server-request.js.map +0 -1
  860. package/http/server/http-server-response.js.map +0 -1
  861. package/http/server/http-server.js.map +0 -1
  862. package/http/server/index.js.map +0 -1
  863. package/http/server/node/index.js.map +0 -1
  864. package/http/server/node/module.js.map +0 -1
  865. package/http/server/node/node-http-server.js.map +0 -1
  866. package/http/types.js.map +0 -1
  867. package/http/utils.js.map +0 -1
  868. package/image-service/image-service.js.map +0 -1
  869. package/image-service/imgproxy/imgproxy-image-service.js.map +0 -1
  870. package/image-service/imgproxy/index.js.map +0 -1
  871. package/image-service/index.js.map +0 -1
  872. package/import.js.map +0 -1
  873. package/index.js.map +0 -1
  874. package/interfaces.js.map +0 -1
  875. package/json-path/index.js.map +0 -1
  876. package/json-path/json-path.js.map +0 -1
  877. package/key-value-store/index.js.map +0 -1
  878. package/key-value-store/key-value-store.provider.js.map +0 -1
  879. package/key-value-store/key-value.store.js.map +0 -1
  880. package/key-value-store/mongo/index.js.map +0 -1
  881. package/key-value-store/mongo/module.js.map +0 -1
  882. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +0 -1
  883. package/key-value-store/mongo/mongo-key-value.model.js.map +0 -1
  884. package/key-value-store/mongo/mongo-key-value.repository.js.map +0 -1
  885. package/key-value-store/mongo/mongo-key-value.store.js.map +0 -1
  886. package/key-value-store/mongo/tokens.js.map +0 -1
  887. package/lock/index.js.map +0 -1
  888. package/lock/lock.js.map +0 -1
  889. package/lock/mongo/index.js.map +0 -1
  890. package/lock/mongo/lock.js.map +0 -1
  891. package/lock/mongo/model.js.map +0 -1
  892. package/lock/mongo/module.js.map +0 -1
  893. package/lock/mongo/mongo-lock-repository.js.map +0 -1
  894. package/lock/mongo/provider.js.map +0 -1
  895. package/lock/provider.js.map +0 -1
  896. package/lock/web/index.js.map +0 -1
  897. package/lock/web/module.js.map +0 -1
  898. package/lock/web/web-lock.js.map +0 -1
  899. package/lock/web/web-lock.provider.js.map +0 -1
  900. package/logger/console/index.js.map +0 -1
  901. package/logger/console/logger.js.map +0 -1
  902. package/logger/index.js.map +0 -1
  903. package/logger/level.js.map +0 -1
  904. package/logger/logger.js.map +0 -1
  905. package/logger/noop/index.js.map +0 -1
  906. package/logger/noop/logger.js.map +0 -1
  907. package/mail/clients/nodemailer.mail-client.js.map +0 -1
  908. package/mail/index.js.map +0 -1
  909. package/mail/mail-log.repository.js.map +0 -1
  910. package/mail/mail.client.js.map +0 -1
  911. package/mail/mail.service.js.map +0 -1
  912. package/mail/models/index.js.map +0 -1
  913. package/mail/models/mail-address.model.js.map +0 -1
  914. package/mail/models/mail-content.model.js.map +0 -1
  915. package/mail/models/mail-data.model.js.map +0 -1
  916. package/mail/models/mail-log.model.js.map +0 -1
  917. package/mail/models/mail-send-result.model.js.map +0 -1
  918. package/mail/models/mail-template.model.js.map +0 -1
  919. package/mail/module.js.map +0 -1
  920. package/mail/repositories/mongo-mail-log.repository.js.map +0 -1
  921. package/mail/tokens.js.map +0 -1
  922. package/memory/finalization.js.map +0 -1
  923. package/memory/index.js.map +0 -1
  924. package/memory/observable-finalization-registry.js.map +0 -1
  925. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js.map +0 -1
  926. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js.map +0 -1
  927. package/message-bus/broadcast-channel/index.js.map +0 -1
  928. package/message-bus/broadcast-channel/module.js.map +0 -1
  929. package/message-bus/index.js.map +0 -1
  930. package/message-bus/local/index.js.map +0 -1
  931. package/message-bus/local/local-message-bus-provider.js.map +0 -1
  932. package/message-bus/local/local-message-bus.js.map +0 -1
  933. package/message-bus/local/module.js.map +0 -1
  934. package/message-bus/local/types.js.map +0 -1
  935. package/message-bus/message-bus-base.js.map +0 -1
  936. package/message-bus/message-bus-provider.js.map +0 -1
  937. package/message-bus/message-bus.js.map +0 -1
  938. package/migration/index.js.map +0 -1
  939. package/migration/migration-state-repository.js.map +0 -1
  940. package/migration/migration-state.js.map +0 -1
  941. package/migration/migrator.js.map +0 -1
  942. package/migration/mongo/index.js.map +0 -1
  943. package/migration/mongo/migration-state-repository.js.map +0 -1
  944. package/migration/mongo/module.js.map +0 -1
  945. package/module/index.js.map +0 -1
  946. package/module/module-base.js.map +0 -1
  947. package/module/module-metric-reporter.js.map +0 -1
  948. package/module/module.js.map +0 -1
  949. package/module/modules/function.module.js.map +0 -1
  950. package/module/modules/index.js.map +0 -1
  951. package/module/modules/web-server.module.js.map +0 -1
  952. package/module/utils.js.map +0 -1
  953. package/notification/api.js.map +0 -1
  954. package/notification/models/index.js.map +0 -1
  955. package/notification/models/notification-channel-job.model.js.map +0 -1
  956. package/notification/models/notification.model.js.map +0 -1
  957. package/notification/module.js.map +0 -1
  958. package/notification/notification-channel.service.js.map +0 -1
  959. package/notification/notification.repository.js.map +0 -1
  960. package/notification/notification.service.js.map +0 -1
  961. package/object-storage/index.js.map +0 -1
  962. package/object-storage/object-storage-provider.js.map +0 -1
  963. package/object-storage/object-storage.js.map +0 -1
  964. package/object-storage/object.js.map +0 -1
  965. package/object-storage/s3/index.js.map +0 -1
  966. package/object-storage/s3/s3.object-storage-provider.js.map +0 -1
  967. package/object-storage/s3/s3.object-storage.js.map +0 -1
  968. package/object-storage/s3/s3.object.js.map +0 -1
  969. package/openid-connect/cached-oidc-configuration.service.js.map +0 -1
  970. package/openid-connect/index.js.map +0 -1
  971. package/openid-connect/mongo-oidc-state.repository.js.map +0 -1
  972. package/openid-connect/oidc-configuration.service.js.map +0 -1
  973. package/openid-connect/oidc-state.model.js.map +0 -1
  974. package/openid-connect/oidc-state.repository.js.map +0 -1
  975. package/openid-connect/oidc.service-model.js.map +0 -1
  976. package/openid-connect/oidc.service.js.map +0 -1
  977. package/password/have-i-been-pwned.js.map +0 -1
  978. package/password/index.js.map +0 -1
  979. package/password/password-check-result.model.js.map +0 -1
  980. package/password/password-check.js.map +0 -1
  981. package/password/password-check.localization.js.map +0 -1
  982. package/pdf/index.js.map +0 -1
  983. package/pdf/pdf.service.js.map +0 -1
  984. package/pool/index.js.map +0 -1
  985. package/pool/pool.js.map +0 -1
  986. package/process-shutdown.js.map +0 -1
  987. package/promise/cancelable-promise.js.map +0 -1
  988. package/promise/deferred-promise.js.map +0 -1
  989. package/promise/index.js.map +0 -1
  990. package/promise/lazy-promise.js.map +0 -1
  991. package/queue/enqueue-batch.js.map +0 -1
  992. package/queue/index.js.map +0 -1
  993. package/queue/mongo/index.js.map +0 -1
  994. package/queue/mongo/job.js.map +0 -1
  995. package/queue/mongo/mongo-job.repository.js.map +0 -1
  996. package/queue/mongo/queue.js.map +0 -1
  997. package/queue/mongo/queue.provider.js.map +0 -1
  998. package/queue/provider.js.map +0 -1
  999. package/queue/queue.js.map +0 -1
  1000. package/random/index.js.map +0 -1
  1001. package/random/number/index.js.map +0 -1
  1002. package/random/number/mulberry32.js.map +0 -1
  1003. package/random/number/seeded.js.map +0 -1
  1004. package/random/number/sfc32.js.map +0 -1
  1005. package/reflection/decorator-data.js.map +0 -1
  1006. package/reflection/decorators.js.map +0 -1
  1007. package/reflection/index.js.map +0 -1
  1008. package/reflection/reflection-data-map.js.map +0 -1
  1009. package/reflection/registry.js.map +0 -1
  1010. package/reflection/types.js.map +0 -1
  1011. package/reflection/utils.js.map +0 -1
  1012. package/require.js.map +0 -1
  1013. package/rpc/endpoints/message-port.rpc-endpoint.js.map +0 -1
  1014. package/rpc/index.js.map +0 -1
  1015. package/rpc/model.js.map +0 -1
  1016. package/rpc/rpc-endpoint.js.map +0 -1
  1017. package/rpc/rpc-error.js.map +0 -1
  1018. package/rpc/rpc.js.map +0 -1
  1019. package/rxjs/cast.js.map +0 -1
  1020. package/rxjs/index.js.map +0 -1
  1021. package/rxjs/intersection-observer.js.map +0 -1
  1022. package/rxjs/media-query.js.map +0 -1
  1023. package/rxjs/mutation-observer.js.map +0 -1
  1024. package/rxjs/noop.js.map +0 -1
  1025. package/rxjs/performance-observer.js.map +0 -1
  1026. package/rxjs/resize-observer.js.map +0 -1
  1027. package/rxjs/retry-backoff.js.map +0 -1
  1028. package/rxjs/slow-array.js.map +0 -1
  1029. package/rxjs/teardown.js.map +0 -1
  1030. package/rxjs/timing.js.map +0 -1
  1031. package/rxjs/touch.js.map +0 -1
  1032. package/schema/array-constraints/index.js.map +0 -1
  1033. package/schema/array-constraints/maximum-length.js.map +0 -1
  1034. package/schema/array-constraints/minimum-length.js.map +0 -1
  1035. package/schema/coercers/boolean.coercer.js.map +0 -1
  1036. package/schema/coercers/date.coercer.js.map +0 -1
  1037. package/schema/coercers/index.js.map +0 -1
  1038. package/schema/coercers/number.coercer.js.map +0 -1
  1039. package/schema/coercers/regexp.coercer.js.map +0 -1
  1040. package/schema/coercers/string.coercer.js.map +0 -1
  1041. package/schema/coercers/uint8-array.coercer.js.map +0 -1
  1042. package/schema/constraints/enumeration.js.map +0 -1
  1043. package/schema/constraints/generic.js.map +0 -1
  1044. package/schema/constraints/index.js.map +0 -1
  1045. package/schema/constraints/integer.js.map +0 -1
  1046. package/schema/constraints/length.js.map +0 -1
  1047. package/schema/constraints/literal.js.map +0 -1
  1048. package/schema/constraints/maximum-date.js.map +0 -1
  1049. package/schema/constraints/maximum-length.js.map +0 -1
  1050. package/schema/constraints/maximum.js.map +0 -1
  1051. package/schema/constraints/minimum-date.js.map +0 -1
  1052. package/schema/constraints/minimum-length.js.map +0 -1
  1053. package/schema/constraints/minimum.js.map +0 -1
  1054. package/schema/constraints/pattern.js.map +0 -1
  1055. package/schema/decorators/class.js.map +0 -1
  1056. package/schema/decorators/coerce.js.map +0 -1
  1057. package/schema/decorators/constraint.js.map +0 -1
  1058. package/schema/decorators/index.js.map +0 -1
  1059. package/schema/decorators/property.js.map +0 -1
  1060. package/schema/decorators/types.js.map +0 -1
  1061. package/schema/decorators/utils.js.map +0 -1
  1062. package/schema/index.js.map +0 -1
  1063. package/schema/schema.error.js.map +0 -1
  1064. package/schema/schema.js.map +0 -1
  1065. package/schema/schemas/any.js.map +0 -1
  1066. package/schema/schemas/array.js.map +0 -1
  1067. package/schema/schemas/assign.js.map +0 -1
  1068. package/schema/schemas/boolean.js.map +0 -1
  1069. package/schema/schemas/constraint.js.map +0 -1
  1070. package/schema/schemas/date.js.map +0 -1
  1071. package/schema/schemas/defaulted.js.map +0 -1
  1072. package/schema/schemas/enumeration.js.map +0 -1
  1073. package/schema/schemas/index.js.map +0 -1
  1074. package/schema/schemas/instance.js.map +0 -1
  1075. package/schema/schemas/literal.js.map +0 -1
  1076. package/schema/schemas/nullable.js.map +0 -1
  1077. package/schema/schemas/number.js.map +0 -1
  1078. package/schema/schemas/object.js.map +0 -1
  1079. package/schema/schemas/omit.js.map +0 -1
  1080. package/schema/schemas/one-or-many.js.map +0 -1
  1081. package/schema/schemas/optional.js.map +0 -1
  1082. package/schema/schemas/partial.js.map +0 -1
  1083. package/schema/schemas/pick.js.map +0 -1
  1084. package/schema/schemas/readable-stream.js.map +0 -1
  1085. package/schema/schemas/record.js.map +0 -1
  1086. package/schema/schemas/regexp.js.map +0 -1
  1087. package/schema/schemas/string.js.map +0 -1
  1088. package/schema/schemas/transform.js.map +0 -1
  1089. package/schema/schemas/uint8-array.js.map +0 -1
  1090. package/schema/schemas/union.js.map +0 -1
  1091. package/schema/schemas/unknown.js.map +0 -1
  1092. package/schema/transformers/generic.js.map +0 -1
  1093. package/schema/transformers/index.js.map +0 -1
  1094. package/schema/transformers/lowercase.js.map +0 -1
  1095. package/schema/transformers/trim.js.map +0 -1
  1096. package/schema/transformers/uppercase.js.map +0 -1
  1097. package/schema/types/index.js.map +0 -1
  1098. package/schema/types/schema-array-constraint.js.map +0 -1
  1099. package/schema/types/schema-value-coercer.js.map +0 -1
  1100. package/schema/types/schema-value-constraint.js.map +0 -1
  1101. package/schema/types/schema-value-transformer.js.map +0 -1
  1102. package/schema/types/types.js.map +0 -1
  1103. package/schema/utils/index.js.map +0 -1
  1104. package/schema/utils/schema.js.map +0 -1
  1105. package/schema/utils/value-type.js.map +0 -1
  1106. package/search-index/elastic/config.js.map +0 -1
  1107. package/search-index/elastic/index.js.map +0 -1
  1108. package/search-index/elastic/keyword-rewriter.js.map +0 -1
  1109. package/search-index/elastic/model/elastic-query.js.map +0 -1
  1110. package/search-index/elastic/model/index-mapping.js.map +0 -1
  1111. package/search-index/elastic/model/index.js.map +0 -1
  1112. package/search-index/elastic/model/sort.js.map +0 -1
  1113. package/search-index/elastic/module.js.map +0 -1
  1114. package/search-index/elastic/query-builder/boolean-query-builder.js.map +0 -1
  1115. package/search-index/elastic/query-builder/index.js.map +0 -1
  1116. package/search-index/elastic/query-converter.js.map +0 -1
  1117. package/search-index/elastic/search-index.js.map +0 -1
  1118. package/search-index/elastic/sort-converter.js.map +0 -1
  1119. package/search-index/elastic/types.js.map +0 -1
  1120. package/search-index/error.js.map +0 -1
  1121. package/search-index/index.js.map +0 -1
  1122. package/search-index/memory/index.js.map +0 -1
  1123. package/search-index/memory/memory-search-index.js.map +0 -1
  1124. package/search-index/search-index.js.map +0 -1
  1125. package/search-index/search-result.js.map +0 -1
  1126. package/serializer/handlers/binary.js.map +0 -1
  1127. package/serializer/handlers/date.js.map +0 -1
  1128. package/serializer/handlers/error.js.map +0 -1
  1129. package/serializer/handlers/index.js.map +0 -1
  1130. package/serializer/handlers/map.js.map +0 -1
  1131. package/serializer/handlers/regex.js.map +0 -1
  1132. package/serializer/handlers/register.js.map +0 -1
  1133. package/serializer/handlers/set.js.map +0 -1
  1134. package/serializer/index.js.map +0 -1
  1135. package/serializer/serializable.js.map +0 -1
  1136. package/serializer/serializer.js.map +0 -1
  1137. package/serializer/types.js.map +0 -1
  1138. package/sse/index.js.map +0 -1
  1139. package/sse/model.js.map +0 -1
  1140. package/sse/server-sent-events-source.js.map +0 -1
  1141. package/sse/server-sent-events.js.map +0 -1
  1142. package/supports.js.map +0 -1
  1143. package/templates/index.js.map +0 -1
  1144. package/templates/module.js.map +0 -1
  1145. package/templates/providers/file.template-provider.js.map +0 -1
  1146. package/templates/providers/memory.template-provider.js.map +0 -1
  1147. package/templates/renderers/handlebars.template-renderer.js.map +0 -1
  1148. package/templates/renderers/jsx.template-renderer.js.map +0 -1
  1149. package/templates/renderers/mjml.template-renderer.js.map +0 -1
  1150. package/templates/renderers/string.template-renderer.js.map +0 -1
  1151. package/templates/resolvers/file.template-resolver.js.map +0 -1
  1152. package/templates/resolvers/jsx.template-resolver.js.map +0 -1
  1153. package/templates/resolvers/string.template-resolver.js.map +0 -1
  1154. package/templates/template-renderer.provider.js.map +0 -1
  1155. package/templates/template-resolver.provider.js.map +0 -1
  1156. package/templates/template.model.js.map +0 -1
  1157. package/templates/template.provider.js.map +0 -1
  1158. package/templates/template.renderer.js.map +0 -1
  1159. package/templates/template.resolver.js.map +0 -1
  1160. package/templates/template.service.js.map +0 -1
  1161. package/templates/tokens.js.map +0 -1
  1162. package/templates/types/jsx.intrinsic-elements.js.map +0 -1
  1163. package/text/dynamic-text.model.js.map +0 -1
  1164. package/text/index.js.map +0 -1
  1165. package/text/localizable-text.model.js.map +0 -1
  1166. package/text/localization.service.js.map +0 -1
  1167. package/theme/adapters/css-adapter.js.map +0 -1
  1168. package/theme/adapters/tailwind-adapter.js.map +0 -1
  1169. package/theme/index.js.map +0 -1
  1170. package/theme/theme-service.js.map +0 -1
  1171. package/threading/index.js.map +0 -1
  1172. package/threading/thread-pool.js.map +0 -1
  1173. package/threading/thread-worker.js.map +0 -1
  1174. package/tokens.js.map +0 -1
  1175. package/types/geo-json.js.map +0 -1
  1176. package/types.js.map +0 -1
  1177. package/utils/alphabet.js.map +0 -1
  1178. package/utils/any-iterable-iterator.js.map +0 -1
  1179. package/utils/array/array-backtracker.js.map +0 -1
  1180. package/utils/array/array.js.map +0 -1
  1181. package/utils/array/index.js.map +0 -1
  1182. package/utils/async-iterable-helpers/all.js.map +0 -1
  1183. package/utils/async-iterable-helpers/any.js.map +0 -1
  1184. package/utils/async-iterable-helpers/assert.js.map +0 -1
  1185. package/utils/async-iterable-helpers/batch.js.map +0 -1
  1186. package/utils/async-iterable-helpers/buffer.js.map +0 -1
  1187. package/utils/async-iterable-helpers/concat.js.map +0 -1
  1188. package/utils/async-iterable-helpers/default-if-empty.js.map +0 -1
  1189. package/utils/async-iterable-helpers/deferred.js.map +0 -1
  1190. package/utils/async-iterable-helpers/difference.js.map +0 -1
  1191. package/utils/async-iterable-helpers/distinct.js.map +0 -1
  1192. package/utils/async-iterable-helpers/drain.js.map +0 -1
  1193. package/utils/async-iterable-helpers/filter.js.map +0 -1
  1194. package/utils/async-iterable-helpers/first-or-default.js.map +0 -1
  1195. package/utils/async-iterable-helpers/first.js.map +0 -1
  1196. package/utils/async-iterable-helpers/for-each.js.map +0 -1
  1197. package/utils/async-iterable-helpers/group-single.js.map +0 -1
  1198. package/utils/async-iterable-helpers/group-to-map.js.map +0 -1
  1199. package/utils/async-iterable-helpers/group-to-single-map.js.map +0 -1
  1200. package/utils/async-iterable-helpers/group.js.map +0 -1
  1201. package/utils/async-iterable-helpers/includes.js.map +0 -1
  1202. package/utils/async-iterable-helpers/index.js.map +0 -1
  1203. package/utils/async-iterable-helpers/interrupt.js.map +0 -1
  1204. package/utils/async-iterable-helpers/is-async-iterable.js.map +0 -1
  1205. package/utils/async-iterable-helpers/last-or-default.js.map +0 -1
  1206. package/utils/async-iterable-helpers/last.js.map +0 -1
  1207. package/utils/async-iterable-helpers/map-many.js.map +0 -1
  1208. package/utils/async-iterable-helpers/map.js.map +0 -1
  1209. package/utils/async-iterable-helpers/materialize.js.map +0 -1
  1210. package/utils/async-iterable-helpers/metadata.js.map +0 -1
  1211. package/utils/async-iterable-helpers/multiplex.js.map +0 -1
  1212. package/utils/async-iterable-helpers/observable-iterable.js.map +0 -1
  1213. package/utils/async-iterable-helpers/pairwise.js.map +0 -1
  1214. package/utils/async-iterable-helpers/parallel/feed.js.map +0 -1
  1215. package/utils/async-iterable-helpers/parallel/filter.js.map +0 -1
  1216. package/utils/async-iterable-helpers/parallel/for-each.js.map +0 -1
  1217. package/utils/async-iterable-helpers/parallel/group.js.map +0 -1
  1218. package/utils/async-iterable-helpers/parallel/index.js.map +0 -1
  1219. package/utils/async-iterable-helpers/parallel/map.js.map +0 -1
  1220. package/utils/async-iterable-helpers/parallel/tap.js.map +0 -1
  1221. package/utils/async-iterable-helpers/parallel/types.js.map +0 -1
  1222. package/utils/async-iterable-helpers/reduce.js.map +0 -1
  1223. package/utils/async-iterable-helpers/retry.js.map +0 -1
  1224. package/utils/async-iterable-helpers/single-or-default.js.map +0 -1
  1225. package/utils/async-iterable-helpers/single.js.map +0 -1
  1226. package/utils/async-iterable-helpers/skip.js.map +0 -1
  1227. package/utils/async-iterable-helpers/sort.js.map +0 -1
  1228. package/utils/async-iterable-helpers/take-until.js.map +0 -1
  1229. package/utils/async-iterable-helpers/take-while.js.map +0 -1
  1230. package/utils/async-iterable-helpers/take.js.map +0 -1
  1231. package/utils/async-iterable-helpers/tap.js.map +0 -1
  1232. package/utils/async-iterable-helpers/throttle.js.map +0 -1
  1233. package/utils/async-iterable-helpers/to-array.js.map +0 -1
  1234. package/utils/async-iterable-helpers/to-async-iterable-iterator.js.map +0 -1
  1235. package/utils/async-iterable-helpers/to-async-iterator.js.map +0 -1
  1236. package/utils/async-iterable-helpers/to-set.js.map +0 -1
  1237. package/utils/async-iterable-helpers/to-sync-iterable.js.map +0 -1
  1238. package/utils/async-iterable-helpers/types.js.map +0 -1
  1239. package/utils/async-iterable-helpers/while.js.map +0 -1
  1240. package/utils/async-iterator-iterable-iterator.js.map +0 -1
  1241. package/utils/backoff.js.map +0 -1
  1242. package/utils/base64.js.map +0 -1
  1243. package/utils/benchmark.js.map +0 -1
  1244. package/utils/binary-search.js.map +0 -1
  1245. package/utils/binary.js.map +0 -1
  1246. package/utils/cancellation-token.js.map +0 -1
  1247. package/utils/clone.js.map +0 -1
  1248. package/utils/comparison.js.map +0 -1
  1249. package/utils/compression.js.map +0 -1
  1250. package/utils/config-parser.js.map +0 -1
  1251. package/utils/cryptography.js.map +0 -1
  1252. package/utils/date-time.js.map +0 -1
  1253. package/utils/encoding.js.map +0 -1
  1254. package/utils/enum.js.map +0 -1
  1255. package/utils/equals.js.map +0 -1
  1256. package/utils/event-loop.js.map +0 -1
  1257. package/utils/factory-map.js.map +0 -1
  1258. package/utils/feedable-async-iterable.js.map +0 -1
  1259. package/utils/file-reader.js.map +0 -1
  1260. package/utils/format-error.js.map +0 -1
  1261. package/utils/function/index.js.map +0 -1
  1262. package/utils/function/memoize.js.map +0 -1
  1263. package/utils/function/throttle.js.map +0 -1
  1264. package/utils/helpers.js.map +0 -1
  1265. package/utils/image.js.map +0 -1
  1266. package/utils/index.js.map +0 -1
  1267. package/utils/iterable-helpers/all.js.map +0 -1
  1268. package/utils/iterable-helpers/any.js.map +0 -1
  1269. package/utils/iterable-helpers/assert.js.map +0 -1
  1270. package/utils/iterable-helpers/batch.js.map +0 -1
  1271. package/utils/iterable-helpers/concat.js.map +0 -1
  1272. package/utils/iterable-helpers/default-if-empty.js.map +0 -1
  1273. package/utils/iterable-helpers/deferred.js.map +0 -1
  1274. package/utils/iterable-helpers/difference.js.map +0 -1
  1275. package/utils/iterable-helpers/distinct.js.map +0 -1
  1276. package/utils/iterable-helpers/drain.js.map +0 -1
  1277. package/utils/iterable-helpers/filter.js.map +0 -1
  1278. package/utils/iterable-helpers/first-or-default.js.map +0 -1
  1279. package/utils/iterable-helpers/first.js.map +0 -1
  1280. package/utils/iterable-helpers/for-each.js.map +0 -1
  1281. package/utils/iterable-helpers/group-single.js.map +0 -1
  1282. package/utils/iterable-helpers/group-to-map.js.map +0 -1
  1283. package/utils/iterable-helpers/group-to-single-map.js.map +0 -1
  1284. package/utils/iterable-helpers/group.js.map +0 -1
  1285. package/utils/iterable-helpers/includes.js.map +0 -1
  1286. package/utils/iterable-helpers/index.js.map +0 -1
  1287. package/utils/iterable-helpers/is-iterable.js.map +0 -1
  1288. package/utils/iterable-helpers/last-or-default.js.map +0 -1
  1289. package/utils/iterable-helpers/last.js.map +0 -1
  1290. package/utils/iterable-helpers/map-many.js.map +0 -1
  1291. package/utils/iterable-helpers/map.js.map +0 -1
  1292. package/utils/iterable-helpers/materialize.js.map +0 -1
  1293. package/utils/iterable-helpers/metadata.js.map +0 -1
  1294. package/utils/iterable-helpers/pairwise.js.map +0 -1
  1295. package/utils/iterable-helpers/range.js.map +0 -1
  1296. package/utils/iterable-helpers/reduce.js.map +0 -1
  1297. package/utils/iterable-helpers/single-or-default.js.map +0 -1
  1298. package/utils/iterable-helpers/single.js.map +0 -1
  1299. package/utils/iterable-helpers/skip.js.map +0 -1
  1300. package/utils/iterable-helpers/sort.js.map +0 -1
  1301. package/utils/iterable-helpers/take-until.js.map +0 -1
  1302. package/utils/iterable-helpers/take-while.js.map +0 -1
  1303. package/utils/iterable-helpers/take.js.map +0 -1
  1304. package/utils/iterable-helpers/tap.js.map +0 -1
  1305. package/utils/iterable-helpers/types.js.map +0 -1
  1306. package/utils/iterable-helpers/while.js.map +0 -1
  1307. package/utils/jwt.js.map +0 -1
  1308. package/utils/map.js.map +0 -1
  1309. package/utils/math.js.map +0 -1
  1310. package/utils/merge.js.map +0 -1
  1311. package/utils/middleware.js.map +0 -1
  1312. package/utils/moving-metric.js.map +0 -1
  1313. package/utils/noop.js.map +0 -1
  1314. package/utils/object/decycle.js.map +0 -1
  1315. package/utils/object/dereference.js.map +0 -1
  1316. package/utils/object/forward-ref.js.map +0 -1
  1317. package/utils/object/index.js.map +0 -1
  1318. package/utils/object/lazy-property.js.map +0 -1
  1319. package/utils/object/merge.js.map +0 -1
  1320. package/utils/object/object.js.map +0 -1
  1321. package/utils/object/property-name.js.map +0 -1
  1322. package/utils/ordered-feedable-async-iterable.js.map +0 -1
  1323. package/utils/patch-worker.js.map +0 -1
  1324. package/utils/patterns.js.map +0 -1
  1325. package/utils/periodic-reporter.js.map +0 -1
  1326. package/utils/periodic-sampler.js.map +0 -1
  1327. package/utils/provider-function-iterable.js.map +0 -1
  1328. package/utils/proxy.js.map +0 -1
  1329. package/utils/random.js.map +0 -1
  1330. package/utils/reflection.js.map +0 -1
  1331. package/utils/set.js.map +0 -1
  1332. package/utils/singleton.js.map +0 -1
  1333. package/utils/sort.js.map +0 -1
  1334. package/utils/stream/finalize-stream.js.map +0 -1
  1335. package/utils/stream/index.js.map +0 -1
  1336. package/utils/stream/readable-stream-adapter.js.map +0 -1
  1337. package/utils/stream/readable-stream-from-promise.js.map +0 -1
  1338. package/utils/stream/size-limited-stream.js.map +0 -1
  1339. package/utils/stream/stream-helper-types.js.map +0 -1
  1340. package/utils/stream/stream-reader.js.map +0 -1
  1341. package/utils/string/hypenate.js.map +0 -1
  1342. package/utils/string/index.js.map +0 -1
  1343. package/utils/string/title-case.js.map +0 -1
  1344. package/utils/string/trim.js.map +0 -1
  1345. package/utils/throw.js.map +0 -1
  1346. package/utils/timer.js.map +0 -1
  1347. package/utils/timing.js.map +0 -1
  1348. package/utils/type-guards.js.map +0 -1
  1349. package/utils/type-of.js.map +0 -1
  1350. package/utils/units.js.map +0 -1
  1351. package/utils/url-builder.js.map +0 -1
  1352. package/utils/z-base32.js.map +0 -1
  1353. package/web-types.js.map +0 -1
@@ -1,429 +1,443 @@
1
- import { CircularBuffer } from '../data-structures/circular-buffer.js';
2
- import { MultiKeyMap } from '../data-structures/multi-key-map.js';
3
- import { reflectionRegistry } from '../reflection/index.js';
4
- import { mapAsync } from '../utils/async-iterable-helpers/map.js';
5
- import { toArrayAsync } from '../utils/async-iterable-helpers/to-array.js';
6
- import { ForwardRef } from '../utils/object/forward-ref.js';
7
- import { objectEntries } from '../utils/object/object.js';
8
- import { isDefined, isFunction, isPromise, isUndefined } from '../utils/type-guards.js';
9
- import { Subject } from 'rxjs';
10
- import { afterResolve } from './interfaces.js';
11
- import { isClassProvider, isFactoryProvider, isTokenProvider, isValueProvider } from './provider.js';
12
- import { ResolveChain } from './resolve-chain.js';
13
- import { ResolveError } from './resolve.error.js';
14
- import { getTokenName } from './token.js';
15
- import { isStubClass } from './utils.js';
16
- export const injectMetadataSymbol = Symbol('Inject metadata');
17
- export class Container {
18
- registrationMap;
19
- registrationSubject;
20
- /** emits on new registration */
21
- registration$;
22
- /** all registrations */
23
- get registrations() {
24
- return this.registrationMap.values();
25
- }
26
- constructor() {
27
- this.registrationMap = new Map();
28
- this.registrationSubject = new Subject();
29
- this.registration$ = this.registrationSubject.asObservable();
30
- }
31
- /**
32
- * register a provider for a token
33
- * @param token token to register
34
- * @param provider provider used to resolve the token
35
- * @param options registration options
36
- */
37
- register(token, provider, options = {}) {
38
- if (isClassProvider(provider) && !isStubClass(provider.useClass)) {
39
- const injectable = reflectionRegistry.getMetadata(provider.useClass)?.data.has(injectMetadataSymbol) ?? false;
40
- if (!injectable) {
41
- throw new Error(`${provider.useClass.name} is not injectable.`);
42
- }
43
- }
44
- const registration = {
45
- token,
46
- provider,
47
- options,
48
- instances: new Map()
49
- };
50
- this.registrationMap.set(token, registration);
51
- this.registrationSubject.next(registration);
52
- }
53
- /**
54
- * register a provider for a token as a singleton. Alias for {@link register} with `singleton` lifecycle
55
- * @param token token to register
56
- * @param provider provider used to resolve the token
57
- * @param options registration options
58
- */
59
- registerSingleton(token, provider, options) {
60
- this.register(token, provider, { ...options, lifecycle: 'singleton' });
61
- }
62
- /**
63
- * check if token has a registered provider
64
- * @param token token check
65
- */
66
- hasRegistration(token) {
67
- return this.registrationMap.has(token);
68
- }
69
- /**
70
- * get registration
71
- * @param token token to get registration for
72
- */
73
- getRegistration(token) {
74
- const registration = this.registrationMap.get(token);
75
- if (isUndefined(registration)) {
76
- const tokenName = getTokenName(token);
77
- throw new Error(`No provider for ${tokenName} registered.`);
78
- }
79
- return registration;
80
- }
81
- /**
82
- * try to get registration
83
- * @param token token to get registration for
84
- */
85
- tryGetRegistration(token) {
86
- return this.registrationMap.get(token);
87
- }
88
- /**
89
- * resolve a token
90
- * @param token token to resolve
91
- * @param argument argument used for resolving (overrides token and default arguments)
92
- * @returns
93
- */
94
- resolve(token, argument, instances) {
95
- const context = {
96
- isAsync: false,
97
- resolves: 0,
98
- forwardRefQueue: new CircularBuffer(),
99
- resolutions: [],
100
- forwardRefs: new Set(),
101
- providedInstances: new Map(instances),
102
- instances: new MultiKeyMap(),
103
- resolving: new MultiKeyMap()
104
- };
105
- return this._resolve(token, false, argument, context, ResolveChain.startWith(token), true);
106
- }
107
- /**
108
- * resolve a token
109
- * @param token token to resolve
110
- * @param argument argument used for resolving (overrides token and default arguments)
111
- * @returns
112
- */
113
- async resolveAsync(token, argument, instances) {
114
- const context = {
115
- isAsync: true,
116
- resolves: 0,
117
- forwardRefQueue: new CircularBuffer(),
118
- resolutions: [],
119
- forwardRefs: new Set(),
120
- providedInstances: new Map(instances),
121
- instances: new MultiKeyMap(),
122
- resolving: new MultiKeyMap()
123
- };
124
- return this._resolveAsync(token, false, argument, context, ResolveChain.startWith(token), true);
125
- }
126
- // eslint-disable-next-line max-statements, max-lines-per-function, complexity
127
- _resolve(token, optional, _argument, context, chain, isFirst) {
128
- if ((chain.length > 750) || (++context.resolves > 750)) {
129
- throw new ResolveError('Resolve stack overflow. This can happen on circular dependencies with transient lifecycles and self reference. Use scoped or singleton lifecycle instead or @forwardRef().', chain);
130
- }
131
- if (isUndefined(token)) {
132
- throw new ResolveError('Token is undefined - this might be because of circular dependencies, use alias or forwardRef in this case.', chain);
133
- }
134
- if (context.providedInstances.has(token)) {
135
- return context.providedInstances.get(token);
136
- }
137
- const registration = this.tryGetRegistration(token);
138
- if (isUndefined(registration)) {
139
- if (optional == true) {
140
- return undefined;
141
- }
142
- throw new ResolveError(`No provider for ${getTokenName(token)} registered.`, chain);
143
- }
144
- const resolveArgument = _argument ?? registration.options.defaultArgument ?? registration.options.defaultArgumentProvider?.(this.getResolveContext(context, chain));
145
- if (isPromise(resolveArgument)) {
146
- throw new ResolveError(`Cannot evaluate async argument provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
147
- }
148
- const argumentIdentity = (isDefined(registration.options.argumentIdentityProvider) && ((registration.options.lifecycle == 'resolution') || (registration.options.lifecycle == 'singleton')))
149
- ? registration.options.argumentIdentityProvider(resolveArgument)
150
- : resolveArgument;
151
- if (isPromise(argumentIdentity)) {
152
- throw new ResolveError(`Cannot evaluate async argument identity provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
153
- }
154
- if ((registration.options.lifecycle == 'resolution') && context.instances.has([token, argumentIdentity])) {
155
- return context.instances.get([token, argumentIdentity]);
156
- }
157
- if ((registration.options.lifecycle == 'singleton') && registration.instances.has(argumentIdentity)) {
158
- return registration.instances.get(argumentIdentity);
159
- }
160
- if (context.resolving.has([token, argumentIdentity])) {
161
- throw new ResolveError('Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.', chain);
162
- }
163
- context.resolving.set([token, argumentIdentity], true);
164
- let instance;
165
- if (isClassProvider(registration.provider)) {
166
- const typeMetadata = reflectionRegistry.getMetadata(registration.provider.useClass);
167
- if (isUndefined(typeMetadata) || !typeMetadata.data.has(injectMetadataSymbol)) {
168
- throw new ResolveError(`${registration.provider.useClass.name} is not injectable.`, chain);
169
- }
170
- if (isStubClass(typeMetadata.constructor)) {
171
- throw new ResolveError(`No provider for ${getTokenName(token)} registered.`, chain);
172
- }
173
- const parameters = (typeMetadata.parameters ?? []).map((metadata) => this.resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain));
174
- instance = new typeMetadata.constructor(...parameters);
175
- for (const [property, metadata] of typeMetadata.properties) {
176
- if (!metadata.data.has(injectMetadataSymbol)) {
177
- continue;
178
- }
179
- instance[property] = this.resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain);
180
- }
181
- }
182
- if (isValueProvider(registration.provider)) {
183
- instance = registration.provider.useValue;
184
- }
185
- if (isTokenProvider(registration.provider)) {
186
- const arg = resolveArgument ?? registration.provider.argument ?? registration.provider.argumentProvider?.();
187
- const innerToken = registration.provider.useToken ?? registration.provider.useTokenProvider();
188
- if (isPromise(arg)) {
189
- throw new ResolveError(`Cannot evaluate async argument provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
190
- }
191
- if (isPromise(innerToken)) {
192
- throw new ResolveError(`Cannot evaluate async token provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
193
- }
194
- instance = this._resolve(innerToken, false, arg, context, chain.addToken(innerToken), false);
195
- }
196
- if (isFactoryProvider(registration.provider)) {
197
- try {
198
- const result = registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
199
- if (isPromise(result)) {
200
- throw new ResolveError(`Cannot evaluate async factory provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
201
- }
202
- instance = result;
203
- }
204
- catch (error) {
205
- throw new ResolveError('Error in factory.', chain, error);
206
- }
207
- }
208
- if (registration.options.lifecycle == 'resolution') {
209
- context.instances.set([token, argumentIdentity], instance);
210
- }
211
- if (registration.options.lifecycle == 'singleton') {
212
- registration.instances.set(argumentIdentity, instance);
213
- }
214
- context.resolutions.push({ instance, registration });
215
- context.resolving.delete([token, argumentIdentity]);
216
- if (isFirst) {
217
- for (const fn of context.forwardRefQueue.consume()) {
218
- fn();
219
- }
220
- derefForwardRefs(context);
221
- for (let i = context.resolutions.length - 1; i >= 0; i--) {
222
- const resolution = context.resolutions[i];
223
- if (isFunction(resolution.instance?.[afterResolve])) {
224
- const returnValue = resolution.instance[afterResolve]();
225
- if (isPromise(returnValue)) {
226
- throw new ResolveError(`Cannot execute async [afterResolve] for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
227
- }
228
- }
229
- if (isDefined(resolution.registration.options.initializer)) {
230
- const returnValue = resolution.registration.options.initializer(resolution.instance);
231
- if (isPromise(returnValue)) {
232
- throw new ResolveError(`Cannot execute async initializer for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, chain);
233
- }
234
- }
235
- }
236
- }
237
- return instance;
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var container_exports = {};
20
+ __export(container_exports, {
21
+ Container: () => Container,
22
+ container: () => container,
23
+ injectMetadataSymbol: () => injectMetadataSymbol
24
+ });
25
+ module.exports = __toCommonJS(container_exports);
26
+ var import_circular_buffer = require("../data-structures/circular-buffer.js");
27
+ var import_multi_key_map = require("../data-structures/multi-key-map.js");
28
+ var import_reflection = require("../reflection/index.js");
29
+ var import_map = require("../utils/async-iterable-helpers/map.js");
30
+ var import_to_array = require("../utils/async-iterable-helpers/to-array.js");
31
+ var import_forward_ref = require("../utils/object/forward-ref.js");
32
+ var import_object = require("../utils/object/object.js");
33
+ var import_type_guards = require("../utils/type-guards.js");
34
+ var import_rxjs = require("rxjs");
35
+ var import_interfaces = require("./interfaces.js");
36
+ var import_provider = require("./provider.js");
37
+ var import_resolve_chain = require("./resolve-chain.js");
38
+ var import_resolve_error = require("./resolve.error.js");
39
+ var import_token = require("./token.js");
40
+ var import_utils = require("./utils.js");
41
+ const injectMetadataSymbol = Symbol("Inject metadata");
42
+ class Container {
43
+ registrationMap;
44
+ registrationSubject;
45
+ /** emits on new registration */
46
+ registration$;
47
+ /** all registrations */
48
+ get registrations() {
49
+ return this.registrationMap.values();
50
+ }
51
+ constructor() {
52
+ this.registrationMap = /* @__PURE__ */ new Map();
53
+ this.registrationSubject = new import_rxjs.Subject();
54
+ this.registration$ = this.registrationSubject.asObservable();
55
+ }
56
+ /**
57
+ * register a provider for a token
58
+ * @param token token to register
59
+ * @param provider provider used to resolve the token
60
+ * @param options registration options
61
+ */
62
+ register(token, provider, options = {}) {
63
+ if ((0, import_provider.isClassProvider)(provider) && !(0, import_utils.isStubClass)(provider.useClass)) {
64
+ const injectable = import_reflection.reflectionRegistry.getMetadata(provider.useClass)?.data.has(injectMetadataSymbol) ?? false;
65
+ if (!injectable) {
66
+ throw new Error(`${provider.useClass.name} is not injectable.`);
67
+ }
238
68
  }
239
- // eslint-disable-next-line max-statements, max-lines-per-function, complexity
240
- async _resolveAsync(token, optional, _argument, context, chain, isFirst) {
241
- if ((chain.length > 750) || (++context.resolves > 750)) {
242
- throw new ResolveError('Resolve stack overflow. This can happen on circular dependencies with transient lifecycles and self reference. Use scoped or singleton lifecycle instead or @forwardRef().', chain);
243
- }
244
- if (isUndefined(token)) {
245
- throw new ResolveError('Token is undefined - this might be because of circular dependencies, use alias or forwardRef in this case.', chain);
246
- }
247
- if (context.providedInstances.has(token)) {
248
- return context.providedInstances.get(token);
249
- }
250
- const registration = this.tryGetRegistration(token);
251
- if (isUndefined(registration)) {
252
- if (optional == true) {
253
- return undefined;
254
- }
255
- throw new ResolveError(`No provider for ${getTokenName(token)} registered.`, chain);
256
- }
257
- const resolveArgument = _argument ?? registration.options.defaultArgument ?? (await registration.options.defaultArgumentProvider?.(this.getResolveContext(context, chain)));
258
- const argumentIdentity = (isDefined(registration.options.argumentIdentityProvider) && ((registration.options.lifecycle == 'resolution') || (registration.options.lifecycle == 'singleton')))
259
- ? await registration.options.argumentIdentityProvider(resolveArgument)
260
- : resolveArgument;
261
- if ((registration.options.lifecycle == 'resolution') && context.instances.has([token, argumentIdentity])) {
262
- return context.instances.get([token, argumentIdentity]);
263
- }
264
- if ((registration.options.lifecycle == 'singleton') && registration.instances.has(argumentIdentity)) {
265
- return registration.instances.get(argumentIdentity);
266
- }
267
- if (context.resolving.has([token, argumentIdentity])) {
268
- throw new ResolveError('Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.', chain);
269
- }
270
- context.resolving.set([token, argumentIdentity], true);
271
- let instance;
272
- if (isClassProvider(registration.provider)) {
273
- const typeMetadata = reflectionRegistry.getMetadata(registration.provider.useClass);
274
- if (isUndefined(typeMetadata) || !typeMetadata.data.has(injectMetadataSymbol)) {
275
- throw new ResolveError(`${registration.provider.useClass.name} is not injectable.`, chain);
276
- }
277
- if (isStubClass(typeMetadata.constructor)) {
278
- throw new ResolveError(`No provider for ${getTokenName(token)} registered.`, chain);
279
- }
280
- const boxedParameters = await toArrayAsync(mapAsync(typeMetadata.parameters ?? [], async (metadata) => this.resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain)));
281
- const parameters = boxedParameters.map((box) => box.resolved);
282
- instance = new typeMetadata.constructor(...parameters);
283
- for (const [property, metadata] of typeMetadata.properties) {
284
- if (!metadata.data.has(injectMetadataSymbol)) {
285
- continue;
286
- }
287
- instance[property] = (await this.resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain)).resolved;
288
- }
289
- }
290
- if (isValueProvider(registration.provider)) {
291
- instance = registration.provider.useValue;
292
- }
293
- if (isTokenProvider(registration.provider)) {
294
- const arg = resolveArgument ?? registration.provider.argument ?? await registration.provider.argumentProvider?.();
295
- const innerToken = registration.provider.useToken ?? await registration.provider.useTokenProvider();
296
- instance = await this._resolveAsync(innerToken, false, arg, context, chain.addToken(innerToken), false);
297
- }
298
- if (isFactoryProvider(registration.provider)) {
299
- try {
300
- instance = await registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
301
- }
302
- catch (error) {
303
- throw new ResolveError('Error in factory.', chain, error);
304
- }
305
- }
306
- if (registration.options.lifecycle == 'resolution') {
307
- context.instances.set([token, argumentIdentity], instance);
308
- }
309
- if (registration.options.lifecycle == 'singleton') {
310
- registration.instances.set(argumentIdentity, instance);
311
- }
312
- context.resolutions.push({ instance, registration });
313
- context.resolving.delete([token, argumentIdentity]);
314
- if (isFirst) {
315
- for (const fn of context.forwardRefQueue.consume()) {
316
- await fn();
317
- }
318
- derefForwardRefs(context);
319
- for (let i = context.resolutions.length - 1; i >= 0; i--) {
320
- const resolution = context.resolutions[i];
321
- if (isFunction(resolution.instance?.[afterResolve])) {
322
- await resolution.instance[afterResolve]();
323
- }
324
- if (isDefined(resolution.registration.options.initializer)) {
325
- await resolution.registration.options.initializer(resolution.instance);
326
- }
327
- }
328
- }
329
- return instance;
330
- }
331
- resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain) {
332
- const getChain = (metadata.metadataType == 'constructor-parameter')
333
- ? (injectToken) => chain.addParameter(typeMetadata.constructor, metadata.index, injectToken).addToken(injectToken)
334
- : (injectToken) => chain.addProperty(typeMetadata.constructor, metadata.key, injectToken).addToken(injectToken);
335
- const injectMetadata = metadata.data.tryGet(injectMetadataSymbol) ?? {};
336
- const injectToken = (injectMetadata.injectToken ?? metadata.type);
337
- if (isDefined(injectMetadata.injectArgumentMapper) && (!this.hasRegistration(injectToken) || isDefined(resolveArgument) || isUndefined(injectToken))) {
338
- const mapped = injectMetadata.injectArgumentMapper(resolveArgument);
339
- if (isPromise(mapped)) {
340
- throw new ResolveError(`Cannot evaluate async argument mapper for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, getChain(injectToken));
341
- }
342
- return mapped;
343
- }
344
- const parameterResolveArgument = injectMetadata.forwardArgumentMapper?.(resolveArgument) ?? injectMetadata.resolveArgumentProvider?.(this.getResolveContext(context, getChain(injectToken)));
345
- if (isPromise(parameterResolveArgument)) {
346
- throw new ResolveError(`Cannot evaluate async argument provider for token ${getTokenName(token)} in synchronous resolve, use resolveAsync instead.`, getChain(injectToken));
347
- }
348
- if (isDefined(injectMetadata.forwardRefToken)) {
349
- const forwardRef = ForwardRef.create();
350
- const forwardRefToken = injectMetadata.forwardRefToken;
351
- context.forwardRefQueue.add(() => {
352
- const forwardToken = isFunction(forwardRefToken) ? forwardRefToken() : forwardRefToken;
353
- if (isDefined(injectMetadata.mapper)) {
354
- throw new ResolveError('Cannot use inject mapper with forwardRef.', getChain(forwardToken));
355
- }
356
- const resolved = this._resolve(forwardToken, injectMetadata.optional, parameterResolveArgument, context, getChain(forwardToken), false);
357
- ForwardRef.setRef(forwardRef, resolved);
358
- });
359
- context.forwardRefs.add(forwardRef);
360
- return forwardRef;
361
- }
362
- const resolved = this._resolve(injectToken, injectMetadata.optional, parameterResolveArgument, context, getChain(injectToken), false);
363
- return isDefined(injectMetadata.mapper) ? injectMetadata.mapper(resolved) : resolved;
364
- }
365
- async resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain) {
366
- const getChain = (metadata.metadataType == 'constructor-parameter')
367
- ? (injectToken) => chain.addParameter(typeMetadata.constructor, metadata.index, injectToken).addToken(injectToken)
368
- : (injectToken) => chain.addProperty(typeMetadata.constructor, metadata.key, injectToken).addToken(injectToken);
369
- const injectMetadata = metadata.data.tryGet(injectMetadataSymbol) ?? {};
370
- const injectToken = (injectMetadata.injectToken ?? metadata.type);
371
- if (isDefined(injectMetadata.injectArgumentMapper) && (!this.hasRegistration(injectToken) || isDefined(resolveArgument) || isUndefined(injectToken))) {
372
- return { resolved: injectMetadata.injectArgumentMapper(resolveArgument) };
373
- }
374
- const parameterResolveArgument = await (injectMetadata.forwardArgumentMapper?.(resolveArgument) ?? injectMetadata.resolveArgumentProvider?.(this.getResolveContext(context, getChain(injectToken))));
375
- if (isDefined(injectMetadata.forwardRefToken)) {
376
- const forwardRef = ForwardRef.create();
377
- const forwardRefToken = injectMetadata.forwardRefToken;
378
- context.forwardRefQueue.add(async () => {
379
- const forwardToken = isFunction(forwardRefToken) ? forwardRefToken() : forwardRefToken;
380
- if (isDefined(injectMetadata.mapper)) {
381
- throw new ResolveError('Cannot use inject mapper with forwardRef.', getChain(forwardToken));
382
- }
383
- const resolved = await this._resolveAsync(forwardToken, injectMetadata.optional, parameterResolveArgument, context, getChain(forwardToken), false);
384
- ForwardRef.setRef(forwardRef, resolved);
385
- });
386
- context.forwardRefs.add(forwardRef);
387
- return { resolved: forwardRef };
388
- }
389
- const resolved = await this._resolveAsync(injectToken, injectMetadata.optional, parameterResolveArgument, context, getChain(injectToken), false);
390
- return { resolved: isDefined(injectMetadata.mapper) ? injectMetadata.mapper(resolved) : resolved };
391
- }
392
- getResolveContext(resolveContext, chain) {
393
- const context = {
394
- isAsync: resolveContext.isAsync,
395
- resolve: (token, argument, instances) => {
396
- this.addInstancesToResolveContext(instances, resolveContext);
397
- return this._resolve(token, false, argument, resolveContext, chain.addToken(token), false);
398
- },
399
- resolveAsync: async (token, argument, instances) => {
400
- this.addInstancesToResolveContext(instances, resolveContext);
401
- return this._resolveAsync(token, false, argument, resolveContext, chain.addToken(token), false);
402
- }
403
- };
404
- return context;
405
- }
406
- addInstancesToResolveContext(instances, resolveContext) {
407
- if (isUndefined(instances)) {
408
- return;
409
- }
410
- for (const [instanceToken, instance] of instances) {
411
- resolveContext.providedInstances.set(instanceToken, instance);
412
- }
69
+ const registration = {
70
+ token,
71
+ provider,
72
+ options,
73
+ instances: /* @__PURE__ */ new Map()
74
+ };
75
+ this.registrationMap.set(token, registration);
76
+ this.registrationSubject.next(registration);
77
+ }
78
+ /**
79
+ * register a provider for a token as a singleton. Alias for {@link register} with `singleton` lifecycle
80
+ * @param token token to register
81
+ * @param provider provider used to resolve the token
82
+ * @param options registration options
83
+ */
84
+ registerSingleton(token, provider, options) {
85
+ this.register(token, provider, { ...options, lifecycle: "singleton" });
86
+ }
87
+ /**
88
+ * check if token has a registered provider
89
+ * @param token token check
90
+ */
91
+ hasRegistration(token) {
92
+ return this.registrationMap.has(token);
93
+ }
94
+ /**
95
+ * get registration
96
+ * @param token token to get registration for
97
+ */
98
+ getRegistration(token) {
99
+ const registration = this.registrationMap.get(token);
100
+ if ((0, import_type_guards.isUndefined)(registration)) {
101
+ const tokenName = (0, import_token.getTokenName)(token);
102
+ throw new Error(`No provider for ${tokenName} registered.`);
103
+ }
104
+ return registration;
105
+ }
106
+ /**
107
+ * try to get registration
108
+ * @param token token to get registration for
109
+ */
110
+ tryGetRegistration(token) {
111
+ return this.registrationMap.get(token);
112
+ }
113
+ /**
114
+ * resolve a token
115
+ * @param token token to resolve
116
+ * @param argument argument used for resolving (overrides token and default arguments)
117
+ * @returns
118
+ */
119
+ resolve(token, argument, instances) {
120
+ const context = {
121
+ isAsync: false,
122
+ resolves: 0,
123
+ forwardRefQueue: new import_circular_buffer.CircularBuffer(),
124
+ resolutions: [],
125
+ forwardRefs: /* @__PURE__ */ new Set(),
126
+ providedInstances: new Map(instances),
127
+ instances: new import_multi_key_map.MultiKeyMap(),
128
+ resolving: new import_multi_key_map.MultiKeyMap()
129
+ };
130
+ return this._resolve(token, false, argument, context, import_resolve_chain.ResolveChain.startWith(token), true);
131
+ }
132
+ /**
133
+ * resolve a token
134
+ * @param token token to resolve
135
+ * @param argument argument used for resolving (overrides token and default arguments)
136
+ * @returns
137
+ */
138
+ async resolveAsync(token, argument, instances) {
139
+ const context = {
140
+ isAsync: true,
141
+ resolves: 0,
142
+ forwardRefQueue: new import_circular_buffer.CircularBuffer(),
143
+ resolutions: [],
144
+ forwardRefs: /* @__PURE__ */ new Set(),
145
+ providedInstances: new Map(instances),
146
+ instances: new import_multi_key_map.MultiKeyMap(),
147
+ resolving: new import_multi_key_map.MultiKeyMap()
148
+ };
149
+ return this._resolveAsync(token, false, argument, context, import_resolve_chain.ResolveChain.startWith(token), true);
150
+ }
151
+ // eslint-disable-next-line max-statements, max-lines-per-function, complexity
152
+ _resolve(token, optional, _argument, context, chain, isFirst) {
153
+ if (chain.length > 750 || ++context.resolves > 750) {
154
+ throw new import_resolve_error.ResolveError("Resolve stack overflow. This can happen on circular dependencies with transient lifecycles and self reference. Use scoped or singleton lifecycle instead or @forwardRef().", chain);
413
155
  }
156
+ if ((0, import_type_guards.isUndefined)(token)) {
157
+ throw new import_resolve_error.ResolveError("Token is undefined - this might be because of circular dependencies, use alias or forwardRef in this case.", chain);
158
+ }
159
+ if (context.providedInstances.has(token)) {
160
+ return context.providedInstances.get(token);
161
+ }
162
+ const registration = this.tryGetRegistration(token);
163
+ if ((0, import_type_guards.isUndefined)(registration)) {
164
+ if (optional == true) {
165
+ return void 0;
166
+ }
167
+ throw new import_resolve_error.ResolveError(`No provider for ${(0, import_token.getTokenName)(token)} registered.`, chain);
168
+ }
169
+ const resolveArgument = _argument ?? registration.options.defaultArgument ?? registration.options.defaultArgumentProvider?.(this.getResolveContext(context, chain));
170
+ if ((0, import_type_guards.isPromise)(resolveArgument)) {
171
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async argument provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
172
+ }
173
+ const argumentIdentity = (0, import_type_guards.isDefined)(registration.options.argumentIdentityProvider) && (registration.options.lifecycle == "resolution" || registration.options.lifecycle == "singleton") ? registration.options.argumentIdentityProvider(resolveArgument) : resolveArgument;
174
+ if ((0, import_type_guards.isPromise)(argumentIdentity)) {
175
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async argument identity provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
176
+ }
177
+ if (registration.options.lifecycle == "resolution" && context.instances.has([token, argumentIdentity])) {
178
+ return context.instances.get([token, argumentIdentity]);
179
+ }
180
+ if (registration.options.lifecycle == "singleton" && registration.instances.has(argumentIdentity)) {
181
+ return registration.instances.get(argumentIdentity);
182
+ }
183
+ if (context.resolving.has([token, argumentIdentity])) {
184
+ throw new import_resolve_error.ResolveError("Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.", chain);
185
+ }
186
+ context.resolving.set([token, argumentIdentity], true);
187
+ let instance;
188
+ if ((0, import_provider.isClassProvider)(registration.provider)) {
189
+ const typeMetadata = import_reflection.reflectionRegistry.getMetadata(registration.provider.useClass);
190
+ if ((0, import_type_guards.isUndefined)(typeMetadata) || !typeMetadata.data.has(injectMetadataSymbol)) {
191
+ throw new import_resolve_error.ResolveError(`${registration.provider.useClass.name} is not injectable.`, chain);
192
+ }
193
+ if ((0, import_utils.isStubClass)(typeMetadata.constructor)) {
194
+ throw new import_resolve_error.ResolveError(`No provider for ${(0, import_token.getTokenName)(token)} registered.`, chain);
195
+ }
196
+ const parameters = (typeMetadata.parameters ?? []).map((metadata) => this.resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain));
197
+ instance = new typeMetadata.constructor(...parameters);
198
+ for (const [property, metadata] of typeMetadata.properties) {
199
+ if (!metadata.data.has(injectMetadataSymbol)) {
200
+ continue;
201
+ }
202
+ instance[property] = this.resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain);
203
+ }
204
+ }
205
+ if ((0, import_provider.isValueProvider)(registration.provider)) {
206
+ instance = registration.provider.useValue;
207
+ }
208
+ if ((0, import_provider.isTokenProvider)(registration.provider)) {
209
+ const arg = resolveArgument ?? registration.provider.argument ?? registration.provider.argumentProvider?.();
210
+ const innerToken = registration.provider.useToken ?? registration.provider.useTokenProvider();
211
+ if ((0, import_type_guards.isPromise)(arg)) {
212
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async argument provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
213
+ }
214
+ if ((0, import_type_guards.isPromise)(innerToken)) {
215
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async token provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
216
+ }
217
+ instance = this._resolve(innerToken, false, arg, context, chain.addToken(innerToken), false);
218
+ }
219
+ if ((0, import_provider.isFactoryProvider)(registration.provider)) {
220
+ try {
221
+ const result = registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
222
+ if ((0, import_type_guards.isPromise)(result)) {
223
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async factory provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
224
+ }
225
+ instance = result;
226
+ } catch (error) {
227
+ throw new import_resolve_error.ResolveError("Error in factory.", chain, error);
228
+ }
229
+ }
230
+ if (registration.options.lifecycle == "resolution") {
231
+ context.instances.set([token, argumentIdentity], instance);
232
+ }
233
+ if (registration.options.lifecycle == "singleton") {
234
+ registration.instances.set(argumentIdentity, instance);
235
+ }
236
+ context.resolutions.push({ instance, registration });
237
+ context.resolving.delete([token, argumentIdentity]);
238
+ if (isFirst) {
239
+ for (const fn of context.forwardRefQueue.consume()) {
240
+ fn();
241
+ }
242
+ derefForwardRefs(context);
243
+ for (let i = context.resolutions.length - 1; i >= 0; i--) {
244
+ const resolution = context.resolutions[i];
245
+ if ((0, import_type_guards.isFunction)(resolution.instance?.[import_interfaces.afterResolve])) {
246
+ const returnValue = resolution.instance[import_interfaces.afterResolve]();
247
+ if ((0, import_type_guards.isPromise)(returnValue)) {
248
+ throw new import_resolve_error.ResolveError(`Cannot execute async [afterResolve] for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
249
+ }
250
+ }
251
+ if ((0, import_type_guards.isDefined)(resolution.registration.options.initializer)) {
252
+ const returnValue = resolution.registration.options.initializer(resolution.instance);
253
+ if ((0, import_type_guards.isPromise)(returnValue)) {
254
+ throw new import_resolve_error.ResolveError(`Cannot execute async initializer for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, chain);
255
+ }
256
+ }
257
+ }
258
+ }
259
+ return instance;
260
+ }
261
+ // eslint-disable-next-line max-statements, max-lines-per-function, complexity
262
+ async _resolveAsync(token, optional, _argument, context, chain, isFirst) {
263
+ if (chain.length > 750 || ++context.resolves > 750) {
264
+ throw new import_resolve_error.ResolveError("Resolve stack overflow. This can happen on circular dependencies with transient lifecycles and self reference. Use scoped or singleton lifecycle instead or @forwardRef().", chain);
265
+ }
266
+ if ((0, import_type_guards.isUndefined)(token)) {
267
+ throw new import_resolve_error.ResolveError("Token is undefined - this might be because of circular dependencies, use alias or forwardRef in this case.", chain);
268
+ }
269
+ if (context.providedInstances.has(token)) {
270
+ return context.providedInstances.get(token);
271
+ }
272
+ const registration = this.tryGetRegistration(token);
273
+ if ((0, import_type_guards.isUndefined)(registration)) {
274
+ if (optional == true) {
275
+ return void 0;
276
+ }
277
+ throw new import_resolve_error.ResolveError(`No provider for ${(0, import_token.getTokenName)(token)} registered.`, chain);
278
+ }
279
+ const resolveArgument = _argument ?? registration.options.defaultArgument ?? await registration.options.defaultArgumentProvider?.(this.getResolveContext(context, chain));
280
+ const argumentIdentity = (0, import_type_guards.isDefined)(registration.options.argumentIdentityProvider) && (registration.options.lifecycle == "resolution" || registration.options.lifecycle == "singleton") ? await registration.options.argumentIdentityProvider(resolveArgument) : resolveArgument;
281
+ if (registration.options.lifecycle == "resolution" && context.instances.has([token, argumentIdentity])) {
282
+ return context.instances.get([token, argumentIdentity]);
283
+ }
284
+ if (registration.options.lifecycle == "singleton" && registration.instances.has(argumentIdentity)) {
285
+ return registration.instances.get(argumentIdentity);
286
+ }
287
+ if (context.resolving.has([token, argumentIdentity])) {
288
+ throw new import_resolve_error.ResolveError("Circular dependency to itself detected. Please check your registrations and providers. @forwardRef might be a solution.", chain);
289
+ }
290
+ context.resolving.set([token, argumentIdentity], true);
291
+ let instance;
292
+ if ((0, import_provider.isClassProvider)(registration.provider)) {
293
+ const typeMetadata = import_reflection.reflectionRegistry.getMetadata(registration.provider.useClass);
294
+ if ((0, import_type_guards.isUndefined)(typeMetadata) || !typeMetadata.data.has(injectMetadataSymbol)) {
295
+ throw new import_resolve_error.ResolveError(`${registration.provider.useClass.name} is not injectable.`, chain);
296
+ }
297
+ if ((0, import_utils.isStubClass)(typeMetadata.constructor)) {
298
+ throw new import_resolve_error.ResolveError(`No provider for ${(0, import_token.getTokenName)(token)} registered.`, chain);
299
+ }
300
+ const boxedParameters = await (0, import_to_array.toArrayAsync)((0, import_map.mapAsync)(typeMetadata.parameters ?? [], async (metadata) => this.resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain)));
301
+ const parameters = boxedParameters.map((box) => box.resolved);
302
+ instance = new typeMetadata.constructor(...parameters);
303
+ for (const [property, metadata] of typeMetadata.properties) {
304
+ if (!metadata.data.has(injectMetadataSymbol)) {
305
+ continue;
306
+ }
307
+ instance[property] = (await this.resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain)).resolved;
308
+ }
309
+ }
310
+ if ((0, import_provider.isValueProvider)(registration.provider)) {
311
+ instance = registration.provider.useValue;
312
+ }
313
+ if ((0, import_provider.isTokenProvider)(registration.provider)) {
314
+ const arg = resolveArgument ?? registration.provider.argument ?? await registration.provider.argumentProvider?.();
315
+ const innerToken = registration.provider.useToken ?? await registration.provider.useTokenProvider();
316
+ instance = await this._resolveAsync(innerToken, false, arg, context, chain.addToken(innerToken), false);
317
+ }
318
+ if ((0, import_provider.isFactoryProvider)(registration.provider)) {
319
+ try {
320
+ instance = await registration.provider.useFactory(resolveArgument, this.getResolveContext(context, chain));
321
+ } catch (error) {
322
+ throw new import_resolve_error.ResolveError("Error in factory.", chain, error);
323
+ }
324
+ }
325
+ if (registration.options.lifecycle == "resolution") {
326
+ context.instances.set([token, argumentIdentity], instance);
327
+ }
328
+ if (registration.options.lifecycle == "singleton") {
329
+ registration.instances.set(argumentIdentity, instance);
330
+ }
331
+ context.resolutions.push({ instance, registration });
332
+ context.resolving.delete([token, argumentIdentity]);
333
+ if (isFirst) {
334
+ for (const fn of context.forwardRefQueue.consume()) {
335
+ await fn();
336
+ }
337
+ derefForwardRefs(context);
338
+ for (let i = context.resolutions.length - 1; i >= 0; i--) {
339
+ const resolution = context.resolutions[i];
340
+ if ((0, import_type_guards.isFunction)(resolution.instance?.[import_interfaces.afterResolve])) {
341
+ await resolution.instance[import_interfaces.afterResolve]();
342
+ }
343
+ if ((0, import_type_guards.isDefined)(resolution.registration.options.initializer)) {
344
+ await resolution.registration.options.initializer(resolution.instance);
345
+ }
346
+ }
347
+ }
348
+ return instance;
349
+ }
350
+ resolveInjection(token, context, typeMetadata, metadata, resolveArgument, chain) {
351
+ const getChain = metadata.metadataType == "constructor-parameter" ? (injectToken2) => chain.addParameter(typeMetadata.constructor, metadata.index, injectToken2).addToken(injectToken2) : (injectToken2) => chain.addProperty(typeMetadata.constructor, metadata.key, injectToken2).addToken(injectToken2);
352
+ const injectMetadata = metadata.data.tryGet(injectMetadataSymbol) ?? {};
353
+ const injectToken = injectMetadata.injectToken ?? metadata.type;
354
+ if ((0, import_type_guards.isDefined)(injectMetadata.injectArgumentMapper) && (!this.hasRegistration(injectToken) || (0, import_type_guards.isDefined)(resolveArgument) || (0, import_type_guards.isUndefined)(injectToken))) {
355
+ const mapped = injectMetadata.injectArgumentMapper(resolveArgument);
356
+ if ((0, import_type_guards.isPromise)(mapped)) {
357
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async argument mapper for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, getChain(injectToken));
358
+ }
359
+ return mapped;
360
+ }
361
+ const parameterResolveArgument = injectMetadata.forwardArgumentMapper?.(resolveArgument) ?? injectMetadata.resolveArgumentProvider?.(this.getResolveContext(context, getChain(injectToken)));
362
+ if ((0, import_type_guards.isPromise)(parameterResolveArgument)) {
363
+ throw new import_resolve_error.ResolveError(`Cannot evaluate async argument provider for token ${(0, import_token.getTokenName)(token)} in synchronous resolve, use resolveAsync instead.`, getChain(injectToken));
364
+ }
365
+ if ((0, import_type_guards.isDefined)(injectMetadata.forwardRefToken)) {
366
+ const forwardRef = import_forward_ref.ForwardRef.create();
367
+ const forwardRefToken = injectMetadata.forwardRefToken;
368
+ context.forwardRefQueue.add(() => {
369
+ const forwardToken = (0, import_type_guards.isFunction)(forwardRefToken) ? forwardRefToken() : forwardRefToken;
370
+ if ((0, import_type_guards.isDefined)(injectMetadata.mapper)) {
371
+ throw new import_resolve_error.ResolveError("Cannot use inject mapper with forwardRef.", getChain(forwardToken));
372
+ }
373
+ const resolved2 = this._resolve(forwardToken, injectMetadata.optional, parameterResolveArgument, context, getChain(forwardToken), false);
374
+ import_forward_ref.ForwardRef.setRef(forwardRef, resolved2);
375
+ });
376
+ context.forwardRefs.add(forwardRef);
377
+ return forwardRef;
378
+ }
379
+ const resolved = this._resolve(injectToken, injectMetadata.optional, parameterResolveArgument, context, getChain(injectToken), false);
380
+ return (0, import_type_guards.isDefined)(injectMetadata.mapper) ? injectMetadata.mapper(resolved) : resolved;
381
+ }
382
+ async resolveInjectionAsync(context, typeMetadata, metadata, resolveArgument, chain) {
383
+ const getChain = metadata.metadataType == "constructor-parameter" ? (injectToken2) => chain.addParameter(typeMetadata.constructor, metadata.index, injectToken2).addToken(injectToken2) : (injectToken2) => chain.addProperty(typeMetadata.constructor, metadata.key, injectToken2).addToken(injectToken2);
384
+ const injectMetadata = metadata.data.tryGet(injectMetadataSymbol) ?? {};
385
+ const injectToken = injectMetadata.injectToken ?? metadata.type;
386
+ if ((0, import_type_guards.isDefined)(injectMetadata.injectArgumentMapper) && (!this.hasRegistration(injectToken) || (0, import_type_guards.isDefined)(resolveArgument) || (0, import_type_guards.isUndefined)(injectToken))) {
387
+ return { resolved: injectMetadata.injectArgumentMapper(resolveArgument) };
388
+ }
389
+ const parameterResolveArgument = await (injectMetadata.forwardArgumentMapper?.(resolveArgument) ?? injectMetadata.resolveArgumentProvider?.(this.getResolveContext(context, getChain(injectToken))));
390
+ if ((0, import_type_guards.isDefined)(injectMetadata.forwardRefToken)) {
391
+ const forwardRef = import_forward_ref.ForwardRef.create();
392
+ const forwardRefToken = injectMetadata.forwardRefToken;
393
+ context.forwardRefQueue.add(async () => {
394
+ const forwardToken = (0, import_type_guards.isFunction)(forwardRefToken) ? forwardRefToken() : forwardRefToken;
395
+ if ((0, import_type_guards.isDefined)(injectMetadata.mapper)) {
396
+ throw new import_resolve_error.ResolveError("Cannot use inject mapper with forwardRef.", getChain(forwardToken));
397
+ }
398
+ const resolved2 = await this._resolveAsync(forwardToken, injectMetadata.optional, parameterResolveArgument, context, getChain(forwardToken), false);
399
+ import_forward_ref.ForwardRef.setRef(forwardRef, resolved2);
400
+ });
401
+ context.forwardRefs.add(forwardRef);
402
+ return { resolved: forwardRef };
403
+ }
404
+ const resolved = await this._resolveAsync(injectToken, injectMetadata.optional, parameterResolveArgument, context, getChain(injectToken), false);
405
+ return { resolved: (0, import_type_guards.isDefined)(injectMetadata.mapper) ? injectMetadata.mapper(resolved) : resolved };
406
+ }
407
+ getResolveContext(resolveContext, chain) {
408
+ const context = {
409
+ isAsync: resolveContext.isAsync,
410
+ resolve: (token, argument, instances) => {
411
+ this.addInstancesToResolveContext(instances, resolveContext);
412
+ return this._resolve(token, false, argument, resolveContext, chain.addToken(token), false);
413
+ },
414
+ resolveAsync: async (token, argument, instances) => {
415
+ this.addInstancesToResolveContext(instances, resolveContext);
416
+ return this._resolveAsync(token, false, argument, resolveContext, chain.addToken(token), false);
417
+ }
418
+ };
419
+ return context;
420
+ }
421
+ addInstancesToResolveContext(instances, resolveContext) {
422
+ if ((0, import_type_guards.isUndefined)(instances)) {
423
+ return;
424
+ }
425
+ for (const [instanceToken, instance] of instances) {
426
+ resolveContext.providedInstances.set(instanceToken, instance);
427
+ }
428
+ }
414
429
  }
415
430
  function derefForwardRefs(context) {
416
- for (const resolution of context.resolutions) {
417
- if (!(typeof resolution.instance == 'object')) {
418
- continue;
419
- }
420
- for (const [key, value] of objectEntries(resolution.instance)) {
421
- if (!context.forwardRefs.has(value)) {
422
- continue;
423
- }
424
- resolution.instance[key] = ForwardRef.deref(value);
425
- }
431
+ for (const resolution of context.resolutions) {
432
+ if (!(typeof resolution.instance == "object")) {
433
+ continue;
434
+ }
435
+ for (const [key, value] of (0, import_object.objectEntries)(resolution.instance)) {
436
+ if (!context.forwardRefs.has(value)) {
437
+ continue;
438
+ }
439
+ resolution.instance[key] = import_forward_ref.ForwardRef.deref(value);
426
440
  }
441
+ }
427
442
  }
428
- export const container = new Container();
429
- //# sourceMappingURL=container.js.map
443
+ const container = new Container();