@tstdl/base 0.87.13 → 0.88.0-alpha1

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 (740) hide show
  1. package/api/client/client.js +111 -127
  2. package/api/client/index.js +1 -18
  3. package/api/default-error-handlers.js +18 -44
  4. package/api/index.js +14 -20
  5. package/api/response.js +99 -123
  6. package/api/server/api-controller.js +43 -71
  7. package/api/server/api-request-token.provider.js +13 -40
  8. package/api/server/error-handler.js +25 -46
  9. package/api/server/gateway.js +219 -225
  10. package/api/server/index.js +5 -22
  11. package/api/server/middlewares/allowed-methods.middleware.js +17 -40
  12. package/api/server/middlewares/catch-error.middleware.js +12 -33
  13. package/api/server/middlewares/cors.middleware.js +49 -69
  14. package/api/server/middlewares/index.js +4 -21
  15. package/api/server/middlewares/response-time.middleware.js +8 -31
  16. package/api/server/module.js +18 -42
  17. package/api/server/tokens.js +6 -31
  18. package/api/types.js +14 -40
  19. package/api/utils.js +13 -36
  20. package/application/application.js +147 -169
  21. package/application/index.js +1 -18
  22. package/async-iterator-symbol.js +5 -28
  23. package/authentication/authentication.api.js +89 -113
  24. package/authentication/client/api.client.js +29 -57
  25. package/authentication/client/authentication.service.js +214 -235
  26. package/authentication/client/http-client.middleware.js +16 -38
  27. package/authentication/client/index.js +5 -22
  28. package/authentication/client/module.js +22 -45
  29. package/authentication/client/tokens.js +6 -30
  30. package/authentication/errors/index.js +1 -18
  31. package/authentication/errors/secret-requirements.error.js +6 -29
  32. package/authentication/index.js +2 -19
  33. package/authentication/models/authentication-credentials.model.js +37 -66
  34. package/authentication/models/authentication-session.model.js +51 -80
  35. package/authentication/models/index.js +6 -23
  36. package/authentication/models/init-secret-reset-data.model.js +16 -44
  37. package/authentication/models/secret-check-result.model.js +10 -36
  38. package/authentication/models/token-payload-base.model.js +31 -59
  39. package/authentication/models/token.model.js +1 -16
  40. package/authentication/server/authentication-api-request-token.provider.js +25 -52
  41. package/authentication/server/authentication-credentials.repository.js +1 -24
  42. package/authentication/server/authentication-secret-requirements.validator.js +30 -57
  43. package/authentication/server/authentication-secret-reset.handler.js +1 -24
  44. package/authentication/server/authentication-session.repository.js +1 -24
  45. package/authentication/server/authentication-subject.resolver.js +5 -24
  46. package/authentication/server/authentication-token-payload.provider.js +5 -29
  47. package/authentication/server/authentication.api-controller.js +89 -114
  48. package/authentication/server/authentication.service.js +273 -308
  49. package/authentication/server/helper.js +66 -87
  50. package/authentication/server/index.js +11 -28
  51. package/authentication/server/module.js +26 -48
  52. package/authentication/server/mongo/index.js +2 -19
  53. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +54 -84
  54. package/authentication/server/mongo/mongo-authentication-session.repository.js +51 -81
  55. package/browser/browser-context-controller.js +106 -133
  56. package/browser/browser-controller.js +87 -113
  57. package/browser/browser.service.js +87 -117
  58. package/browser/document-controller.js +70 -94
  59. package/browser/element-controller.js +231 -252
  60. package/browser/frame-controller.js +24 -47
  61. package/browser/index.js +10 -27
  62. package/browser/locator-controller.js +36 -59
  63. package/browser/module.js +26 -50
  64. package/browser/page-controller.js +150 -166
  65. package/browser/pdf-options.js +73 -103
  66. package/browser/types.js +1 -16
  67. package/browser/utils.js +94 -128
  68. package/cancellation/index.js +1 -18
  69. package/cancellation/token.js +164 -184
  70. package/collections/awaitable/awaitable-list.js +99 -122
  71. package/collections/awaitable/awaitable-map.js +93 -116
  72. package/collections/awaitable/awaitable-set.js +63 -86
  73. package/collections/awaitable/index.js +3 -20
  74. package/collections/collection.js +1 -16
  75. package/collections/index.js +6 -23
  76. package/collections/keyed-set.js +53 -77
  77. package/collections/list.js +1 -16
  78. package/collections/observable/index.js +8 -25
  79. package/collections/observable/observable-array.js +95 -118
  80. package/collections/observable/observable-collection-base.js +60 -83
  81. package/collections/observable/observable-collection.js +1 -16
  82. package/collections/observable/observable-list-base.js +55 -78
  83. package/collections/observable/observable-list.js +1 -16
  84. package/collections/observable/observable-map.js +56 -79
  85. package/collections/observable/observable-set.js +75 -98
  86. package/collections/observable/observable-sorted-array-list.js +165 -188
  87. package/collections/sorted-array-list.js +156 -179
  88. package/collections/sorted-list.js +1 -16
  89. package/collections/sorted-map.js +70 -93
  90. package/container/decorators.js +1 -34
  91. package/container/index.js +3 -20
  92. package/container/interfaces.js +1 -25
  93. package/container/token.js +1 -26
  94. package/cookie/cookie.js +49 -71
  95. package/cookie/index.js +1 -18
  96. package/core.js +56 -81
  97. package/data-structures/array-dictionary.js +89 -110
  98. package/data-structures/array-list.js +107 -130
  99. package/data-structures/cache.js +41 -64
  100. package/data-structures/circular-buffer.js +200 -220
  101. package/data-structures/collection.js +86 -109
  102. package/data-structures/dictionary.js +51 -75
  103. package/data-structures/distinct-collection.js +49 -73
  104. package/data-structures/index-out-of-bounds.error.js +8 -31
  105. package/data-structures/index.js +16 -33
  106. package/data-structures/iterable-weak-map.js +129 -149
  107. package/data-structures/linked-list.js +368 -385
  108. package/data-structures/list.js +86 -109
  109. package/data-structures/map-dictionary.js +55 -78
  110. package/data-structures/multi-key-map.js +141 -163
  111. package/data-structures/multi-key-set.js +56 -79
  112. package/data-structures/set-collection.js +54 -77
  113. package/data-structures/sorted-array-list.js +140 -166
  114. package/data-structures/weak-ref-map.js +126 -146
  115. package/database/entity-repository.js +2 -26
  116. package/database/entity.js +1 -16
  117. package/database/id.js +8 -29
  118. package/database/index.js +6 -23
  119. package/database/module.js +9 -33
  120. package/database/mongo/classes.js +18 -43
  121. package/database/mongo/index.js +10 -27
  122. package/database/mongo/model/document.js +62 -93
  123. package/database/mongo/model/index.js +1 -18
  124. package/database/mongo/module.js +59 -79
  125. package/database/mongo/mongo-base.repository.js +259 -283
  126. package/database/mongo/mongo-bulk.js +87 -110
  127. package/database/mongo/mongo-entity-repository.js +270 -296
  128. package/database/mongo/operations.js +48 -76
  129. package/database/mongo/query-converter.js +73 -96
  130. package/database/mongo/simple-entity-repository.js +5 -28
  131. package/database/mongo/types.js +2 -25
  132. package/database/query.js +7 -36
  133. package/database/utils.js +2 -25
  134. package/decorators/index.js +1 -18
  135. package/decorators/log.js +29 -51
  136. package/disposable/async-disposer.js +118 -130
  137. package/disposable/disposable.js +9 -36
  138. package/disposable/index.js +3 -20
  139. package/disposable/using.js +15 -37
  140. package/distributed-loop/controller.js +1 -16
  141. package/distributed-loop/distributed-loop.js +77 -105
  142. package/distributed-loop/index.js +3 -20
  143. package/distributed-loop/provider.js +21 -48
  144. package/enumerable/async-enumerable.js +238 -261
  145. package/enumerable/enumerable-methods.js +1 -16
  146. package/enumerable/enumerable.js +177 -200
  147. package/enumerable/index.js +2 -19
  148. package/environment.js +25 -57
  149. package/error/api.error.js +10 -33
  150. package/error/assertion.error.js +6 -29
  151. package/error/bad-request.error.js +6 -29
  152. package/error/custom.error.js +25 -47
  153. package/error/details.error.js +8 -31
  154. package/error/forbidden.error.js +6 -29
  155. package/error/index.js +16 -33
  156. package/error/invalid-token.error.js +6 -29
  157. package/error/max-bytes-exceeded.error.js +9 -32
  158. package/error/method-not-allowed.error.js +6 -29
  159. package/error/multi.error.js +8 -31
  160. package/error/not-found.error.js +6 -29
  161. package/error/not-implemented.error.js +6 -29
  162. package/error/not-supported.error.js +11 -34
  163. package/error/timeout.error.js +6 -29
  164. package/error/unauthorized.error.js +6 -29
  165. package/error/unsupported-media-type.error.js +6 -29
  166. package/examples/api/authentication.js +49 -49
  167. package/examples/api/basic-overview.js +80 -85
  168. package/examples/api/custom-authentication.js +94 -99
  169. package/examples/api/streaming.js +90 -95
  170. package/examples/browser/basic.js +21 -22
  171. package/examples/http/client.js +15 -16
  172. package/examples/mail/basic.js +41 -42
  173. package/examples/mail/templates/hello-name.js +10 -33
  174. package/examples/pdf/basic.js +48 -49
  175. package/examples/pdf/templates/hello-name.js +35 -58
  176. package/examples/reflection/basic.js +53 -84
  177. package/examples/template/basic.js +32 -33
  178. package/examples/template/templates/hello-jsx.js +8 -32
  179. package/examples/template/templates/hello-name.js +18 -41
  180. package/function/index.js +1 -18
  181. package/function/log.js +18 -40
  182. package/http/client/adapters/undici-http-client.adapter.js +92 -111
  183. package/http/client/http-client-options.js +10 -33
  184. package/http/client/http-client-request.js +149 -171
  185. package/http/client/http-client-response.js +33 -56
  186. package/http/client/http-client.adapter.js +1 -24
  187. package/http/client/http-client.js +295 -313
  188. package/http/client/index.js +6 -23
  189. package/http/client/middleware.js +1 -16
  190. package/http/client/module.js +20 -43
  191. package/http/client/tokens.js +2 -25
  192. package/http/cookie-parser.js +19 -42
  193. package/http/http-body.js +52 -75
  194. package/http/http-form.js +14 -37
  195. package/http/http-headers.js +86 -109
  196. package/http/http-query.js +14 -37
  197. package/http/http-url-parameters.js +8 -31
  198. package/http/http-value-map.js +110 -133
  199. package/http/http.error.js +60 -82
  200. package/http/index.js +11 -28
  201. package/http/server/http-server-request.js +24 -47
  202. package/http/server/http-server-response.js +22 -45
  203. package/http/server/http-server.js +2 -25
  204. package/http/server/index.js +3 -20
  205. package/http/server/node/index.js +2 -19
  206. package/http/server/node/module.js +8 -28
  207. package/http/server/node/node-http-server.js +205 -230
  208. package/http/types.js +21 -47
  209. package/http/utils.js +92 -108
  210. package/image-service/image-service.js +59 -91
  211. package/image-service/imgproxy/imgproxy-image-service.js +88 -125
  212. package/image-service/imgproxy/index.js +1 -18
  213. package/image-service/index.js +1 -18
  214. package/import.js +2 -25
  215. package/index.js +1 -18
  216. package/injector/decorators.js +134 -112
  217. package/injector/index.js +11 -28
  218. package/injector/inject.js +104 -103
  219. package/injector/injector.js +481 -497
  220. package/injector/interfaces.js +2 -26
  221. package/injector/provider.js +22 -54
  222. package/injector/resolve-chain.js +91 -117
  223. package/injector/resolve.error.js +11 -36
  224. package/injector/symbols.js +2 -26
  225. package/injector/token.js +17 -38
  226. package/injector/type-info.js +1 -16
  227. package/injector/types.js +1 -16
  228. package/interfaces.js +1 -16
  229. package/json-path/index.js +1 -18
  230. package/json-path/json-path.js +138 -138
  231. package/key-value-store/index.js +2 -19
  232. package/key-value-store/key-value-store.provider.js +1 -24
  233. package/key-value-store/key-value.store.js +6 -29
  234. package/key-value-store/mongo/index.js +6 -23
  235. package/key-value-store/mongo/module.js +17 -35
  236. package/key-value-store/mongo/mongo-key-value-store.provider.js +21 -48
  237. package/key-value-store/mongo/mongo-key-value.model.js +1 -16
  238. package/key-value-store/mongo/mongo-key-value.repository.js +23 -52
  239. package/key-value-store/mongo/mongo-key-value.store.js +60 -89
  240. package/key-value-store/mongo/tokens.js +2 -25
  241. package/lock/index.js +2 -19
  242. package/lock/lock.js +6 -29
  243. package/lock/mongo/index.js +5 -22
  244. package/lock/mongo/lock.js +112 -135
  245. package/lock/mongo/model.js +1 -16
  246. package/lock/mongo/module.js +18 -37
  247. package/lock/mongo/mongo-lock-repository.js +57 -85
  248. package/lock/mongo/provider.js +39 -68
  249. package/lock/provider.js +2 -25
  250. package/lock/web/index.js +3 -20
  251. package/lock/web/module.js +11 -31
  252. package/lock/web/web-lock.js +81 -105
  253. package/lock/web/web-lock.provider.js +28 -57
  254. package/logger/console/index.js +1 -18
  255. package/logger/console/logger.js +55 -81
  256. package/logger/index.js +3 -20
  257. package/logger/level.js +8 -31
  258. package/logger/logger.js +38 -61
  259. package/logger/noop/index.js +1 -18
  260. package/logger/noop/logger.js +20 -42
  261. package/logger/tokens.js +2 -25
  262. package/mail/clients/nodemailer.mail-client.js +64 -91
  263. package/mail/index.js +5 -22
  264. package/mail/mail-log.repository.js +2 -25
  265. package/mail/mail.client.js +35 -63
  266. package/mail/mail.service.js +74 -106
  267. package/mail/models/index.js +6 -23
  268. package/mail/models/mail-address.model.js +1 -16
  269. package/mail/models/mail-content.model.js +1 -16
  270. package/mail/models/mail-data.model.js +1 -16
  271. package/mail/models/mail-log.model.js +1 -16
  272. package/mail/models/mail-send-result.model.js +1 -16
  273. package/mail/models/mail-template.model.js +5 -28
  274. package/mail/module.js +21 -41
  275. package/mail/repositories/mongo-mail-log.repository.js +25 -56
  276. package/mail/tokens.js +2 -25
  277. package/memory/finalization.js +36 -60
  278. package/memory/index.js +2 -19
  279. package/memory/observable-finalization-registry.js +9 -32
  280. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +24 -53
  281. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +47 -74
  282. package/message-bus/broadcast-channel/index.js +3 -20
  283. package/message-bus/broadcast-channel/module.js +11 -31
  284. package/message-bus/index.js +3 -20
  285. package/message-bus/local/index.js +3 -20
  286. package/message-bus/local/local-message-bus-provider.js +36 -65
  287. package/message-bus/local/local-message-bus.js +39 -66
  288. package/message-bus/local/module.js +11 -31
  289. package/message-bus/local/types.js +1 -16
  290. package/message-bus/message-bus-base.js +41 -63
  291. package/message-bus/message-bus-provider.js +1 -24
  292. package/message-bus/message-bus.js +6 -29
  293. package/migration/index.js +3 -20
  294. package/migration/migration-state-repository.js +2 -25
  295. package/migration/migration-state.js +1 -16
  296. package/migration/migrator.js +81 -108
  297. package/migration/mongo/index.js +2 -19
  298. package/migration/mongo/migration-state-repository.js +24 -53
  299. package/migration/mongo/module.js +15 -34
  300. package/module/index.js +4 -21
  301. package/module/module-base.js +37 -60
  302. package/module/module-metric-reporter.js +58 -77
  303. package/module/module.js +10 -34
  304. package/module/modules/function.module.js +11 -34
  305. package/module/modules/index.js +2 -19
  306. package/module/modules/web-server.module.js +54 -83
  307. package/module/utils.js +19 -43
  308. package/notification/api.js +22 -50
  309. package/notification/models/index.js +2 -19
  310. package/notification/models/notification-channel-job.model.js +1 -16
  311. package/notification/models/notification.model.js +75 -103
  312. package/notification/module.js +8 -28
  313. package/notification/notification-channel.service.js +1 -24
  314. package/notification/notification.repository.js +1 -24
  315. package/notification/notification.service.js +31 -58
  316. package/object-storage/index.js +3 -20
  317. package/object-storage/object-storage-provider.js +1 -24
  318. package/object-storage/object-storage.js +7 -30
  319. package/object-storage/object.js +7 -30
  320. package/object-storage/s3/index.js +3 -20
  321. package/object-storage/s3/s3.object-storage-provider.js +75 -100
  322. package/object-storage/s3/s3.object-storage.js +134 -160
  323. package/object-storage/s3/s3.object.js +39 -62
  324. package/openid-connect/cached-oidc-configuration.service.js +36 -65
  325. package/openid-connect/index.js +11 -28
  326. package/openid-connect/mongo-oidc-state.repository.js +40 -65
  327. package/openid-connect/oidc-configuration.service.js +39 -66
  328. package/openid-connect/oidc-state.model.js +1 -16
  329. package/openid-connect/oidc-state.repository.js +2 -25
  330. package/openid-connect/oidc.service-model.js +1 -16
  331. package/openid-connect/oidc.service.js +158 -187
  332. package/package.json +7 -5
  333. package/password/have-i-been-pwned.js +21 -39
  334. package/password/index.js +4 -21
  335. package/password/password-check-result.model.js +34 -63
  336. package/password/password-check.js +46 -76
  337. package/password/password-check.localization.js +86 -111
  338. package/pdf/index.js +1 -18
  339. package/pdf/pdf.service.js +172 -206
  340. package/polyfills.js +1 -2
  341. package/pool/index.js +1 -18
  342. package/pool/pool.js +116 -133
  343. package/process-shutdown.js +57 -81
  344. package/promise/cancelable-promise.js +23 -41
  345. package/promise/deferred-promise.js +68 -92
  346. package/promise/index.js +3 -20
  347. package/promise/lazy-promise.js +24 -47
  348. package/queue/enqueue-batch.js +18 -41
  349. package/queue/index.js +3 -20
  350. package/queue/mongo/index.js +4 -21
  351. package/queue/mongo/job.js +1 -16
  352. package/queue/mongo/mongo-job.repository.js +45 -70
  353. package/queue/mongo/queue.js +243 -265
  354. package/queue/mongo/queue.provider.js +47 -72
  355. package/queue/provider.js +1 -24
  356. package/queue/queue.js +15 -41
  357. package/random/index.js +2 -19
  358. package/random/number-generator/index.js +3 -20
  359. package/random/number-generator/mulberry32.js +34 -51
  360. package/random/number-generator/random-number-generator-function.js +1 -24
  361. package/random/number-generator/random-number-generator.js +8 -31
  362. package/random/number-generator/seeded-random-number-generator.js +5 -28
  363. package/random/number-generator/sfc32.js +41 -64
  364. package/random/number-generator/utils.js +2 -25
  365. package/random/series.js +41 -43
  366. package/reflection/decorator-data.js +63 -80
  367. package/reflection/decorators.js +39 -69
  368. package/reflection/index.js +5 -22
  369. package/reflection/reflection-data-map.js +32 -55
  370. package/reflection/registry.js +110 -130
  371. package/reflection/types.js +1 -16
  372. package/reflection/utils.js +96 -124
  373. package/require.js +3 -26
  374. package/rpc/endpoints/message-port.rpc-endpoint.js +29 -48
  375. package/rpc/index.js +4 -21
  376. package/rpc/model.js +7 -30
  377. package/rpc/rpc-endpoint.js +17 -40
  378. package/rpc/rpc-error.js +17 -40
  379. package/rpc/rpc.js +223 -235
  380. package/rxjs/cast.js +4 -28
  381. package/rxjs/index.js +13 -30
  382. package/rxjs/intersection-observer.js +25 -48
  383. package/rxjs/media-query.js +8 -27
  384. package/rxjs/mutation-observer.js +28 -50
  385. package/rxjs/noop.js +4 -28
  386. package/rxjs/performance-observer.js +37 -60
  387. package/rxjs/resize-observer.js +28 -50
  388. package/rxjs/retry-backoff.js +23 -47
  389. package/rxjs/slow-array.js +22 -36
  390. package/rxjs/start-with-provider.js +5 -28
  391. package/rxjs/teardown.js +21 -44
  392. package/rxjs/timing.js +26 -57
  393. package/rxjs/touch.js +11 -30
  394. package/schema/array-constraints/index.js +2 -19
  395. package/schema/array-constraints/maximum-length.js +19 -42
  396. package/schema/array-constraints/minimum-length.js +19 -42
  397. package/schema/coercers/boolean.coercer.js +25 -49
  398. package/schema/coercers/date.coercer.js +14 -38
  399. package/schema/coercers/index.js +6 -23
  400. package/schema/coercers/number.coercer.js +12 -36
  401. package/schema/coercers/regexp.coercer.js +18 -41
  402. package/schema/coercers/string.coercer.js +12 -36
  403. package/schema/coercers/uint8-array.coercer.js +20 -44
  404. package/schema/constraints/enumeration.js +27 -49
  405. package/schema/constraints/generic.js +21 -41
  406. package/schema/constraints/index.js +12 -29
  407. package/schema/constraints/integer.js +20 -44
  408. package/schema/constraints/length.js +14 -36
  409. package/schema/constraints/literal.js +22 -44
  410. package/schema/constraints/maximum-date.js +23 -46
  411. package/schema/constraints/maximum-length.js +22 -45
  412. package/schema/constraints/maximum.js +21 -44
  413. package/schema/constraints/minimum-date.js +23 -46
  414. package/schema/constraints/minimum-length.js +22 -45
  415. package/schema/constraints/minimum.js +21 -44
  416. package/schema/constraints/pattern.js +23 -46
  417. package/schema/decorators/class.js +4 -26
  418. package/schema/decorators/coerce.js +4 -26
  419. package/schema/decorators/constraint.js +6 -28
  420. package/schema/decorators/index.js +6 -23
  421. package/schema/decorators/property.js +16 -38
  422. package/schema/decorators/types.js +1 -16
  423. package/schema/decorators/utils.js +45 -73
  424. package/schema/index.js +10 -27
  425. package/schema/schema.error.js +59 -72
  426. package/schema/schema.js +256 -274
  427. package/schema/schemas/any.js +7 -30
  428. package/schema/schemas/array.js +21 -44
  429. package/schema/schemas/assign.js +23 -46
  430. package/schema/schemas/boolean.js +7 -30
  431. package/schema/schemas/constraint.js +6 -29
  432. package/schema/schemas/date.js +20 -43
  433. package/schema/schemas/defaulted.js +8 -31
  434. package/schema/schemas/enumeration.js +15 -38
  435. package/schema/schemas/index.js +26 -43
  436. package/schema/schemas/instance.js +4 -26
  437. package/schema/schemas/literal.js +15 -38
  438. package/schema/schemas/nullable.js +7 -30
  439. package/schema/schemas/number.js +25 -48
  440. package/schema/schemas/object.js +10 -34
  441. package/schema/schemas/omit.js +14 -37
  442. package/schema/schemas/one-or-many.js +13 -35
  443. package/schema/schemas/optional.js +6 -30
  444. package/schema/schemas/partial.js +16 -39
  445. package/schema/schemas/pick.js +14 -37
  446. package/schema/schemas/readable-stream.js +7 -30
  447. package/schema/schemas/record.js +9 -31
  448. package/schema/schemas/regexp.js +7 -30
  449. package/schema/schemas/string.js +36 -59
  450. package/schema/schemas/transform.js +6 -29
  451. package/schema/schemas/uint8-array.js +27 -50
  452. package/schema/schemas/union.js +11 -34
  453. package/schema/schemas/unknown.js +7 -30
  454. package/schema/transformers/generic.js +16 -39
  455. package/schema/transformers/index.js +4 -21
  456. package/schema/transformers/lowercase.js +10 -33
  457. package/schema/transformers/trim.js +10 -33
  458. package/schema/transformers/uppercase.js +10 -33
  459. package/schema/types/index.js +5 -22
  460. package/schema/types/schema-array-constraint.js +1 -24
  461. package/schema/types/schema-value-coercer.js +1 -24
  462. package/schema/types/schema-value-constraint.js +1 -24
  463. package/schema/types/schema-value-transformer.js +1 -24
  464. package/schema/types/types.js +161 -191
  465. package/schema/utils/index.js +2 -19
  466. package/schema/utils/schema.js +120 -142
  467. package/schema/utils/value-type.js +51 -74
  468. package/search-index/elastic/config.js +21 -50
  469. package/search-index/elastic/index.js +6 -23
  470. package/search-index/elastic/keyword-rewriter.js +17 -40
  471. package/search-index/elastic/model/elastic-query.js +1 -16
  472. package/search-index/elastic/model/index-mapping.js +4 -26
  473. package/search-index/elastic/model/index.js +3 -20
  474. package/search-index/elastic/model/sort.js +1 -16
  475. package/search-index/elastic/module.js +43 -68
  476. package/search-index/elastic/query-builder/boolean-query-builder.js +46 -69
  477. package/search-index/elastic/query-builder/index.js +1 -18
  478. package/search-index/elastic/query-converter.js +174 -192
  479. package/search-index/elastic/search-index.js +132 -153
  480. package/search-index/elastic/sort-converter.js +12 -34
  481. package/search-index/elastic/types.js +1 -16
  482. package/search-index/error.js +12 -35
  483. package/search-index/index.js +3 -20
  484. package/search-index/memory/index.js +1 -18
  485. package/search-index/memory/memory-search-index.js +130 -152
  486. package/search-index/search-index.js +30 -53
  487. package/search-index/search-result.js +1 -16
  488. package/serializer/handlers/binary.js +19 -47
  489. package/serializer/handlers/date.js +4 -28
  490. package/serializer/handlers/error.js +7 -31
  491. package/serializer/handlers/index.js +7 -24
  492. package/serializer/handlers/map.js +16 -40
  493. package/serializer/handlers/regex.js +7 -31
  494. package/serializer/handlers/register.js +36 -59
  495. package/serializer/handlers/set.js +13 -37
  496. package/serializer/index.js +3 -30
  497. package/serializer/serializable.js +43 -68
  498. package/serializer/serializer.js +244 -264
  499. package/serializer/types.js +6 -34
  500. package/signals/api.js +18 -46
  501. package/signals/computed-with-dependencies.js +8 -31
  502. package/signals/effect-with-dependencies.js +8 -31
  503. package/signals/implementation/api.js +33 -33
  504. package/signals/implementation/computed.js +125 -104
  505. package/signals/implementation/configure.js +18 -41
  506. package/signals/implementation/effect.js +48 -66
  507. package/signals/implementation/errors.js +5 -29
  508. package/signals/implementation/graph.js +168 -136
  509. package/signals/implementation/index.js +10 -27
  510. package/signals/implementation/signal.js +91 -101
  511. package/signals/implementation/to-observable.js +21 -38
  512. package/signals/implementation/to-signal.js +44 -60
  513. package/signals/implementation/untracked.js +15 -31
  514. package/signals/implementation/watch.js +58 -73
  515. package/signals/index.js +9 -26
  516. package/signals/lazylize.js +4 -27
  517. package/signals/pipe.js +9 -33
  518. package/signals/switch-map.js +4 -27
  519. package/signals/to-signal-2.js +38 -61
  520. package/signals/types.js +1 -16
  521. package/signals/untracked-operator.js +11 -33
  522. package/sse/index.js +2 -19
  523. package/sse/model.js +1 -16
  524. package/sse/server-sent-events-source.js +54 -76
  525. package/sse/server-sent-events.js +48 -72
  526. package/supports.js +5 -32
  527. package/templates/index.js +9 -26
  528. package/templates/module.js +27 -48
  529. package/templates/providers/file.template-provider.js +41 -82
  530. package/templates/providers/memory.template-provider.js +28 -55
  531. package/templates/renderers/handlebars.template-renderer.js +85 -122
  532. package/templates/renderers/jsx.template-renderer.js +29 -56
  533. package/templates/renderers/mjml.template-renderer.js +43 -82
  534. package/templates/renderers/string.template-renderer.js +25 -52
  535. package/templates/resolvers/file.template-resolver.js +47 -90
  536. package/templates/resolvers/jsx.template-resolver.js +30 -59
  537. package/templates/resolvers/string.template-resolver.js +30 -59
  538. package/templates/template-renderer.provider.js +37 -66
  539. package/templates/template-resolver.provider.js +37 -66
  540. package/templates/template.model.js +40 -69
  541. package/templates/template.provider.js +1 -24
  542. package/templates/template.renderer.js +11 -34
  543. package/templates/template.resolver.js +1 -24
  544. package/templates/template.service.js +50 -82
  545. package/templates/tokens.js +3 -27
  546. package/templates/types/jsx.intrinsic-elements.js +1 -16
  547. package/text/dynamic-text.model.js +42 -71
  548. package/text/index.js +3 -20
  549. package/text/localizable-text.model.js +1 -16
  550. package/text/localization.service.js +197 -229
  551. package/theme/adapters/css-adapter.js +23 -46
  552. package/theme/adapters/tailwind-adapter.js +29 -52
  553. package/theme/index.js +1 -18
  554. package/theme/theme-service.js +109 -147
  555. package/threading/index.js +2 -19
  556. package/threading/thread-pool.js +48 -70
  557. package/threading/thread-worker.js +3 -26
  558. package/tokens.js +2 -25
  559. package/types/geo-json.js +1 -16
  560. package/types.js +2 -16
  561. package/utils/alphabet.js +12 -35
  562. package/utils/any-iterable-iterator.js +4 -27
  563. package/utils/array/array-backtracker.js +42 -65
  564. package/utils/array/array.js +76 -79
  565. package/utils/array/index.js +2 -19
  566. package/utils/async-iterable-helpers/all.js +25 -46
  567. package/utils/async-iterable-helpers/any.js +25 -46
  568. package/utils/async-iterable-helpers/assert.js +22 -43
  569. package/utils/async-iterable-helpers/batch.js +26 -46
  570. package/utils/async-iterable-helpers/buffer.js +47 -64
  571. package/utils/async-iterable-helpers/concat.js +5 -27
  572. package/utils/async-iterable-helpers/default-if-empty.js +9 -32
  573. package/utils/async-iterable-helpers/deferred.js +3 -26
  574. package/utils/async-iterable-helpers/difference.js +24 -48
  575. package/utils/async-iterable-helpers/distinct.js +23 -44
  576. package/utils/async-iterable-helpers/drain.js +4 -26
  577. package/utils/async-iterable-helpers/filter.js +23 -44
  578. package/utils/async-iterable-helpers/first-or-default.js +8 -30
  579. package/utils/async-iterable-helpers/first.js +8 -30
  580. package/utils/async-iterable-helpers/for-each.js +18 -38
  581. package/utils/async-iterable-helpers/group-single.js +3 -26
  582. package/utils/async-iterable-helpers/group-to-map.js +20 -41
  583. package/utils/async-iterable-helpers/group-to-single-map.js +23 -44
  584. package/utils/async-iterable-helpers/group.js +3 -26
  585. package/utils/async-iterable-helpers/includes.js +7 -28
  586. package/utils/async-iterable-helpers/index.js +48 -65
  587. package/utils/async-iterable-helpers/interrupt.js +19 -43
  588. package/utils/async-iterable-helpers/is-async-iterable.js +5 -29
  589. package/utils/async-iterable-helpers/last-or-default.js +13 -36
  590. package/utils/async-iterable-helpers/last.js +13 -36
  591. package/utils/async-iterable-helpers/map-many.js +19 -40
  592. package/utils/async-iterable-helpers/map.js +19 -40
  593. package/utils/async-iterable-helpers/materialize.js +21 -42
  594. package/utils/async-iterable-helpers/metadata.js +36 -54
  595. package/utils/async-iterable-helpers/multiplex.js +23 -44
  596. package/utils/async-iterable-helpers/observable-iterable.js +31 -53
  597. package/utils/async-iterable-helpers/pairwise.js +26 -44
  598. package/utils/async-iterable-helpers/parallel/feed.js +24 -45
  599. package/utils/async-iterable-helpers/parallel/filter.js +8 -31
  600. package/utils/async-iterable-helpers/parallel/for-each.js +21 -44
  601. package/utils/async-iterable-helpers/parallel/group.js +9 -32
  602. package/utils/async-iterable-helpers/parallel/index.js +7 -24
  603. package/utils/async-iterable-helpers/parallel/map.js +6 -29
  604. package/utils/async-iterable-helpers/parallel/tap.js +6 -29
  605. package/utils/async-iterable-helpers/parallel/types.js +1 -16
  606. package/utils/async-iterable-helpers/reduce.js +31 -46
  607. package/utils/async-iterable-helpers/retry.js +43 -58
  608. package/utils/async-iterable-helpers/single-or-default.js +17 -40
  609. package/utils/async-iterable-helpers/single.js +19 -42
  610. package/utils/async-iterable-helpers/skip.js +3 -26
  611. package/utils/async-iterable-helpers/sort.js +6 -29
  612. package/utils/async-iterable-helpers/take-until.js +32 -49
  613. package/utils/async-iterable-helpers/take-while.js +29 -46
  614. package/utils/async-iterable-helpers/take.js +23 -44
  615. package/utils/async-iterable-helpers/tap.js +19 -40
  616. package/utils/async-iterable-helpers/throttle.js +9 -30
  617. package/utils/async-iterable-helpers/to-array.js +10 -33
  618. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +40 -59
  619. package/utils/async-iterable-helpers/to-async-iterator.js +32 -54
  620. package/utils/async-iterable-helpers/to-set.js +10 -33
  621. package/utils/async-iterable-helpers/to-sync-iterable.js +6 -27
  622. package/utils/async-iterable-helpers/types.js +1 -16
  623. package/utils/async-iterable-helpers/while.js +25 -46
  624. package/utils/async-iterator-iterable-iterator.js +41 -62
  625. package/utils/backoff.js +109 -109
  626. package/utils/base64.js +153 -140
  627. package/utils/benchmark.js +114 -107
  628. package/utils/binary-search.js +70 -87
  629. package/utils/binary.js +50 -61
  630. package/utils/clone.js +43 -64
  631. package/utils/comparison.js +76 -98
  632. package/utils/compression.js +107 -118
  633. package/utils/config-parser.js +21 -48
  634. package/utils/crc32.js +20 -42
  635. package/utils/cryptography.js +163 -121
  636. package/utils/date-time.js +102 -138
  637. package/utils/encoding.js +62 -60
  638. package/utils/enum.js +27 -53
  639. package/utils/equals.js +103 -119
  640. package/utils/event-loop.js +19 -39
  641. package/utils/factory-map.js +53 -75
  642. package/utils/feedable-async-iterable.js +47 -70
  643. package/utils/file-reader.js +15 -41
  644. package/utils/format-error.js +36 -57
  645. package/utils/format.js +32 -53
  646. package/utils/function/index.js +2 -19
  647. package/utils/function/memoize.js +38 -53
  648. package/utils/function/throttle.js +26 -48
  649. package/utils/helpers.js +93 -102
  650. package/utils/image.js +62 -88
  651. package/utils/index.js +47 -64
  652. package/utils/iterable-helpers/all.js +8 -31
  653. package/utils/iterable-helpers/any.js +8 -31
  654. package/utils/iterable-helpers/assert.js +7 -30
  655. package/utils/iterable-helpers/batch.js +11 -34
  656. package/utils/iterable-helpers/concat.js +4 -27
  657. package/utils/iterable-helpers/default-if-empty.js +9 -32
  658. package/utils/iterable-helpers/deferred.js +2 -25
  659. package/utils/iterable-helpers/difference.js +21 -45
  660. package/utils/iterable-helpers/distinct.js +9 -32
  661. package/utils/iterable-helpers/drain.js +4 -26
  662. package/utils/iterable-helpers/filter.js +7 -30
  663. package/utils/iterable-helpers/first-or-default.js +8 -30
  664. package/utils/iterable-helpers/first.js +8 -30
  665. package/utils/iterable-helpers/for-each.js +5 -28
  666. package/utils/iterable-helpers/group-single.js +3 -26
  667. package/utils/iterable-helpers/group-to-map.js +9 -32
  668. package/utils/iterable-helpers/group-to-single-map.js +10 -33
  669. package/utils/iterable-helpers/group.js +3 -26
  670. package/utils/iterable-helpers/includes.js +3 -26
  671. package/utils/iterable-helpers/index.js +39 -56
  672. package/utils/iterable-helpers/is-iterable.js +5 -29
  673. package/utils/iterable-helpers/last-or-default.js +13 -36
  674. package/utils/iterable-helpers/last.js +13 -36
  675. package/utils/iterable-helpers/map-many.js +6 -29
  676. package/utils/iterable-helpers/map.js +6 -29
  677. package/utils/iterable-helpers/materialize.js +2 -25
  678. package/utils/iterable-helpers/metadata.js +16 -38
  679. package/utils/iterable-helpers/pairwise.js +11 -33
  680. package/utils/iterable-helpers/range.js +4 -27
  681. package/utils/iterable-helpers/reduce.js +11 -33
  682. package/utils/iterable-helpers/single-or-default.js +14 -37
  683. package/utils/iterable-helpers/single.js +17 -40
  684. package/utils/iterable-helpers/skip.js +6 -29
  685. package/utils/iterable-helpers/sort.js +4 -27
  686. package/utils/iterable-helpers/take-until.js +8 -31
  687. package/utils/iterable-helpers/take-while.js +10 -33
  688. package/utils/iterable-helpers/take.js +10 -33
  689. package/utils/iterable-helpers/tap.js +6 -29
  690. package/utils/iterable-helpers/types.js +1 -16
  691. package/utils/iterable-helpers/while.js +8 -31
  692. package/utils/jwt.js +77 -100
  693. package/utils/map.js +35 -62
  694. package/utils/math.js +102 -64
  695. package/utils/merge.js +26 -45
  696. package/utils/middleware.js +36 -60
  697. package/utils/moving-metric.js +155 -188
  698. package/utils/noop.js +4 -27
  699. package/utils/object/decycle.js +57 -78
  700. package/utils/object/dereference.js +46 -44
  701. package/utils/object/forward-ref.js +59 -73
  702. package/utils/object/index.js +7 -24
  703. package/utils/object/lazy-property.js +81 -96
  704. package/utils/object/merge.js +48 -70
  705. package/utils/object/object.js +106 -136
  706. package/utils/object/property-name.js +69 -72
  707. package/utils/ordered-feedable-async-iterable.js +42 -65
  708. package/utils/patch-worker.js +69 -90
  709. package/utils/patterns.js +7 -29
  710. package/utils/periodic-reporter.js +60 -82
  711. package/utils/periodic-sampler.js +67 -91
  712. package/utils/provider-function-iterable.js +26 -48
  713. package/utils/proxy.js +17 -42
  714. package/utils/random.js +40 -50
  715. package/utils/reflection.js +13 -41
  716. package/utils/repl.js +14 -33
  717. package/utils/set.js +36 -62
  718. package/utils/singleton.js +18 -41
  719. package/utils/sort.js +53 -77
  720. package/utils/stream/finalize-stream.js +43 -62
  721. package/utils/stream/index.js +6 -23
  722. package/utils/stream/readable-stream-adapter.js +35 -57
  723. package/utils/stream/readable-stream-from-promise.js +7 -28
  724. package/utils/stream/size-limited-stream.js +12 -35
  725. package/utils/stream/stream-helper-types.js +1 -16
  726. package/utils/stream/stream-reader.js +30 -52
  727. package/utils/string/hypenate.js +2 -25
  728. package/utils/string/index.js +3 -20
  729. package/utils/string/title-case.js +6 -26
  730. package/utils/string/trim.js +9 -32
  731. package/utils/throw.js +7 -30
  732. package/utils/timer.js +70 -91
  733. package/utils/timing.js +52 -80
  734. package/utils/type-guards.js +253 -1076
  735. package/utils/type-of.js +25 -43
  736. package/utils/units.js +53 -124
  737. package/utils/url-builder.js +47 -68
  738. package/utils/value-or-provider.js +19 -44
  739. package/utils/z-base32.js +42 -63
  740. package/web-types.js +1 -16
@@ -1,26 +1,2 @@
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 interfaces_exports = {};
20
- __export(interfaces_exports, {
21
- afterResolve: () => afterResolve,
22
- resolveArgumentType: () => resolveArgumentType
23
- });
24
- module.exports = __toCommonJS(interfaces_exports);
25
- const resolveArgumentType = Symbol("resolveArgumentType");
26
- const afterResolve = Symbol("after resolve");
1
+ export const resolveArgumentType = Symbol('resolveArgumentType');
2
+ export const afterResolve = Symbol('after resolve');
@@ -1,64 +1,32 @@
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 provider_exports = {};
20
- __export(provider_exports, {
21
- classProvider: () => classProvider,
22
- factoryProvider: () => factoryProvider,
23
- isClassProvider: () => isClassProvider,
24
- isFactoryProvider: () => isFactoryProvider,
25
- isProvider: () => isProvider,
26
- isProviderWithInitializer: () => isProviderWithInitializer,
27
- isTokenProvider: () => isTokenProvider,
28
- isValueProvider: () => isValueProvider,
29
- tokenProvider: () => tokenProvider,
30
- valueProvider: () => valueProvider
31
- });
32
- module.exports = __toCommonJS(provider_exports);
33
- var import_object = require("../utils/object/object.js");
34
- var import_type_guards = require("../utils/type-guards.js");
35
- function classProvider(constructor, options) {
36
- return { useClass: constructor, ...options };
1
+ import { hasOwnProperty } from '../utils/object/object.js';
2
+ import { isFunction, isObject } from '../utils/type-guards.js';
3
+ export function classProvider(constructor, options) {
4
+ return { useClass: constructor, ...options };
37
5
  }
38
- function valueProvider(value, options) {
39
- return { useValue: value, ...options };
6
+ export function valueProvider(value, options) {
7
+ return { useValue: value, ...options };
40
8
  }
41
- function tokenProvider(token, options) {
42
- return { useToken: token, ...options };
9
+ export function tokenProvider(token, options) {
10
+ return { useToken: token, ...options };
43
11
  }
44
- function factoryProvider(factory, options) {
45
- return { useFactory: factory, ...options };
12
+ export function factoryProvider(factory, options) {
13
+ return { useFactory: factory, ...options };
46
14
  }
47
- function isClassProvider(value) {
48
- return (0, import_type_guards.isObject)(value) && (0, import_object.hasOwnProperty)(value, "useClass");
15
+ export function isClassProvider(value) {
16
+ return isObject(value) && hasOwnProperty(value, 'useClass');
49
17
  }
50
- function isValueProvider(value) {
51
- return (0, import_type_guards.isObject)(value) && (0, import_object.hasOwnProperty)(value, "useValue");
18
+ export function isValueProvider(value) {
19
+ return isObject(value) && hasOwnProperty(value, 'useValue');
52
20
  }
53
- function isTokenProvider(value) {
54
- return (0, import_type_guards.isObject)(value) && ((0, import_object.hasOwnProperty)(value, "useToken") || (0, import_object.hasOwnProperty)(value, "useTokenProvider"));
21
+ export function isTokenProvider(value) {
22
+ return isObject(value) && (hasOwnProperty(value, 'useToken') || hasOwnProperty(value, 'useTokenProvider'));
55
23
  }
56
- function isFactoryProvider(value) {
57
- return (0, import_type_guards.isObject)(value) && (0, import_object.hasOwnProperty)(value, "useFactory");
24
+ export function isFactoryProvider(value) {
25
+ return isObject(value) && (hasOwnProperty(value, 'useFactory'));
58
26
  }
59
- function isProvider(value) {
60
- return isClassProvider(value) || isValueProvider(value) || isTokenProvider(value) || isFactoryProvider(value);
27
+ export function isProvider(value) {
28
+ return isClassProvider(value) || isValueProvider(value) || isTokenProvider(value) || isFactoryProvider(value);
61
29
  }
62
- function isProviderWithInitializer(value) {
63
- return (0, import_type_guards.isFunction)(value.afterResolve);
30
+ export function isProviderWithInitializer(value) {
31
+ return isFunction(value.afterResolve);
64
32
  }
@@ -1,123 +1,97 @@
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 resolve_chain_exports = {};
20
- __export(resolve_chain_exports, {
21
- ResolveChain: () => ResolveChain
22
- });
23
- module.exports = __toCommonJS(resolve_chain_exports);
24
- var import_reflection = require("../reflection/index.js");
25
- var import_type_guards = require("../utils/type-guards.js");
26
- var import_token = require("./token.js");
27
- class ResolveChain {
28
- nodes;
29
- get length() {
30
- return this.nodes.length;
31
- }
32
- /** @deprecated internal */
33
- constructor(nodes) {
34
- this.nodes = nodes;
35
- }
36
- static startWith(token) {
37
- const chain = new ResolveChain([]);
38
- return chain.addToken(token);
39
- }
40
- addToken(token) {
41
- const node = { type: "token", token };
42
- return new ResolveChain([...this.nodes, node]);
43
- }
44
- addInject(token, index) {
45
- const node = { type: "inject", token, index };
46
- return new ResolveChain([...this.nodes, node]);
47
- }
48
- addParameter(constructor, index, token) {
49
- const node = { type: "parameter", constructor, index, token };
50
- return new ResolveChain([...this.nodes, node]);
51
- }
52
- addProperty(constructor, property, token) {
53
- const node = { type: "property", constructor, property, token };
54
- return new ResolveChain([...this.nodes, node]);
55
- }
56
- markAsForwardRef(forwardToken) {
57
- const nodes = [...this.nodes];
58
- nodes.push({ ...nodes.pop(), token: forwardToken, forwardRef: true });
59
- return new ResolveChain(nodes);
60
- }
61
- format(truncate) {
62
- let chainString = "";
63
- const chain = (0, import_type_guards.isDefined)(truncate) ? this.truncate(truncate) : this;
64
- if (chain.length < this.length) {
65
- chainString += "\n [...]";
1
+ import { reflectionRegistry } from '../reflection/index.js';
2
+ import { assertDefinedPass, isDefined } from '../utils/type-guards.js';
3
+ import { getTokenName } from './token.js';
4
+ export class ResolveChain {
5
+ nodes;
6
+ get length() {
7
+ return this.nodes.length;
66
8
  }
67
- for (const node of chain.nodes) {
68
- const tokenName = (0, import_token.getTokenName)(node.token);
69
- const forwardRefPrefix = node.forwardRef ? "ForwardRef::" : "";
70
- switch (node.type) {
71
- case "token":
72
- chainString += `
73
- -> ${forwardRefPrefix}${tokenName}`;
74
- break;
75
- case "inject":
76
- chainString += ` => inject(${forwardRefPrefix}${tokenName}) [${node.index + 1}]`;
77
- chainString += `
78
- -> ${tokenName}`;
79
- break;
80
- case "parameter":
81
- const metadata = import_reflection.reflectionRegistry.getMetadata(node.constructor);
82
- const prefix = "_, ".repeat(node.index);
83
- const suffix = ", _".repeat((0, import_type_guards.assertDefinedPass)(metadata?.parameters, `missing parameters metadata for ${node.constructor.name}`).length - node.index - 1);
84
- chainString += `(${prefix}${forwardRefPrefix}${tokenName}${suffix})`;
85
- chainString += `
86
- -> ${tokenName}`;
87
- break;
88
- case "property":
89
- const constructorName = (0, import_token.getTokenName)(node.constructor);
90
- const key = getPropertyKeyString(node.property);
91
- chainString += `
92
- -> ${constructorName}[${key}]: ${forwardRefPrefix}${tokenName}`;
93
- break;
94
- default:
95
- throw new Error(`unknown chain node type ${node.type}`);
96
- }
9
+ /** @deprecated internal */
10
+ constructor(nodes) {
11
+ this.nodes = nodes;
12
+ }
13
+ static startWith(token) {
14
+ const chain = new ResolveChain([]);
15
+ return chain.addToken(token);
16
+ }
17
+ addToken(token) {
18
+ const node = { type: 'token', token };
19
+ return new ResolveChain([...this.nodes, node]);
20
+ }
21
+ addInject(token, index) {
22
+ const node = { type: 'inject', token, index };
23
+ return new ResolveChain([...this.nodes, node]);
24
+ }
25
+ addParameter(constructor, index, token) {
26
+ const node = { type: 'parameter', constructor, index, token };
27
+ return new ResolveChain([...this.nodes, node]);
97
28
  }
98
- return chainString;
99
- }
100
- truncate(tokenCount) {
101
- const truncatedChain = [];
102
- let counter = 0;
103
- for (let i = this.nodes.length - 1; i >= 0 && counter < tokenCount; i--) {
104
- const node = this.nodes[i];
105
- truncatedChain.unshift(node);
106
- if (node.type == "token") {
107
- counter++;
108
- }
29
+ addProperty(constructor, property, token) {
30
+ const node = { type: 'property', constructor, property, token };
31
+ return new ResolveChain([...this.nodes, node]);
32
+ }
33
+ markAsForwardRef(forwardToken) {
34
+ const nodes = [...this.nodes];
35
+ nodes.push({ ...nodes.pop(), token: forwardToken, forwardRef: true });
36
+ return new ResolveChain(nodes);
37
+ }
38
+ format(truncate) {
39
+ let chainString = '';
40
+ const chain = isDefined(truncate) ? this.truncate(truncate) : this;
41
+ if (chain.length < this.length) {
42
+ chainString += '\n [...]';
43
+ }
44
+ for (const node of chain.nodes) {
45
+ const tokenName = getTokenName(node.token);
46
+ const forwardRefPrefix = node.forwardRef ? 'ForwardRef::' : '';
47
+ switch (node.type) {
48
+ case 'token':
49
+ chainString += `\n -> ${forwardRefPrefix}${tokenName}`;
50
+ break;
51
+ case 'inject':
52
+ chainString += ` => inject(${forwardRefPrefix}${tokenName}) [${node.index + 1}]`;
53
+ chainString += `\n -> ${tokenName}`;
54
+ break;
55
+ case 'parameter':
56
+ const metadata = reflectionRegistry.getMetadata(node.constructor);
57
+ const prefix = '_, '.repeat(node.index);
58
+ const suffix = ', _'.repeat(assertDefinedPass(metadata?.parameters, `missing parameters metadata for ${node.constructor.name}`).length - node.index - 1);
59
+ chainString += `(${prefix}${forwardRefPrefix}${tokenName}${suffix})`;
60
+ // chainString += `\n ${' '.repeat(1 + node.constructor.name.length + forwardRefPrefix.length + prefix.length + (tokenName.length / 2))}↓`;
61
+ chainString += `\n -> ${tokenName}`;
62
+ break;
63
+ case 'property':
64
+ const constructorName = getTokenName(node.constructor);
65
+ const key = getPropertyKeyString(node.property);
66
+ chainString += `\n -> ${constructorName}[${key}]: ${forwardRefPrefix}${tokenName}`;
67
+ break;
68
+ default:
69
+ throw new Error(`unknown chain node type ${node.type}`);
70
+ }
71
+ }
72
+ return chainString;
73
+ }
74
+ truncate(tokenCount) {
75
+ const truncatedChain = [];
76
+ let counter = 0;
77
+ for (let i = this.nodes.length - 1; (i >= 0) && (counter < tokenCount); i--) {
78
+ const node = this.nodes[i];
79
+ truncatedChain.unshift(node);
80
+ if (node.type == 'token') {
81
+ counter++;
82
+ }
83
+ }
84
+ return new ResolveChain(truncatedChain);
109
85
  }
110
- return new ResolveChain(truncatedChain);
111
- }
112
86
  }
113
87
  function getPropertyKeyString(key) {
114
- switch (typeof key) {
115
- case "number":
116
- case "symbol":
117
- return key.toString();
118
- case "string":
119
- return `'${key}'`;
120
- default:
121
- throw new Error(`unsupported key type ${typeof key}`);
122
- }
88
+ switch (typeof key) {
89
+ case 'number':
90
+ case 'symbol':
91
+ return key.toString();
92
+ case 'string':
93
+ return `'${key}'`;
94
+ default:
95
+ throw new Error(`unsupported key type ${typeof key}`);
96
+ }
123
97
  }
@@ -1,37 +1,12 @@
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 resolve_error_exports = {};
20
- __export(resolve_error_exports, {
21
- ResolveError: () => ResolveError
22
- });
23
- module.exports = __toCommonJS(resolve_error_exports);
24
- var import_custom_error = require("../error/custom.error.js");
25
- var import_type_guards = require("../utils/type-guards.js");
26
- class ResolveError extends import_custom_error.CustomError {
27
- constructor(message, chain, cause) {
28
- const causeMessage = (0, import_type_guards.isDefined)(cause) ? `
29
- cause: ${cause?.message}` : "";
30
- super({
31
- message: `${message}${causeMessage}
32
- chain: ${chain.format(15)}`,
33
- cause,
34
- stack: cause?.stack
35
- });
36
- }
1
+ import { CustomError } from '../error/custom.error.js';
2
+ import { isDefined } from '../utils/type-guards.js';
3
+ export class ResolveError extends CustomError {
4
+ constructor(message, chain, cause) {
5
+ const causeMessage = isDefined(cause) ? `\n cause: ${cause?.message}` : '';
6
+ super({
7
+ message: `${message}${causeMessage}\n chain: ${chain.format(15)}`,
8
+ cause,
9
+ stack: cause?.stack
10
+ });
11
+ }
37
12
  }
@@ -1,26 +1,2 @@
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 symbols_exports = {};
20
- __export(symbols_exports, {
21
- injectMetadataSymbol: () => injectMetadataSymbol,
22
- injectableMetadataSymbol: () => injectableMetadataSymbol
23
- });
24
- module.exports = __toCommonJS(symbols_exports);
25
- const injectableMetadataSymbol = Symbol("Injectable metadata");
26
- const injectMetadataSymbol = Symbol("Inject metadata");
1
+ export const injectableMetadataSymbol = Symbol('Injectable metadata');
2
+ export const injectMetadataSymbol = Symbol('Inject metadata');
package/injector/token.js CHANGED
@@ -1,41 +1,20 @@
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 token_exports = {};
20
- __export(token_exports, {
21
- ReifyingInjectionToken: () => ReifyingInjectionToken,
22
- getTokenName: () => getTokenName,
23
- injectionToken: () => injectionToken
24
- });
25
- module.exports = __toCommonJS(token_exports);
26
- var import_type_guards = require("../utils/type-guards.js");
27
- class ReifyingInjectionToken {
28
- description;
29
- constructor(description) {
30
- this.description = description;
31
- }
32
- toString() {
33
- return `InjectionToken["${this.description}"]`;
34
- }
1
+ import { isFunction } from '../utils/type-guards.js';
2
+ export class ReifyingInjectionToken {
3
+ description;
4
+ constructor(description) {
5
+ this.description = description;
6
+ }
7
+ toString() {
8
+ return `InjectionToken["${this.description}"]`;
9
+ }
35
10
  }
36
- function injectionToken(description) {
37
- return new ReifyingInjectionToken(description);
11
+ export function injectionToken(description) {
12
+ return new ReifyingInjectionToken(description);
38
13
  }
39
- function getTokenName(token) {
40
- return (0, import_type_guards.isFunction)(token) ? token.name : token instanceof ReifyingInjectionToken ? token.toString() : String(token);
14
+ export function getTokenName(token) {
15
+ return isFunction(token)
16
+ ? token.name
17
+ : token instanceof ReifyingInjectionToken
18
+ ? token.toString()
19
+ : String(token);
41
20
  }
@@ -1,16 +1 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var type_info_exports = {};
16
- module.exports = __toCommonJS(type_info_exports);
1
+ export {};
package/injector/types.js CHANGED
@@ -1,16 +1 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var types_exports = {};
16
- module.exports = __toCommonJS(types_exports);
1
+ export {};
package/interfaces.js CHANGED
@@ -1,16 +1 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var interfaces_exports = {};
16
- module.exports = __toCommonJS(interfaces_exports);
1
+ export {};
@@ -1,18 +1 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var json_path_exports = {};
17
- module.exports = __toCommonJS(json_path_exports);
18
- __reExport(json_path_exports, require("./json-path.js"), module.exports);
1
+ export * from './json-path.js';