@tstdl/base 0.87.15 → 0.88.0-alpha2

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 (784) 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/authentication/authentication.api.js +89 -113
  23. package/authentication/client/api.client.js +29 -57
  24. package/authentication/client/authentication.service.js +214 -235
  25. package/authentication/client/http-client.middleware.js +16 -38
  26. package/authentication/client/index.js +5 -22
  27. package/authentication/client/module.js +22 -45
  28. package/authentication/client/tokens.js +6 -30
  29. package/authentication/errors/index.js +1 -18
  30. package/authentication/errors/secret-requirements.error.js +6 -29
  31. package/authentication/index.d.ts +1 -0
  32. package/authentication/index.js +3 -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.d.ts +1 -0
  62. package/browser/index.js +11 -27
  63. package/browser/locator-controller.js +36 -59
  64. package/browser/module.js +26 -50
  65. package/browser/page-controller.js +150 -166
  66. package/browser/pdf-options.js +73 -103
  67. package/browser/types.js +1 -16
  68. package/browser/utils.js +94 -128
  69. package/cancellation/index.js +1 -18
  70. package/cancellation/token.js +164 -184
  71. package/collections/awaitable/awaitable-list.js +99 -122
  72. package/collections/awaitable/awaitable-map.js +93 -116
  73. package/collections/awaitable/awaitable-set.js +63 -86
  74. package/collections/awaitable/index.js +3 -20
  75. package/collections/collection.js +1 -16
  76. package/collections/index.js +6 -23
  77. package/collections/keyed-set.js +53 -77
  78. package/collections/list.js +1 -16
  79. package/collections/observable/index.js +8 -25
  80. package/collections/observable/observable-array.js +95 -118
  81. package/collections/observable/observable-collection-base.js +60 -83
  82. package/collections/observable/observable-collection.js +1 -16
  83. package/collections/observable/observable-list-base.js +55 -78
  84. package/collections/observable/observable-list.js +1 -16
  85. package/collections/observable/observable-map.js +56 -79
  86. package/collections/observable/observable-set.js +75 -98
  87. package/collections/observable/observable-sorted-array-list.js +165 -188
  88. package/collections/sorted-array-list.js +156 -179
  89. package/collections/sorted-list.js +1 -16
  90. package/collections/sorted-map.js +70 -93
  91. package/container/decorators.js +1 -34
  92. package/container/index.js +3 -20
  93. package/container/interfaces.js +1 -25
  94. package/container/token.js +1 -26
  95. package/cookie/cookie.js +49 -71
  96. package/cookie/index.js +1 -18
  97. package/core.js +56 -81
  98. package/data-structures/array-dictionary.js +89 -110
  99. package/data-structures/array-list.js +107 -130
  100. package/data-structures/cache.js +41 -64
  101. package/data-structures/circular-buffer.js +200 -220
  102. package/data-structures/collection.js +86 -109
  103. package/data-structures/dictionary.js +51 -75
  104. package/data-structures/distinct-collection.js +49 -73
  105. package/data-structures/index-out-of-bounds.error.js +8 -31
  106. package/data-structures/index.d.ts +1 -0
  107. package/data-structures/index.js +17 -33
  108. package/data-structures/iterable-weak-map.js +129 -149
  109. package/data-structures/linked-list.js +368 -385
  110. package/data-structures/list.js +86 -109
  111. package/data-structures/map-dictionary.js +55 -78
  112. package/data-structures/multi-key-map.js +141 -163
  113. package/data-structures/multi-key-set.js +56 -79
  114. package/data-structures/set-collection.js +54 -77
  115. package/data-structures/sorted-array-list.js +140 -166
  116. package/data-structures/weak-ref-map.js +126 -146
  117. package/database/entity-repository.js +2 -26
  118. package/database/entity.js +1 -16
  119. package/database/id.js +8 -29
  120. package/database/index.js +6 -23
  121. package/database/module.js +9 -33
  122. package/database/mongo/classes.js +18 -43
  123. package/database/mongo/index.js +10 -27
  124. package/database/mongo/model/document.js +62 -93
  125. package/database/mongo/model/index.js +1 -18
  126. package/database/mongo/module.js +59 -79
  127. package/database/mongo/mongo-base.repository.js +259 -283
  128. package/database/mongo/mongo-bulk.js +87 -110
  129. package/database/mongo/mongo-entity-repository.js +270 -296
  130. package/database/mongo/operations.js +48 -76
  131. package/database/mongo/query-converter.js +73 -96
  132. package/database/mongo/simple-entity-repository.js +5 -28
  133. package/database/mongo/types.js +2 -25
  134. package/database/query.js +7 -36
  135. package/database/utils.js +2 -25
  136. package/decorators/index.js +1 -18
  137. package/decorators/log.js +29 -51
  138. package/disposable/async-disposer.js +118 -130
  139. package/disposable/disposable.js +9 -36
  140. package/disposable/index.js +3 -20
  141. package/disposable/using.js +15 -37
  142. package/distributed-loop/controller.js +1 -16
  143. package/distributed-loop/distributed-loop.js +77 -105
  144. package/distributed-loop/index.js +3 -20
  145. package/distributed-loop/provider.js +21 -48
  146. package/enumerable/async-enumerable.js +238 -261
  147. package/enumerable/enumerable-methods.js +1 -16
  148. package/enumerable/enumerable.js +177 -200
  149. package/enumerable/index.js +2 -19
  150. package/environment.js +25 -57
  151. package/error/api.error.js +10 -33
  152. package/error/assertion.error.js +6 -29
  153. package/error/bad-request.error.js +6 -29
  154. package/error/custom.error.js +25 -47
  155. package/error/details.error.js +8 -31
  156. package/error/forbidden.error.js +6 -29
  157. package/error/index.js +16 -33
  158. package/error/invalid-token.error.js +6 -29
  159. package/error/max-bytes-exceeded.error.js +9 -32
  160. package/error/method-not-allowed.error.js +6 -29
  161. package/error/multi.error.js +8 -31
  162. package/error/not-found.error.js +6 -29
  163. package/error/not-implemented.error.js +6 -29
  164. package/error/not-supported.error.js +11 -34
  165. package/error/timeout.error.js +6 -29
  166. package/error/unauthorized.error.js +6 -29
  167. package/error/unsupported-media-type.error.js +6 -29
  168. package/examples/api/authentication.js +49 -49
  169. package/examples/api/basic-overview.js +80 -85
  170. package/examples/api/custom-authentication.js +94 -99
  171. package/examples/api/streaming.js +90 -95
  172. package/examples/browser/basic.js +21 -22
  173. package/examples/http/client.js +15 -16
  174. package/examples/mail/basic.js +41 -42
  175. package/examples/mail/templates/hello-name.js +10 -33
  176. package/examples/pdf/basic.js +48 -49
  177. package/examples/pdf/templates/hello-name.js +35 -58
  178. package/examples/reflection/basic.js +53 -84
  179. package/examples/template/basic.js +32 -33
  180. package/examples/template/templates/hello-jsx.js +8 -32
  181. package/examples/template/templates/hello-name.js +18 -41
  182. package/function/index.js +1 -18
  183. package/function/log.js +18 -40
  184. package/http/client/adapters/index.d.ts +1 -0
  185. package/http/client/adapters/index.js +1 -0
  186. package/http/client/adapters/undici-http-client.adapter.js +92 -111
  187. package/http/client/http-client-options.js +10 -33
  188. package/http/client/http-client-request.js +149 -171
  189. package/http/client/http-client-response.js +33 -56
  190. package/http/client/http-client.adapter.js +1 -24
  191. package/http/client/http-client.js +295 -313
  192. package/http/client/index.d.ts +2 -0
  193. package/http/client/index.js +8 -23
  194. package/http/client/middleware.js +1 -16
  195. package/http/client/module.js +20 -43
  196. package/http/client/tokens.js +2 -25
  197. package/http/cookie-parser.js +19 -42
  198. package/http/http-body.js +52 -75
  199. package/http/http-form.js +14 -37
  200. package/http/http-headers.js +86 -109
  201. package/http/http-query.js +14 -37
  202. package/http/http-url-parameters.js +8 -31
  203. package/http/http-value-map.js +110 -133
  204. package/http/http.error.js +60 -82
  205. package/http/index.js +11 -28
  206. package/http/server/http-server-request.js +24 -47
  207. package/http/server/http-server-response.js +22 -45
  208. package/http/server/http-server.js +2 -25
  209. package/http/server/index.js +3 -20
  210. package/http/server/node/index.js +2 -19
  211. package/http/server/node/module.js +8 -28
  212. package/http/server/node/node-http-server.js +205 -230
  213. package/http/types.js +21 -47
  214. package/http/utils.js +92 -108
  215. package/image-service/image-service.js +59 -91
  216. package/image-service/imgproxy/imgproxy-image-service.js +88 -125
  217. package/image-service/imgproxy/index.js +1 -18
  218. package/image-service/index.js +1 -18
  219. package/import.js +2 -25
  220. package/index.js +1 -18
  221. package/injector/decorators.js +134 -112
  222. package/injector/index.js +11 -28
  223. package/injector/inject.js +104 -103
  224. package/injector/injector.js +481 -497
  225. package/injector/interfaces.js +2 -26
  226. package/injector/provider.js +22 -54
  227. package/injector/resolve-chain.js +91 -117
  228. package/injector/resolve.error.js +11 -36
  229. package/injector/symbols.js +2 -26
  230. package/injector/token.js +17 -38
  231. package/injector/type-info.js +1 -16
  232. package/injector/types.js +1 -16
  233. package/interfaces.js +1 -16
  234. package/json-path/index.js +1 -18
  235. package/json-path/json-path.js +138 -138
  236. package/key-value-store/index.js +2 -19
  237. package/key-value-store/key-value-store.provider.js +1 -24
  238. package/key-value-store/key-value.store.js +6 -29
  239. package/key-value-store/mongo/index.js +6 -23
  240. package/key-value-store/mongo/module.js +17 -35
  241. package/key-value-store/mongo/mongo-key-value-store.provider.js +21 -48
  242. package/key-value-store/mongo/mongo-key-value.model.js +1 -16
  243. package/key-value-store/mongo/mongo-key-value.repository.js +23 -52
  244. package/key-value-store/mongo/mongo-key-value.store.js +60 -89
  245. package/key-value-store/mongo/tokens.js +2 -25
  246. package/lock/index.js +2 -19
  247. package/lock/lock.js +6 -29
  248. package/lock/mongo/index.js +5 -22
  249. package/lock/mongo/lock.js +112 -135
  250. package/lock/mongo/model.js +1 -16
  251. package/lock/mongo/module.js +18 -37
  252. package/lock/mongo/mongo-lock-repository.js +57 -85
  253. package/lock/mongo/provider.js +39 -68
  254. package/lock/provider.js +2 -25
  255. package/lock/web/index.js +3 -20
  256. package/lock/web/module.js +11 -31
  257. package/lock/web/web-lock.js +81 -105
  258. package/lock/web/web-lock.provider.js +28 -57
  259. package/logger/console/index.js +1 -18
  260. package/logger/console/logger.js +55 -81
  261. package/logger/index.js +3 -20
  262. package/logger/level.js +8 -31
  263. package/logger/logger.js +38 -61
  264. package/logger/noop/index.js +1 -18
  265. package/logger/noop/logger.js +20 -42
  266. package/logger/tokens.js +2 -25
  267. package/mail/clients/index.d.ts +1 -0
  268. package/mail/clients/index.js +1 -0
  269. package/mail/clients/nodemailer.mail-client.js +64 -91
  270. package/mail/index.d.ts +2 -0
  271. package/mail/index.js +7 -22
  272. package/mail/mail.client.js +35 -63
  273. package/mail/mail.service.d.ts +1 -1
  274. package/mail/mail.service.js +74 -106
  275. package/mail/models/index.js +6 -23
  276. package/mail/models/mail-address.model.js +1 -16
  277. package/mail/models/mail-content.model.js +1 -16
  278. package/mail/models/mail-data.model.js +1 -16
  279. package/mail/models/mail-log.model.js +1 -16
  280. package/mail/models/mail-send-result.model.js +1 -16
  281. package/mail/models/mail-template.model.js +5 -28
  282. package/mail/module.d.ts +1 -1
  283. package/mail/module.js +21 -41
  284. package/mail/repositories/index.d.ts +1 -0
  285. package/mail/repositories/index.js +1 -0
  286. package/mail/repositories/mail-log.repository.d.ts +4 -0
  287. package/mail/repositories/mail-log.repository.js +3 -0
  288. package/mail/repositories/mongo/index.d.ts +1 -0
  289. package/mail/repositories/mongo/index.js +1 -0
  290. package/mail/repositories/{mongo-mail-log.repository.d.ts → mongo/mongo-mail-log.repository.d.ts} +6 -6
  291. package/mail/repositories/mongo/mongo-mail-log.repository.js +33 -0
  292. package/mail/tokens.js +2 -25
  293. package/memory/finalization.js +36 -60
  294. package/memory/index.js +2 -19
  295. package/memory/observable-finalization-registry.js +9 -32
  296. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +24 -53
  297. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +47 -74
  298. package/message-bus/broadcast-channel/index.js +3 -20
  299. package/message-bus/broadcast-channel/module.js +11 -31
  300. package/message-bus/index.js +3 -20
  301. package/message-bus/local/index.js +3 -20
  302. package/message-bus/local/local-message-bus-provider.js +36 -65
  303. package/message-bus/local/local-message-bus.js +39 -66
  304. package/message-bus/local/module.js +11 -31
  305. package/message-bus/local/types.js +1 -16
  306. package/message-bus/message-bus-base.js +41 -63
  307. package/message-bus/message-bus-provider.js +1 -24
  308. package/message-bus/message-bus.js +6 -29
  309. package/migration/index.js +3 -20
  310. package/migration/migration-state-repository.js +2 -25
  311. package/migration/migration-state.js +1 -16
  312. package/migration/migrator.js +81 -108
  313. package/migration/mongo/index.js +2 -19
  314. package/migration/mongo/migration-state-repository.js +24 -53
  315. package/migration/mongo/module.js +15 -34
  316. package/module/index.js +4 -21
  317. package/module/module-base.js +37 -60
  318. package/module/module-metric-reporter.js +58 -77
  319. package/module/module.js +10 -34
  320. package/module/modules/function.module.js +11 -34
  321. package/module/modules/index.js +2 -19
  322. package/module/modules/web-server.module.js +54 -83
  323. package/module/utils.js +19 -43
  324. package/object-storage/index.js +3 -20
  325. package/object-storage/object-storage-provider.js +1 -24
  326. package/object-storage/object-storage.js +7 -30
  327. package/object-storage/object.js +7 -30
  328. package/object-storage/s3/index.js +3 -20
  329. package/object-storage/s3/s3.object-storage-provider.js +75 -100
  330. package/object-storage/s3/s3.object-storage.js +134 -160
  331. package/object-storage/s3/s3.object.js +39 -62
  332. package/openid-connect/cached-oidc-configuration.service.js +36 -65
  333. package/openid-connect/index.js +11 -28
  334. package/openid-connect/mongo-oidc-state.repository.js +40 -65
  335. package/openid-connect/oidc-configuration.service.js +39 -66
  336. package/openid-connect/oidc-state.model.js +1 -16
  337. package/openid-connect/oidc-state.repository.js +2 -25
  338. package/openid-connect/oidc.service-model.js +1 -16
  339. package/openid-connect/oidc.service.js +158 -187
  340. package/package.json +95 -5
  341. package/password/have-i-been-pwned.js +21 -39
  342. package/password/index.js +4 -21
  343. package/password/password-check-result.model.js +34 -63
  344. package/password/password-check.js +46 -76
  345. package/password/password-check.localization.js +86 -111
  346. package/pdf/index.js +1 -18
  347. package/pdf/pdf.service.js +172 -206
  348. package/polyfills.js +1 -2
  349. package/pool/index.js +1 -18
  350. package/pool/pool.js +116 -133
  351. package/process-shutdown.js +57 -81
  352. package/promise/cancelable-promise.js +23 -41
  353. package/promise/deferred-promise.js +68 -92
  354. package/promise/index.js +3 -20
  355. package/promise/lazy-promise.js +24 -47
  356. package/queue/enqueue-batch.js +18 -41
  357. package/queue/index.js +3 -20
  358. package/queue/mongo/index.js +4 -21
  359. package/queue/mongo/job.js +1 -16
  360. package/queue/mongo/mongo-job.repository.js +45 -70
  361. package/queue/mongo/queue.js +243 -265
  362. package/queue/mongo/queue.provider.js +47 -72
  363. package/queue/provider.js +1 -24
  364. package/queue/queue.js +15 -41
  365. package/random/index.js +2 -19
  366. package/random/number-generator/index.d.ts +2 -0
  367. package/random/number-generator/index.js +5 -20
  368. package/random/number-generator/mulberry32.js +34 -51
  369. package/random/number-generator/random-number-generator-function.js +1 -24
  370. package/random/number-generator/random-number-generator.js +8 -31
  371. package/random/number-generator/seeded-random-number-generator.js +5 -28
  372. package/random/number-generator/sfc32.js +41 -64
  373. package/random/number-generator/utils.d.ts +1 -0
  374. package/random/number-generator/utils.js +7 -25
  375. package/random/series.js +41 -43
  376. package/reflection/decorator-data.js +63 -80
  377. package/reflection/decorators.js +39 -69
  378. package/reflection/index.js +5 -22
  379. package/reflection/reflection-data-map.js +32 -55
  380. package/reflection/registry.js +110 -130
  381. package/reflection/types.js +1 -16
  382. package/reflection/utils.js +96 -124
  383. package/require.js +3 -26
  384. package/rpc/endpoints/index.d.ts +1 -0
  385. package/rpc/endpoints/index.js +1 -0
  386. package/rpc/endpoints/message-port.rpc-endpoint.js +29 -48
  387. package/rpc/index.js +4 -21
  388. package/rpc/model.js +7 -30
  389. package/rpc/rpc-endpoint.js +17 -40
  390. package/rpc/rpc-error.js +17 -40
  391. package/rpc/rpc.js +223 -235
  392. package/rxjs/cast.js +4 -28
  393. package/rxjs/index.js +13 -30
  394. package/rxjs/intersection-observer.js +25 -48
  395. package/rxjs/media-query.js +8 -27
  396. package/rxjs/mutation-observer.js +28 -50
  397. package/rxjs/noop.js +4 -28
  398. package/rxjs/performance-observer.js +37 -60
  399. package/rxjs/resize-observer.js +28 -50
  400. package/rxjs/retry-backoff.js +23 -47
  401. package/rxjs/slow-array.js +22 -36
  402. package/rxjs/start-with-provider.js +5 -28
  403. package/rxjs/teardown.js +21 -44
  404. package/rxjs/timing.js +26 -57
  405. package/rxjs/touch.js +11 -30
  406. package/schema/array-constraints/index.js +2 -19
  407. package/schema/array-constraints/maximum-length.js +19 -42
  408. package/schema/array-constraints/minimum-length.js +19 -42
  409. package/schema/coercers/boolean.coercer.js +25 -49
  410. package/schema/coercers/date.coercer.js +14 -38
  411. package/schema/coercers/index.js +6 -23
  412. package/schema/coercers/number.coercer.js +12 -36
  413. package/schema/coercers/regexp.coercer.js +18 -41
  414. package/schema/coercers/string.coercer.js +12 -36
  415. package/schema/coercers/uint8-array.coercer.js +20 -44
  416. package/schema/constraints/enumeration.js +27 -49
  417. package/schema/constraints/generic.js +21 -41
  418. package/schema/constraints/index.js +12 -29
  419. package/schema/constraints/integer.js +20 -44
  420. package/schema/constraints/length.js +14 -36
  421. package/schema/constraints/literal.js +22 -44
  422. package/schema/constraints/maximum-date.js +23 -46
  423. package/schema/constraints/maximum-length.js +22 -45
  424. package/schema/constraints/maximum.js +21 -44
  425. package/schema/constraints/minimum-date.js +23 -46
  426. package/schema/constraints/minimum-length.js +22 -45
  427. package/schema/constraints/minimum.js +21 -44
  428. package/schema/constraints/pattern.js +23 -46
  429. package/schema/decorators/class.js +4 -26
  430. package/schema/decorators/coerce.js +4 -26
  431. package/schema/decorators/constraint.js +6 -28
  432. package/schema/decorators/index.js +6 -23
  433. package/schema/decorators/property.js +16 -38
  434. package/schema/decorators/types.js +1 -16
  435. package/schema/decorators/utils.js +45 -73
  436. package/schema/index.js +10 -27
  437. package/schema/schema.error.js +59 -72
  438. package/schema/schema.js +256 -274
  439. package/schema/schemas/any.js +7 -30
  440. package/schema/schemas/array.js +21 -44
  441. package/schema/schemas/assign.js +23 -46
  442. package/schema/schemas/boolean.js +7 -30
  443. package/schema/schemas/constraint.js +6 -29
  444. package/schema/schemas/date.js +20 -43
  445. package/schema/schemas/defaulted.js +8 -31
  446. package/schema/schemas/enumeration.js +15 -38
  447. package/schema/schemas/index.js +26 -43
  448. package/schema/schemas/instance.js +4 -26
  449. package/schema/schemas/literal.js +15 -38
  450. package/schema/schemas/nullable.js +7 -30
  451. package/schema/schemas/number.js +25 -48
  452. package/schema/schemas/object.js +10 -34
  453. package/schema/schemas/omit.js +14 -37
  454. package/schema/schemas/one-or-many.js +13 -35
  455. package/schema/schemas/optional.js +6 -30
  456. package/schema/schemas/partial.js +16 -39
  457. package/schema/schemas/pick.js +14 -37
  458. package/schema/schemas/readable-stream.js +7 -30
  459. package/schema/schemas/record.js +9 -31
  460. package/schema/schemas/regexp.js +7 -30
  461. package/schema/schemas/string.js +36 -59
  462. package/schema/schemas/transform.js +6 -29
  463. package/schema/schemas/uint8-array.js +27 -50
  464. package/schema/schemas/union.js +11 -34
  465. package/schema/schemas/unknown.js +7 -30
  466. package/schema/transformers/generic.js +16 -39
  467. package/schema/transformers/index.js +4 -21
  468. package/schema/transformers/lowercase.js +10 -33
  469. package/schema/transformers/trim.js +10 -33
  470. package/schema/transformers/uppercase.js +10 -33
  471. package/schema/types/index.js +5 -22
  472. package/schema/types/schema-array-constraint.js +1 -24
  473. package/schema/types/schema-value-coercer.js +1 -24
  474. package/schema/types/schema-value-constraint.js +1 -24
  475. package/schema/types/schema-value-transformer.js +1 -24
  476. package/schema/types/types.js +161 -191
  477. package/schema/utils/index.js +2 -19
  478. package/schema/utils/schema.js +120 -142
  479. package/schema/utils/value-type.js +51 -74
  480. package/search-index/elastic/config.js +21 -50
  481. package/search-index/elastic/index.js +6 -23
  482. package/search-index/elastic/keyword-rewriter.js +17 -40
  483. package/search-index/elastic/model/elastic-query.js +1 -16
  484. package/search-index/elastic/model/index-mapping.js +4 -26
  485. package/search-index/elastic/model/index.js +3 -20
  486. package/search-index/elastic/model/sort.js +1 -16
  487. package/search-index/elastic/module.js +43 -68
  488. package/search-index/elastic/query-builder/boolean-query-builder.js +46 -69
  489. package/search-index/elastic/query-builder/index.js +1 -18
  490. package/search-index/elastic/query-converter.js +174 -192
  491. package/search-index/elastic/search-index.js +132 -153
  492. package/search-index/elastic/sort-converter.js +12 -34
  493. package/search-index/elastic/types.js +1 -16
  494. package/search-index/error.js +12 -35
  495. package/search-index/index.js +3 -20
  496. package/search-index/memory/index.js +1 -18
  497. package/search-index/memory/memory-search-index.js +130 -152
  498. package/search-index/search-index.js +30 -53
  499. package/search-index/search-result.js +1 -16
  500. package/serializer/handlers/binary.js +19 -47
  501. package/serializer/handlers/date.js +4 -28
  502. package/serializer/handlers/error.js +7 -31
  503. package/serializer/handlers/index.js +7 -24
  504. package/serializer/handlers/map.js +16 -40
  505. package/serializer/handlers/regex.js +7 -31
  506. package/serializer/handlers/register.js +36 -59
  507. package/serializer/handlers/set.js +13 -37
  508. package/serializer/index.js +3 -30
  509. package/serializer/serializable.js +43 -68
  510. package/serializer/serializer.js +244 -264
  511. package/serializer/types.js +6 -34
  512. package/signals/api.js +18 -46
  513. package/signals/computed-with-dependencies.js +8 -31
  514. package/signals/effect-with-dependencies.js +8 -31
  515. package/signals/implementation/api.js +25 -30
  516. package/signals/implementation/computed.js +77 -73
  517. package/signals/implementation/configure.js +18 -41
  518. package/signals/implementation/effect.js +49 -66
  519. package/signals/implementation/errors.js +5 -29
  520. package/signals/implementation/graph.js +232 -176
  521. package/signals/implementation/index.js +10 -27
  522. package/signals/implementation/signal.js +62 -76
  523. package/signals/implementation/to-observable.js +21 -38
  524. package/signals/implementation/to-signal.js +44 -60
  525. package/signals/implementation/untracked.js +15 -31
  526. package/signals/implementation/watch.js +41 -64
  527. package/signals/index.js +9 -26
  528. package/signals/lazylize.js +4 -27
  529. package/signals/pipe.js +9 -33
  530. package/signals/switch-map.js +4 -27
  531. package/signals/to-signal-2.js +38 -61
  532. package/signals/types.js +1 -16
  533. package/signals/untracked-operator.js +11 -33
  534. package/sse/index.d.ts +1 -0
  535. package/sse/index.js +3 -19
  536. package/sse/model.js +1 -16
  537. package/sse/server-sent-events-source.js +54 -76
  538. package/sse/server-sent-events.js +48 -72
  539. package/supports.js +5 -32
  540. package/templates/index.js +9 -26
  541. package/templates/module.js +27 -48
  542. package/templates/providers/file.template-provider.js +41 -82
  543. package/templates/providers/index.d.ts +2 -0
  544. package/templates/providers/index.js +2 -0
  545. package/templates/providers/memory.template-provider.js +28 -55
  546. package/templates/renderers/handlebars.template-renderer.js +85 -122
  547. package/templates/renderers/index.d.ts +4 -0
  548. package/templates/renderers/index.js +4 -0
  549. package/templates/renderers/jsx.template-renderer.js +29 -56
  550. package/templates/renderers/mjml.template-renderer.js +43 -82
  551. package/templates/renderers/string.template-renderer.js +25 -52
  552. package/templates/resolvers/file.template-resolver.js +47 -90
  553. package/templates/resolvers/index.d.ts +3 -0
  554. package/templates/resolvers/index.js +3 -0
  555. package/templates/resolvers/jsx.template-resolver.js +30 -59
  556. package/templates/resolvers/string.template-resolver.js +30 -59
  557. package/templates/template-renderer.provider.js +37 -66
  558. package/templates/template-resolver.provider.js +37 -66
  559. package/templates/template.model.js +40 -69
  560. package/templates/template.provider.js +1 -24
  561. package/templates/template.renderer.js +11 -34
  562. package/templates/template.resolver.js +1 -24
  563. package/templates/template.service.js +50 -82
  564. package/templates/tokens.js +3 -27
  565. package/templates/types/index.d.ts +1 -0
  566. package/templates/types/index.js +1 -0
  567. package/templates/types/jsx.intrinsic-elements.js +1 -16
  568. package/text/dynamic-text.model.js +40 -69
  569. package/text/index.js +3 -20
  570. package/text/localizable-text.model.js +1 -16
  571. package/text/localization.service.js +197 -229
  572. package/theme/adapters/css-adapter.js +23 -46
  573. package/theme/adapters/index.d.ts +2 -0
  574. package/theme/adapters/index.js +2 -0
  575. package/theme/adapters/tailwind-adapter.js +29 -52
  576. package/theme/index.js +1 -18
  577. package/theme/theme-service.js +109 -147
  578. package/threading/index.js +2 -19
  579. package/threading/thread-pool.js +48 -70
  580. package/threading/thread-worker.js +3 -26
  581. package/tokens.js +2 -25
  582. package/types/geo-json.js +1 -16
  583. package/types.js +2 -16
  584. package/utils/alphabet.js +12 -35
  585. package/utils/any-iterable-iterator.js +4 -27
  586. package/utils/array/array-backtracker.js +42 -65
  587. package/utils/array/array.js +76 -79
  588. package/utils/array/index.js +2 -19
  589. package/utils/async-iterable-helpers/all.js +25 -46
  590. package/utils/async-iterable-helpers/any.js +25 -46
  591. package/utils/async-iterable-helpers/assert.js +22 -43
  592. package/utils/async-iterable-helpers/batch.js +26 -46
  593. package/utils/async-iterable-helpers/buffer.js +47 -64
  594. package/utils/async-iterable-helpers/concat.js +5 -27
  595. package/utils/async-iterable-helpers/default-if-empty.js +9 -32
  596. package/utils/async-iterable-helpers/deferred.js +3 -26
  597. package/utils/async-iterable-helpers/difference.js +24 -48
  598. package/utils/async-iterable-helpers/distinct.js +23 -44
  599. package/utils/async-iterable-helpers/drain.js +4 -26
  600. package/utils/async-iterable-helpers/filter.js +23 -44
  601. package/utils/async-iterable-helpers/first-or-default.js +8 -30
  602. package/utils/async-iterable-helpers/first.js +8 -30
  603. package/utils/async-iterable-helpers/for-each.js +18 -38
  604. package/utils/async-iterable-helpers/group-single.js +3 -26
  605. package/utils/async-iterable-helpers/group-to-map.js +20 -41
  606. package/utils/async-iterable-helpers/group-to-single-map.js +23 -44
  607. package/utils/async-iterable-helpers/group.js +3 -26
  608. package/utils/async-iterable-helpers/includes.js +7 -28
  609. package/utils/async-iterable-helpers/index.js +48 -65
  610. package/utils/async-iterable-helpers/interrupt.js +19 -43
  611. package/utils/async-iterable-helpers/is-async-iterable.js +5 -29
  612. package/utils/async-iterable-helpers/last-or-default.js +13 -36
  613. package/utils/async-iterable-helpers/last.js +13 -36
  614. package/utils/async-iterable-helpers/map-many.js +19 -40
  615. package/utils/async-iterable-helpers/map.js +19 -40
  616. package/utils/async-iterable-helpers/materialize.js +21 -42
  617. package/utils/async-iterable-helpers/metadata.js +36 -54
  618. package/utils/async-iterable-helpers/multiplex.js +23 -44
  619. package/utils/async-iterable-helpers/observable-iterable.js +31 -53
  620. package/utils/async-iterable-helpers/pairwise.js +26 -44
  621. package/utils/async-iterable-helpers/parallel/feed.js +24 -45
  622. package/utils/async-iterable-helpers/parallel/filter.js +8 -31
  623. package/utils/async-iterable-helpers/parallel/for-each.js +21 -44
  624. package/utils/async-iterable-helpers/parallel/group.js +9 -32
  625. package/utils/async-iterable-helpers/parallel/index.js +7 -24
  626. package/utils/async-iterable-helpers/parallel/map.js +6 -29
  627. package/utils/async-iterable-helpers/parallel/tap.js +6 -29
  628. package/utils/async-iterable-helpers/parallel/types.js +1 -16
  629. package/utils/async-iterable-helpers/reduce.js +31 -46
  630. package/utils/async-iterable-helpers/retry.js +43 -58
  631. package/utils/async-iterable-helpers/single-or-default.js +17 -40
  632. package/utils/async-iterable-helpers/single.js +19 -42
  633. package/utils/async-iterable-helpers/skip.js +3 -26
  634. package/utils/async-iterable-helpers/sort.js +6 -29
  635. package/utils/async-iterable-helpers/take-until.js +32 -49
  636. package/utils/async-iterable-helpers/take-while.js +29 -46
  637. package/utils/async-iterable-helpers/take.js +23 -44
  638. package/utils/async-iterable-helpers/tap.js +19 -40
  639. package/utils/async-iterable-helpers/throttle.js +9 -30
  640. package/utils/async-iterable-helpers/to-array.js +10 -33
  641. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +40 -59
  642. package/utils/async-iterable-helpers/to-async-iterator.js +32 -54
  643. package/utils/async-iterable-helpers/to-set.js +10 -33
  644. package/utils/async-iterable-helpers/to-sync-iterable.js +6 -27
  645. package/utils/async-iterable-helpers/types.js +1 -16
  646. package/utils/async-iterable-helpers/while.js +25 -46
  647. package/utils/async-iterator-iterable-iterator.js +41 -62
  648. package/utils/backoff.js +109 -109
  649. package/utils/base64.js +153 -140
  650. package/utils/benchmark.js +114 -107
  651. package/utils/binary-search.js +70 -87
  652. package/utils/binary.js +50 -61
  653. package/utils/clone.js +43 -64
  654. package/utils/comparison.js +76 -98
  655. package/utils/compression.js +107 -118
  656. package/utils/config-parser.js +21 -48
  657. package/utils/crc32.js +20 -42
  658. package/utils/cryptography.js +163 -121
  659. package/utils/date-time.js +102 -138
  660. package/utils/encoding.js +62 -60
  661. package/utils/enum.js +27 -53
  662. package/utils/equals.js +103 -119
  663. package/utils/event-loop.js +19 -39
  664. package/utils/factory-map.js +53 -75
  665. package/utils/feedable-async-iterable.js +47 -70
  666. package/utils/file-reader.js +15 -41
  667. package/utils/format-error.js +36 -57
  668. package/utils/format.js +32 -53
  669. package/utils/function/index.js +2 -19
  670. package/utils/function/memoize.js +38 -53
  671. package/utils/function/throttle.js +26 -48
  672. package/utils/helpers.js +93 -102
  673. package/utils/image.js +62 -88
  674. package/utils/index.js +47 -64
  675. package/utils/iterable-helpers/all.js +8 -31
  676. package/utils/iterable-helpers/any.js +8 -31
  677. package/utils/iterable-helpers/assert.js +7 -30
  678. package/utils/iterable-helpers/batch.js +11 -34
  679. package/utils/iterable-helpers/concat.js +4 -27
  680. package/utils/iterable-helpers/default-if-empty.js +9 -32
  681. package/utils/iterable-helpers/deferred.js +2 -25
  682. package/utils/iterable-helpers/difference.js +21 -45
  683. package/utils/iterable-helpers/distinct.js +9 -32
  684. package/utils/iterable-helpers/drain.js +4 -26
  685. package/utils/iterable-helpers/filter.js +7 -30
  686. package/utils/iterable-helpers/first-or-default.js +8 -30
  687. package/utils/iterable-helpers/first.js +8 -30
  688. package/utils/iterable-helpers/for-each.js +5 -28
  689. package/utils/iterable-helpers/group-single.js +3 -26
  690. package/utils/iterable-helpers/group-to-map.js +9 -32
  691. package/utils/iterable-helpers/group-to-single-map.js +10 -33
  692. package/utils/iterable-helpers/group.js +3 -26
  693. package/utils/iterable-helpers/includes.js +3 -26
  694. package/utils/iterable-helpers/index.js +39 -56
  695. package/utils/iterable-helpers/is-iterable.js +5 -29
  696. package/utils/iterable-helpers/last-or-default.js +13 -36
  697. package/utils/iterable-helpers/last.js +13 -36
  698. package/utils/iterable-helpers/map-many.js +6 -29
  699. package/utils/iterable-helpers/map.js +6 -29
  700. package/utils/iterable-helpers/materialize.js +2 -25
  701. package/utils/iterable-helpers/metadata.js +16 -38
  702. package/utils/iterable-helpers/pairwise.js +11 -33
  703. package/utils/iterable-helpers/range.js +4 -27
  704. package/utils/iterable-helpers/reduce.js +11 -33
  705. package/utils/iterable-helpers/single-or-default.js +14 -37
  706. package/utils/iterable-helpers/single.js +17 -40
  707. package/utils/iterable-helpers/skip.js +6 -29
  708. package/utils/iterable-helpers/sort.js +4 -27
  709. package/utils/iterable-helpers/take-until.js +8 -31
  710. package/utils/iterable-helpers/take-while.js +10 -33
  711. package/utils/iterable-helpers/take.js +10 -33
  712. package/utils/iterable-helpers/tap.js +6 -29
  713. package/utils/iterable-helpers/types.js +1 -16
  714. package/utils/iterable-helpers/while.js +8 -31
  715. package/utils/jwt.js +77 -100
  716. package/utils/map.js +35 -62
  717. package/utils/math.js +102 -64
  718. package/utils/merge.js +26 -45
  719. package/utils/middleware.js +36 -60
  720. package/utils/moving-metric.js +155 -188
  721. package/utils/noop.js +4 -27
  722. package/utils/object/decycle.js +57 -78
  723. package/utils/object/dereference.js +46 -44
  724. package/utils/object/forward-ref.js +59 -73
  725. package/utils/object/index.js +7 -24
  726. package/utils/object/lazy-property.js +81 -96
  727. package/utils/object/merge.js +48 -70
  728. package/utils/object/object.js +106 -136
  729. package/utils/object/property-name.js +69 -72
  730. package/utils/ordered-feedable-async-iterable.js +42 -65
  731. package/utils/patch-worker.js +69 -90
  732. package/utils/patterns.js +7 -29
  733. package/utils/periodic-reporter.js +60 -82
  734. package/utils/periodic-sampler.js +67 -91
  735. package/utils/provider-function-iterable.js +26 -48
  736. package/utils/proxy.js +17 -42
  737. package/utils/random.js +40 -50
  738. package/utils/reflection.js +13 -41
  739. package/utils/repl.js +14 -33
  740. package/utils/set.js +36 -62
  741. package/utils/singleton.js +18 -41
  742. package/utils/sort.js +53 -77
  743. package/utils/stream/finalize-stream.js +43 -62
  744. package/utils/stream/index.js +6 -23
  745. package/utils/stream/readable-stream-adapter.js +35 -57
  746. package/utils/stream/readable-stream-from-promise.js +7 -28
  747. package/utils/stream/size-limited-stream.js +12 -35
  748. package/utils/stream/stream-helper-types.js +1 -16
  749. package/utils/stream/stream-reader.js +30 -52
  750. package/utils/string/hypenate.js +2 -25
  751. package/utils/string/index.js +3 -20
  752. package/utils/string/title-case.js +6 -26
  753. package/utils/string/trim.js +9 -32
  754. package/utils/throw.js +7 -30
  755. package/utils/timer.js +70 -91
  756. package/utils/timing.js +52 -80
  757. package/utils/type-guards.js +253 -1076
  758. package/utils/type-of.js +25 -43
  759. package/utils/units.js +53 -124
  760. package/utils/url-builder.js +47 -68
  761. package/utils/value-or-provider.js +19 -44
  762. package/utils/z-base32.js +42 -63
  763. package/web-types.js +1 -16
  764. package/async-iterator-symbol.d.ts +0 -1
  765. package/async-iterator-symbol.js +0 -29
  766. package/mail/mail-log.repository.d.ts +0 -4
  767. package/mail/mail-log.repository.js +0 -26
  768. package/mail/repositories/mongo-mail-log.repository.js +0 -64
  769. package/notification/api.d.ts +0 -15
  770. package/notification/api.js +0 -56
  771. package/notification/models/index.d.ts +0 -2
  772. package/notification/models/index.js +0 -19
  773. package/notification/models/notification-channel-job.model.d.ts +0 -3
  774. package/notification/models/notification-channel-job.model.js +0 -16
  775. package/notification/models/notification.model.d.ts +0 -45
  776. package/notification/models/notification.model.js +0 -131
  777. package/notification/module.d.ts +0 -9
  778. package/notification/module.js +0 -30
  779. package/notification/notification-channel.service.d.ts +0 -5
  780. package/notification/notification-channel.service.js +0 -25
  781. package/notification/notification.repository.d.ts +0 -5
  782. package/notification/notification.repository.js +0 -25
  783. package/notification/notification.service.d.ts +0 -8
  784. package/notification/notification.service.js +0 -63
@@ -1,292 +1,272 @@
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 serializer_exports = {};
20
- __export(serializer_exports, {
21
- deserialize: () => deserialize,
22
- serialize: () => serialize,
23
- stringDeserialize: () => stringDeserialize,
24
- stringSerialize: () => stringSerialize
25
- });
26
- module.exports = __toCommonJS(serializer_exports);
27
- var import_circular_buffer = require("../data-structures/circular-buffer.js");
28
- var import_sorted_array_list = require("../data-structures/sorted-array-list.js");
29
- var import_comparison = require("../utils/comparison.js");
30
- var import_forward_ref = require("../utils/object/forward-ref.js");
31
- var import_object = require("../utils/object/object.js");
32
- var import_type_guards = require("../utils/type-guards.js");
33
- var import_serializable = require("./serializable.js");
34
- var import_types = require("./types.js");
35
- function stringSerialize(value, options) {
36
- const serialized2 = serialize(value, options);
37
- return JSON.stringify(serialized2);
1
+ /* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/ban-types, max-lines-per-function, max-statements, complexity */
2
+ import { CircularBuffer } from '../data-structures/circular-buffer.js';
3
+ import { SortedArrayList } from '../data-structures/sorted-array-list.js';
4
+ import { compareByValueSelection } from '../utils/comparison.js';
5
+ import { ForwardRef } from '../utils/object/forward-ref.js';
6
+ import { objectEntries } from '../utils/object/object.js';
7
+ import { isDefined, isUndefined } from '../utils/type-guards.js';
8
+ import { getSerializerByTypeName, getTypeNameByConstructor, isRawSerializable } from './serializable.js';
9
+ import { bigintNonPrimitiveType, functionNonPrimitiveType, globalSymbolNonPrimitiveType, rawNonPrimitiveType, refNonPrimitiveType, undefinedNonPrimitiveType } from './types.js';
10
+ export function stringSerialize(value, options) {
11
+ const serialized = serialize(value, options);
12
+ return JSON.stringify(serialized);
38
13
  }
39
- function stringDeserialize(serialized2, options) {
40
- const parsedStringSerialized = JSON.parse(serialized2);
41
- return deserialize(parsedStringSerialized, options);
14
+ export function stringDeserialize(serialized, options) {
15
+ const parsedStringSerialized = JSON.parse(serialized);
16
+ return deserialize(parsedStringSerialized, options);
42
17
  }
43
- function serialize(_value, options = {}, references = /* @__PURE__ */ new Map(), queue = new import_circular_buffer.CircularBuffer(), path2 = "$") {
44
- let value = _value;
45
- if ((0, import_type_guards.isDefined)(options.replacers)) {
46
- for (const replacer of options.replacers) {
47
- value = replacer(value);
18
+ export function serialize(_value, options = {}, references = new Map(), queue = new CircularBuffer(), path = '$') {
19
+ let value = _value;
20
+ if (isDefined(options.replacers)) {
21
+ for (const replacer of options.replacers) {
22
+ value = replacer(value);
23
+ }
24
+ }
25
+ const type = typeof value;
26
+ if (type == 'boolean' || type == 'number' || value === null) {
27
+ return value;
48
28
  }
49
- }
50
- const type2 = typeof value;
51
- if (type2 == "boolean" || type2 == "number" || value === null) {
52
- return value;
53
- }
54
- if (type2 == "undefined") {
55
- return { "<undefined>": null };
56
- }
57
- if (path2 == "$" && (0, import_type_guards.isDefined)(options.context)) {
58
- for (const entry of (0, import_object.objectEntries)(options.context)) {
59
- references.set(entry[1], `$['__context__']['${entry[0]}']`);
29
+ if (type == 'undefined') {
30
+ return { '<undefined>': null };
60
31
  }
61
- }
62
- const reference = references.get(value);
63
- if ((0, import_type_guards.isDefined)(reference)) {
64
- return { "<ref>": reference };
65
- }
66
- if (type2 == "string") {
67
- if (value.length > path2.length + 50) {
68
- references.set(value, path2);
32
+ if ((path == '$') && isDefined(options.context)) {
33
+ for (const entry of objectEntries(options.context)) {
34
+ references.set(entry[1], `$['__context__']['${entry[0]}']`);
35
+ }
69
36
  }
70
- return value;
71
- }
72
- if (type2 == "bigint") {
73
- const stringValue = value.toString(10);
74
- if (stringValue.length > path2.length + 50) {
75
- references.set(value, path2);
37
+ const reference = references.get(value);
38
+ if (isDefined(reference)) {
39
+ return { '<ref>': reference };
76
40
  }
77
- return { "<bigint>": stringValue };
78
- }
79
- if (type2 == "symbol") {
80
- const key = Symbol.keyFor(value);
81
- if (key === void 0) {
82
- throw new Error("only global symbols from Symbol.for(<key>) are supported");
41
+ if (type == 'string') {
42
+ if (value.length > (path.length + 50)) {
43
+ references.set(value, path);
44
+ }
45
+ return value;
83
46
  }
84
- return { "<global-symbol>": key };
85
- }
86
- if (type2 == "function") {
87
- if (options.allowUnsafe !== true) {
88
- throw new Error("functions are only allowed if allowUnsafe option is true");
47
+ if (type == 'bigint') {
48
+ const stringValue = value.toString(10);
49
+ if (stringValue.length > (path.length + 50)) {
50
+ references.set(value, path);
51
+ }
52
+ return { '<bigint>': stringValue };
89
53
  }
90
- references.set(value, path2);
91
- const source = value.toString();
92
- return { "<function>": source };
93
- }
94
- if (type2 == "object") {
95
- let result2;
96
- references.set(value, path2);
97
- const constructor2 = value.constructor;
98
- if (constructor2 == Array) {
99
- const target = [];
100
- target.length = value.length;
101
- const queueItems = value.map((innerValue, index) => () => target[index] = serialize(innerValue, options, references, queue, `${path2}[${index}]`));
102
- queue.addMany(queueItems);
103
- result2 = target;
104
- } else if (constructor2 == Object) {
105
- const target = {};
106
- const entries2 = (0, import_object.objectEntries)(value);
107
- const queueItems = entries2.map(([key, innerValue]) => () => target[key] = serialize(innerValue, options, references, queue, `${path2}['${key.toString()}']`));
108
- queue.addMany(queueItems);
109
- result2 = target;
110
- } else if ((0, import_serializable.isRawSerializable)(constructor2) || (0, import_type_guards.isDefined)(options.raws) && options.raws.includes(constructor2)) {
111
- references.set(value, path2);
112
- return { "<raw>": value };
113
- } else {
114
- const serializableType = (0, import_serializable.getTypeNameByConstructor)(constructor2);
115
- if ((0, import_type_guards.isUndefined)(serializableType)) {
116
- throw new Error(`constructor ${constructor2.name} has no serializer registered`);
117
- }
118
- const registration = (0, import_serializable.getSerializerByTypeName)(serializableType);
119
- const typeString = getTypeString(serializableType);
120
- const nonPrimitive = { [typeString]: null };
121
- queue.add(() => {
122
- const data = registration.serializer.call(value, value, options.data ?? {});
123
- nonPrimitive[typeString] = registration.serializeData != false ? serialize(data, options, references, queue, `${path2}['${typeString}']`) : data;
124
- });
125
- result2 = nonPrimitive;
54
+ if (type == 'symbol') {
55
+ const key = Symbol.keyFor(value);
56
+ if (key === undefined) {
57
+ throw new Error('only global symbols from Symbol.for(<key>) are supported');
58
+ }
59
+ return { '<global-symbol>': key };
126
60
  }
127
- if (path2 == "$") {
128
- for (const fn2 of queue.consume()) {
129
- fn2();
130
- }
61
+ if (type == 'function') {
62
+ if (options.allowUnsafe !== true) {
63
+ throw new Error('functions are only allowed if allowUnsafe option is true');
64
+ }
65
+ references.set(value, path);
66
+ const source = value.toString();
67
+ return { '<function>': source };
68
+ }
69
+ if (type == 'object') { // eslint-disable-line @typescript-eslint/no-unnecessary-condition
70
+ let result;
71
+ references.set(value, path);
72
+ const constructor = value.constructor;
73
+ if (constructor == Array) {
74
+ const target = [];
75
+ target.length = value.length;
76
+ const queueItems = value.map((innerValue, index) => () => (target[index] = serialize(innerValue, options, references, queue, `${path}[${index}]`)));
77
+ queue.addMany(queueItems);
78
+ result = target;
79
+ }
80
+ else if (constructor == Object) {
81
+ const target = {};
82
+ const entries = objectEntries(value);
83
+ const queueItems = entries.map(([key, innerValue]) => () => (target[key] = serialize(innerValue, options, references, queue, `${path}['${key.toString()}']`)));
84
+ queue.addMany(queueItems);
85
+ result = target;
86
+ }
87
+ else if (isRawSerializable(constructor) || (isDefined(options.raws) && options.raws.includes(constructor))) {
88
+ references.set(value, path);
89
+ return { '<raw>': value };
90
+ }
91
+ else {
92
+ const serializableType = getTypeNameByConstructor(constructor);
93
+ if (isUndefined(serializableType)) {
94
+ throw new Error(`constructor ${constructor.name} has no serializer registered`);
95
+ }
96
+ const registration = getSerializerByTypeName(serializableType);
97
+ const typeString = getTypeString(serializableType);
98
+ const nonPrimitive = { [typeString]: null };
99
+ queue.add(() => {
100
+ const data = registration.serializer.call(value, value, options.data ?? {});
101
+ (nonPrimitive[typeString] = (registration.serializeData != false) ? serialize(data, options, references, queue, `${path}['${typeString}']`) : data);
102
+ });
103
+ result = nonPrimitive;
104
+ }
105
+ if (path == '$') {
106
+ for (const fn of queue.consume()) {
107
+ fn();
108
+ }
109
+ }
110
+ return result;
131
111
  }
132
- return result2;
133
- }
134
- throw new Error(`Unsupported type '${type2}'.`);
112
+ throw new Error(`Unsupported type '${type}'.`);
135
113
  }
136
- function deserialize(serialized2, options) {
137
- const context2 = getDeserializeContext(serialized2, options);
138
- return _deserialize(serialized2, context2, "$", 0);
114
+ export function deserialize(serialized, options) {
115
+ const context = getDeserializeContext(serialized, options);
116
+ return _deserialize(serialized, context, '$', 0);
139
117
  }
140
118
  function _deserialize(serialized, context, path, depth) {
141
- const type = typeof serialized;
142
- if (type == "number" || type == "boolean" || serialized === null) {
143
- return serialized;
144
- }
145
- if (type == "string") {
146
- context.references.set(path, serialized);
147
- return serialized;
148
- }
149
- if (type == "undefined") {
150
- return { "<undefined>": null };
151
- }
152
- if (type == "object") {
153
- if (depth == 0 && (0, import_type_guards.isDefined)(context.options.context)) {
154
- for (const entry of (0, import_object.objectEntries)(context.options.context)) {
155
- context.references.set(`$['__context__']['${entry[0]}']`, entry[1]);
156
- }
119
+ const type = typeof serialized;
120
+ if ((type == 'number') || (type == 'boolean') || (serialized === null)) {
121
+ return serialized;
157
122
  }
158
- const entries = (0, import_object.objectEntries)(serialized);
159
- const isNonPrimitive = entries.length == 1 && entries[0][0].startsWith("<") && entries[0][0].endsWith(">");
160
- if (isNonPrimitive) {
161
- const nonPrimitiveData = entries[0][1];
162
- const nonPrimitiveType = entries[0][0].slice(1, -1);
163
- switch (nonPrimitiveType) {
164
- case import_types.undefinedNonPrimitiveType: {
165
- return void 0;
166
- }
167
- case import_types.bigintNonPrimitiveType: {
168
- const bigint = BigInt(nonPrimitiveData);
169
- context.references.set(path, bigint);
170
- return bigint;
123
+ if (type == 'string') {
124
+ context.references.set(path, serialized);
125
+ return serialized;
126
+ }
127
+ if (type == 'undefined') {
128
+ return { '<undefined>': null };
129
+ }
130
+ if (type == 'object') {
131
+ if ((depth == 0) && isDefined(context.options.context)) {
132
+ for (const entry of objectEntries(context.options.context)) {
133
+ context.references.set(`$['__context__']['${entry[0]}']`, entry[1]);
134
+ }
171
135
  }
172
- case import_types.globalSymbolNonPrimitiveType: {
173
- const symbol = Symbol.for(nonPrimitiveData);
174
- context.references.set(path, symbol);
175
- return symbol;
136
+ const entries = objectEntries(serialized);
137
+ const isNonPrimitive = (entries.length == 1) && entries[0][0].startsWith('<') && entries[0][0].endsWith('>');
138
+ if (isNonPrimitive) {
139
+ const nonPrimitiveData = entries[0][1];
140
+ const nonPrimitiveType = entries[0][0].slice(1, -1);
141
+ switch (nonPrimitiveType) {
142
+ case undefinedNonPrimitiveType: {
143
+ return undefined;
144
+ }
145
+ case bigintNonPrimitiveType: {
146
+ const bigint = BigInt(nonPrimitiveData);
147
+ context.references.set(path, bigint);
148
+ return bigint;
149
+ }
150
+ case globalSymbolNonPrimitiveType: {
151
+ const symbol = Symbol.for(nonPrimitiveData);
152
+ context.references.set(path, symbol);
153
+ return symbol;
154
+ }
155
+ case functionNonPrimitiveType: {
156
+ if (context.options.allowUnsafe !== true) {
157
+ throw new Error('functions are only allowed if allowUnsafe option is true');
158
+ }
159
+ const fn = eval(nonPrimitiveData); // eslint-disable-line no-eval
160
+ context.references.set(path, fn);
161
+ return fn;
162
+ }
163
+ case rawNonPrimitiveType: {
164
+ return nonPrimitiveData;
165
+ }
166
+ case refNonPrimitiveType: {
167
+ const dereferenced = context.references.get(nonPrimitiveData);
168
+ if (dereferenced == undefined) {
169
+ throw new Error(`reference ${nonPrimitiveData} not found`);
170
+ }
171
+ return dereferenced;
172
+ }
173
+ default: {
174
+ const registration = getSerializerByTypeName(nonPrimitiveType);
175
+ if (registration == undefined) {
176
+ throw new Error(`non-primitive type ${nonPrimitiveType} not registered`);
177
+ }
178
+ const forwardRef = ForwardRef.create();
179
+ context.references.set(path, forwardRef);
180
+ context.addToDeserializeQueue(() => {
181
+ const deserializedData = _deserialize(nonPrimitiveData, context, `${path}['<${nonPrimitiveType}>']`, depth + 1);
182
+ context.addToDeserializeQueue(() => {
183
+ const deserialized = registration.deserializer(deserializedData, context.tryAddToDerefQueue, context.options.data ?? {});
184
+ ForwardRef.setRef(forwardRef, deserialized);
185
+ }, depth);
186
+ }, depth);
187
+ if (depth == 0) {
188
+ drainQueues(context);
189
+ return ForwardRef.deref(forwardRef);
190
+ }
191
+ return forwardRef;
192
+ }
193
+ }
176
194
  }
177
- case import_types.functionNonPrimitiveType: {
178
- if (context.options.allowUnsafe !== true) {
179
- throw new Error("functions are only allowed if allowUnsafe option is true");
180
- }
181
- const fn = eval(nonPrimitiveData);
182
- context.references.set(path, fn);
183
- return fn;
195
+ let result;
196
+ const constructor = serialized.constructor;
197
+ if (constructor == Array) {
198
+ const deserializedArray = [];
199
+ deserializedArray.length = serialized.length;
200
+ context.references.set(path, deserializedArray);
201
+ const queueItems = serialized.map((innerValue, index) => () => {
202
+ const deserialized = _deserialize(innerValue, context, `${path}[${index}]`, depth + 1);
203
+ deserializedArray[index] = deserialized;
204
+ context.tryAddToDerefQueue(deserialized, (dereferenced) => (deserializedArray[index] = dereferenced));
205
+ return deserialized;
206
+ });
207
+ context.addManyToDeserializeQueue(queueItems, depth);
208
+ result = deserializedArray;
184
209
  }
185
- case import_types.rawNonPrimitiveType: {
186
- return nonPrimitiveData;
210
+ else if (constructor == Object) {
211
+ const deserializedObject = {};
212
+ context.references.set(path, deserializedObject);
213
+ const queueItems = entries.map(([key, innerValue]) => () => {
214
+ const deserialized = _deserialize(innerValue, context, `${path}['${key}']`, depth + 1);
215
+ deserializedObject[key] = deserialized;
216
+ context.tryAddToDerefQueue(deserialized, (dereferenced) => (deserializedObject[key] = dereferenced));
217
+ return deserialized;
218
+ });
219
+ context.addManyToDeserializeQueue(queueItems, depth);
220
+ result = deserializedObject;
187
221
  }
188
- case import_types.refNonPrimitiveType: {
189
- const dereferenced = context.references.get(nonPrimitiveData);
190
- if (dereferenced == void 0) {
191
- throw new Error(`reference ${nonPrimitiveData} not found`);
192
- }
193
- return dereferenced;
222
+ else {
223
+ throw new Error(`Unsupported constructor ${constructor.name}.`);
194
224
  }
195
- default: {
196
- const registration = (0, import_serializable.getSerializerByTypeName)(nonPrimitiveType);
197
- if (registration == void 0) {
198
- throw new Error(`non-primitive type ${nonPrimitiveType} not registered`);
199
- }
200
- const forwardRef = import_forward_ref.ForwardRef.create();
201
- context.references.set(path, forwardRef);
202
- context.addToDeserializeQueue(() => {
203
- const deserializedData = _deserialize(nonPrimitiveData, context, `${path}['<${nonPrimitiveType}>']`, depth + 1);
204
- context.addToDeserializeQueue(() => {
205
- const deserialized = registration.deserializer(deserializedData, context.tryAddToDerefQueue, context.options.data ?? {});
206
- import_forward_ref.ForwardRef.setRef(forwardRef, deserialized);
207
- }, depth);
208
- }, depth);
209
- if (depth == 0) {
225
+ if (depth == 0) {
210
226
  drainQueues(context);
211
- return import_forward_ref.ForwardRef.deref(forwardRef);
212
- }
213
- return forwardRef;
214
227
  }
215
- }
216
- }
217
- let result;
218
- const constructor = serialized.constructor;
219
- if (constructor == Array) {
220
- const deserializedArray = [];
221
- deserializedArray.length = serialized.length;
222
- context.references.set(path, deserializedArray);
223
- const queueItems = serialized.map((innerValue, index) => () => {
224
- const deserialized = _deserialize(innerValue, context, `${path}[${index}]`, depth + 1);
225
- deserializedArray[index] = deserialized;
226
- context.tryAddToDerefQueue(deserialized, (dereferenced) => deserializedArray[index] = dereferenced);
227
- return deserialized;
228
- });
229
- context.addManyToDeserializeQueue(queueItems, depth);
230
- result = deserializedArray;
231
- } else if (constructor == Object) {
232
- const deserializedObject = {};
233
- context.references.set(path, deserializedObject);
234
- const queueItems = entries.map(([key, innerValue]) => () => {
235
- const deserialized = _deserialize(innerValue, context, `${path}['${key}']`, depth + 1);
236
- deserializedObject[key] = deserialized;
237
- context.tryAddToDerefQueue(deserialized, (dereferenced) => deserializedObject[key] = dereferenced);
238
- return deserialized;
239
- });
240
- context.addManyToDeserializeQueue(queueItems, depth);
241
- result = deserializedObject;
242
- } else {
243
- throw new Error(`Unsupported constructor ${constructor.name}.`);
228
+ return result;
244
229
  }
245
- if (depth == 0) {
246
- drainQueues(context);
247
- }
248
- return result;
249
- }
250
- throw new Error(`Unsupported type '${type}'.`);
230
+ throw new Error(`Unsupported type '${type}'.`);
251
231
  }
252
- function getTypeString(type2) {
253
- return `<${type2}>`;
232
+ function getTypeString(type) {
233
+ return `<${type}>`;
254
234
  }
255
235
  function getDeserializeContext(serializedRoot, options) {
256
- const context2 = {
257
- serializedRoot,
258
- options: options ?? {},
259
- references: /* @__PURE__ */ new Map(),
260
- deserializeCounter: 0,
261
- deserializeQueue: new import_sorted_array_list.SortedArrayList(void 0, (0, import_comparison.compareByValueSelection)((item) => item.depth, (item) => item.counter)),
262
- derefQueue: new import_circular_buffer.CircularBuffer(),
263
- addToDeserializeQueue(fn2, depth2) {
264
- context2.deserializeQueue.add({ depth: depth2, counter: context2.deserializeCounter++, fn: fn2 });
265
- },
266
- addManyToDeserializeQueue(fns, depth2) {
267
- for (const fn2 of fns) {
268
- context2.deserializeQueue.add({ depth: depth2, counter: context2.deserializeCounter++, fn: fn2 });
269
- }
270
- },
271
- tryAddToDerefQueue(value, callback) {
272
- if (!import_forward_ref.ForwardRef.isForwardRef(value) || context2.options.doNotDereferenceForwardRefs == true) {
273
- return false;
274
- }
275
- context2.derefQueue.add(() => {
276
- const dereferenced = import_forward_ref.ForwardRef.deref(value);
277
- callback(dereferenced);
278
- });
279
- return true;
280
- }
281
- };
282
- return context2;
236
+ const context = {
237
+ serializedRoot,
238
+ options: options ?? {},
239
+ references: new Map(),
240
+ deserializeCounter: 0,
241
+ deserializeQueue: new SortedArrayList(undefined, compareByValueSelection((item) => item.depth, (item) => item.counter)),
242
+ derefQueue: new CircularBuffer(),
243
+ addToDeserializeQueue(fn, depth) {
244
+ context.deserializeQueue.add({ depth, counter: context.deserializeCounter++, fn });
245
+ },
246
+ addManyToDeserializeQueue(fns, depth) {
247
+ for (const fn of fns) {
248
+ context.deserializeQueue.add({ depth, counter: context.deserializeCounter++, fn });
249
+ }
250
+ },
251
+ tryAddToDerefQueue(value, callback) {
252
+ if (!ForwardRef.isForwardRef(value) || (context.options.doNotDereferenceForwardRefs == true)) {
253
+ return false;
254
+ }
255
+ context.derefQueue.add(() => {
256
+ const dereferenced = ForwardRef.deref(value);
257
+ callback(dereferenced);
258
+ });
259
+ return true;
260
+ }
261
+ };
262
+ return context;
283
263
  }
284
264
  function drainQueues({ deserializeQueue, derefQueue }) {
285
- while (deserializeQueue.size > 0) {
286
- const item = deserializeQueue.removeLast();
287
- item.fn();
288
- }
289
- for (const fn2 of derefQueue.consume()) {
290
- fn2();
291
- }
265
+ while (deserializeQueue.size > 0) {
266
+ const item = deserializeQueue.removeLast();
267
+ item.fn();
268
+ }
269
+ for (const fn of derefQueue.consume()) {
270
+ fn();
271
+ }
292
272
  }
@@ -1,34 +1,6 @@
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 types_exports = {};
20
- __export(types_exports, {
21
- bigintNonPrimitiveType: () => bigintNonPrimitiveType,
22
- functionNonPrimitiveType: () => functionNonPrimitiveType,
23
- globalSymbolNonPrimitiveType: () => globalSymbolNonPrimitiveType,
24
- rawNonPrimitiveType: () => rawNonPrimitiveType,
25
- refNonPrimitiveType: () => refNonPrimitiveType,
26
- undefinedNonPrimitiveType: () => undefinedNonPrimitiveType
27
- });
28
- module.exports = __toCommonJS(types_exports);
29
- const rawNonPrimitiveType = "raw";
30
- const undefinedNonPrimitiveType = "undefined";
31
- const bigintNonPrimitiveType = "bigint";
32
- const globalSymbolNonPrimitiveType = "global-symbol";
33
- const functionNonPrimitiveType = "function";
34
- const refNonPrimitiveType = "ref";
1
+ export const rawNonPrimitiveType = 'raw';
2
+ export const undefinedNonPrimitiveType = 'undefined';
3
+ export const bigintNonPrimitiveType = 'bigint';
4
+ export const globalSymbolNonPrimitiveType = 'global-symbol';
5
+ export const functionNonPrimitiveType = 'function';
6
+ export const refNonPrimitiveType = 'ref';
package/signals/api.js CHANGED
@@ -1,49 +1,21 @@
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 api_exports = {};
20
- __export(api_exports, {
21
- computed: () => computed,
22
- configureSignals: () => configureSignals,
23
- effect: () => effect,
24
- isSignal: () => isSignal,
25
- signal: () => signal,
26
- toObservable: () => toObservable,
27
- toSignal: () => toSignal,
28
- untracked: () => untracked
29
- });
30
- module.exports = __toCommonJS(api_exports);
31
- let signal = throwSignalsNotConfigured;
32
- let computed = throwSignalsNotConfigured;
33
- let effect = throwSignalsNotConfigured;
34
- let untracked = throwSignalsNotConfigured;
35
- let isSignal = throwSignalsNotConfigured;
36
- let toSignal = throwSignalsNotConfigured;
37
- let toObservable = throwSignalsNotConfigured;
38
- function configureSignals(configuration) {
39
- signal = configuration.signal;
40
- computed = configuration.computed;
41
- effect = configuration.effect;
42
- untracked = configuration.untracked;
43
- isSignal = configuration.isSignal;
44
- toSignal = configuration.toSignal;
45
- toObservable = configuration.toObservable;
1
+ /* eslint-disable import/no-mutable-exports */
2
+ export let signal = throwSignalsNotConfigured;
3
+ export let computed = throwSignalsNotConfigured;
4
+ export let effect = throwSignalsNotConfigured;
5
+ export let untracked = throwSignalsNotConfigured;
6
+ export let isSignal = throwSignalsNotConfigured;
7
+ export let toSignal = throwSignalsNotConfigured;
8
+ export let toObservable = throwSignalsNotConfigured;
9
+ /* eslint-enable import/no-mutable-exports */
10
+ export function configureSignals(configuration) {
11
+ signal = configuration.signal;
12
+ computed = configuration.computed;
13
+ effect = configuration.effect;
14
+ untracked = configuration.untracked;
15
+ isSignal = configuration.isSignal;
16
+ toSignal = configuration.toSignal;
17
+ toObservable = configuration.toObservable;
46
18
  }
47
19
  function throwSignalsNotConfigured() {
48
- throw new Error("Signals are not configured. Use configureDefaultSignalsImplementation() for default implementation or configureSignals() for custom implementation.");
20
+ throw new Error('Signals are not configured. Use configureDefaultSignalsImplementation() for default implementation or configureSignals() for custom implementation.');
49
21
  }