@tstdl/base 0.86.0-beta1 → 0.86.0-beta10

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 (869) hide show
  1. package/.eslintrc.json +1 -0
  2. package/_container/container.js +443 -0
  3. package/_container/decorators.d.ts +76 -0
  4. package/_container/decorators.js +110 -0
  5. package/_container/index.d.ts +10 -0
  6. package/_container/index.js +27 -0
  7. package/_container/interfaces.d.ts +16 -0
  8. package/_container/interfaces.js +26 -0
  9. package/_container/provider.js +60 -0
  10. package/_container/resolve-chain.js +105 -0
  11. package/_container/resolve.error.js +36 -0
  12. package/_container/token.d.ts +18 -0
  13. package/_container/token.js +41 -0
  14. package/_container/type-info.js +16 -0
  15. package/_container/types.js +16 -0
  16. package/_container/utils.js +44 -0
  17. package/api/client/client.d.ts +2 -2
  18. package/api/client/client.js +127 -109
  19. package/api/client/index.js +18 -1
  20. package/api/default-error-handlers.js +44 -18
  21. package/api/index.js +20 -14
  22. package/api/response.js +123 -99
  23. package/api/server/api-controller.d.ts +2 -2
  24. package/api/server/api-controller.js +71 -42
  25. package/api/server/api-request-token.provider.js +40 -12
  26. package/api/server/error-handler.js +46 -25
  27. package/api/server/gateway.d.ts +5 -6
  28. package/api/server/gateway.js +226 -207
  29. package/api/server/index.js +22 -5
  30. package/api/server/middlewares/allowed-methods.middleware.js +40 -17
  31. package/api/server/middlewares/catch-error.middleware.js +33 -12
  32. package/api/server/middlewares/cors.middleware.js +69 -49
  33. package/api/server/middlewares/index.js +21 -4
  34. package/api/server/middlewares/response-time.middleware.js +31 -8
  35. package/api/server/module.js +42 -18
  36. package/api/server/tokens.d.ts +4 -1
  37. package/api/server/tokens.js +31 -2
  38. package/api/types.js +40 -14
  39. package/api/utils.js +36 -13
  40. package/application/application.d.ts +13 -10
  41. package/application/application.js +168 -155
  42. package/application/index.js +18 -1
  43. package/async-iterator-symbol.js +28 -5
  44. package/authentication/authentication.api.js +113 -89
  45. package/authentication/client/api.client.js +57 -28
  46. package/authentication/client/authentication.service.d.ts +4 -4
  47. package/authentication/client/authentication.service.js +249 -223
  48. package/authentication/client/http-client.middleware.d.ts +3 -5
  49. package/authentication/client/http-client.middleware.js +35 -21
  50. package/authentication/client/index.js +22 -5
  51. package/authentication/client/module.d.ts +2 -1
  52. package/authentication/client/module.js +46 -15
  53. package/authentication/client/tokens.d.ts +2 -2
  54. package/authentication/client/tokens.js +30 -5
  55. package/authentication/errors/index.js +18 -1
  56. package/authentication/errors/secret-requirements.error.js +29 -6
  57. package/authentication/index.js +19 -2
  58. package/authentication/models/authentication-credentials.model.js +66 -37
  59. package/authentication/models/authentication-session.model.js +80 -51
  60. package/authentication/models/index.js +23 -6
  61. package/authentication/models/init-secret-reset-data.model.js +44 -16
  62. package/authentication/models/secret-check-result.model.js +36 -9
  63. package/authentication/models/token-payload-base.model.js +59 -31
  64. package/authentication/models/token.model.js +16 -1
  65. package/authentication/server/authentication-api-request-token.provider.js +52 -24
  66. package/authentication/server/authentication-credentials.repository.js +24 -1
  67. package/authentication/server/authentication-secret-requirements.validator.d.ts +11 -2
  68. package/authentication/server/authentication-secret-requirements.validator.js +58 -23
  69. package/authentication/server/authentication-secret-reset.handler.js +24 -1
  70. package/authentication/server/authentication-session.repository.js +24 -1
  71. package/authentication/server/authentication-subject.resolver.js +24 -5
  72. package/authentication/server/authentication-token-payload.provider.js +29 -5
  73. package/authentication/server/authentication.api-controller.js +114 -88
  74. package/authentication/server/authentication.service.d.ts +10 -3
  75. package/authentication/server/authentication.service.js +308 -264
  76. package/authentication/server/helper.js +87 -66
  77. package/authentication/server/index.js +28 -11
  78. package/authentication/server/module.d.ts +2 -1
  79. package/authentication/server/module.js +48 -25
  80. package/authentication/server/mongo/index.js +19 -2
  81. package/authentication/server/mongo/mongo-authentication-credentials.repository.d.ts +3 -3
  82. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +84 -52
  83. package/authentication/server/mongo/mongo-authentication-session.repository.d.ts +3 -3
  84. package/authentication/server/mongo/mongo-authentication-session.repository.js +81 -49
  85. package/browser/browser-context-controller.d.ts +4 -4
  86. package/browser/browser-context-controller.js +106 -72
  87. package/browser/browser-controller.d.ts +12 -5
  88. package/browser/browser-controller.js +115 -74
  89. package/browser/browser.service.d.ts +12 -6
  90. package/browser/browser.service.js +117 -83
  91. package/browser/document-controller.js +81 -48
  92. package/browser/element-controller.d.ts +24 -0
  93. package/browser/element-controller.js +217 -139
  94. package/browser/frame-controller.js +50 -27
  95. package/browser/index.js +27 -10
  96. package/browser/locator-controller.js +59 -36
  97. package/browser/module.js +47 -23
  98. package/browser/page-controller.js +108 -89
  99. package/browser/pdf-options.js +103 -73
  100. package/browser/types.js +16 -1
  101. package/browser/utils.d.ts +2 -0
  102. package/browser/utils.js +116 -77
  103. package/collections/awaitable/awaitable-list.js +122 -99
  104. package/collections/awaitable/awaitable-map.js +116 -93
  105. package/collections/awaitable/awaitable-set.js +86 -63
  106. package/collections/awaitable/index.js +20 -3
  107. package/collections/collection.js +16 -1
  108. package/collections/index.js +23 -6
  109. package/collections/keyed-set.js +77 -53
  110. package/collections/list.js +16 -1
  111. package/collections/observable/index.js +25 -8
  112. package/collections/observable/observable-array.js +118 -95
  113. package/collections/observable/observable-collection-base.js +83 -60
  114. package/collections/observable/observable-collection.js +16 -1
  115. package/collections/observable/observable-list-base.js +78 -55
  116. package/collections/observable/observable-list.js +16 -1
  117. package/collections/observable/observable-map.js +79 -56
  118. package/collections/observable/observable-set.js +98 -75
  119. package/collections/observable/observable-sorted-array-list.js +188 -165
  120. package/collections/sorted-array-list.js +179 -156
  121. package/collections/sorted-list.js +16 -1
  122. package/collections/sorted-map.js +93 -70
  123. package/container/decorators.d.ts +2 -76
  124. package/container/decorators.js +34 -126
  125. package/container/index.d.ts +0 -7
  126. package/container/index.js +20 -10
  127. package/container/interfaces.d.ts +2 -16
  128. package/container/interfaces.js +25 -2
  129. package/container/token.d.ts +2 -18
  130. package/container/token.js +26 -20
  131. package/cookie/cookie.js +71 -49
  132. package/cookie/index.js +18 -1
  133. package/core.d.ts +4 -2
  134. package/core.js +82 -46
  135. package/data-structures/array-dictionary.js +110 -89
  136. package/data-structures/array-list.d.ts +1 -1
  137. package/data-structures/array-list.js +128 -105
  138. package/data-structures/cache.js +64 -41
  139. package/data-structures/circular-buffer.js +219 -195
  140. package/data-structures/collection.js +109 -86
  141. package/data-structures/dictionary.js +75 -51
  142. package/data-structures/distinct-collection.d.ts +24 -0
  143. package/data-structures/distinct-collection.js +77 -0
  144. package/data-structures/index-out-of-bounds.error.js +31 -8
  145. package/data-structures/index.d.ts +2 -1
  146. package/data-structures/index.js +33 -15
  147. package/data-structures/iterable-weak-map.js +149 -129
  148. package/data-structures/linked-list.js +385 -367
  149. package/data-structures/list.js +109 -78
  150. package/data-structures/map-dictionary.js +78 -55
  151. package/data-structures/multi-key-map.d.ts +1 -1
  152. package/data-structures/multi-key-map.js +163 -138
  153. package/data-structures/multi-key-set.d.ts +19 -0
  154. package/data-structures/multi-key-set.js +81 -0
  155. package/data-structures/{set.d.ts → set-collection.d.ts} +3 -3
  156. package/data-structures/set-collection.js +79 -0
  157. package/data-structures/sorted-array-list.d.ts +1 -1
  158. package/data-structures/sorted-array-list.js +166 -142
  159. package/data-structures/weak-ref-map.js +146 -123
  160. package/database/entity-repository.js +26 -2
  161. package/database/entity.js +16 -1
  162. package/database/id.js +29 -8
  163. package/database/index.js +23 -6
  164. package/database/module.js +33 -9
  165. package/database/mongo/classes.d.ts +5 -5
  166. package/database/mongo/classes.js +43 -13
  167. package/database/mongo/index.js +27 -10
  168. package/database/mongo/model/document.js +93 -62
  169. package/database/mongo/model/index.js +18 -1
  170. package/database/mongo/module.js +79 -51
  171. package/database/mongo/mongo-base.repository.js +283 -259
  172. package/database/mongo/mongo-bulk.js +110 -87
  173. package/database/mongo/mongo-entity-repository.d.ts +5 -5
  174. package/database/mongo/mongo-entity-repository.js +296 -270
  175. package/database/mongo/operations.js +76 -48
  176. package/database/mongo/query-converter.js +96 -73
  177. package/database/mongo/simple-entity-repository.js +28 -5
  178. package/database/mongo/types.js +25 -2
  179. package/database/query.js +36 -7
  180. package/database/utils.js +25 -2
  181. package/decorators/index.d.ts +1 -0
  182. package/decorators/index.js +18 -0
  183. package/decorators/log.d.ts +2 -0
  184. package/decorators/log.js +56 -0
  185. package/disposable/async-disposer.d.ts +4 -4
  186. package/disposable/async-disposer.js +105 -93
  187. package/disposable/disposable.js +33 -7
  188. package/disposable/index.js +20 -3
  189. package/disposable/using.js +37 -15
  190. package/distributed-loop/controller.js +16 -1
  191. package/distributed-loop/distributed-loop.d.ts +3 -3
  192. package/distributed-loop/distributed-loop.js +105 -78
  193. package/distributed-loop/index.js +20 -3
  194. package/distributed-loop/provider.js +48 -20
  195. package/enumerable/async-enumerable.js +261 -238
  196. package/enumerable/enumerable-methods.js +16 -1
  197. package/enumerable/enumerable.js +200 -177
  198. package/enumerable/index.js +19 -2
  199. package/environment.js +57 -25
  200. package/error/api.error.js +33 -10
  201. package/error/assertion.error.js +29 -6
  202. package/error/bad-request.error.js +29 -6
  203. package/error/custom.error.js +47 -25
  204. package/error/details.error.js +31 -8
  205. package/error/forbidden.error.js +29 -6
  206. package/error/index.js +33 -16
  207. package/error/invalid-token.error.js +29 -6
  208. package/error/max-bytes-exceeded.error.js +32 -9
  209. package/error/method-not-allowed.error.js +29 -6
  210. package/error/multi.error.js +31 -8
  211. package/error/not-found.error.js +29 -6
  212. package/error/not-implemented.error.js +29 -6
  213. package/error/not-supported.error.js +34 -11
  214. package/error/timeout.error.js +29 -6
  215. package/error/unauthorized.error.js +29 -6
  216. package/error/unsupported-media-type.error.js +29 -6
  217. package/examples/api/authentication.js +49 -42
  218. package/examples/api/basic-overview.js +85 -81
  219. package/examples/api/custom-authentication.js +69 -61
  220. package/examples/api/streaming.js +95 -90
  221. package/examples/browser/basic.js +21 -20
  222. package/examples/http/client.js +16 -13
  223. package/examples/mail/basic.js +42 -36
  224. package/examples/mail/templates/hello-name.js +33 -10
  225. package/examples/pdf/basic.js +49 -44
  226. package/examples/pdf/templates/hello-name.js +58 -35
  227. package/examples/reflection/basic.js +84 -52
  228. package/examples/template/basic.js +33 -30
  229. package/examples/template/templates/hello-jsx.js +32 -8
  230. package/examples/template/templates/hello-name.js +41 -18
  231. package/function/index.d.ts +1 -0
  232. package/function/index.js +18 -0
  233. package/function/log.d.ts +6 -0
  234. package/function/log.js +37 -0
  235. package/global-this.js +36 -17
  236. package/http/client/adapters/undici-http-client.adapter.js +111 -90
  237. package/http/client/http-client-options.d.ts +0 -5
  238. package/http/client/http-client-options.js +33 -14
  239. package/http/client/http-client-request.js +171 -149
  240. package/http/client/http-client-response.js +56 -33
  241. package/http/client/http-client.adapter.js +24 -1
  242. package/http/client/http-client.d.ts +5 -8
  243. package/http/client/http-client.js +325 -301
  244. package/http/client/index.js +23 -6
  245. package/http/client/middleware.d.ts +6 -0
  246. package/http/client/middleware.js +16 -0
  247. package/http/client/module.d.ts +6 -1
  248. package/http/client/module.js +42 -14
  249. package/http/client/tokens.d.ts +2 -0
  250. package/http/client/tokens.js +25 -0
  251. package/http/cookie-parser.js +42 -19
  252. package/http/http-body.js +75 -52
  253. package/http/http-form.js +37 -14
  254. package/http/http-headers.js +109 -86
  255. package/http/http-query.js +37 -14
  256. package/http/http-url-parameters.js +31 -8
  257. package/http/http-value-map.js +133 -110
  258. package/http/http.error.js +82 -60
  259. package/http/index.js +28 -11
  260. package/http/server/http-server-request.js +47 -24
  261. package/http/server/http-server-response.js +45 -22
  262. package/http/server/http-server.js +25 -2
  263. package/http/server/index.js +20 -3
  264. package/http/server/node/index.js +19 -2
  265. package/http/server/node/module.js +28 -8
  266. package/http/server/node/node-http-server.d.ts +1 -4
  267. package/http/server/node/node-http-server.js +230 -208
  268. package/http/types.js +47 -21
  269. package/http/utils.js +108 -92
  270. package/image-service/image-service.js +91 -59
  271. package/image-service/imgproxy/imgproxy-image-service.d.ts +6 -8
  272. package/image-service/imgproxy/imgproxy-image-service.js +125 -86
  273. package/image-service/imgproxy/index.js +18 -1
  274. package/image-service/index.js +18 -1
  275. package/import.js +25 -2
  276. package/index.js +18 -1
  277. package/injector/decorators.d.ts +81 -0
  278. package/injector/decorators.js +126 -0
  279. package/injector/index.d.ts +11 -0
  280. package/injector/index.js +28 -0
  281. package/injector/inject.d.ts +85 -0
  282. package/injector/inject.js +106 -0
  283. package/injector/injector.d.ts +91 -0
  284. package/injector/injector.js +497 -0
  285. package/injector/interfaces.d.ts +16 -0
  286. package/injector/interfaces.js +26 -0
  287. package/injector/provider.d.ts +49 -0
  288. package/injector/provider.js +64 -0
  289. package/injector/resolve-chain.d.ts +31 -0
  290. package/injector/resolve-chain.js +113 -0
  291. package/injector/resolve.error.d.ts +5 -0
  292. package/injector/resolve.error.js +36 -0
  293. package/injector/symbols.d.ts +2 -0
  294. package/injector/symbols.js +26 -0
  295. package/injector/token.d.ts +25 -0
  296. package/injector/token.js +41 -0
  297. package/injector/type-info.d.ts +20 -0
  298. package/injector/type-info.js +16 -0
  299. package/injector/types.d.ts +49 -0
  300. package/injector/types.js +16 -0
  301. package/interfaces.js +16 -1
  302. package/json-path/index.js +18 -1
  303. package/json-path/json-path.js +138 -138
  304. package/key-value-store/index.js +19 -2
  305. package/key-value-store/key-value-store.provider.js +24 -1
  306. package/key-value-store/key-value.store.d.ts +3 -3
  307. package/key-value-store/key-value.store.js +29 -6
  308. package/key-value-store/mongo/index.js +23 -6
  309. package/key-value-store/mongo/module.js +35 -17
  310. package/key-value-store/mongo/mongo-key-value-store.provider.js +48 -20
  311. package/key-value-store/mongo/mongo-key-value.model.js +16 -1
  312. package/key-value-store/mongo/mongo-key-value.repository.d.ts +3 -3
  313. package/key-value-store/mongo/mongo-key-value.repository.js +52 -22
  314. package/key-value-store/mongo/mongo-key-value.store.js +89 -59
  315. package/key-value-store/mongo/tokens.d.ts +1 -1
  316. package/key-value-store/mongo/tokens.js +25 -2
  317. package/lock/index.js +19 -2
  318. package/lock/lock.d.ts +3 -2
  319. package/lock/lock.js +29 -5
  320. package/lock/mongo/index.js +22 -5
  321. package/lock/mongo/lock.js +135 -111
  322. package/lock/mongo/model.js +16 -1
  323. package/lock/mongo/module.js +37 -18
  324. package/lock/mongo/mongo-lock-repository.d.ts +3 -3
  325. package/lock/mongo/mongo-lock-repository.js +85 -56
  326. package/lock/mongo/provider.js +68 -38
  327. package/lock/provider.d.ts +3 -2
  328. package/lock/provider.js +25 -1
  329. package/lock/web/index.js +20 -3
  330. package/lock/web/module.js +31 -11
  331. package/lock/web/web-lock.js +105 -80
  332. package/lock/web/web-lock.provider.js +57 -27
  333. package/logger/console/index.js +18 -1
  334. package/logger/console/logger.js +80 -53
  335. package/logger/index.js +19 -2
  336. package/logger/level.js +31 -8
  337. package/logger/logger.d.ts +3 -2
  338. package/logger/logger.js +61 -37
  339. package/logger/noop/index.js +18 -1
  340. package/logger/noop/logger.js +42 -20
  341. package/mail/clients/nodemailer.mail-client.js +91 -62
  342. package/mail/index.js +22 -5
  343. package/mail/mail-log.repository.js +25 -2
  344. package/mail/mail.client.d.ts +3 -2
  345. package/mail/mail.client.js +63 -34
  346. package/mail/mail.service.js +106 -73
  347. package/mail/models/index.js +23 -6
  348. package/mail/models/mail-address.model.js +16 -1
  349. package/mail/models/mail-content.model.js +16 -1
  350. package/mail/models/mail-data.model.js +16 -1
  351. package/mail/models/mail-log.model.js +16 -1
  352. package/mail/models/mail-send-result.model.js +16 -1
  353. package/mail/models/mail-template.model.js +28 -5
  354. package/mail/module.js +41 -21
  355. package/mail/repositories/mongo-mail-log.repository.d.ts +3 -3
  356. package/mail/repositories/mongo-mail-log.repository.js +56 -24
  357. package/mail/tokens.d.ts +1 -1
  358. package/mail/tokens.js +25 -2
  359. package/memory/finalization.js +60 -36
  360. package/memory/index.js +19 -2
  361. package/memory/observable-finalization-registry.js +32 -9
  362. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +53 -23
  363. package/message-bus/broadcast-channel/broadcast-channel-message-bus.d.ts +1 -1
  364. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +74 -46
  365. package/message-bus/broadcast-channel/index.js +20 -3
  366. package/message-bus/broadcast-channel/module.js +31 -11
  367. package/message-bus/index.js +20 -3
  368. package/message-bus/local/index.js +20 -3
  369. package/message-bus/local/local-message-bus-provider.js +65 -35
  370. package/message-bus/local/local-message-bus.d.ts +1 -1
  371. package/message-bus/local/local-message-bus.js +66 -38
  372. package/message-bus/local/module.js +31 -11
  373. package/message-bus/local/types.js +16 -1
  374. package/message-bus/message-bus-base.js +63 -41
  375. package/message-bus/message-bus-provider.js +24 -1
  376. package/message-bus/message-bus.d.ts +3 -3
  377. package/message-bus/message-bus.js +29 -5
  378. package/migration/index.d.ts +1 -1
  379. package/migration/index.js +20 -3
  380. package/migration/migration-state-repository.js +25 -2
  381. package/migration/migration-state.js +16 -1
  382. package/migration/migrator.js +108 -80
  383. package/migration/mongo/index.js +19 -2
  384. package/migration/mongo/migration-state-repository.d.ts +3 -3
  385. package/migration/mongo/migration-state-repository.js +53 -23
  386. package/migration/mongo/module.js +34 -15
  387. package/module/index.js +21 -4
  388. package/module/module-base.js +60 -37
  389. package/module/module-metric-reporter.js +77 -58
  390. package/module/module.js +34 -10
  391. package/module/modules/function.module.js +34 -11
  392. package/module/modules/index.js +19 -2
  393. package/module/modules/web-server.module.d.ts +5 -10
  394. package/module/modules/web-server.module.js +83 -67
  395. package/module/utils.js +43 -19
  396. package/notification/api.js +50 -21
  397. package/notification/models/index.js +19 -2
  398. package/notification/models/notification-channel-job.model.js +16 -1
  399. package/notification/models/notification.model.js +103 -74
  400. package/notification/module.js +28 -8
  401. package/notification/notification-channel.service.js +24 -1
  402. package/notification/notification.repository.js +24 -1
  403. package/notification/notification.service.js +58 -30
  404. package/object-storage/index.js +20 -3
  405. package/object-storage/object-storage-provider.js +24 -1
  406. package/object-storage/object-storage.d.ts +3 -3
  407. package/object-storage/object-storage.js +30 -6
  408. package/object-storage/object.js +30 -7
  409. package/object-storage/s3/index.js +20 -3
  410. package/object-storage/s3/s3.object-storage-provider.js +109 -82
  411. package/object-storage/s3/s3.object-storage.d.ts +2 -2
  412. package/object-storage/s3/s3.object-storage.js +157 -130
  413. package/object-storage/s3/s3.object.js +62 -39
  414. package/openid-connect/cached-oidc-configuration.service.js +65 -35
  415. package/openid-connect/index.d.ts +1 -1
  416. package/openid-connect/index.js +28 -11
  417. package/openid-connect/mongo-oidc-state.repository.d.ts +3 -3
  418. package/openid-connect/mongo-oidc-state.repository.js +65 -38
  419. package/openid-connect/oidc-configuration.service.js +66 -38
  420. package/openid-connect/oidc-state.model.js +16 -1
  421. package/openid-connect/oidc-state.repository.js +25 -2
  422. package/openid-connect/oidc.service-model.js +16 -1
  423. package/openid-connect/oidc.service.js +187 -157
  424. package/package.json +16 -16
  425. package/password/have-i-been-pwned.js +39 -21
  426. package/password/index.js +21 -4
  427. package/password/password-check-result.model.js +63 -34
  428. package/password/password-check.js +76 -46
  429. package/password/password-check.localization.js +111 -86
  430. package/pdf/index.js +18 -1
  431. package/pdf/pdf.service.d.ts +3 -3
  432. package/pdf/pdf.service.js +206 -171
  433. package/pool/index.js +18 -1
  434. package/pool/pool.js +133 -116
  435. package/process-shutdown.d.ts +2 -2
  436. package/process-shutdown.js +75 -54
  437. package/promise/cancelable-promise.js +41 -23
  438. package/promise/deferred-promise.js +92 -68
  439. package/promise/index.js +20 -3
  440. package/promise/lazy-promise.js +47 -24
  441. package/queue/enqueue-batch.js +41 -18
  442. package/queue/index.js +20 -3
  443. package/queue/mongo/index.js +21 -4
  444. package/queue/mongo/job.js +16 -1
  445. package/queue/mongo/mongo-job.repository.d.ts +3 -3
  446. package/queue/mongo/mongo-job.repository.js +70 -44
  447. package/queue/mongo/queue.js +265 -242
  448. package/queue/mongo/queue.provider.d.ts +3 -3
  449. package/queue/mongo/queue.provider.js +72 -44
  450. package/queue/provider.js +24 -1
  451. package/queue/queue.d.ts +3 -3
  452. package/queue/queue.js +41 -15
  453. package/random/index.js +19 -2
  454. package/random/number-generator/index.js +20 -3
  455. package/random/number-generator/mulberry32.js +51 -34
  456. package/random/number-generator/random-number-generator-function.js +24 -1
  457. package/random/number-generator/random-number-generator.js +31 -8
  458. package/random/number-generator/seeded-random-number-generator.js +28 -5
  459. package/random/number-generator/sfc32.js +64 -41
  460. package/random/number-generator/utils.js +25 -2
  461. package/random/series.js +43 -41
  462. package/reflection/decorator-data.js +80 -63
  463. package/reflection/decorators.js +69 -39
  464. package/reflection/index.js +22 -5
  465. package/reflection/reflection-data-map.js +55 -32
  466. package/reflection/registry.d.ts +0 -1
  467. package/reflection/registry.js +130 -111
  468. package/reflection/types.js +16 -1
  469. package/reflection/utils.js +124 -96
  470. package/require.js +26 -3
  471. package/rpc/endpoints/message-port.rpc-endpoint.js +48 -29
  472. package/rpc/index.js +21 -4
  473. package/rpc/model.js +30 -7
  474. package/rpc/rpc-endpoint.js +40 -17
  475. package/rpc/rpc-error.js +40 -17
  476. package/rpc/rpc.js +235 -223
  477. package/rxjs/cast.js +28 -4
  478. package/rxjs/index.d.ts +1 -0
  479. package/rxjs/index.js +30 -12
  480. package/rxjs/intersection-observer.js +48 -25
  481. package/rxjs/media-query.js +27 -8
  482. package/rxjs/mutation-observer.js +50 -28
  483. package/rxjs/noop.js +28 -4
  484. package/rxjs/performance-observer.js +60 -37
  485. package/rxjs/resize-observer.js +50 -28
  486. package/rxjs/retry-backoff.js +47 -23
  487. package/rxjs/slow-array.js +36 -22
  488. package/rxjs/start-with-provider.d.ts +2 -0
  489. package/rxjs/start-with-provider.js +29 -0
  490. package/rxjs/teardown.js +44 -21
  491. package/rxjs/timing.js +57 -26
  492. package/rxjs/touch.js +30 -11
  493. package/schema/array-constraints/index.js +19 -2
  494. package/schema/array-constraints/maximum-length.js +42 -19
  495. package/schema/array-constraints/minimum-length.js +42 -19
  496. package/schema/coercers/boolean.coercer.js +49 -25
  497. package/schema/coercers/date.coercer.js +38 -14
  498. package/schema/coercers/index.js +23 -6
  499. package/schema/coercers/number.coercer.js +36 -12
  500. package/schema/coercers/regexp.coercer.js +41 -18
  501. package/schema/coercers/string.coercer.js +36 -12
  502. package/schema/coercers/uint8-array.coercer.js +44 -20
  503. package/schema/constraints/enumeration.js +49 -27
  504. package/schema/constraints/generic.js +41 -21
  505. package/schema/constraints/index.js +29 -12
  506. package/schema/constraints/integer.js +44 -20
  507. package/schema/constraints/length.js +36 -14
  508. package/schema/constraints/literal.js +44 -22
  509. package/schema/constraints/maximum-date.js +46 -23
  510. package/schema/constraints/maximum-length.js +45 -22
  511. package/schema/constraints/maximum.js +44 -21
  512. package/schema/constraints/minimum-date.js +46 -23
  513. package/schema/constraints/minimum-length.js +45 -22
  514. package/schema/constraints/minimum.js +44 -21
  515. package/schema/constraints/pattern.js +46 -23
  516. package/schema/decorators/class.js +26 -4
  517. package/schema/decorators/coerce.js +26 -4
  518. package/schema/decorators/constraint.js +28 -6
  519. package/schema/decorators/index.js +23 -6
  520. package/schema/decorators/property.js +38 -16
  521. package/schema/decorators/types.js +16 -1
  522. package/schema/decorators/utils.js +73 -45
  523. package/schema/index.js +27 -10
  524. package/schema/schema.error.js +72 -59
  525. package/schema/schema.js +274 -256
  526. package/schema/schemas/any.js +30 -7
  527. package/schema/schemas/array.js +44 -21
  528. package/schema/schemas/assign.js +46 -23
  529. package/schema/schemas/boolean.js +30 -7
  530. package/schema/schemas/constraint.js +29 -6
  531. package/schema/schemas/date.js +43 -20
  532. package/schema/schemas/defaulted.js +31 -8
  533. package/schema/schemas/enumeration.js +38 -15
  534. package/schema/schemas/index.js +43 -26
  535. package/schema/schemas/instance.js +26 -4
  536. package/schema/schemas/literal.js +38 -15
  537. package/schema/schemas/nullable.js +30 -7
  538. package/schema/schemas/number.js +48 -25
  539. package/schema/schemas/object.js +34 -10
  540. package/schema/schemas/omit.js +37 -14
  541. package/schema/schemas/one-or-many.js +35 -13
  542. package/schema/schemas/optional.js +30 -6
  543. package/schema/schemas/partial.js +39 -16
  544. package/schema/schemas/pick.js +37 -14
  545. package/schema/schemas/readable-stream.js +30 -7
  546. package/schema/schemas/record.js +31 -9
  547. package/schema/schemas/regexp.js +30 -7
  548. package/schema/schemas/string.js +59 -36
  549. package/schema/schemas/transform.js +29 -6
  550. package/schema/schemas/uint8-array.js +50 -27
  551. package/schema/schemas/union.js +34 -11
  552. package/schema/schemas/unknown.js +30 -7
  553. package/schema/transformers/generic.js +39 -16
  554. package/schema/transformers/index.js +21 -4
  555. package/schema/transformers/lowercase.js +33 -10
  556. package/schema/transformers/trim.js +33 -10
  557. package/schema/transformers/uppercase.js +33 -10
  558. package/schema/types/index.js +22 -5
  559. package/schema/types/schema-array-constraint.js +24 -1
  560. package/schema/types/schema-value-coercer.js +24 -1
  561. package/schema/types/schema-value-constraint.js +24 -1
  562. package/schema/types/schema-value-transformer.js +24 -1
  563. package/schema/types/types.js +191 -161
  564. package/schema/utils/index.js +19 -2
  565. package/schema/utils/schema.js +142 -120
  566. package/schema/utils/value-type.js +74 -51
  567. package/search-index/elastic/config.d.ts +3 -3
  568. package/search-index/elastic/config.js +50 -19
  569. package/search-index/elastic/index.js +23 -6
  570. package/search-index/elastic/keyword-rewriter.js +40 -17
  571. package/search-index/elastic/model/elastic-query.js +16 -1
  572. package/search-index/elastic/model/index-mapping.js +26 -4
  573. package/search-index/elastic/model/index.js +20 -3
  574. package/search-index/elastic/model/sort.js +16 -1
  575. package/search-index/elastic/module.d.ts +1 -3
  576. package/search-index/elastic/module.js +69 -40
  577. package/search-index/elastic/query-builder/boolean-query-builder.js +69 -46
  578. package/search-index/elastic/query-builder/index.js +18 -1
  579. package/search-index/elastic/query-converter.js +192 -174
  580. package/search-index/elastic/search-index.d.ts +2 -2
  581. package/search-index/elastic/search-index.js +153 -132
  582. package/search-index/elastic/sort-converter.js +34 -12
  583. package/search-index/elastic/types.js +16 -1
  584. package/search-index/error.js +35 -12
  585. package/search-index/index.js +20 -3
  586. package/search-index/memory/index.js +18 -1
  587. package/search-index/memory/memory-search-index.js +152 -130
  588. package/search-index/search-index.js +53 -30
  589. package/search-index/search-result.js +16 -1
  590. package/serializer/handlers/binary.js +47 -19
  591. package/serializer/handlers/date.js +28 -4
  592. package/serializer/handlers/error.js +31 -7
  593. package/serializer/handlers/index.js +24 -7
  594. package/serializer/handlers/map.js +40 -16
  595. package/serializer/handlers/regex.js +31 -7
  596. package/serializer/handlers/register.js +59 -36
  597. package/serializer/handlers/set.js +37 -13
  598. package/serializer/index.js +30 -3
  599. package/serializer/serializable.js +68 -43
  600. package/serializer/serializer.js +264 -244
  601. package/serializer/types.js +34 -6
  602. package/signals/api.d.ts +1 -1
  603. package/signals/api.js +48 -17
  604. package/signals/computed-with-dependencies.js +31 -8
  605. package/signals/effect-with-dependencies.js +31 -8
  606. package/signals/implementation/api.js +33 -33
  607. package/signals/implementation/computed.js +104 -125
  608. package/signals/implementation/configure.js +41 -18
  609. package/signals/implementation/effect.js +66 -48
  610. package/signals/implementation/errors.js +29 -5
  611. package/signals/implementation/graph.js +136 -164
  612. package/signals/implementation/index.js +27 -10
  613. package/signals/implementation/signal.js +101 -91
  614. package/signals/implementation/to-observable.js +38 -21
  615. package/signals/implementation/to-signal.js +60 -44
  616. package/signals/implementation/untracked.js +31 -15
  617. package/signals/implementation/watch.js +73 -58
  618. package/signals/index.d.ts +2 -0
  619. package/signals/index.js +26 -7
  620. package/signals/lazylize.d.ts +2 -0
  621. package/signals/lazylize.js +28 -0
  622. package/signals/pipe.d.ts +1 -1
  623. package/signals/pipe.js +33 -7
  624. package/signals/switch-map.js +27 -4
  625. package/signals/to-signal-2.d.ts +14 -0
  626. package/signals/to-signal-2.js +67 -0
  627. package/signals/types.js +16 -1
  628. package/signals/untracked-operator.js +33 -11
  629. package/sse/index.js +19 -2
  630. package/sse/model.js +16 -1
  631. package/sse/server-sent-events-source.js +76 -54
  632. package/sse/server-sent-events.js +72 -48
  633. package/supports.js +32 -5
  634. package/templates/index.js +26 -9
  635. package/templates/module.d.ts +2 -2
  636. package/templates/module.js +47 -40
  637. package/templates/providers/file.template-provider.d.ts +3 -3
  638. package/templates/providers/file.template-provider.js +82 -39
  639. package/templates/providers/memory.template-provider.js +55 -27
  640. package/templates/renderers/handlebars.template-renderer.js +122 -84
  641. package/templates/renderers/jsx.template-renderer.js +56 -28
  642. package/templates/renderers/mjml.template-renderer.js +82 -42
  643. package/templates/renderers/string.template-renderer.js +52 -24
  644. package/templates/resolvers/file.template-resolver.d.ts +3 -3
  645. package/templates/resolvers/file.template-resolver.js +90 -45
  646. package/templates/resolvers/jsx.template-resolver.js +59 -29
  647. package/templates/resolvers/string.template-resolver.js +59 -29
  648. package/templates/template-renderer.provider.js +66 -36
  649. package/templates/template-resolver.provider.js +66 -36
  650. package/templates/template.model.js +69 -39
  651. package/templates/template.provider.js +24 -1
  652. package/templates/template.renderer.js +34 -11
  653. package/templates/template.resolver.js +24 -1
  654. package/templates/template.service.js +82 -49
  655. package/templates/tokens.d.ts +2 -2
  656. package/templates/tokens.js +27 -3
  657. package/templates/types/jsx.intrinsic-elements.js +16 -1
  658. package/text/dynamic-text.model.js +69 -41
  659. package/text/index.js +20 -3
  660. package/text/localizable-text.model.js +16 -1
  661. package/text/localization.service.js +229 -196
  662. package/theme/adapters/css-adapter.js +46 -23
  663. package/theme/adapters/tailwind-adapter.js +52 -29
  664. package/theme/index.js +18 -1
  665. package/theme/theme-service.d.ts +1 -1
  666. package/theme/theme-service.js +147 -107
  667. package/threading/index.js +19 -2
  668. package/threading/thread-pool.js +70 -48
  669. package/threading/thread-worker.js +26 -3
  670. package/tokens.d.ts +1 -1
  671. package/tokens.js +25 -2
  672. package/types/geo-json.js +16 -1
  673. package/types.js +16 -2
  674. package/utils/alphabet.js +35 -12
  675. package/utils/any-iterable-iterator.js +27 -4
  676. package/utils/array/array-backtracker.js +65 -42
  677. package/utils/array/array.js +79 -76
  678. package/utils/array/index.js +19 -2
  679. package/utils/async-iterable-helpers/all.js +46 -25
  680. package/utils/async-iterable-helpers/any.js +46 -25
  681. package/utils/async-iterable-helpers/assert.js +43 -22
  682. package/utils/async-iterable-helpers/batch.js +46 -26
  683. package/utils/async-iterable-helpers/buffer.js +64 -47
  684. package/utils/async-iterable-helpers/concat.js +27 -5
  685. package/utils/async-iterable-helpers/default-if-empty.js +32 -9
  686. package/utils/async-iterable-helpers/deferred.js +26 -3
  687. package/utils/async-iterable-helpers/difference.js +48 -24
  688. package/utils/async-iterable-helpers/distinct.js +44 -23
  689. package/utils/async-iterable-helpers/drain.js +26 -4
  690. package/utils/async-iterable-helpers/filter.js +44 -23
  691. package/utils/async-iterable-helpers/first-or-default.js +30 -8
  692. package/utils/async-iterable-helpers/first.js +30 -8
  693. package/utils/async-iterable-helpers/for-each.js +38 -18
  694. package/utils/async-iterable-helpers/group-single.js +26 -3
  695. package/utils/async-iterable-helpers/group-to-map.js +41 -20
  696. package/utils/async-iterable-helpers/group-to-single-map.js +44 -23
  697. package/utils/async-iterable-helpers/group.js +26 -3
  698. package/utils/async-iterable-helpers/includes.js +28 -7
  699. package/utils/async-iterable-helpers/index.js +65 -48
  700. package/utils/async-iterable-helpers/interrupt.js +43 -19
  701. package/utils/async-iterable-helpers/is-async-iterable.js +29 -5
  702. package/utils/async-iterable-helpers/last-or-default.js +36 -13
  703. package/utils/async-iterable-helpers/last.js +36 -13
  704. package/utils/async-iterable-helpers/map-many.js +40 -19
  705. package/utils/async-iterable-helpers/map.js +40 -19
  706. package/utils/async-iterable-helpers/materialize.js +42 -21
  707. package/utils/async-iterable-helpers/metadata.js +58 -38
  708. package/utils/async-iterable-helpers/multiplex.js +44 -23
  709. package/utils/async-iterable-helpers/observable-iterable.js +53 -31
  710. package/utils/async-iterable-helpers/pairwise.js +44 -26
  711. package/utils/async-iterable-helpers/parallel/feed.js +45 -24
  712. package/utils/async-iterable-helpers/parallel/filter.js +31 -8
  713. package/utils/async-iterable-helpers/parallel/for-each.js +44 -21
  714. package/utils/async-iterable-helpers/parallel/group.js +32 -9
  715. package/utils/async-iterable-helpers/parallel/index.js +24 -7
  716. package/utils/async-iterable-helpers/parallel/map.js +29 -6
  717. package/utils/async-iterable-helpers/parallel/tap.js +29 -6
  718. package/utils/async-iterable-helpers/parallel/types.js +16 -1
  719. package/utils/async-iterable-helpers/reduce.js +46 -31
  720. package/utils/async-iterable-helpers/retry.js +58 -43
  721. package/utils/async-iterable-helpers/single-or-default.js +40 -17
  722. package/utils/async-iterable-helpers/single.js +42 -19
  723. package/utils/async-iterable-helpers/skip.js +26 -3
  724. package/utils/async-iterable-helpers/sort.js +29 -6
  725. package/utils/async-iterable-helpers/take-until.js +49 -32
  726. package/utils/async-iterable-helpers/take-while.js +46 -29
  727. package/utils/async-iterable-helpers/take.js +33 -10
  728. package/utils/async-iterable-helpers/tap.js +40 -19
  729. package/utils/async-iterable-helpers/throttle.js +30 -9
  730. package/utils/async-iterable-helpers/to-array.js +33 -10
  731. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +59 -40
  732. package/utils/async-iterable-helpers/to-async-iterator.js +54 -32
  733. package/utils/async-iterable-helpers/to-set.js +33 -10
  734. package/utils/async-iterable-helpers/to-sync-iterable.js +27 -6
  735. package/utils/async-iterable-helpers/types.js +16 -1
  736. package/utils/async-iterable-helpers/while.js +46 -25
  737. package/utils/async-iterator-iterable-iterator.js +62 -41
  738. package/utils/backoff.js +109 -109
  739. package/utils/base64.js +140 -153
  740. package/utils/benchmark.js +107 -114
  741. package/utils/binary-search.js +87 -70
  742. package/utils/binary.js +61 -50
  743. package/utils/cancellation-token.js +140 -120
  744. package/utils/clone.js +64 -43
  745. package/utils/comparison.js +98 -76
  746. package/utils/compression.js +118 -107
  747. package/utils/config-parser.js +48 -21
  748. package/utils/crc32.js +42 -20
  749. package/utils/cryptography.js +121 -163
  750. package/utils/date-time.js +138 -102
  751. package/utils/encoding.js +60 -62
  752. package/utils/enum.js +53 -27
  753. package/utils/equals.js +119 -103
  754. package/utils/event-loop.js +39 -19
  755. package/utils/factory-map.js +75 -53
  756. package/utils/feedable-async-iterable.js +70 -47
  757. package/utils/file-reader.js +41 -15
  758. package/utils/format-error.js +57 -36
  759. package/utils/format.js +53 -32
  760. package/utils/function/index.js +19 -2
  761. package/utils/function/memoize.js +53 -38
  762. package/utils/function/throttle.js +48 -26
  763. package/utils/helpers.js +102 -93
  764. package/utils/image.js +88 -62
  765. package/utils/index.js +65 -48
  766. package/utils/iterable-helpers/all.js +31 -8
  767. package/utils/iterable-helpers/any.js +31 -8
  768. package/utils/iterable-helpers/assert.js +30 -7
  769. package/utils/iterable-helpers/batch.js +34 -11
  770. package/utils/iterable-helpers/concat.js +27 -4
  771. package/utils/iterable-helpers/default-if-empty.js +32 -9
  772. package/utils/iterable-helpers/deferred.js +25 -2
  773. package/utils/iterable-helpers/difference.js +45 -21
  774. package/utils/iterable-helpers/distinct.js +32 -9
  775. package/utils/iterable-helpers/drain.js +26 -4
  776. package/utils/iterable-helpers/filter.js +30 -7
  777. package/utils/iterable-helpers/first-or-default.js +30 -8
  778. package/utils/iterable-helpers/first.js +30 -8
  779. package/utils/iterable-helpers/for-each.js +28 -5
  780. package/utils/iterable-helpers/group-single.js +26 -3
  781. package/utils/iterable-helpers/group-to-map.js +32 -9
  782. package/utils/iterable-helpers/group-to-single-map.js +33 -10
  783. package/utils/iterable-helpers/group.js +26 -3
  784. package/utils/iterable-helpers/includes.js +26 -3
  785. package/utils/iterable-helpers/index.js +56 -39
  786. package/utils/iterable-helpers/is-iterable.js +29 -5
  787. package/utils/iterable-helpers/last-or-default.js +36 -13
  788. package/utils/iterable-helpers/last.js +36 -13
  789. package/utils/iterable-helpers/map-many.js +29 -6
  790. package/utils/iterable-helpers/map.js +29 -6
  791. package/utils/iterable-helpers/materialize.js +25 -2
  792. package/utils/iterable-helpers/metadata.js +38 -16
  793. package/utils/iterable-helpers/pairwise.js +33 -11
  794. package/utils/iterable-helpers/range.js +27 -4
  795. package/utils/iterable-helpers/reduce.js +33 -11
  796. package/utils/iterable-helpers/single-or-default.js +37 -14
  797. package/utils/iterable-helpers/single.js +40 -17
  798. package/utils/iterable-helpers/skip.js +29 -6
  799. package/utils/iterable-helpers/sort.js +27 -4
  800. package/utils/iterable-helpers/take-until.js +31 -8
  801. package/utils/iterable-helpers/take-while.js +33 -10
  802. package/utils/iterable-helpers/take.js +33 -10
  803. package/utils/iterable-helpers/tap.js +29 -6
  804. package/utils/iterable-helpers/types.js +16 -1
  805. package/utils/iterable-helpers/while.js +31 -8
  806. package/utils/jwt.js +100 -77
  807. package/utils/map.js +62 -35
  808. package/utils/math.js +64 -102
  809. package/utils/merge.js +45 -26
  810. package/utils/middleware.js +60 -36
  811. package/utils/moving-metric.js +188 -155
  812. package/utils/noop.js +27 -4
  813. package/utils/object/decycle.js +78 -57
  814. package/utils/object/dereference.js +44 -46
  815. package/utils/object/forward-ref.js +73 -57
  816. package/utils/object/index.js +24 -7
  817. package/utils/object/lazy-property.js +96 -81
  818. package/utils/object/merge.js +70 -48
  819. package/utils/object/object.js +136 -106
  820. package/utils/object/property-name.js +72 -69
  821. package/utils/ordered-feedable-async-iterable.js +65 -42
  822. package/utils/patch-worker.js +90 -69
  823. package/utils/patterns.js +29 -7
  824. package/utils/periodic-reporter.js +82 -60
  825. package/utils/periodic-sampler.js +91 -67
  826. package/utils/provider-function-iterable.js +48 -26
  827. package/utils/proxy.js +42 -17
  828. package/utils/random.js +50 -40
  829. package/utils/reflection.js +41 -13
  830. package/utils/repl.js +33 -14
  831. package/utils/set.js +62 -36
  832. package/utils/singleton.js +41 -18
  833. package/utils/sort.js +77 -53
  834. package/utils/stream/finalize-stream.js +62 -43
  835. package/utils/stream/index.js +23 -6
  836. package/utils/stream/readable-stream-adapter.js +57 -35
  837. package/utils/stream/readable-stream-from-promise.js +28 -7
  838. package/utils/stream/size-limited-stream.js +35 -12
  839. package/utils/stream/stream-helper-types.js +16 -1
  840. package/utils/stream/stream-reader.js +52 -30
  841. package/utils/string/hypenate.js +25 -2
  842. package/utils/string/index.js +20 -3
  843. package/utils/string/title-case.js +26 -6
  844. package/utils/string/trim.js +32 -9
  845. package/utils/throw.js +30 -7
  846. package/utils/timer.js +91 -70
  847. package/utils/timing.js +80 -52
  848. package/utils/type-guards.js +1076 -253
  849. package/utils/type-of.js +43 -25
  850. package/utils/units.js +124 -53
  851. package/utils/url-builder.js +68 -47
  852. package/utils/value-or-provider.js +29 -6
  853. package/utils/z-base32.js +63 -42
  854. package/web-types.js +16 -1
  855. package/container/container.js +0 -428
  856. package/container/provider.js +0 -29
  857. package/container/resolve-chain.js +0 -80
  858. package/container/resolve.error.js +0 -11
  859. package/container/type-info.js +0 -1
  860. package/container/types.js +0 -1
  861. package/container/utils.js +0 -20
  862. package/data-structures/set.js +0 -56
  863. /package/{container → _container}/container.d.ts +0 -0
  864. /package/{container → _container}/provider.d.ts +0 -0
  865. /package/{container → _container}/resolve-chain.d.ts +0 -0
  866. /package/{container → _container}/resolve.error.d.ts +0 -0
  867. /package/{container → _container}/type-info.d.ts +0 -0
  868. /package/{container → _container}/types.d.ts +0 -0
  869. /package/{container → _container}/utils.d.ts +0 -0
@@ -1,53 +1,70 @@
1
- import { CircularBuffer } from '../../data-structures/circular-buffer.js';
2
- import { CancellationToken } from '../cancellation-token.js';
3
- import { hasOwnProperty } from '../object/object.js';
4
- import { takeUntilAsync } from './take-until.js';
5
- // eslint-disable-next-line max-lines-per-function, max-statements
6
- export async function* bufferAsync(iterable, size) {
7
- const buffer = new CircularBuffer(Math.max(1, size));
8
- const consumerEndedToken = new CancellationToken();
9
- let consumerHasError = false;
10
- let consumerError;
11
- void (async () => {
12
- try {
13
- for await (const item of takeUntilAsync(iterable, consumerEndedToken)) {
14
- buffer.add({ end: false, value: item });
15
- if (buffer.isFull) {
16
- await buffer.$onFreeSlots;
17
- }
18
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
19
- if (consumerHasError) {
20
- throw consumerError;
21
- }
22
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
23
- if (consumerEndedToken.isSet) {
24
- return;
25
- }
26
- }
27
- buffer.add({ end: true });
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 buffer_exports = {};
20
+ __export(buffer_exports, {
21
+ bufferAsync: () => bufferAsync
22
+ });
23
+ module.exports = __toCommonJS(buffer_exports);
24
+ var import_circular_buffer = require("../../data-structures/circular-buffer.js");
25
+ var import_cancellation_token = require("../cancellation-token.js");
26
+ var import_object = require("../object/object.js");
27
+ var import_take_until = require("./take-until.js");
28
+ async function* bufferAsync(iterable, size) {
29
+ const buffer = new import_circular_buffer.CircularBuffer(Math.max(1, size));
30
+ const consumerEndedToken = new import_cancellation_token.CancellationToken();
31
+ let consumerHasError = false;
32
+ let consumerError;
33
+ void (async () => {
34
+ try {
35
+ for await (const item of (0, import_take_until.takeUntilAsync)(iterable, consumerEndedToken)) {
36
+ buffer.add({ end: false, value: item });
37
+ if (buffer.isFull) {
38
+ await buffer.$onFreeSlots;
28
39
  }
29
- catch (error) {
30
- buffer.add({ end: true, error: error });
40
+ if (consumerHasError) {
41
+ throw consumerError;
31
42
  }
32
- })();
33
- try {
34
- for await (const item of buffer.consumeAsync()) {
35
- if (item.end) {
36
- if (hasOwnProperty(item, 'error')) {
37
- throw item.error;
38
- }
39
- break;
40
- }
41
- yield item.value;
43
+ if (consumerEndedToken.isSet) {
44
+ return;
42
45
  }
46
+ }
47
+ buffer.add({ end: true });
48
+ } catch (error) {
49
+ buffer.add({ end: true, error });
43
50
  }
44
- catch (error) {
45
- consumerHasError = true;
46
- consumerError = error;
47
- throw error;
48
- }
49
- finally {
50
- consumerEndedToken.set();
51
- buffer.clear();
51
+ })();
52
+ try {
53
+ for await (const item of buffer.consumeAsync()) {
54
+ if (item.end) {
55
+ if ((0, import_object.hasOwnProperty)(item, "error")) {
56
+ throw item.error;
57
+ }
58
+ break;
59
+ }
60
+ yield item.value;
52
61
  }
62
+ } catch (error) {
63
+ consumerHasError = true;
64
+ consumerError = error;
65
+ throw error;
66
+ } finally {
67
+ consumerEndedToken.set();
68
+ buffer.clear();
69
+ }
53
70
  }
@@ -1,6 +1,28 @@
1
- // eslint-disable-next-line @typescript-eslint/require-await
2
- export async function* concatAsync(...iterables) {
3
- for (const iterable of iterables) {
4
- yield* iterable;
5
- }
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 concat_exports = {};
20
+ __export(concat_exports, {
21
+ concatAsync: () => concatAsync
22
+ });
23
+ module.exports = __toCommonJS(concat_exports);
24
+ async function* concatAsync(...iterables) {
25
+ for (const iterable of iterables) {
26
+ yield* iterable;
27
+ }
6
28
  }
@@ -1,10 +1,33 @@
1
- export async function* defaultIfEmptyAsync(iterable, defaultValue) {
2
- let empty = true;
3
- for await (const item of iterable) {
4
- empty = false;
5
- yield item;
6
- }
7
- if (empty) {
8
- yield defaultValue;
9
- }
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 default_if_empty_exports = {};
20
+ __export(default_if_empty_exports, {
21
+ defaultIfEmptyAsync: () => defaultIfEmptyAsync
22
+ });
23
+ module.exports = __toCommonJS(default_if_empty_exports);
24
+ async function* defaultIfEmptyAsync(iterable, defaultValue) {
25
+ let empty = true;
26
+ for await (const item of iterable) {
27
+ empty = false;
28
+ yield item;
29
+ }
30
+ if (empty) {
31
+ yield defaultValue;
32
+ }
10
33
  }
@@ -1,4 +1,27 @@
1
- export async function* deferredAsyncIterable(source) {
2
- const iterable = await source();
3
- yield* iterable;
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 deferred_exports = {};
20
+ __export(deferred_exports, {
21
+ deferredAsyncIterable: () => deferredAsyncIterable
22
+ });
23
+ module.exports = __toCommonJS(deferred_exports);
24
+ async function* deferredAsyncIterable(source) {
25
+ const iterable = await source();
26
+ yield* iterable;
4
27
  }
@@ -1,28 +1,52 @@
1
- import { concatAsync } from './concat.js';
2
- import { mapAsync } from './map.js';
3
- import { toArrayAsync } from './to-array.js';
4
- export async function* differenceAsync(baseIterable, iterable, selector = (item) => item) {
5
- const diffItems = mapAsync(iterable, selector);
6
- const diffItemsArray = await toArrayAsync(diffItems);
7
- const diffItemsSet = new Set(diffItemsArray);
8
- let index = 0;
9
- for await (const item of baseIterable) {
10
- const selected = await selector(item, index++);
11
- if (!diffItemsSet.has(selected)) {
12
- yield item;
13
- }
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 difference_exports = {};
20
+ __export(difference_exports, {
21
+ differenceAsync: () => differenceAsync,
22
+ differenceManyAsync: () => differenceManyAsync
23
+ });
24
+ module.exports = __toCommonJS(difference_exports);
25
+ var import_concat = require("./concat.js");
26
+ var import_map = require("./map.js");
27
+ var import_to_array = require("./to-array.js");
28
+ async function* differenceAsync(baseIterable, iterable, selector = (item) => item) {
29
+ const diffItems = (0, import_map.mapAsync)(iterable, selector);
30
+ const diffItemsArray = await (0, import_to_array.toArrayAsync)(diffItems);
31
+ const diffItemsSet = new Set(diffItemsArray);
32
+ let index = 0;
33
+ for await (const item of baseIterable) {
34
+ const selected = await selector(item, index++);
35
+ if (!diffItemsSet.has(selected)) {
36
+ yield item;
14
37
  }
38
+ }
15
39
  }
16
- export async function* differenceManyAsync(baseIterable, iterables, selector = (item) => item) {
17
- const items = concatAsync(...iterables);
18
- const diffItems = mapAsync(items, selector);
19
- const diffItemsArray = await toArrayAsync(diffItems);
20
- const diffItemsSet = new Set(diffItemsArray);
21
- let index = 0;
22
- for await (const item of baseIterable) {
23
- const selected = selector(item, index++);
24
- if (!diffItemsSet.has(selected)) {
25
- yield item;
26
- }
40
+ async function* differenceManyAsync(baseIterable, iterables, selector = (item) => item) {
41
+ const items = (0, import_concat.concatAsync)(...iterables);
42
+ const diffItems = (0, import_map.mapAsync)(items, selector);
43
+ const diffItemsArray = await (0, import_to_array.toArrayAsync)(diffItems);
44
+ const diffItemsSet = new Set(diffItemsArray);
45
+ let index = 0;
46
+ for await (const item of baseIterable) {
47
+ const selected = selector(item, index++);
48
+ if (!diffItemsSet.has(selected)) {
49
+ yield item;
27
50
  }
51
+ }
28
52
  }
@@ -1,30 +1,51 @@
1
- import { isAsyncIterable } from './is-async-iterable.js';
2
- export function distinctAsync(iterable, selector = (item) => item) {
3
- return isAsyncIterable(iterable)
4
- ? async(iterable, selector)
5
- : sync(iterable, selector);
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 distinct_exports = {};
20
+ __export(distinct_exports, {
21
+ distinctAsync: () => distinctAsync
22
+ });
23
+ module.exports = __toCommonJS(distinct_exports);
24
+ var import_is_async_iterable = require("./is-async-iterable.js");
25
+ function distinctAsync(iterable, selector = (item) => item) {
26
+ return (0, import_is_async_iterable.isAsyncIterable)(iterable) ? async(iterable, selector) : sync(iterable, selector);
6
27
  }
7
28
  async function* sync(iterable, selector) {
8
- const items = new Set();
9
- let index = 0;
10
- for (const item of iterable) {
11
- const returnValue = selector(item, index++);
12
- const selection = (returnValue instanceof Promise) ? await returnValue : returnValue;
13
- if (!items.has(selection)) {
14
- items.add(selection);
15
- yield item;
16
- }
29
+ const items = /* @__PURE__ */ new Set();
30
+ let index = 0;
31
+ for (const item of iterable) {
32
+ const returnValue = selector(item, index++);
33
+ const selection = returnValue instanceof Promise ? await returnValue : returnValue;
34
+ if (!items.has(selection)) {
35
+ items.add(selection);
36
+ yield item;
17
37
  }
38
+ }
18
39
  }
19
40
  async function* async(iterable, selector) {
20
- const items = new Set();
21
- let index = 0;
22
- for await (const item of iterable) {
23
- const returnValue = selector(item, index++);
24
- const selection = (returnValue instanceof Promise) ? await returnValue : returnValue;
25
- if (!items.has(selection)) {
26
- items.add(selection);
27
- yield item;
28
- }
41
+ const items = /* @__PURE__ */ new Set();
42
+ let index = 0;
43
+ for await (const item of iterable) {
44
+ const returnValue = selector(item, index++);
45
+ const selection = returnValue instanceof Promise ? await returnValue : returnValue;
46
+ if (!items.has(selection)) {
47
+ items.add(selection);
48
+ yield item;
29
49
  }
50
+ }
30
51
  }
@@ -1,5 +1,27 @@
1
- export async function drainAsync(iterable) {
2
- for await (const _item of iterable) {
3
- // just drain
4
- }
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 drain_exports = {};
20
+ __export(drain_exports, {
21
+ drainAsync: () => drainAsync
22
+ });
23
+ module.exports = __toCommonJS(drain_exports);
24
+ async function drainAsync(iterable) {
25
+ for await (const _item of iterable) {
26
+ }
5
27
  }
@@ -1,30 +1,51 @@
1
- import { isAsyncIterable } from './is-async-iterable.js';
2
- export function filterAsync(iterable, predicate) {
3
- return isAsyncIterable(iterable)
4
- ? async(iterable, predicate)
5
- : sync(iterable, predicate);
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 filter_exports = {};
20
+ __export(filter_exports, {
21
+ filterAsync: () => filterAsync
22
+ });
23
+ module.exports = __toCommonJS(filter_exports);
24
+ var import_is_async_iterable = require("./is-async-iterable.js");
25
+ function filterAsync(iterable, predicate) {
26
+ return (0, import_is_async_iterable.isAsyncIterable)(iterable) ? async(iterable, predicate) : sync(iterable, predicate);
6
27
  }
7
28
  async function* sync(iterable, predicate) {
8
- let index = 0;
9
- for (const item of iterable) {
10
- let matches = predicate(item, index++);
11
- if (matches instanceof Promise) {
12
- matches = await matches;
13
- }
14
- if (matches) {
15
- yield item;
16
- }
29
+ let index = 0;
30
+ for (const item of iterable) {
31
+ let matches = predicate(item, index++);
32
+ if (matches instanceof Promise) {
33
+ matches = await matches;
17
34
  }
35
+ if (matches) {
36
+ yield item;
37
+ }
38
+ }
18
39
  }
19
40
  async function* async(iterable, predicate) {
20
- let index = 0;
21
- for await (const item of iterable) {
22
- let matches = predicate(item, index++);
23
- if (matches instanceof Promise) {
24
- matches = await matches;
25
- }
26
- if (matches) {
27
- yield item;
28
- }
41
+ let index = 0;
42
+ for await (const item of iterable) {
43
+ let matches = predicate(item, index++);
44
+ if (matches instanceof Promise) {
45
+ matches = await matches;
46
+ }
47
+ if (matches) {
48
+ yield item;
29
49
  }
50
+ }
30
51
  }
@@ -1,9 +1,31 @@
1
- import { filterAsync } from './filter.js';
2
- export async function firstOrDefaultAsync(iterable, defaultValue, predicate) {
3
- const source = (predicate == undefined) ? iterable : filterAsync(iterable, predicate);
4
- // eslint-disable-next-line no-unreachable-loop
5
- for await (const item of source) {
6
- return item;
7
- }
8
- return defaultValue;
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 first_or_default_exports = {};
20
+ __export(first_or_default_exports, {
21
+ firstOrDefaultAsync: () => firstOrDefaultAsync
22
+ });
23
+ module.exports = __toCommonJS(first_or_default_exports);
24
+ var import_filter = require("./filter.js");
25
+ async function firstOrDefaultAsync(iterable, defaultValue, predicate) {
26
+ const source = predicate == void 0 ? iterable : (0, import_filter.filterAsync)(iterable, predicate);
27
+ for await (const item of source) {
28
+ return item;
29
+ }
30
+ return defaultValue;
9
31
  }
@@ -1,9 +1,31 @@
1
- import { filterAsync } from './filter.js';
2
- export async function firstAsync(iterable, predicate) {
3
- const source = (predicate == undefined) ? iterable : filterAsync(iterable, predicate);
4
- // eslint-disable-next-line no-unreachable-loop
5
- for await (const item of source) {
6
- return item;
7
- }
8
- throw new Error('iterable was either empty or no element matched predicate');
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 first_exports = {};
20
+ __export(first_exports, {
21
+ firstAsync: () => firstAsync
22
+ });
23
+ module.exports = __toCommonJS(first_exports);
24
+ var import_filter = require("./filter.js");
25
+ async function firstAsync(iterable, predicate) {
26
+ const source = predicate == void 0 ? iterable : (0, import_filter.filterAsync)(iterable, predicate);
27
+ for await (const item of source) {
28
+ return item;
29
+ }
30
+ throw new Error("iterable was either empty or no element matched predicate");
9
31
  }
@@ -1,25 +1,45 @@
1
- import { isAsyncIterable } from './is-async-iterable.js';
2
- // eslint-disable-next-line @typescript-eslint/promise-function-async
3
- export function forEachAsync(iterable, func) {
4
- return isAsyncIterable(iterable)
5
- ? async(iterable, func)
6
- : sync(iterable, func);
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 for_each_exports = {};
20
+ __export(for_each_exports, {
21
+ forEachAsync: () => forEachAsync
22
+ });
23
+ module.exports = __toCommonJS(for_each_exports);
24
+ var import_is_async_iterable = require("./is-async-iterable.js");
25
+ function forEachAsync(iterable, func) {
26
+ return (0, import_is_async_iterable.isAsyncIterable)(iterable) ? async(iterable, func) : sync(iterable, func);
7
27
  }
8
28
  async function sync(iterable, func) {
9
- let index = 0;
10
- for (const item of iterable) {
11
- const returnValue = func(item, index++);
12
- if (returnValue instanceof Promise) {
13
- await returnValue;
14
- }
29
+ let index = 0;
30
+ for (const item of iterable) {
31
+ const returnValue = func(item, index++);
32
+ if (returnValue instanceof Promise) {
33
+ await returnValue;
15
34
  }
35
+ }
16
36
  }
17
37
  async function async(iterable, func) {
18
- let index = 0;
19
- for await (const item of iterable) {
20
- const returnValue = func(item, index++);
21
- if (returnValue instanceof Promise) {
22
- await returnValue;
23
- }
38
+ let index = 0;
39
+ for await (const item of iterable) {
40
+ const returnValue = func(item, index++);
41
+ if (returnValue instanceof Promise) {
42
+ await returnValue;
24
43
  }
44
+ }
25
45
  }