@tstdl/base 0.87.13 → 0.88.0-alpha1

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