@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,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,46 +1,18 @@
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;
32
- let computed;
33
- let effect;
34
- let untracked;
35
- let isSignal;
36
- let toSignal;
37
- let toObservable;
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;
3
+ export let computed;
4
+ export let effect;
5
+ export let untracked;
6
+ export let isSignal;
7
+ export let toSignal;
8
+ export let toObservable;
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
  }