@tstdl/base 0.85.14 → 0.86.0-beta2

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 (722) hide show
  1. package/api/client/client.js +109 -125
  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 +42 -70
  7. package/api/server/api-request-token.provider.js +12 -40
  8. package/api/server/error-handler.js +25 -46
  9. package/api/server/gateway.js +207 -213
  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 +2 -25
  18. package/api/types.js +14 -40
  19. package/api/utils.js +13 -36
  20. package/application/application.js +155 -175
  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 +28 -57
  25. package/authentication/client/authentication.service.js +223 -250
  26. package/authentication/client/http-client.middleware.js +21 -44
  27. package/authentication/client/index.js +5 -22
  28. package/authentication/client/module.js +15 -38
  29. package/authentication/client/tokens.js +5 -29
  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 +9 -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 +24 -52
  41. package/authentication/server/authentication-credentials.repository.js +1 -24
  42. package/authentication/server/authentication-secret-requirements.validator.js +23 -51
  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 +88 -114
  48. package/authentication/server/authentication.service.js +265 -301
  49. package/authentication/server/helper.js +66 -87
  50. package/authentication/server/index.js +11 -28
  51. package/authentication/server/module.js +25 -47
  52. package/authentication/server/mongo/index.js +2 -19
  53. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +52 -84
  54. package/authentication/server/mongo/mongo-authentication-session.repository.js +49 -81
  55. package/browser/browser-context-controller.js +71 -99
  56. package/browser/browser-controller.js +73 -100
  57. package/browser/browser.service.js +83 -114
  58. package/browser/document-controller.js +48 -81
  59. package/browser/element-controller.js +139 -160
  60. package/browser/frame-controller.js +27 -50
  61. package/browser/index.js +10 -27
  62. package/browser/locator-controller.js +36 -59
  63. package/browser/module.js +23 -47
  64. package/browser/page-controller.js +89 -108
  65. package/browser/pdf-options.js +73 -103
  66. package/browser/types.js +1 -16
  67. package/browser/utils.js +77 -107
  68. package/collections/awaitable/awaitable-list.js +99 -122
  69. package/collections/awaitable/awaitable-map.js +93 -116
  70. package/collections/awaitable/awaitable-set.js +63 -86
  71. package/collections/awaitable/index.js +3 -20
  72. package/collections/collection.js +1 -16
  73. package/collections/index.js +6 -23
  74. package/collections/keyed-set.js +53 -77
  75. package/collections/list.js +1 -16
  76. package/collections/observable/index.js +8 -25
  77. package/collections/observable/observable-array.js +95 -118
  78. package/collections/observable/observable-collection-base.js +60 -83
  79. package/collections/observable/observable-collection.js +1 -16
  80. package/collections/observable/observable-list-base.js +55 -78
  81. package/collections/observable/observable-list.js +1 -16
  82. package/collections/observable/observable-map.js +56 -79
  83. package/collections/observable/observable-set.js +75 -98
  84. package/collections/observable/observable-sorted-array-list.js +165 -188
  85. package/collections/sorted-array-list.js +156 -179
  86. package/collections/sorted-list.js +1 -16
  87. package/collections/sorted-map.js +70 -93
  88. package/container/container.js +422 -437
  89. package/container/decorators.js +112 -96
  90. package/container/index.js +10 -27
  91. package/container/interfaces.js +2 -26
  92. package/container/provider.js +28 -59
  93. package/container/resolve-chain.js +74 -99
  94. package/container/resolve.error.js +10 -35
  95. package/container/token.js +17 -38
  96. package/container/type-info.js +1 -16
  97. package/container/types.js +1 -16
  98. package/container/utils.js +18 -42
  99. package/cookie/cookie.js +49 -71
  100. package/cookie/index.js +1 -18
  101. package/core.js +46 -75
  102. package/data-structures/array-dictionary.js +89 -110
  103. package/data-structures/array-list.js +105 -128
  104. package/data-structures/cache.js +41 -64
  105. package/data-structures/circular-buffer.js +195 -216
  106. package/data-structures/collection.js +86 -109
  107. package/data-structures/dictionary.js +51 -75
  108. package/data-structures/index-out-of-bounds.error.js +8 -31
  109. package/data-structures/index.js +15 -32
  110. package/data-structures/iterable-weak-map.js +129 -149
  111. package/data-structures/linked-list.js +367 -385
  112. package/data-structures/list.js +78 -101
  113. package/data-structures/map-dictionary.js +55 -78
  114. package/data-structures/multi-key-map.js +138 -161
  115. package/data-structures/set.js +54 -77
  116. package/data-structures/sorted-array-list.js +142 -169
  117. package/data-structures/weak-ref-map.js +123 -143
  118. package/database/entity-repository.js +2 -26
  119. package/database/entity.js +1 -16
  120. package/database/id.js +8 -29
  121. package/database/index.js +6 -23
  122. package/database/module.js +9 -33
  123. package/database/mongo/classes.js +13 -42
  124. package/database/mongo/index.js +10 -27
  125. package/database/mongo/model/document.js +62 -93
  126. package/database/mongo/model/index.js +1 -18
  127. package/database/mongo/module.js +51 -71
  128. package/database/mongo/mongo-base.repository.js +259 -283
  129. package/database/mongo/mongo-bulk.js +87 -110
  130. package/database/mongo/mongo-entity-repository.js +270 -296
  131. package/database/mongo/operations.js +48 -76
  132. package/database/mongo/query-converter.js +73 -96
  133. package/database/mongo/simple-entity-repository.js +5 -28
  134. package/database/mongo/types.js +2 -25
  135. package/database/query.js +7 -36
  136. package/database/utils.js +2 -25
  137. package/disposable/async-disposer.js +93 -105
  138. package/disposable/disposable.js +7 -33
  139. package/disposable/index.js +3 -20
  140. package/disposable/using.js +15 -37
  141. package/distributed-loop/controller.js +1 -16
  142. package/distributed-loop/distributed-loop.js +78 -105
  143. package/distributed-loop/index.js +3 -20
  144. package/distributed-loop/provider.js +20 -48
  145. package/enumerable/async-enumerable.js +238 -261
  146. package/enumerable/enumerable-methods.js +1 -16
  147. package/enumerable/enumerable.js +177 -200
  148. package/enumerable/index.js +2 -19
  149. package/environment.js +25 -57
  150. package/error/api.error.js +10 -33
  151. package/error/assertion.error.js +6 -29
  152. package/error/bad-request.error.js +6 -29
  153. package/error/custom.error.js +25 -47
  154. package/error/details.error.js +8 -31
  155. package/error/forbidden.error.js +6 -29
  156. package/error/index.js +16 -33
  157. package/error/invalid-token.error.js +6 -29
  158. package/error/max-bytes-exceeded.error.js +9 -32
  159. package/error/method-not-allowed.error.js +6 -29
  160. package/error/multi.error.js +8 -31
  161. package/error/not-found.error.js +6 -29
  162. package/error/not-implemented.error.js +6 -29
  163. package/error/not-supported.error.js +11 -34
  164. package/error/timeout.error.js +6 -29
  165. package/error/unauthorized.error.js +6 -29
  166. package/error/unsupported-media-type.error.js +6 -29
  167. package/examples/api/authentication.js +40 -40
  168. package/examples/api/basic-overview.js +81 -86
  169. package/examples/api/custom-authentication.js +61 -66
  170. package/examples/api/streaming.js +89 -94
  171. package/examples/browser/basic.js +20 -21
  172. package/examples/http/client.js +12 -13
  173. package/examples/mail/basic.js +35 -36
  174. package/examples/mail/templates/hello-name.js +10 -33
  175. package/examples/pdf/basic.js +44 -45
  176. package/examples/pdf/templates/hello-name.js +35 -58
  177. package/examples/reflection/basic.js +52 -84
  178. package/examples/template/basic.js +30 -31
  179. package/examples/template/templates/hello-jsx.js +8 -32
  180. package/examples/template/templates/hello-name.js +18 -41
  181. package/global-this.js +17 -36
  182. package/http/client/adapters/undici-http-client.adapter.js +90 -110
  183. package/http/client/http-client-options.js +14 -37
  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 +301 -322
  188. package/http/client/index.js +6 -23
  189. package/http/client/module.js +15 -38
  190. package/http/cookie-parser.js +19 -42
  191. package/http/http-body.js +52 -75
  192. package/http/http-form.js +14 -37
  193. package/http/http-headers.js +86 -109
  194. package/http/http-query.js +14 -37
  195. package/http/http-url-parameters.js +8 -31
  196. package/http/http-value-map.js +110 -133
  197. package/http/http.error.js +60 -82
  198. package/http/index.js +11 -28
  199. package/http/server/http-server-request.js +24 -47
  200. package/http/server/http-server-response.js +22 -45
  201. package/http/server/http-server.js +2 -25
  202. package/http/server/index.js +3 -20
  203. package/http/server/node/index.js +2 -19
  204. package/http/server/node/module.js +8 -28
  205. package/http/server/node/node-http-server.js +208 -234
  206. package/http/types.js +21 -47
  207. package/http/utils.js +92 -108
  208. package/image-service/image-service.js +59 -91
  209. package/image-service/imgproxy/imgproxy-image-service.js +86 -124
  210. package/image-service/imgproxy/index.js +1 -18
  211. package/image-service/index.js +1 -18
  212. package/import.js +2 -25
  213. package/index.js +1 -18
  214. package/interfaces.js +1 -16
  215. package/json-path/index.js +1 -18
  216. package/json-path/json-path.js +138 -138
  217. package/key-value-store/index.js +2 -19
  218. package/key-value-store/key-value-store.provider.js +1 -24
  219. package/key-value-store/key-value.store.js +6 -29
  220. package/key-value-store/mongo/index.js +6 -23
  221. package/key-value-store/mongo/module.js +17 -35
  222. package/key-value-store/mongo/mongo-key-value-store.provider.js +20 -48
  223. package/key-value-store/mongo/mongo-key-value.model.js +1 -16
  224. package/key-value-store/mongo/mongo-key-value.repository.js +22 -52
  225. package/key-value-store/mongo/mongo-key-value.store.js +59 -89
  226. package/key-value-store/mongo/tokens.js +2 -25
  227. package/lock/index.js +2 -19
  228. package/lock/lock.js +5 -28
  229. package/lock/mongo/index.js +5 -22
  230. package/lock/mongo/lock.js +111 -135
  231. package/lock/mongo/model.js +1 -16
  232. package/lock/mongo/module.js +18 -37
  233. package/lock/mongo/mongo-lock-repository.js +56 -85
  234. package/lock/mongo/provider.js +38 -68
  235. package/lock/provider.js +1 -24
  236. package/lock/web/index.js +3 -20
  237. package/lock/web/module.js +11 -31
  238. package/lock/web/web-lock.js +80 -105
  239. package/lock/web/web-lock.provider.js +27 -57
  240. package/logger/console/index.js +1 -18
  241. package/logger/console/logger.js +53 -80
  242. package/logger/index.js +2 -19
  243. package/logger/level.js +8 -31
  244. package/logger/logger.js +37 -60
  245. package/logger/noop/index.js +1 -18
  246. package/logger/noop/logger.js +20 -42
  247. package/mail/clients/nodemailer.mail-client.js +62 -90
  248. package/mail/index.js +5 -22
  249. package/mail/mail-log.repository.js +2 -25
  250. package/mail/mail.client.js +34 -62
  251. package/mail/mail.service.js +73 -106
  252. package/mail/models/index.js +6 -23
  253. package/mail/models/mail-address.model.js +1 -16
  254. package/mail/models/mail-content.model.js +1 -16
  255. package/mail/models/mail-data.model.js +1 -16
  256. package/mail/models/mail-log.model.js +1 -16
  257. package/mail/models/mail-send-result.model.js +1 -16
  258. package/mail/models/mail-template.model.js +5 -28
  259. package/mail/module.js +21 -41
  260. package/mail/repositories/mongo-mail-log.repository.js +24 -56
  261. package/mail/tokens.js +2 -25
  262. package/memory/finalization.js +36 -60
  263. package/memory/index.js +2 -19
  264. package/memory/observable-finalization-registry.js +9 -32
  265. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +23 -53
  266. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +46 -74
  267. package/message-bus/broadcast-channel/index.js +3 -20
  268. package/message-bus/broadcast-channel/module.js +11 -31
  269. package/message-bus/index.js +3 -20
  270. package/message-bus/local/index.js +3 -20
  271. package/message-bus/local/local-message-bus-provider.js +35 -65
  272. package/message-bus/local/local-message-bus.js +38 -66
  273. package/message-bus/local/module.js +11 -31
  274. package/message-bus/local/types.js +1 -16
  275. package/message-bus/message-bus-base.js +41 -63
  276. package/message-bus/message-bus-provider.js +1 -24
  277. package/message-bus/message-bus.js +5 -28
  278. package/migration/index.js +3 -20
  279. package/migration/migration-state-repository.js +2 -25
  280. package/migration/migration-state.js +1 -16
  281. package/migration/migrator.js +80 -108
  282. package/migration/mongo/index.js +2 -19
  283. package/migration/mongo/migration-state-repository.js +23 -53
  284. package/migration/mongo/module.js +15 -34
  285. package/module/index.js +4 -21
  286. package/module/module-base.js +37 -60
  287. package/module/module-metric-reporter.js +58 -77
  288. package/module/module.js +10 -34
  289. package/module/modules/function.module.js +11 -34
  290. package/module/modules/index.js +2 -19
  291. package/module/modules/web-server.module.js +67 -103
  292. package/module/utils.js +19 -43
  293. package/notification/api.js +21 -50
  294. package/notification/models/index.js +2 -19
  295. package/notification/models/notification-channel-job.model.js +1 -16
  296. package/notification/models/notification.model.js +74 -103
  297. package/notification/module.js +8 -28
  298. package/notification/notification-channel.service.js +1 -24
  299. package/notification/notification.repository.js +1 -24
  300. package/notification/notification.service.js +30 -58
  301. package/object-storage/index.js +3 -20
  302. package/object-storage/object-storage-provider.js +1 -24
  303. package/object-storage/object-storage.js +6 -29
  304. package/object-storage/object.js +7 -30
  305. package/object-storage/s3/index.js +3 -20
  306. package/object-storage/s3/s3.object-storage-provider.js +82 -108
  307. package/object-storage/s3/s3.object-storage.js +130 -157
  308. package/object-storage/s3/s3.object.js +39 -62
  309. package/openid-connect/cached-oidc-configuration.service.js +35 -65
  310. package/openid-connect/index.js +11 -28
  311. package/openid-connect/mongo-oidc-state.repository.js +38 -64
  312. package/openid-connect/oidc-configuration.service.js +38 -66
  313. package/openid-connect/oidc-state.model.js +1 -16
  314. package/openid-connect/oidc-state.repository.js +2 -25
  315. package/openid-connect/oidc.service-model.js +1 -16
  316. package/openid-connect/oidc.service.js +157 -187
  317. package/package.json +13 -13
  318. package/password/have-i-been-pwned.js +21 -39
  319. package/password/index.js +4 -21
  320. package/password/password-check-result.model.js +34 -63
  321. package/password/password-check.js +46 -76
  322. package/password/password-check.localization.js +86 -111
  323. package/pdf/index.js +1 -18
  324. package/pdf/pdf.service.js +171 -206
  325. package/pool/index.js +1 -18
  326. package/pool/pool.js +116 -133
  327. package/process-shutdown.js +54 -77
  328. package/promise/cancelable-promise.js +23 -41
  329. package/promise/deferred-promise.js +68 -92
  330. package/promise/index.js +3 -20
  331. package/promise/lazy-promise.js +24 -47
  332. package/queue/enqueue-batch.js +18 -41
  333. package/queue/index.js +3 -20
  334. package/queue/mongo/index.js +4 -21
  335. package/queue/mongo/job.js +1 -16
  336. package/queue/mongo/mongo-job.repository.js +44 -70
  337. package/queue/mongo/queue.js +242 -265
  338. package/queue/mongo/queue.provider.js +44 -70
  339. package/queue/provider.js +1 -24
  340. package/queue/queue.js +15 -41
  341. package/random/index.js +2 -19
  342. package/random/number-generator/index.js +3 -20
  343. package/random/number-generator/mulberry32.js +34 -51
  344. package/random/number-generator/random-number-generator-function.js +1 -24
  345. package/random/number-generator/random-number-generator.js +8 -31
  346. package/random/number-generator/seeded-random-number-generator.js +5 -28
  347. package/random/number-generator/sfc32.js +41 -64
  348. package/random/number-generator/utils.js +2 -25
  349. package/random/series.js +41 -43
  350. package/reflection/decorator-data.js +63 -80
  351. package/reflection/decorators.js +39 -69
  352. package/reflection/index.js +5 -22
  353. package/reflection/reflection-data-map.js +32 -55
  354. package/reflection/registry.js +112 -132
  355. package/reflection/types.js +1 -16
  356. package/reflection/utils.js +96 -124
  357. package/require.js +3 -26
  358. package/rpc/endpoints/message-port.rpc-endpoint.js +29 -48
  359. package/rpc/index.js +4 -21
  360. package/rpc/model.js +7 -30
  361. package/rpc/rpc-endpoint.js +17 -40
  362. package/rpc/rpc-error.js +17 -40
  363. package/rpc/rpc.js +223 -235
  364. package/rxjs/cast.js +4 -28
  365. package/rxjs/index.js +12 -29
  366. package/rxjs/intersection-observer.js +25 -48
  367. package/rxjs/media-query.js +8 -27
  368. package/rxjs/mutation-observer.js +28 -50
  369. package/rxjs/noop.js +4 -28
  370. package/rxjs/performance-observer.js +37 -60
  371. package/rxjs/resize-observer.js +28 -50
  372. package/rxjs/retry-backoff.js +23 -47
  373. package/rxjs/slow-array.js +22 -36
  374. package/rxjs/teardown.js +21 -44
  375. package/rxjs/timing.js +26 -57
  376. package/rxjs/touch.js +11 -30
  377. package/schema/array-constraints/index.js +2 -19
  378. package/schema/array-constraints/maximum-length.js +19 -42
  379. package/schema/array-constraints/minimum-length.js +19 -42
  380. package/schema/coercers/boolean.coercer.js +25 -49
  381. package/schema/coercers/date.coercer.js +14 -38
  382. package/schema/coercers/index.js +6 -23
  383. package/schema/coercers/number.coercer.js +12 -36
  384. package/schema/coercers/regexp.coercer.js +18 -41
  385. package/schema/coercers/string.coercer.js +12 -36
  386. package/schema/coercers/uint8-array.coercer.js +20 -44
  387. package/schema/constraints/enumeration.js +27 -49
  388. package/schema/constraints/generic.js +21 -41
  389. package/schema/constraints/index.js +12 -29
  390. package/schema/constraints/integer.js +20 -44
  391. package/schema/constraints/length.js +14 -36
  392. package/schema/constraints/literal.js +22 -44
  393. package/schema/constraints/maximum-date.js +23 -46
  394. package/schema/constraints/maximum-length.js +22 -45
  395. package/schema/constraints/maximum.js +21 -44
  396. package/schema/constraints/minimum-date.js +23 -46
  397. package/schema/constraints/minimum-length.js +22 -45
  398. package/schema/constraints/minimum.js +21 -44
  399. package/schema/constraints/pattern.js +23 -46
  400. package/schema/decorators/class.js +4 -26
  401. package/schema/decorators/coerce.js +4 -26
  402. package/schema/decorators/constraint.js +6 -28
  403. package/schema/decorators/index.js +6 -23
  404. package/schema/decorators/property.js +16 -38
  405. package/schema/decorators/types.js +1 -16
  406. package/schema/decorators/utils.js +45 -73
  407. package/schema/index.js +10 -27
  408. package/schema/schema.error.js +59 -72
  409. package/schema/schema.js +256 -274
  410. package/schema/schemas/any.js +7 -30
  411. package/schema/schemas/array.js +21 -44
  412. package/schema/schemas/assign.js +23 -46
  413. package/schema/schemas/boolean.js +7 -30
  414. package/schema/schemas/constraint.js +6 -29
  415. package/schema/schemas/date.js +20 -43
  416. package/schema/schemas/defaulted.js +8 -31
  417. package/schema/schemas/enumeration.js +15 -38
  418. package/schema/schemas/index.js +26 -43
  419. package/schema/schemas/instance.js +4 -26
  420. package/schema/schemas/literal.js +15 -38
  421. package/schema/schemas/nullable.js +7 -30
  422. package/schema/schemas/number.js +25 -48
  423. package/schema/schemas/object.js +10 -34
  424. package/schema/schemas/omit.js +14 -37
  425. package/schema/schemas/one-or-many.js +13 -35
  426. package/schema/schemas/optional.js +6 -30
  427. package/schema/schemas/partial.js +16 -39
  428. package/schema/schemas/pick.js +14 -37
  429. package/schema/schemas/readable-stream.js +7 -30
  430. package/schema/schemas/record.js +9 -31
  431. package/schema/schemas/regexp.js +7 -30
  432. package/schema/schemas/string.js +36 -59
  433. package/schema/schemas/transform.js +6 -29
  434. package/schema/schemas/uint8-array.js +27 -50
  435. package/schema/schemas/union.js +11 -34
  436. package/schema/schemas/unknown.js +7 -30
  437. package/schema/transformers/generic.js +16 -39
  438. package/schema/transformers/index.js +4 -21
  439. package/schema/transformers/lowercase.js +10 -33
  440. package/schema/transformers/trim.js +10 -33
  441. package/schema/transformers/uppercase.js +10 -33
  442. package/schema/types/index.js +5 -22
  443. package/schema/types/schema-array-constraint.js +1 -24
  444. package/schema/types/schema-value-coercer.js +1 -24
  445. package/schema/types/schema-value-constraint.js +1 -24
  446. package/schema/types/schema-value-transformer.js +1 -24
  447. package/schema/types/types.js +161 -191
  448. package/schema/utils/index.js +2 -19
  449. package/schema/utils/schema.js +120 -142
  450. package/schema/utils/value-type.js +51 -74
  451. package/search-index/elastic/config.js +19 -49
  452. package/search-index/elastic/index.js +6 -23
  453. package/search-index/elastic/keyword-rewriter.js +17 -40
  454. package/search-index/elastic/model/elastic-query.js +1 -16
  455. package/search-index/elastic/model/index-mapping.js +4 -26
  456. package/search-index/elastic/model/index.js +3 -20
  457. package/search-index/elastic/model/sort.js +1 -16
  458. package/search-index/elastic/module.js +38 -64
  459. package/search-index/elastic/query-builder/boolean-query-builder.js +46 -69
  460. package/search-index/elastic/query-builder/index.js +1 -18
  461. package/search-index/elastic/query-converter.js +174 -192
  462. package/search-index/elastic/search-index.js +132 -153
  463. package/search-index/elastic/sort-converter.js +12 -34
  464. package/search-index/elastic/types.js +1 -16
  465. package/search-index/error.js +12 -35
  466. package/search-index/index.js +3 -20
  467. package/search-index/memory/index.js +1 -18
  468. package/search-index/memory/memory-search-index.js +130 -152
  469. package/search-index/search-index.js +30 -53
  470. package/search-index/search-result.js +1 -16
  471. package/serializer/handlers/binary.js +19 -47
  472. package/serializer/handlers/date.js +4 -28
  473. package/serializer/handlers/error.js +7 -31
  474. package/serializer/handlers/index.js +7 -24
  475. package/serializer/handlers/map.js +16 -40
  476. package/serializer/handlers/regex.js +7 -31
  477. package/serializer/handlers/register.js +36 -59
  478. package/serializer/handlers/set.js +13 -37
  479. package/serializer/index.js +3 -30
  480. package/serializer/serializable.js +43 -68
  481. package/serializer/serializer.js +244 -264
  482. package/serializer/types.js +6 -34
  483. package/signals/api.js +17 -45
  484. package/signals/computed-with-dependencies.js +8 -31
  485. package/signals/effect-with-dependencies.js +8 -31
  486. package/signals/implementation/api.js +33 -33
  487. package/signals/implementation/computed.js +125 -104
  488. package/signals/implementation/configure.js +18 -41
  489. package/signals/implementation/effect.js +48 -66
  490. package/signals/implementation/errors.js +5 -29
  491. package/signals/implementation/graph.js +164 -136
  492. package/signals/implementation/index.js +10 -27
  493. package/signals/implementation/signal.js +91 -101
  494. package/signals/implementation/to-observable.js +21 -38
  495. package/signals/implementation/to-signal.js +44 -60
  496. package/signals/implementation/untracked.js +15 -31
  497. package/signals/implementation/watch.js +58 -73
  498. package/signals/index.js +7 -24
  499. package/signals/pipe.js +7 -31
  500. package/signals/switch-map.js +4 -27
  501. package/signals/types.js +1 -16
  502. package/signals/untracked-operator.js +11 -33
  503. package/sse/index.js +2 -19
  504. package/sse/model.js +1 -16
  505. package/sse/server-sent-events-source.js +54 -76
  506. package/sse/server-sent-events.js +48 -72
  507. package/supports.js +5 -32
  508. package/templates/index.js +9 -26
  509. package/templates/module.js +37 -58
  510. package/templates/providers/file.template-provider.js +39 -81
  511. package/templates/providers/memory.template-provider.js +27 -55
  512. package/templates/renderers/handlebars.template-renderer.js +84 -122
  513. package/templates/renderers/jsx.template-renderer.js +28 -56
  514. package/templates/renderers/mjml.template-renderer.js +42 -82
  515. package/templates/renderers/string.template-renderer.js +24 -52
  516. package/templates/resolvers/file.template-resolver.js +45 -89
  517. package/templates/resolvers/jsx.template-resolver.js +29 -59
  518. package/templates/resolvers/string.template-resolver.js +29 -59
  519. package/templates/template-renderer.provider.js +36 -66
  520. package/templates/template-resolver.provider.js +36 -66
  521. package/templates/template.model.js +39 -69
  522. package/templates/template.provider.js +1 -24
  523. package/templates/template.renderer.js +11 -34
  524. package/templates/template.resolver.js +1 -24
  525. package/templates/template.service.js +49 -82
  526. package/templates/tokens.js +3 -27
  527. package/templates/types/jsx.intrinsic-elements.js +1 -16
  528. package/text/dynamic-text.model.js +41 -70
  529. package/text/index.js +3 -20
  530. package/text/localizable-text.model.js +1 -16
  531. package/text/localization.service.js +196 -229
  532. package/theme/adapters/css-adapter.js +23 -46
  533. package/theme/adapters/tailwind-adapter.js +29 -52
  534. package/theme/index.js +1 -18
  535. package/theme/theme-service.js +107 -146
  536. package/threading/index.js +2 -19
  537. package/threading/thread-pool.js +48 -70
  538. package/threading/thread-worker.js +3 -26
  539. package/tokens.js +2 -25
  540. package/types/geo-json.js +1 -16
  541. package/types.js +2 -16
  542. package/utils/alphabet.js +12 -35
  543. package/utils/any-iterable-iterator.js +4 -27
  544. package/utils/array/array-backtracker.js +42 -65
  545. package/utils/array/array.js +76 -79
  546. package/utils/array/index.js +2 -19
  547. package/utils/async-iterable-helpers/all.js +25 -46
  548. package/utils/async-iterable-helpers/any.js +25 -46
  549. package/utils/async-iterable-helpers/assert.js +22 -43
  550. package/utils/async-iterable-helpers/batch.js +26 -46
  551. package/utils/async-iterable-helpers/buffer.js +47 -64
  552. package/utils/async-iterable-helpers/concat.js +5 -27
  553. package/utils/async-iterable-helpers/default-if-empty.js +9 -32
  554. package/utils/async-iterable-helpers/deferred.js +3 -26
  555. package/utils/async-iterable-helpers/difference.js +24 -48
  556. package/utils/async-iterable-helpers/distinct.js +23 -44
  557. package/utils/async-iterable-helpers/drain.js +4 -26
  558. package/utils/async-iterable-helpers/filter.js +23 -44
  559. package/utils/async-iterable-helpers/first-or-default.js +8 -30
  560. package/utils/async-iterable-helpers/first.js +8 -30
  561. package/utils/async-iterable-helpers/for-each.js +18 -38
  562. package/utils/async-iterable-helpers/group-single.js +3 -26
  563. package/utils/async-iterable-helpers/group-to-map.js +20 -41
  564. package/utils/async-iterable-helpers/group-to-single-map.js +23 -44
  565. package/utils/async-iterable-helpers/group.js +3 -26
  566. package/utils/async-iterable-helpers/includes.js +7 -28
  567. package/utils/async-iterable-helpers/index.js +48 -65
  568. package/utils/async-iterable-helpers/interrupt.js +19 -43
  569. package/utils/async-iterable-helpers/is-async-iterable.js +5 -29
  570. package/utils/async-iterable-helpers/last-or-default.js +13 -36
  571. package/utils/async-iterable-helpers/last.js +13 -36
  572. package/utils/async-iterable-helpers/map-many.js +19 -40
  573. package/utils/async-iterable-helpers/map.js +19 -40
  574. package/utils/async-iterable-helpers/materialize.js +21 -42
  575. package/utils/async-iterable-helpers/metadata.js +38 -58
  576. package/utils/async-iterable-helpers/multiplex.js +23 -44
  577. package/utils/async-iterable-helpers/observable-iterable.js +31 -53
  578. package/utils/async-iterable-helpers/pairwise.js +26 -44
  579. package/utils/async-iterable-helpers/parallel/feed.js +24 -45
  580. package/utils/async-iterable-helpers/parallel/filter.js +8 -31
  581. package/utils/async-iterable-helpers/parallel/for-each.js +21 -44
  582. package/utils/async-iterable-helpers/parallel/group.js +9 -32
  583. package/utils/async-iterable-helpers/parallel/index.js +7 -24
  584. package/utils/async-iterable-helpers/parallel/map.js +6 -29
  585. package/utils/async-iterable-helpers/parallel/tap.js +6 -29
  586. package/utils/async-iterable-helpers/parallel/types.js +1 -16
  587. package/utils/async-iterable-helpers/reduce.js +31 -46
  588. package/utils/async-iterable-helpers/retry.js +43 -58
  589. package/utils/async-iterable-helpers/single-or-default.js +17 -40
  590. package/utils/async-iterable-helpers/single.js +19 -42
  591. package/utils/async-iterable-helpers/skip.js +3 -26
  592. package/utils/async-iterable-helpers/sort.js +6 -29
  593. package/utils/async-iterable-helpers/take-until.js +32 -49
  594. package/utils/async-iterable-helpers/take-while.js +29 -46
  595. package/utils/async-iterable-helpers/take.js +10 -33
  596. package/utils/async-iterable-helpers/tap.js +19 -40
  597. package/utils/async-iterable-helpers/throttle.js +9 -30
  598. package/utils/async-iterable-helpers/to-array.js +10 -33
  599. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +40 -59
  600. package/utils/async-iterable-helpers/to-async-iterator.js +32 -54
  601. package/utils/async-iterable-helpers/to-set.js +10 -33
  602. package/utils/async-iterable-helpers/to-sync-iterable.js +6 -27
  603. package/utils/async-iterable-helpers/types.js +1 -16
  604. package/utils/async-iterable-helpers/while.js +25 -46
  605. package/utils/async-iterator-iterable-iterator.js +41 -62
  606. package/utils/backoff.js +109 -109
  607. package/utils/base64.js +153 -140
  608. package/utils/benchmark.js +114 -107
  609. package/utils/binary-search.js +70 -87
  610. package/utils/binary.js +50 -61
  611. package/utils/cancellation-token.js +120 -140
  612. package/utils/clone.js +43 -64
  613. package/utils/comparison.js +76 -98
  614. package/utils/compression.js +107 -118
  615. package/utils/config-parser.js +21 -48
  616. package/utils/crc32.js +20 -42
  617. package/utils/cryptography.js +163 -121
  618. package/utils/date-time.js +102 -138
  619. package/utils/encoding.js +62 -60
  620. package/utils/enum.js +27 -53
  621. package/utils/equals.js +103 -119
  622. package/utils/event-loop.js +19 -39
  623. package/utils/factory-map.js +53 -75
  624. package/utils/feedable-async-iterable.js +47 -70
  625. package/utils/file-reader.js +15 -41
  626. package/utils/format-error.js +36 -57
  627. package/utils/format.js +32 -53
  628. package/utils/function/index.js +2 -19
  629. package/utils/function/memoize.js +38 -53
  630. package/utils/function/throttle.js +26 -48
  631. package/utils/helpers.js +93 -102
  632. package/utils/image.js +62 -88
  633. package/utils/index.js +48 -65
  634. package/utils/iterable-helpers/all.js +8 -31
  635. package/utils/iterable-helpers/any.js +8 -31
  636. package/utils/iterable-helpers/assert.js +7 -30
  637. package/utils/iterable-helpers/batch.js +11 -34
  638. package/utils/iterable-helpers/concat.js +4 -27
  639. package/utils/iterable-helpers/default-if-empty.js +9 -32
  640. package/utils/iterable-helpers/deferred.js +2 -25
  641. package/utils/iterable-helpers/difference.js +21 -45
  642. package/utils/iterable-helpers/distinct.js +9 -32
  643. package/utils/iterable-helpers/drain.js +4 -26
  644. package/utils/iterable-helpers/filter.js +7 -30
  645. package/utils/iterable-helpers/first-or-default.js +8 -30
  646. package/utils/iterable-helpers/first.js +8 -30
  647. package/utils/iterable-helpers/for-each.js +5 -28
  648. package/utils/iterable-helpers/group-single.js +3 -26
  649. package/utils/iterable-helpers/group-to-map.js +9 -32
  650. package/utils/iterable-helpers/group-to-single-map.js +10 -33
  651. package/utils/iterable-helpers/group.js +3 -26
  652. package/utils/iterable-helpers/includes.js +3 -26
  653. package/utils/iterable-helpers/index.js +39 -56
  654. package/utils/iterable-helpers/is-iterable.js +5 -29
  655. package/utils/iterable-helpers/last-or-default.js +13 -36
  656. package/utils/iterable-helpers/last.js +13 -36
  657. package/utils/iterable-helpers/map-many.js +6 -29
  658. package/utils/iterable-helpers/map.js +6 -29
  659. package/utils/iterable-helpers/materialize.js +2 -25
  660. package/utils/iterable-helpers/metadata.js +16 -38
  661. package/utils/iterable-helpers/pairwise.js +11 -33
  662. package/utils/iterable-helpers/range.js +4 -27
  663. package/utils/iterable-helpers/reduce.js +11 -33
  664. package/utils/iterable-helpers/single-or-default.js +14 -37
  665. package/utils/iterable-helpers/single.js +17 -40
  666. package/utils/iterable-helpers/skip.js +6 -29
  667. package/utils/iterable-helpers/sort.js +4 -27
  668. package/utils/iterable-helpers/take-until.js +8 -31
  669. package/utils/iterable-helpers/take-while.js +10 -33
  670. package/utils/iterable-helpers/take.js +10 -33
  671. package/utils/iterable-helpers/tap.js +6 -29
  672. package/utils/iterable-helpers/types.js +1 -16
  673. package/utils/iterable-helpers/while.js +8 -31
  674. package/utils/jwt.js +77 -100
  675. package/utils/map.js +35 -62
  676. package/utils/math.js +102 -64
  677. package/utils/merge.js +26 -45
  678. package/utils/middleware.js +36 -60
  679. package/utils/moving-metric.js +155 -188
  680. package/utils/noop.js +4 -27
  681. package/utils/object/decycle.js +57 -78
  682. package/utils/object/dereference.js +46 -44
  683. package/utils/object/forward-ref.js +57 -73
  684. package/utils/object/index.js +7 -24
  685. package/utils/object/lazy-property.js +81 -96
  686. package/utils/object/merge.js +48 -70
  687. package/utils/object/object.js +106 -136
  688. package/utils/object/property-name.js +69 -72
  689. package/utils/ordered-feedable-async-iterable.js +42 -65
  690. package/utils/patch-worker.js +69 -90
  691. package/utils/patterns.js +7 -29
  692. package/utils/periodic-reporter.js +60 -82
  693. package/utils/periodic-sampler.js +67 -91
  694. package/utils/provider-function-iterable.js +26 -48
  695. package/utils/proxy.js +17 -42
  696. package/utils/random.js +40 -50
  697. package/utils/reflection.js +13 -41
  698. package/utils/repl.js +14 -33
  699. package/utils/set.js +36 -62
  700. package/utils/singleton.js +18 -41
  701. package/utils/sort.js +53 -77
  702. package/utils/stream/finalize-stream.js +43 -62
  703. package/utils/stream/index.js +6 -23
  704. package/utils/stream/readable-stream-adapter.js +35 -57
  705. package/utils/stream/readable-stream-from-promise.js +7 -28
  706. package/utils/stream/size-limited-stream.js +12 -35
  707. package/utils/stream/stream-helper-types.js +1 -16
  708. package/utils/stream/stream-reader.js +30 -52
  709. package/utils/string/hypenate.js +2 -25
  710. package/utils/string/index.js +3 -20
  711. package/utils/string/title-case.js +6 -26
  712. package/utils/string/trim.js +9 -32
  713. package/utils/throw.js +7 -30
  714. package/utils/timer.js +70 -91
  715. package/utils/timing.js +52 -80
  716. package/utils/type-guards.js +253 -1076
  717. package/utils/type-of.js +25 -43
  718. package/utils/units.js +53 -124
  719. package/utils/url-builder.js +47 -68
  720. package/utils/value-or-provider.js +6 -29
  721. package/utils/z-base32.js +42 -63
  722. package/web-types.js +1 -16
@@ -1,264 +1,231 @@
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 });
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
6
  };
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;
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
9
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var localization_service_exports = {};
20
- __export(localization_service_exports, {
21
- LocalizationService: () => LocalizationService,
22
- autoEnumerationLocalization: () => autoEnumerationLocalization,
23
- enumerationLocalization: () => enumerationLocalization,
24
- getLocalizationKeys: () => getLocalizationKeys,
25
- getProxyLocalizationKey: () => getProxyLocalizationKey,
26
- isEnumLocalizationKey: () => isEnumLocalizationKey,
27
- isLocalizationDataObject: () => isLocalizationDataObject,
28
- isLocalizeItem: () => isLocalizeItem,
29
- isProxyLocalizationKey: () => isProxyLocalizationKey,
30
- localizationData: () => localizationData
31
- });
32
- module.exports = __toCommonJS(localization_service_exports);
33
- var import_container = require("../container/index.js");
34
- var import_details_error = require("../error/details.error.js");
35
- var import_logger = require("../logger/index.js");
36
- var import_api = require("../signals/api.js");
37
- var import_enum = require("../utils/enum.js");
38
- var import_memoize = require("../utils/function/memoize.js");
39
- var import_object = require("../utils/object/object.js");
40
- var import_property_name = require("../utils/object/property-name.js");
41
- var import_type_guards = require("../utils/type-guards.js");
42
- var __decorate = function(decorators, target, key, desc) {
43
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
44
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
45
- r = Reflect.decorate(decorators, target, key, desc);
46
- else
47
- for (var i = decorators.length - 1; i >= 0; i--)
48
- if (d = decorators[i])
49
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
50
- return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
51
12
  };
52
- var __metadata = function(k, v) {
53
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
54
- return Reflect.metadata(k, v);
55
- };
56
- var __param = function(paramIndex, decorator) {
57
- return function(target, key) {
58
- decorator(target, key, paramIndex);
59
- };
60
- };
61
- function getProxyLocalizationKey(key) {
62
- return (0, import_property_name.getPropertyName)(key);
13
+ import { resolveArg, singleton } from '../container/index.js';
14
+ import { DetailsError } from '../error/details.error.js';
15
+ import { Logger } from '../logger/index.js';
16
+ import { computed, signal, toObservable } from '../signals/api.js';
17
+ import { enumEntries, enumValueName } from '../utils/enum.js';
18
+ import { memoize } from '../utils/function/memoize.js';
19
+ import { deepObjectEntries, hasOwnProperty } from '../utils/object/object.js';
20
+ import { getPropertyName, getPropertyNameProxy, isPropertyName, propertyName } from '../utils/object/property-name.js';
21
+ import { assertDefinedPass, isArray, isDefined, isFunction, isNotNull, isNull, isNullOrUndefined, isObject, isString, isUndefined } from '../utils/type-guards.js';
22
+ export function getProxyLocalizationKey(key) {
23
+ return getPropertyName(key);
63
24
  }
64
- function isProxyLocalizationKey(value) {
65
- return (0, import_property_name.isPropertyName)(value);
25
+ export function isProxyLocalizationKey(value) {
26
+ return isPropertyName(value);
66
27
  }
67
- function isEnumLocalizationKey(key) {
68
- return (0, import_type_guards.isObject)(key) && (0, import_object.hasOwnProperty)(key, "enum");
28
+ export function isEnumLocalizationKey(key) {
29
+ return isObject(key) && hasOwnProperty(key, 'enum');
69
30
  }
70
- function isLocalizationDataObject(value) {
71
- return (0, import_type_guards.isObject)(value) && (0, import_object.hasOwnProperty)(value, "key");
31
+ export function isLocalizationDataObject(value) {
32
+ return isObject(value) && hasOwnProperty(value, 'key');
72
33
  }
73
- function localizationData(keyOrData, parameters) {
74
- if ((0, import_type_guards.isString)(keyOrData) || isProxyLocalizationKey(keyOrData)) {
75
- return { key: keyOrData, parameters };
76
- }
77
- return keyOrData;
34
+ export function localizationData(keyOrData, parameters) {
35
+ if (isString(keyOrData) || isProxyLocalizationKey(keyOrData)) {
36
+ return { key: keyOrData, parameters };
37
+ }
38
+ return keyOrData;
78
39
  }
79
- function getLocalizationKeys(_localization) {
80
- return (0, import_property_name.getPropertyNameProxy)();
40
+ /**
41
+ * returns a Proxy which simply returns the key you accessed. Can be used to have typesafe localizations (in templates and the API) by not relying on plain strings
42
+ * @param localization
43
+ * @returns
44
+ */
45
+ export function getLocalizationKeys(_localization) {
46
+ return getPropertyNameProxy();
81
47
  }
82
- const autoEnumerationLocalization = (0, import_memoize.memoize)(_autoEnumerationLocalization);
48
+ export const autoEnumerationLocalization = memoize(_autoEnumerationLocalization);
83
49
  const parametersPattern = /(?:\{\{\s*(?<parameter>\w+)\s*\}\})/ug;
84
- const warnedMissingKeys = /* @__PURE__ */ new Set();
85
- let LocalizationService = class LocalizationService2 {
86
- #logger;
87
- #localizations = /* @__PURE__ */ new Map();
88
- #activeLanguage = (0, import_api.signal)(null);
89
- #availableLanguages = (0, import_api.signal)([]);
90
- #activeLocalization = (0, import_api.computed)(() => {
91
- const language = this.#activeLanguage();
92
- if ((0, import_type_guards.isNull)(language)) {
93
- return null;
50
+ const warnedMissingKeys = new Set();
51
+ export let LocalizationService = class LocalizationService {
52
+ #logger;
53
+ #localizations = new Map();
54
+ #activeLanguage = signal(null);
55
+ #availableLanguages = signal([]);
56
+ #activeLocalization = computed(() => {
57
+ const language = this.#activeLanguage();
58
+ if (isNull(language)) {
59
+ return null;
60
+ }
61
+ return this.#localizations.get(language.code);
62
+ });
63
+ activeLanguage = this.#activeLanguage.asReadonly();
64
+ availableLanguages = this.#availableLanguages.asReadonly();
65
+ activeLanguage$ = toObservable(this.activeLanguage);
66
+ availableLanguages$ = toObservable(this.availableLanguages);
67
+ constructor(logger) {
68
+ this.#logger = logger;
94
69
  }
95
- return this.#localizations.get(language.code);
96
- });
97
- activeLanguage = this.#activeLanguage.asReadonly();
98
- availableLanguages = this.#availableLanguages.asReadonly();
99
- activeLanguage$ = (0, import_api.toObservable)(this.activeLanguage);
100
- availableLanguages$ = (0, import_api.toObservable)(this.availableLanguages);
101
- constructor(logger) {
102
- this.#logger = logger;
103
- }
104
- registerLocalization(...localizations) {
105
- for (const localization of localizations) {
106
- const mappedLocalization = buildMappedLocalization(localization);
107
- if (this.#localizations.has(localization.language.code)) {
108
- const existing = this.#localizations.get(localization.language.code);
109
- const merged = mergeMappedLocalization(existing, mappedLocalization);
110
- this.#localizations.set(localization.language.code, merged);
111
- } else {
112
- this.#localizations.set(localization.language.code, mappedLocalization);
113
- }
114
- const availableLanguages = [...this.#localizations].map(([, loc]) => loc.language);
115
- this.#availableLanguages.set(availableLanguages);
116
- if ((0, import_type_guards.isNullOrUndefined)(this.#activeLanguage())) {
117
- this.setLanguage(localization.language.code);
118
- }
70
+ registerLocalization(...localizations) {
71
+ for (const localization of localizations) {
72
+ const mappedLocalization = buildMappedLocalization(localization);
73
+ if (this.#localizations.has(localization.language.code)) {
74
+ const existing = this.#localizations.get(localization.language.code);
75
+ const merged = mergeMappedLocalization(existing, mappedLocalization);
76
+ this.#localizations.set(localization.language.code, merged);
77
+ }
78
+ else {
79
+ this.#localizations.set(localization.language.code, mappedLocalization);
80
+ }
81
+ const availableLanguages = [...this.#localizations].map(([, loc]) => loc.language);
82
+ this.#availableLanguages.set(availableLanguages);
83
+ if (isNullOrUndefined(this.#activeLanguage())) {
84
+ this.setLanguage(localization.language.code);
85
+ }
86
+ }
119
87
  }
120
- }
121
- hasLanguage(languageCode) {
122
- return this.#localizations.has(languageCode);
123
- }
124
- getLanguage(languageCode) {
125
- return (0, import_type_guards.assertDefinedPass)(this.#localizations.get(languageCode), "language not available").language;
126
- }
127
- setLanguage(languageOrCode) {
128
- const language = (0, import_type_guards.isString)(languageOrCode) ? this.#localizations.get(languageOrCode)?.language : languageOrCode;
129
- if ((0, import_type_guards.isUndefined)(language) || !this.#localizations.has(language.code)) {
130
- throw new Error("Language not registered.");
88
+ hasLanguage(languageCode) {
89
+ return this.#localizations.has(languageCode);
131
90
  }
132
- this.#activeLanguage.set(language);
133
- }
134
- setLocalization(localization) {
135
- this.setLanguage(localization.language.code);
136
- }
137
- tryGetItem(keyOrData) {
138
- const activeLanguageCode = this.#activeLanguage()?.code;
139
- if ((0, import_type_guards.isUndefined)(activeLanguageCode)) {
140
- return void 0;
91
+ getLanguage(languageCode) {
92
+ return assertDefinedPass(this.#localizations.get(languageCode), 'language not available').language;
93
+ }
94
+ setLanguage(languageOrCode) {
95
+ const language = isString(languageOrCode) ? this.#localizations.get(languageOrCode)?.language : languageOrCode;
96
+ if (isUndefined(language) || !this.#localizations.has(language.code)) {
97
+ throw new Error('Language not registered.');
98
+ }
99
+ this.#activeLanguage.set(language);
100
+ }
101
+ setLocalization(localization) {
102
+ this.setLanguage(localization.language.code);
141
103
  }
142
- if (isEnumLocalizationKey(keyOrData)) {
143
- const enumEntry = this.#localizations.get(activeLanguageCode)?.enums.get(keyOrData.enum);
144
- return (0, import_type_guards.isDefined)(keyOrData.value) ? enumEntry?.values[keyOrData.value] : enumEntry?.name;
104
+ tryGetItem(keyOrData) {
105
+ const activeLanguageCode = this.#activeLanguage()?.code;
106
+ if (isUndefined(activeLanguageCode)) {
107
+ return undefined;
108
+ }
109
+ if (isEnumLocalizationKey(keyOrData)) {
110
+ const enumEntry = this.#localizations.get(activeLanguageCode)?.enums.get(keyOrData.enum);
111
+ return isDefined(keyOrData.value) ? enumEntry?.values[keyOrData.value] : enumEntry?.name;
112
+ }
113
+ const actualKey = getStringKey(keyOrData);
114
+ return this.#localizations.get(activeLanguageCode)?.keys.get(actualKey);
145
115
  }
146
- const actualKey = getStringKey(keyOrData);
147
- return this.#localizations.get(activeLanguageCode)?.keys.get(actualKey);
148
- }
149
- hasKey(key) {
150
- const item = this.tryGetItem(key);
151
- return (0, import_type_guards.isDefined)(item);
152
- }
153
- // eslint-disable-next-line max-statements
154
- localizeOnce(keyOrData) {
155
- if (isEnumLocalizationKey(keyOrData)) {
156
- return this.localizeEnumOnce(keyOrData.enum, keyOrData.value, keyOrData.parameters);
116
+ hasKey(key) {
117
+ const item = this.tryGetItem(key);
118
+ return isDefined(item);
157
119
  }
158
- const key = getStringKey(keyOrData);
159
- const parameters = (0, import_type_guards.isString)(keyOrData) || isProxyLocalizationKey(keyOrData) ? {} : keyOrData.parameters;
160
- const activeLanguageCode = this.#activeLanguage()?.code;
161
- const templateOrFunction = (0, import_type_guards.isDefined)(activeLanguageCode) ? this.#localizations.get(activeLanguageCode)?.keys.get(key) : void 0;
162
- if ((0, import_type_guards.isUndefined)(templateOrFunction)) {
163
- if (!warnedMissingKeys.has(key)) {
164
- this.#logger.warn(`Localization for ${key} not available.`);
165
- warnedMissingKeys.add(key);
166
- }
120
+ // eslint-disable-next-line max-statements
121
+ localizeOnce(keyOrData) {
122
+ if (isEnumLocalizationKey(keyOrData)) {
123
+ return this.localizeEnumOnce(keyOrData.enum, keyOrData.value, keyOrData.parameters);
124
+ }
125
+ const key = getStringKey(keyOrData);
126
+ const parameters = (isString(keyOrData) || isProxyLocalizationKey(keyOrData)) ? {} : keyOrData.parameters;
127
+ const activeLanguageCode = this.#activeLanguage()?.code;
128
+ const templateOrFunction = isDefined(activeLanguageCode) ? this.#localizations.get(activeLanguageCode)?.keys.get(key) : undefined;
129
+ if (isUndefined(templateOrFunction)) {
130
+ if (!warnedMissingKeys.has(key)) {
131
+ this.#logger.warn(`Localization for ${key} not available.`);
132
+ warnedMissingKeys.add(key);
133
+ }
134
+ }
135
+ return this.localizeItem(key, templateOrFunction, parameters);
167
136
  }
168
- return this.localizeItem(key, templateOrFunction, parameters);
169
- }
170
- localizeEnumOnce(enumeration, value, parameters) {
171
- if ((0, import_type_guards.isUndefined)(value)) {
172
- const name = this.#activeLocalization()?.enums.get(enumeration)?.name;
173
- return this.localizeItem("ENUM", name, parameters);
137
+ localizeEnumOnce(enumeration, value, parameters) {
138
+ if (isUndefined(value)) {
139
+ const name = this.#activeLocalization()?.enums.get(enumeration)?.name;
140
+ return this.localizeItem('ENUM', name, parameters);
141
+ }
142
+ const key = isArray(enumeration) ? value : enumValueName(enumeration, value);
143
+ const item = this.#activeLocalization()?.enums.get(enumeration)?.values[value];
144
+ if (isUndefined(item)) {
145
+ return autoEnumerationLocalization(enumeration)[2][value];
146
+ }
147
+ return this.localizeItem(key, item, parameters);
174
148
  }
175
- const key = (0, import_type_guards.isArray)(enumeration) ? value : (0, import_enum.enumValueName)(enumeration, value);
176
- const item = this.#activeLocalization()?.enums.get(enumeration)?.values[value];
177
- if ((0, import_type_guards.isUndefined)(item)) {
178
- return autoEnumerationLocalization(enumeration)[2][value];
149
+ localize(data) {
150
+ return computed(() => this.localizeOnce(data));
179
151
  }
180
- return this.localizeItem(key, item, parameters);
181
- }
182
- localize(data) {
183
- return (0, import_api.computed)(() => this.localizeOnce(data));
184
- }
185
- localizeEnum(enumeration, value, parameters) {
186
- return (0, import_api.computed)(() => this.localizeEnumOnce(enumeration, value, parameters));
187
- }
188
- localize$(data) {
189
- return (0, import_api.toObservable)(this.localize(data));
190
- }
191
- localizeEnum$(enumeration, value, parameters) {
192
- return (0, import_api.toObservable)(this.localizeEnum(enumeration, value, parameters));
193
- }
194
- localizeItem(key, templateOrFunction, parameters) {
195
- if ((0, import_type_guards.isUndefined)(templateOrFunction)) {
196
- return `__${key}__`;
152
+ localizeEnum(enumeration, value, parameters) {
153
+ return computed(() => this.localizeEnumOnce(enumeration, value, parameters));
197
154
  }
198
- if ((0, import_type_guards.isFunction)(templateOrFunction)) {
199
- return templateOrFunction(parameters);
155
+ localize$(data) {
156
+ return toObservable(this.localize(data));
200
157
  }
201
- const template = templateOrFunction;
202
- const templateParameters = (0, import_type_guards.isNotNull)(parameters) && (0, import_type_guards.isObject)(parameters) ? parameters : {};
203
- const matches = template.matchAll(parametersPattern);
204
- let currentIndex = 0;
205
- let result = "";
206
- for (const { 0: match, index, groups } of matches) {
207
- const parameterName = groups["parameter"];
208
- result += template.slice(currentIndex, index);
209
- result += templateParameters[parameterName] ?? `__${parameterName}__`;
210
- currentIndex = index + match.length;
158
+ localizeEnum$(enumeration, value, parameters) {
159
+ return toObservable(this.localizeEnum(enumeration, value, parameters));
160
+ }
161
+ localizeItem(key, templateOrFunction, parameters) {
162
+ if (isUndefined(templateOrFunction)) {
163
+ return `__${key}__`;
164
+ }
165
+ if (isFunction(templateOrFunction)) {
166
+ return templateOrFunction(parameters);
167
+ }
168
+ const template = templateOrFunction;
169
+ const templateParameters = ((isNotNull(parameters) && isObject(parameters)) ? parameters : {});
170
+ const matches = template.matchAll(parametersPattern);
171
+ let currentIndex = 0;
172
+ let result = '';
173
+ for (const { 0: match, index, groups } of matches) {
174
+ const parameterName = groups['parameter'];
175
+ result += template.slice(currentIndex, index);
176
+ result += templateParameters[parameterName] ?? `__${parameterName}__`;
177
+ currentIndex = index + match.length;
178
+ }
179
+ result += template.slice(currentIndex);
180
+ return result;
211
181
  }
212
- result += template.slice(currentIndex);
213
- return result;
214
- }
215
182
  };
216
183
  LocalizationService = __decorate([
217
- (0, import_container.singleton)(),
218
- __param(0, (0, import_container.resolveArg)("LocalizationService")),
219
- __metadata("design:paramtypes", [import_logger.Logger])
184
+ singleton(),
185
+ __param(0, resolveArg('LocalizationService')),
186
+ __metadata("design:paramtypes", [Logger])
220
187
  ], LocalizationService);
221
- function enumerationLocalization(enumeration, nameOrLocalization, localizationOrNothing) {
222
- return [enumeration, isLocalizeItem(nameOrLocalization) ? nameOrLocalization : void 0, localizationOrNothing ?? nameOrLocalization];
188
+ export function enumerationLocalization(enumeration, nameOrLocalization, localizationOrNothing) {
189
+ return [enumeration, isLocalizeItem(nameOrLocalization) ? nameOrLocalization : undefined, localizationOrNothing ?? nameOrLocalization];
223
190
  }
224
191
  function _autoEnumerationLocalization(enumeration, name) {
225
- if ((0, import_type_guards.isObject)(enumeration)) {
226
- return [enumeration, name, Object.fromEntries((0, import_enum.enumEntries)(enumeration).map(([key, value]) => [value, key]))];
227
- }
228
- const arrayEntries = enumeration.map((value) => [value, value]);
229
- return [enumeration, name, Object.fromEntries(arrayEntries)];
192
+ if (isObject(enumeration)) {
193
+ return [enumeration, name, Object.fromEntries(enumEntries(enumeration).map(([key, value]) => [value, key]))];
194
+ }
195
+ const arrayEntries = enumeration.map((value) => [value, value]);
196
+ return [enumeration, name, Object.fromEntries(arrayEntries)];
230
197
  }
231
198
  function buildMappedLocalization({ language, keys, enums }) {
232
- const enumsEntries = enums.map((entry) => [entry[0], { name: entry[1], values: entry[2] }]);
233
- const mappedLocalization = {
234
- language,
235
- keys: new Map((0, import_object.deepObjectEntries)(keys)),
236
- enums: new Map(enumsEntries)
237
- };
238
- return mappedLocalization;
199
+ const enumsEntries = enums.map((entry) => [entry[0], { name: entry[1], values: entry[2] }]);
200
+ const mappedLocalization = {
201
+ language,
202
+ keys: new Map(deepObjectEntries(keys)),
203
+ enums: new Map(enumsEntries)
204
+ };
205
+ return mappedLocalization;
239
206
  }
240
207
  function getStringKey(key, sourceKey = key) {
241
- if (isProxyLocalizationKey(key)) {
242
- return key[import_property_name.propertyName];
243
- }
244
- if ((0, import_type_guards.isString)(key)) {
245
- return key;
246
- }
247
- if ((0, import_type_guards.isNullOrUndefined)(key)) {
248
- throw new import_details_error.DetailsError("Invalid localization key", { sourceKey });
249
- }
250
- return getStringKey(key.key, sourceKey);
208
+ if (isProxyLocalizationKey(key)) {
209
+ return key[propertyName];
210
+ }
211
+ if (isString(key)) {
212
+ return key;
213
+ }
214
+ if (isNullOrUndefined(key)) {
215
+ throw new DetailsError('Invalid localization key', { sourceKey });
216
+ }
217
+ return getStringKey(key.key, sourceKey);
251
218
  }
252
219
  function mergeMappedLocalization(a, b, force = false) {
253
- if (!force && a.language.code != b.language.code) {
254
- throw new Error("Language code mismatch. Set force to true to force.");
255
- }
256
- return {
257
- language: b.language,
258
- keys: new Map([...a.keys, ...b.keys]),
259
- enums: new Map([...a.enums, ...b.enums])
260
- };
220
+ if (!force && (a.language.code != b.language.code)) {
221
+ throw new Error('Language code mismatch. Set force to true to force.');
222
+ }
223
+ return {
224
+ language: b.language,
225
+ keys: new Map([...a.keys, ...b.keys]),
226
+ enums: new Map([...a.enums, ...b.enums])
227
+ };
261
228
  }
262
- function isLocalizeItem(value) {
263
- return (0, import_type_guards.isString)(value) || (0, import_type_guards.isFunction)(value);
229
+ export function isLocalizeItem(value) {
230
+ return isString(value) || isFunction(value);
264
231
  }
@@ -1,52 +1,29 @@
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 css_adapter_exports = {};
20
- __export(css_adapter_exports, {
21
- cssThemeAdapter: () => cssThemeAdapter
22
- });
23
- module.exports = __toCommonJS(css_adapter_exports);
24
- var import_object = require("../../utils/object/object.js");
25
- var import_hypenate = require("../../utils/string/hypenate.js");
26
- var import_theme_service = require("../theme-service.js");
27
- function cssThemeAdapter(themeService) {
28
- const styleSheet = new CSSStyleSheet();
29
- document.adoptedStyleSheets.push(styleSheet);
30
- const rootRule = createCssRule(styleSheet, ":root {}");
31
- const subscription = themeService.calculatedTheme$.subscribe((theme) => setVariables(rootRule, theme.palette));
32
- return {
33
- destroy() {
34
- subscription.unsubscribe();
35
- }
36
- };
1
+ import { objectEntries } from '../../utils/object/object.js';
2
+ import { hyphenate } from '../../utils/string/hypenate.js';
3
+ import { themeColorTones } from '../theme-service.js';
4
+ export function cssThemeAdapter(themeService) {
5
+ const styleSheet = new CSSStyleSheet();
6
+ document.adoptedStyleSheets.push(styleSheet);
7
+ const rootRule = createCssRule(styleSheet, ':root {}');
8
+ const subscription = themeService.calculatedTheme$.subscribe((theme) => setVariables(rootRule, theme.palette));
9
+ return {
10
+ destroy() {
11
+ subscription.unsubscribe();
12
+ }
13
+ };
37
14
  }
38
15
  function setVariables(cssRule, palette) {
39
- for (const [color, tones] of (0, import_object.objectEntries)(palette)) {
40
- const colorVariable = (0, import_hypenate.hyphenate)(color);
41
- for (const tone of import_theme_service.themeColorTones) {
42
- cssRule.style.setProperty(`--theme-${colorVariable}`, tones.base);
43
- cssRule.style.setProperty(`--theme-${colorVariable}-rgb`, tones.baseRgb);
44
- cssRule.style.setProperty(`--theme-${colorVariable}-${tone}`, tones[tone]);
45
- cssRule.style.setProperty(`--theme-${colorVariable}-${tone}-rgb`, tones[`${tone}Rgb`]);
16
+ for (const [color, tones] of objectEntries(palette)) {
17
+ const colorVariable = hyphenate(color);
18
+ for (const tone of themeColorTones) {
19
+ cssRule.style.setProperty(`--theme-${colorVariable}`, tones.base);
20
+ cssRule.style.setProperty(`--theme-${colorVariable}-rgb`, tones.baseRgb);
21
+ cssRule.style.setProperty(`--theme-${colorVariable}-${tone}`, tones[tone]);
22
+ cssRule.style.setProperty(`--theme-${colorVariable}-${tone}-rgb`, tones[`${tone}Rgb`]);
23
+ }
46
24
  }
47
- }
48
25
  }
49
26
  function createCssRule(styleSheet, rule) {
50
- const index = styleSheet.insertRule(rule);
51
- return styleSheet.cssRules[index];
27
+ const index = styleSheet.insertRule(rule);
28
+ return styleSheet.cssRules[index];
52
29
  }
@@ -1,55 +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 tailwind_adapter_exports = {};
20
- __export(tailwind_adapter_exports, {
21
- generateTailwindColorsFromTheme: () => generateTailwindColorsFromTheme,
22
- generateTailwindColorsFromThemeColors: () => generateTailwindColorsFromThemeColors,
23
- generateTailwindPalette: () => generateTailwindPalette
24
- });
25
- module.exports = __toCommonJS(tailwind_adapter_exports);
26
- var import_object = require("../../utils/object/object.js");
27
- var import_hypenate = require("../../utils/string/hypenate.js");
28
- var import_type_guards = require("../../utils/type-guards.js");
29
- function generateTailwindColorsFromTheme(theme, tailwindNamePrefix) {
30
- const colors = (0, import_object.objectKeys)(theme.palette);
31
- return generateTailwindColorsFromThemeColors(colors, tailwindNamePrefix);
1
+ import { fromEntries, objectKeys } from '../../utils/object/object.js';
2
+ import { hyphenate } from '../../utils/string/hypenate.js';
3
+ import { isDefined } from '../../utils/type-guards.js';
4
+ export function generateTailwindColorsFromTheme(theme, tailwindNamePrefix) {
5
+ const colors = objectKeys(theme.palette);
6
+ return generateTailwindColorsFromThemeColors(colors, tailwindNamePrefix);
32
7
  }
33
- function generateTailwindColorsFromThemeColors(colors, tailwindNamePrefix) {
34
- const prefix = (0, import_type_guards.isDefined)(tailwindNamePrefix) ? `${tailwindNamePrefix}-` : "";
35
- const entries = colors.map(import_hypenate.hyphenate).map((color) => [`${prefix}${color}`, generateTailwindPalette(color)]);
36
- return (0, import_object.fromEntries)(entries);
8
+ export function generateTailwindColorsFromThemeColors(colors, tailwindNamePrefix) {
9
+ const prefix = isDefined(tailwindNamePrefix) ? `${tailwindNamePrefix}-` : '';
10
+ const entries = colors
11
+ .map(hyphenate)
12
+ .map((color) => [`${prefix}${color}`, generateTailwindPalette(color)]);
13
+ return fromEntries(entries);
37
14
  }
38
- function generateTailwindPalette(color) {
39
- return {
40
- /* eslint-disable @typescript-eslint/naming-convention */
41
- DEFAULT: `rgb(var(--theme-${color}-rgb) / <alpha-value>)`,
42
- 50: `rgb(var(--theme-${color}-50-rgb) / <alpha-value>)`,
43
- 100: `rgb(var(--theme-${color}-100-rgb) / <alpha-value>)`,
44
- 200: `rgb(var(--theme-${color}-200-rgb) / <alpha-value>)`,
45
- 300: `rgb(var(--theme-${color}-300-rgb) / <alpha-value>)`,
46
- 400: `rgb(var(--theme-${color}-400-rgb) / <alpha-value>)`,
47
- 500: `rgb(var(--theme-${color}-500-rgb) / <alpha-value>)`,
48
- 600: `rgb(var(--theme-${color}-600-rgb) / <alpha-value>)`,
49
- 700: `rgb(var(--theme-${color}-700-rgb) / <alpha-value>)`,
50
- 800: `rgb(var(--theme-${color}-800-rgb) / <alpha-value>)`,
51
- 900: `rgb(var(--theme-${color}-900-rgb) / <alpha-value>)`,
52
- 950: `rgb(var(--theme-${color}-950-rgb) / <alpha-value>)`
53
- /* eslint-enable @typescript-eslint/naming-convention */
54
- };
15
+ export function generateTailwindPalette(color) {
16
+ return {
17
+ /* eslint-disable @typescript-eslint/naming-convention */
18
+ DEFAULT: `rgb(var(--theme-${color}-rgb) / <alpha-value>)`,
19
+ 50: `rgb(var(--theme-${color}-50-rgb) / <alpha-value>)`,
20
+ 100: `rgb(var(--theme-${color}-100-rgb) / <alpha-value>)`,
21
+ 200: `rgb(var(--theme-${color}-200-rgb) / <alpha-value>)`,
22
+ 300: `rgb(var(--theme-${color}-300-rgb) / <alpha-value>)`,
23
+ 400: `rgb(var(--theme-${color}-400-rgb) / <alpha-value>)`,
24
+ 500: `rgb(var(--theme-${color}-500-rgb) / <alpha-value>)`,
25
+ 600: `rgb(var(--theme-${color}-600-rgb) / <alpha-value>)`,
26
+ 700: `rgb(var(--theme-${color}-700-rgb) / <alpha-value>)`,
27
+ 800: `rgb(var(--theme-${color}-800-rgb) / <alpha-value>)`,
28
+ 900: `rgb(var(--theme-${color}-900-rgb) / <alpha-value>)`,
29
+ 950: `rgb(var(--theme-${color}-950-rgb) / <alpha-value>)`
30
+ /* eslint-enable @typescript-eslint/naming-convention */
31
+ };
55
32
  }