@tstdl/base 0.85.13 → 0.86.0-beta1

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 (724) 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 +11 -11
  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.d.ts +1 -0
  499. package/signals/index.js +7 -23
  500. package/signals/pipe.js +7 -31
  501. package/signals/switch-map.js +4 -27
  502. package/signals/types.js +1 -16
  503. package/signals/untracked-operator.d.ts +3 -0
  504. package/signals/untracked-operator.js +12 -0
  505. package/sse/index.js +2 -19
  506. package/sse/model.js +1 -16
  507. package/sse/server-sent-events-source.js +54 -76
  508. package/sse/server-sent-events.js +48 -72
  509. package/supports.js +5 -32
  510. package/templates/index.js +9 -26
  511. package/templates/module.js +37 -58
  512. package/templates/providers/file.template-provider.js +39 -81
  513. package/templates/providers/memory.template-provider.js +27 -55
  514. package/templates/renderers/handlebars.template-renderer.js +84 -122
  515. package/templates/renderers/jsx.template-renderer.js +28 -56
  516. package/templates/renderers/mjml.template-renderer.js +42 -82
  517. package/templates/renderers/string.template-renderer.js +24 -52
  518. package/templates/resolvers/file.template-resolver.js +45 -89
  519. package/templates/resolvers/jsx.template-resolver.js +29 -59
  520. package/templates/resolvers/string.template-resolver.js +29 -59
  521. package/templates/template-renderer.provider.js +36 -66
  522. package/templates/template-resolver.provider.js +36 -66
  523. package/templates/template.model.js +39 -69
  524. package/templates/template.provider.js +1 -24
  525. package/templates/template.renderer.js +11 -34
  526. package/templates/template.resolver.js +1 -24
  527. package/templates/template.service.js +49 -82
  528. package/templates/tokens.js +3 -27
  529. package/templates/types/jsx.intrinsic-elements.js +1 -16
  530. package/text/dynamic-text.model.js +41 -70
  531. package/text/index.js +3 -20
  532. package/text/localizable-text.model.js +1 -16
  533. package/text/localization.service.js +196 -229
  534. package/theme/adapters/css-adapter.js +23 -46
  535. package/theme/adapters/tailwind-adapter.js +29 -52
  536. package/theme/index.js +1 -18
  537. package/theme/theme-service.js +107 -146
  538. package/threading/index.js +2 -19
  539. package/threading/thread-pool.js +48 -70
  540. package/threading/thread-worker.js +3 -26
  541. package/tokens.js +2 -25
  542. package/types/geo-json.js +1 -16
  543. package/types.js +2 -16
  544. package/utils/alphabet.js +12 -35
  545. package/utils/any-iterable-iterator.js +4 -27
  546. package/utils/array/array-backtracker.js +42 -65
  547. package/utils/array/array.js +76 -79
  548. package/utils/array/index.js +2 -19
  549. package/utils/async-iterable-helpers/all.js +25 -46
  550. package/utils/async-iterable-helpers/any.js +25 -46
  551. package/utils/async-iterable-helpers/assert.js +22 -43
  552. package/utils/async-iterable-helpers/batch.js +26 -46
  553. package/utils/async-iterable-helpers/buffer.js +47 -64
  554. package/utils/async-iterable-helpers/concat.js +5 -27
  555. package/utils/async-iterable-helpers/default-if-empty.js +9 -32
  556. package/utils/async-iterable-helpers/deferred.js +3 -26
  557. package/utils/async-iterable-helpers/difference.js +24 -48
  558. package/utils/async-iterable-helpers/distinct.js +23 -44
  559. package/utils/async-iterable-helpers/drain.js +4 -26
  560. package/utils/async-iterable-helpers/filter.js +23 -44
  561. package/utils/async-iterable-helpers/first-or-default.js +8 -30
  562. package/utils/async-iterable-helpers/first.js +8 -30
  563. package/utils/async-iterable-helpers/for-each.js +18 -38
  564. package/utils/async-iterable-helpers/group-single.js +3 -26
  565. package/utils/async-iterable-helpers/group-to-map.js +20 -41
  566. package/utils/async-iterable-helpers/group-to-single-map.js +23 -44
  567. package/utils/async-iterable-helpers/group.js +3 -26
  568. package/utils/async-iterable-helpers/includes.js +7 -28
  569. package/utils/async-iterable-helpers/index.js +48 -65
  570. package/utils/async-iterable-helpers/interrupt.js +19 -43
  571. package/utils/async-iterable-helpers/is-async-iterable.js +5 -29
  572. package/utils/async-iterable-helpers/last-or-default.js +13 -36
  573. package/utils/async-iterable-helpers/last.js +13 -36
  574. package/utils/async-iterable-helpers/map-many.js +19 -40
  575. package/utils/async-iterable-helpers/map.js +19 -40
  576. package/utils/async-iterable-helpers/materialize.js +21 -42
  577. package/utils/async-iterable-helpers/metadata.js +38 -58
  578. package/utils/async-iterable-helpers/multiplex.js +23 -44
  579. package/utils/async-iterable-helpers/observable-iterable.js +31 -53
  580. package/utils/async-iterable-helpers/pairwise.js +26 -44
  581. package/utils/async-iterable-helpers/parallel/feed.js +24 -45
  582. package/utils/async-iterable-helpers/parallel/filter.js +8 -31
  583. package/utils/async-iterable-helpers/parallel/for-each.js +21 -44
  584. package/utils/async-iterable-helpers/parallel/group.js +9 -32
  585. package/utils/async-iterable-helpers/parallel/index.js +7 -24
  586. package/utils/async-iterable-helpers/parallel/map.js +6 -29
  587. package/utils/async-iterable-helpers/parallel/tap.js +6 -29
  588. package/utils/async-iterable-helpers/parallel/types.js +1 -16
  589. package/utils/async-iterable-helpers/reduce.js +31 -46
  590. package/utils/async-iterable-helpers/retry.js +43 -58
  591. package/utils/async-iterable-helpers/single-or-default.js +17 -40
  592. package/utils/async-iterable-helpers/single.js +19 -42
  593. package/utils/async-iterable-helpers/skip.js +3 -26
  594. package/utils/async-iterable-helpers/sort.js +6 -29
  595. package/utils/async-iterable-helpers/take-until.js +32 -49
  596. package/utils/async-iterable-helpers/take-while.js +29 -46
  597. package/utils/async-iterable-helpers/take.js +10 -33
  598. package/utils/async-iterable-helpers/tap.js +19 -40
  599. package/utils/async-iterable-helpers/throttle.js +9 -30
  600. package/utils/async-iterable-helpers/to-array.js +10 -33
  601. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +40 -59
  602. package/utils/async-iterable-helpers/to-async-iterator.js +32 -54
  603. package/utils/async-iterable-helpers/to-set.js +10 -33
  604. package/utils/async-iterable-helpers/to-sync-iterable.js +6 -27
  605. package/utils/async-iterable-helpers/types.js +1 -16
  606. package/utils/async-iterable-helpers/while.js +25 -46
  607. package/utils/async-iterator-iterable-iterator.js +41 -62
  608. package/utils/backoff.js +109 -109
  609. package/utils/base64.js +153 -140
  610. package/utils/benchmark.js +114 -107
  611. package/utils/binary-search.js +70 -87
  612. package/utils/binary.js +50 -61
  613. package/utils/cancellation-token.js +120 -140
  614. package/utils/clone.js +43 -64
  615. package/utils/comparison.js +76 -98
  616. package/utils/compression.js +107 -118
  617. package/utils/config-parser.js +21 -48
  618. package/utils/crc32.js +20 -42
  619. package/utils/cryptography.js +163 -121
  620. package/utils/date-time.js +102 -138
  621. package/utils/encoding.js +62 -60
  622. package/utils/enum.js +27 -53
  623. package/utils/equals.js +103 -119
  624. package/utils/event-loop.js +19 -39
  625. package/utils/factory-map.js +53 -75
  626. package/utils/feedable-async-iterable.js +47 -70
  627. package/utils/file-reader.js +15 -41
  628. package/utils/format-error.js +36 -57
  629. package/utils/format.js +32 -53
  630. package/utils/function/index.js +2 -19
  631. package/utils/function/memoize.js +38 -53
  632. package/utils/function/throttle.js +26 -48
  633. package/utils/helpers.js +93 -102
  634. package/utils/image.js +62 -88
  635. package/utils/index.js +48 -65
  636. package/utils/iterable-helpers/all.js +8 -31
  637. package/utils/iterable-helpers/any.js +8 -31
  638. package/utils/iterable-helpers/assert.js +7 -30
  639. package/utils/iterable-helpers/batch.js +11 -34
  640. package/utils/iterable-helpers/concat.js +4 -27
  641. package/utils/iterable-helpers/default-if-empty.js +9 -32
  642. package/utils/iterable-helpers/deferred.js +2 -25
  643. package/utils/iterable-helpers/difference.js +21 -45
  644. package/utils/iterable-helpers/distinct.js +9 -32
  645. package/utils/iterable-helpers/drain.js +4 -26
  646. package/utils/iterable-helpers/filter.js +7 -30
  647. package/utils/iterable-helpers/first-or-default.js +8 -30
  648. package/utils/iterable-helpers/first.js +8 -30
  649. package/utils/iterable-helpers/for-each.js +5 -28
  650. package/utils/iterable-helpers/group-single.js +3 -26
  651. package/utils/iterable-helpers/group-to-map.js +9 -32
  652. package/utils/iterable-helpers/group-to-single-map.js +10 -33
  653. package/utils/iterable-helpers/group.js +3 -26
  654. package/utils/iterable-helpers/includes.js +3 -26
  655. package/utils/iterable-helpers/index.js +39 -56
  656. package/utils/iterable-helpers/is-iterable.js +5 -29
  657. package/utils/iterable-helpers/last-or-default.js +13 -36
  658. package/utils/iterable-helpers/last.js +13 -36
  659. package/utils/iterable-helpers/map-many.js +6 -29
  660. package/utils/iterable-helpers/map.js +6 -29
  661. package/utils/iterable-helpers/materialize.js +2 -25
  662. package/utils/iterable-helpers/metadata.js +16 -38
  663. package/utils/iterable-helpers/pairwise.js +11 -33
  664. package/utils/iterable-helpers/range.js +4 -27
  665. package/utils/iterable-helpers/reduce.js +11 -33
  666. package/utils/iterable-helpers/single-or-default.js +14 -37
  667. package/utils/iterable-helpers/single.js +17 -40
  668. package/utils/iterable-helpers/skip.js +6 -29
  669. package/utils/iterable-helpers/sort.js +4 -27
  670. package/utils/iterable-helpers/take-until.js +8 -31
  671. package/utils/iterable-helpers/take-while.js +10 -33
  672. package/utils/iterable-helpers/take.js +10 -33
  673. package/utils/iterable-helpers/tap.js +6 -29
  674. package/utils/iterable-helpers/types.js +1 -16
  675. package/utils/iterable-helpers/while.js +8 -31
  676. package/utils/jwt.js +77 -100
  677. package/utils/map.js +35 -62
  678. package/utils/math.js +102 -64
  679. package/utils/merge.js +26 -45
  680. package/utils/middleware.js +36 -60
  681. package/utils/moving-metric.js +155 -188
  682. package/utils/noop.js +4 -27
  683. package/utils/object/decycle.js +57 -78
  684. package/utils/object/dereference.js +46 -44
  685. package/utils/object/forward-ref.js +57 -73
  686. package/utils/object/index.js +7 -24
  687. package/utils/object/lazy-property.js +81 -96
  688. package/utils/object/merge.js +48 -70
  689. package/utils/object/object.js +106 -136
  690. package/utils/object/property-name.js +69 -72
  691. package/utils/ordered-feedable-async-iterable.js +42 -65
  692. package/utils/patch-worker.js +69 -90
  693. package/utils/patterns.js +7 -29
  694. package/utils/periodic-reporter.js +60 -82
  695. package/utils/periodic-sampler.js +67 -91
  696. package/utils/provider-function-iterable.js +26 -48
  697. package/utils/proxy.js +17 -42
  698. package/utils/random.js +40 -50
  699. package/utils/reflection.js +13 -41
  700. package/utils/repl.js +14 -33
  701. package/utils/set.js +36 -62
  702. package/utils/singleton.js +18 -41
  703. package/utils/sort.js +53 -77
  704. package/utils/stream/finalize-stream.js +43 -62
  705. package/utils/stream/index.js +6 -23
  706. package/utils/stream/readable-stream-adapter.js +35 -57
  707. package/utils/stream/readable-stream-from-promise.js +7 -28
  708. package/utils/stream/size-limited-stream.js +12 -35
  709. package/utils/stream/stream-helper-types.js +1 -16
  710. package/utils/stream/stream-reader.js +30 -52
  711. package/utils/string/hypenate.js +2 -25
  712. package/utils/string/index.js +3 -20
  713. package/utils/string/title-case.js +6 -26
  714. package/utils/string/trim.js +9 -32
  715. package/utils/throw.js +7 -30
  716. package/utils/timer.js +70 -91
  717. package/utils/timing.js +52 -80
  718. package/utils/type-guards.js +253 -1076
  719. package/utils/type-of.js +25 -43
  720. package/utils/units.js +53 -124
  721. package/utils/url-builder.js +47 -68
  722. package/utils/value-or-provider.js +6 -29
  723. package/utils/z-base32.js +42 -63
  724. package/web-types.js +1 -16
@@ -1,101 +1,84 @@
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 binary_search_exports = {};
20
- __export(binary_search_exports, {
21
- binarySearch: () => binarySearch,
22
- binarySearchFirst: () => binarySearchFirst,
23
- binarySearchFirstIndexEqualOrLarger: () => binarySearchFirstIndexEqualOrLarger,
24
- binarySearchInsertionIndex: () => binarySearchInsertionIndex,
25
- binarySearchLast: () => binarySearchLast,
26
- binarySearchLastIndexEqualOrSmaller: () => binarySearchLastIndexEqualOrSmaller,
27
- binarySearchNearestIndex: () => binarySearchNearestIndex
28
- });
29
- module.exports = __toCommonJS(binary_search_exports);
30
- var import_comparison = require("./comparison.js");
1
+ import { compareByValue } from './comparison.js';
31
2
  var Position;
32
- (function(Position2) {
33
- Position2[Position2["Undefined"] = 0] = "Undefined";
34
- Position2[Position2["First"] = 1] = "First";
35
- Position2[Position2["Last"] = 2] = "Last";
3
+ (function (Position) {
4
+ Position[Position["Undefined"] = 0] = "Undefined";
5
+ Position[Position["First"] = 1] = "First";
6
+ Position[Position["Last"] = 2] = "Last";
36
7
  })(Position || (Position = {}));
37
- function binarySearch(values, searchValue, comparator = import_comparison.compareByValue, options) {
38
- return _binarySearch(values, searchValue, Position.Undefined, comparator, options);
8
+ export function binarySearch(values, searchValue, comparator = compareByValue, options) {
9
+ return _binarySearch(values, searchValue, Position.Undefined, comparator, options);
39
10
  }
40
- function binarySearchFirst(values, searchValue, comparator = import_comparison.compareByValue, options) {
41
- return _binarySearch(values, searchValue, Position.First, comparator, options);
11
+ export function binarySearchFirst(values, searchValue, comparator = compareByValue, options) {
12
+ return _binarySearch(values, searchValue, Position.First, comparator, options);
42
13
  }
43
- function binarySearchLast(values, searchValue, comparator = import_comparison.compareByValue, options) {
44
- return _binarySearch(values, searchValue, Position.Last, comparator, options);
14
+ export function binarySearchLast(values, searchValue, comparator = compareByValue, options) {
15
+ return _binarySearch(values, searchValue, Position.Last, comparator, options);
45
16
  }
46
17
  function _binarySearch(values, searchValue, position, comparator, options) {
47
- const { index, comparison } = _binarySearchRawIndex(values, searchValue, position, comparator, options);
48
- return comparison == 0 ? index : void 0;
18
+ const { index, comparison } = _binarySearchRawIndex(values, searchValue, position, comparator, options);
19
+ return (comparison == 0)
20
+ ? index
21
+ : undefined;
49
22
  }
50
- function binarySearchNearestIndex(values, searchValue, comparator = import_comparison.compareByValue, options) {
51
- const { index } = _binarySearchRawIndex(values, searchValue, Position.Undefined, comparator, options);
52
- return index;
23
+ export function binarySearchNearestIndex(values, searchValue, comparator = compareByValue, options) {
24
+ const { index } = _binarySearchRawIndex(values, searchValue, Position.Undefined, comparator, options);
25
+ return index;
53
26
  }
54
- function binarySearchFirstIndexEqualOrLarger(values, searchValue, comparator = import_comparison.compareByValue, options) {
55
- const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.First, comparator, options);
56
- if (index == values.length - 1 && comparison < 0) {
57
- return void 0;
58
- }
59
- return index + (comparison < 0);
27
+ export function binarySearchFirstIndexEqualOrLarger(values, searchValue, comparator = compareByValue, options) {
28
+ const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.First, comparator, options);
29
+ if ((index == values.length - 1) && (comparison < 0)) {
30
+ return undefined;
31
+ }
32
+ return index + (comparison < 0);
60
33
  }
61
- function binarySearchLastIndexEqualOrSmaller(values, searchValue, comparator = import_comparison.compareByValue, options) {
62
- const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.Last, comparator, options);
63
- if (index == 0 && comparison > 0) {
64
- return void 0;
65
- }
66
- return comparison > 0 ? index - 1 : index;
34
+ export function binarySearchLastIndexEqualOrSmaller(values, searchValue, comparator = compareByValue, options) {
35
+ const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.Last, comparator, options);
36
+ if ((index == 0) && (comparison > 0)) {
37
+ return undefined;
38
+ }
39
+ return (comparison > 0) ? (index - 1) : index;
67
40
  }
68
- function binarySearchInsertionIndex(values, searchValue, comparator = import_comparison.compareByValue) {
69
- const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.Undefined, comparator);
70
- return index + Number(comparison <= 0);
41
+ export function binarySearchInsertionIndex(values, searchValue, comparator = compareByValue) {
42
+ const { index, comparison } = _binarySearchRawIndex(values, searchValue, Position.Undefined, comparator);
43
+ return index + Number(comparison <= 0);
71
44
  }
45
+ // eslint-disable-next-line max-statements, max-lines-per-function
72
46
  function _binarySearchRawIndex(values, searchValue, position, comparator, options) {
73
- let min = options?.min ?? 0;
74
- let max = options?.max ?? values.length - 1;
75
- let middle = 0;
76
- let value;
77
- let comparison;
78
- if (values.length == 0) {
79
- return { index: 0, comparison: 1 };
80
- }
81
- const positionComparator = position == Position.First ? () => min != middle : position == Position.Last ? () => max != middle : () => false;
82
- const positionSetter = position == Position.First ? () => max = middle : position == Position.Last ? () => min = middle : () => {
83
- throw new Error("must not happen");
84
- };
85
- const integer = position == Position.Last ? Math.ceil : Math.floor;
86
- while (min <= max) {
87
- middle = integer((min + max) / 2);
88
- value = values[middle];
89
- comparison = comparator(value, searchValue);
90
- if (comparison < 0) {
91
- min = middle + 1;
92
- } else if (comparison > 0) {
93
- max = middle - 1;
94
- } else if (positionComparator()) {
95
- positionSetter();
96
- } else if (comparison == 0) {
97
- break;
47
+ let min = options?.min ?? 0;
48
+ let max = options?.max ?? values.length - 1;
49
+ let middle = 0;
50
+ let value;
51
+ let comparison;
52
+ if (values.length == 0) {
53
+ return { index: 0, comparison: 1 };
54
+ }
55
+ const positionComparator = (position == Position.First)
56
+ ? () => (min != middle)
57
+ : (position == Position.Last)
58
+ ? () => (max != middle)
59
+ : () => false;
60
+ const positionSetter = (position == Position.First)
61
+ ? () => (max = middle)
62
+ : (position == Position.Last)
63
+ ? () => (min = middle)
64
+ : () => { throw new Error('must not happen'); };
65
+ const integer = (position == Position.Last) ? Math.ceil : Math.floor;
66
+ while (min <= max) {
67
+ middle = integer((min + max) / 2);
68
+ value = values[middle];
69
+ comparison = comparator(value, searchValue);
70
+ if (comparison < 0) {
71
+ min = middle + 1;
72
+ }
73
+ else if (comparison > 0) {
74
+ max = middle - 1;
75
+ }
76
+ else if (positionComparator()) {
77
+ positionSetter();
78
+ }
79
+ else if (comparison == 0) {
80
+ break;
81
+ }
98
82
  }
99
- }
100
- return { index: middle, comparison };
83
+ return { index: middle, comparison };
101
84
  }
package/utils/binary.js CHANGED
@@ -1,65 +1,54 @@
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 binary_exports = {};
20
- __export(binary_exports, {
21
- concatArrayBufferViews: () => concatArrayBufferViews,
22
- concatArrayBuffers: () => concatArrayBuffers,
23
- toArrayBuffer: () => toArrayBuffer,
24
- toUint8Array: () => toUint8Array
25
- });
26
- module.exports = __toCommonJS(binary_exports);
27
- var import_supports = require("../supports.js");
28
- var import_type_guards = require("./type-guards.js");
29
- function toArrayBuffer(data, clone = false) {
30
- if ((0, import_type_guards.isArrayBuffer)(data)) {
31
- return clone ? data.slice(0) : data;
32
- }
33
- if (!clone && data.byteOffset == 0 && data.byteLength == data.buffer.byteLength) {
34
- return data.buffer;
35
- }
36
- return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
1
+ import { supportsBuffer } from '../supports.js';
2
+ import { assert, isArrayBuffer } from './type-guards.js';
3
+ /**
4
+ * Get ArrayBuffer from binary data
5
+ * @param data data to get ArrayBuffer from
6
+ * @param clone force cloning (might still clone if datas underlying buffer is larger than its view)
7
+ */
8
+ export function toArrayBuffer(data, clone = false) {
9
+ if (isArrayBuffer(data)) {
10
+ return clone ? data.slice(0) : data;
11
+ }
12
+ if (!clone && (data.byteOffset == 0) && (data.byteLength == data.buffer.byteLength)) {
13
+ return data.buffer;
14
+ }
15
+ return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
37
16
  }
38
- function toUint8Array(data, clone = false) {
39
- if ((0, import_type_guards.isArrayBuffer)(data)) {
40
- return clone ? new Uint8Array(data.slice(0)) : new Uint8Array(data);
41
- }
42
- const { buffer, byteOffset, byteLength } = data;
43
- return clone ? new Uint8Array(buffer.slice(byteOffset, byteOffset + byteLength)) : new Uint8Array(buffer, byteOffset, byteLength);
17
+ /**
18
+ * eslint-disable-next-line @typescript-eslint/no-shadow
19
+ * convert to Uint8Array
20
+ * @param data binary data
21
+ * @param clone whether to clone buffer or not
22
+ */
23
+ export function toUint8Array(data, clone = false) {
24
+ if (isArrayBuffer(data)) {
25
+ return clone
26
+ ? new Uint8Array(data.slice(0))
27
+ : new Uint8Array(data);
28
+ }
29
+ const { buffer, byteOffset, byteLength } = data;
30
+ return clone
31
+ ? new Uint8Array(buffer.slice(byteOffset, byteOffset + byteLength))
32
+ : new Uint8Array(buffer, byteOffset, byteLength);
44
33
  }
45
- function concatArrayBuffers(buffers) {
46
- const arrays = buffers.map((buffer) => new Uint8Array(buffer));
47
- const bytes = concatArrayBufferViews(arrays);
48
- return bytes.buffer;
34
+ export function concatArrayBuffers(buffers) {
35
+ const arrays = buffers.map((buffer) => new Uint8Array(buffer));
36
+ const bytes = concatArrayBufferViews(arrays);
37
+ return bytes.buffer;
49
38
  }
50
- function concatArrayBufferViews(arrays, totalLength) {
51
- (0, import_type_guards.assert)(arrays.length > 0, "No array provided.");
52
- const type = arrays[0].constructor;
53
- if (import_supports.supportsBuffer && (type == Buffer || type == Uint8Array)) {
54
- return Buffer.concat(arrays, totalLength);
55
- }
56
- const totalBytes = totalLength ?? arrays.reduce((sum, array) => sum + array.byteLength, 0);
57
- const merged = new Uint8Array(totalBytes);
58
- let currentIndex = 0;
59
- for (const array of arrays) {
60
- const uint8Array = toUint8Array(array, false);
61
- merged.set(uint8Array, currentIndex);
62
- currentIndex += uint8Array.byteLength;
63
- }
64
- return new type(merged.buffer);
39
+ export function concatArrayBufferViews(arrays, totalLength) {
40
+ assert(arrays.length > 0, 'No array provided.');
41
+ const type = arrays[0].constructor;
42
+ if (supportsBuffer && ((type == Buffer) || (type == Uint8Array))) {
43
+ return Buffer.concat(arrays, totalLength);
44
+ }
45
+ const totalBytes = totalLength ?? arrays.reduce((sum, array) => sum + array.byteLength, 0);
46
+ const merged = new Uint8Array(totalBytes);
47
+ let currentIndex = 0;
48
+ for (const array of arrays) {
49
+ const uint8Array = toUint8Array(array, false);
50
+ merged.set(uint8Array, currentIndex);
51
+ currentIndex += uint8Array.byteLength;
52
+ }
53
+ return new type(merged.buffer);
65
54
  }
@@ -1,141 +1,121 @@
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, from2, except, desc) => {
11
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
12
- for (let key of __getOwnPropNames(from2))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var cancellation_token_exports = {};
20
- __export(cancellation_token_exports, {
21
- CancellationToken: () => CancellationToken
22
- });
23
- module.exports = __toCommonJS(cancellation_token_exports);
24
- var import_noop = require("../rxjs/noop.js");
25
- var import_rxjs = require("rxjs");
26
- var import_noop2 = require("./noop.js");
27
- var import_type_guards = require("./type-guards.js");
28
- class CancellationToken {
29
- stateSubject;
30
- state$;
31
- set$;
32
- unset$;
33
- get isSet() {
34
- return this.stateSubject.value;
35
- }
36
- get isUnset() {
37
- return !this.stateSubject.value;
38
- }
39
- get $set() {
40
- return (0, import_rxjs.firstValueFrom)(this.set$);
41
- }
42
- get $unset() {
43
- return (0, import_rxjs.firstValueFrom)(this.unset$);
44
- }
45
- get $state() {
46
- return (0, import_rxjs.firstValueFrom)(this.state$.pipe((0, import_rxjs.skip)(1)));
47
- }
48
- /**
49
- * @param initialState which state to initialze this token to
50
- * - `false`: unset
51
- * - `true`: set
52
- * @default false
53
- */
54
- constructor(initialState = false) {
55
- this.stateSubject = new import_rxjs.BehaviorSubject(initialState);
56
- this.state$ = this.stateSubject.pipe((0, import_rxjs.distinctUntilChanged)());
57
- this.set$ = this.state$.pipe((0, import_rxjs.filter)((state) => state), (0, import_rxjs.map)(() => void 0));
58
- this.unset$ = this.state$.pipe((0, import_rxjs.filter)((state) => !state), (0, import_rxjs.map)(() => void 0));
59
- }
60
- static from(source, config) {
61
- const source$ = source instanceof AbortSignal ? (0, import_rxjs.fromEvent)(source, "abort", () => true) : (0, import_rxjs.isObservable)(source) ? source.pipe((0, import_rxjs.map)((state) => (0, import_type_guards.isBoolean)(state) ? state : true)) : (0, import_rxjs.from)(source).pipe((0, import_rxjs.map)(() => true));
62
- const token = new CancellationToken();
63
- CancellationToken.connect(source$, token, config);
64
- return token;
65
- }
66
- static connect(stateObservable, target, config = {}) {
67
- const { set = true, unset = true, complete = true, error = true, immediate = true, once = false } = config;
68
- const state$ = stateObservable.pipe(immediate ? (0, import_noop.noopOperator)() : (0, import_rxjs.skip)(1), set && unset ? (0, import_noop.noopOperator)() : set ? (0, import_rxjs.filter)((state) => state) : unset ? (0, import_rxjs.filter)((state) => !state) : (0, import_rxjs.filter)(() => false), once ? (0, import_rxjs.take)(1) : (0, import_noop.noopOperator)());
69
- const subscription = state$.subscribe({
70
- next: (state) => target.setState(state),
71
- error: error ? (errorValue) => target.error(errorValue) : import_noop2.noop,
72
- complete: complete ? () => target.complete() : import_noop2.noop
73
- });
74
- target.stateSubject.subscribe({
75
- error: () => subscription.unsubscribe(),
76
- complete: () => subscription.unsubscribe()
77
- });
78
- }
79
- asAbortSignal() {
80
- const abortController = new AbortController();
81
- this.set$.pipe((0, import_rxjs.first)()).subscribe(() => abortController.abort());
82
- return abortController.signal;
83
- }
84
- asReadonly() {
85
- return this;
86
- }
87
- createChild(config) {
88
- const child = new CancellationToken();
89
- this.connect(child, config);
90
- return child;
91
- }
92
- connect(child, config) {
93
- CancellationToken.connect(this.state$, child, config);
94
- }
95
- /**
96
- * Become a child of the provided parent. Events from the parent are propagated to this token. Events from this token are *not* propagated to the parent.
97
- */
98
- inherit(parent, config) {
99
- CancellationToken.connect(parent.state$, this, config);
100
- return this;
101
- }
102
- /**
103
- * Set this token.
104
- */
105
- set() {
106
- this.stateSubject.next(true);
107
- }
108
- /**
109
- * Unset this token.
110
- */
111
- unset() {
112
- this.stateSubject.next(false);
113
- }
114
- /**
115
- * Set the state.
116
- */
117
- setState(state) {
118
- this.stateSubject.next(state);
119
- }
120
- /**
121
- * Errors the token.
122
- */
123
- error(error) {
124
- this.stateSubject.error(error);
125
- }
126
- /**
127
- * Clean up subscriptions.
128
- *
129
- * Keep in mind that *active* awaits (promise) on this token will throw.
130
- */
131
- complete() {
132
- this.stateSubject.complete();
133
- }
134
- async then(onfulfilled) {
135
- await this.$set;
136
- return onfulfilled?.();
137
- }
138
- subscribe(observer) {
139
- return this.set$.subscribe(observer);
140
- }
1
+ import { noopOperator } from '../rxjs/noop.js';
2
+ import { BehaviorSubject, distinctUntilChanged, filter, first, firstValueFrom, from, fromEvent, isObservable, map, skip, take } from 'rxjs';
3
+ import { noop } from './noop.js';
4
+ import { isBoolean } from './type-guards.js';
5
+ export class CancellationToken {
6
+ stateSubject;
7
+ state$;
8
+ set$;
9
+ unset$;
10
+ get isSet() {
11
+ return this.stateSubject.value;
12
+ }
13
+ get isUnset() {
14
+ return !this.stateSubject.value;
15
+ }
16
+ get $set() {
17
+ return firstValueFrom(this.set$);
18
+ }
19
+ get $unset() {
20
+ return firstValueFrom(this.unset$);
21
+ }
22
+ get $state() {
23
+ return firstValueFrom(this.state$.pipe(skip(1)));
24
+ }
25
+ /**
26
+ * @param initialState which state to initialze this token to
27
+ * - `false`: unset
28
+ * - `true`: set
29
+ * @default false
30
+ */
31
+ constructor(initialState = false) {
32
+ this.stateSubject = new BehaviorSubject(initialState);
33
+ this.state$ = this.stateSubject.pipe(distinctUntilChanged());
34
+ this.set$ = this.state$.pipe(filter((state) => state), map(() => undefined)); // eslint-disable-line @typescript-eslint/no-unsafe-argument
35
+ this.unset$ = this.state$.pipe(filter((state) => !state), map(() => undefined)); // eslint-disable-line @typescript-eslint/no-unsafe-argument
36
+ }
37
+ static from(source, config) {
38
+ const source$ = (source instanceof AbortSignal) ? fromEvent(source, 'abort', () => true)
39
+ : isObservable(source) ? source.pipe(map((state) => (isBoolean(state) ? state : true)))
40
+ : from(source).pipe(map(() => true));
41
+ const token = new CancellationToken();
42
+ CancellationToken.connect(source$, token, config);
43
+ return token;
44
+ }
45
+ static connect(stateObservable, target, config = {}) {
46
+ const { set = true, unset = true, complete = true, error = true, immediate = true, once = false } = config;
47
+ const state$ = stateObservable
48
+ .pipe(immediate ? noopOperator() : skip(1), (set && unset) ? noopOperator() : set ? filter((state) => state) : unset ? filter((state) => !state) : filter(() => false), once ? take(1) : noopOperator());
49
+ const subscription = state$.subscribe({
50
+ next: (state) => target.setState(state),
51
+ error: error ? ((errorValue) => target.error(errorValue)) : noop,
52
+ complete: complete ? (() => target.complete()) : noop
53
+ });
54
+ target.stateSubject.subscribe({
55
+ error: () => subscription.unsubscribe(),
56
+ complete: () => subscription.unsubscribe()
57
+ });
58
+ }
59
+ asAbortSignal() {
60
+ const abortController = new AbortController();
61
+ this.set$.pipe(first()).subscribe(() => abortController.abort());
62
+ return abortController.signal;
63
+ }
64
+ asReadonly() {
65
+ return this;
66
+ }
67
+ createChild(config) {
68
+ const child = new CancellationToken();
69
+ this.connect(child, config);
70
+ return child;
71
+ }
72
+ connect(child, config) {
73
+ CancellationToken.connect(this.state$, child, config);
74
+ }
75
+ /**
76
+ * Become a child of the provided parent. Events from the parent are propagated to this token. Events from this token are *not* propagated to the parent.
77
+ */
78
+ inherit(parent, config) {
79
+ CancellationToken.connect(parent.state$, this, config);
80
+ return this;
81
+ }
82
+ /**
83
+ * Set this token.
84
+ */
85
+ set() {
86
+ this.stateSubject.next(true);
87
+ }
88
+ /**
89
+ * Unset this token.
90
+ */
91
+ unset() {
92
+ this.stateSubject.next(false);
93
+ }
94
+ /**
95
+ * Set the state.
96
+ */
97
+ setState(state) {
98
+ this.stateSubject.next(state);
99
+ }
100
+ /**
101
+ * Errors the token.
102
+ */
103
+ error(error) {
104
+ this.stateSubject.error(error);
105
+ }
106
+ /**
107
+ * Clean up subscriptions.
108
+ *
109
+ * Keep in mind that *active* awaits (promise) on this token will throw.
110
+ */
111
+ complete() {
112
+ this.stateSubject.complete();
113
+ }
114
+ async then(onfulfilled) {
115
+ await this.$set;
116
+ return onfulfilled?.();
117
+ }
118
+ subscribe(observer) {
119
+ return this.set$.subscribe(observer);
120
+ }
141
121
  }