@daiso-tech/core 0.0.1

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 (176) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/config.json +11 -0
  3. package/.changeset/sweet-peas-beg.md +5 -0
  4. package/.eslintignore +3 -0
  5. package/.eslintrc.json +50 -0
  6. package/.gitattributes +6 -0
  7. package/.github/workflows/main.yaml +54 -0
  8. package/.github/workflows/release.yaml +31 -0
  9. package/.prettierignore +4 -0
  10. package/.prettierrc.json +4 -0
  11. package/.vscode/settings.json +46 -0
  12. package/LICENSE.md +194 -0
  13. package/docs-api/.nojekyll +1 -0
  14. package/docs-api/assets/highlight.css +92 -0
  15. package/docs-api/assets/icons.js +18 -0
  16. package/docs-api/assets/icons.svg +1 -0
  17. package/docs-api/assets/main.js +60 -0
  18. package/docs-api/assets/navigation.js +1 -0
  19. package/docs-api/assets/search.js +1 -0
  20. package/docs-api/assets/style.css +1448 -0
  21. package/docs-api/classes/AsyncIterableCollection.html +437 -0
  22. package/docs-api/classes/CollectionError.html +12 -0
  23. package/docs-api/classes/IndexOverflowError.html +12 -0
  24. package/docs-api/classes/ItemNotFoundError.html +12 -0
  25. package/docs-api/classes/IterableCollection.html +434 -0
  26. package/docs-api/classes/ListCollection.html +434 -0
  27. package/docs-api/classes/MultipleItemsFoundError.html +12 -0
  28. package/docs-api/classes/UnexpectedCollectionError.html +12 -0
  29. package/docs-api/functions/isAsyncIterable.html +1 -0
  30. package/docs-api/functions/isIterable.html +1 -0
  31. package/docs-api/functions/range.html +4 -0
  32. package/docs-api/hierarchy.html +1 -0
  33. package/docs-api/index.html +1 -0
  34. package/docs-api/modules.html +60 -0
  35. package/docs-api/types/AsyncCollapse.html +1 -0
  36. package/docs-api/types/AsyncFilter.html +1 -0
  37. package/docs-api/types/AsyncFilter_.html +1 -0
  38. package/docs-api/types/AsyncFindOrSettings.html +1 -0
  39. package/docs-api/types/AsyncFindSettings.html +1 -0
  40. package/docs-api/types/AsyncForEach.html +1 -0
  41. package/docs-api/types/AsyncForEach_.html +1 -0
  42. package/docs-api/types/AsyncGroupBySettings.html +1 -0
  43. package/docs-api/types/AsyncIterableValue.html +1 -0
  44. package/docs-api/types/AsyncLazyable.html +1 -0
  45. package/docs-api/types/AsyncLazyable_.html +1 -0
  46. package/docs-api/types/AsyncMap.html +1 -0
  47. package/docs-api/types/AsyncMap_.html +1 -0
  48. package/docs-api/types/AsyncModifier.html +1 -0
  49. package/docs-api/types/AsyncModifier_.html +1 -0
  50. package/docs-api/types/AsyncReduce.html +1 -0
  51. package/docs-api/types/AsyncReduceSettings.html +1 -0
  52. package/docs-api/types/AsyncReduce_.html +1 -0
  53. package/docs-api/types/AsyncTap.html +1 -0
  54. package/docs-api/types/AsyncTap_.html +1 -0
  55. package/docs-api/types/AsyncTransform.html +1 -0
  56. package/docs-api/types/AsyncTransform_.html +1 -0
  57. package/docs-api/types/Collapse.html +1 -0
  58. package/docs-api/types/Comparator.html +1 -0
  59. package/docs-api/types/EnsureType.html +1 -0
  60. package/docs-api/types/Filter.html +1 -0
  61. package/docs-api/types/FilterGuard.html +1 -0
  62. package/docs-api/types/Filter_.html +1 -0
  63. package/docs-api/types/FindOrSettings.html +1 -0
  64. package/docs-api/types/FindSettings.html +1 -0
  65. package/docs-api/types/ForEach.html +1 -0
  66. package/docs-api/types/GroupBySettings.html +1 -0
  67. package/docs-api/types/IAsyncCollection.html +357 -0
  68. package/docs-api/types/ICollection.html +357 -0
  69. package/docs-api/types/JoinSettings.html +1 -0
  70. package/docs-api/types/Lazyable.html +1 -0
  71. package/docs-api/types/Map.html +1 -0
  72. package/docs-api/types/Modifier.html +1 -0
  73. package/docs-api/types/PageSettings.html +1 -0
  74. package/docs-api/types/RecordItem.html +1 -0
  75. package/docs-api/types/Reduce.html +1 -0
  76. package/docs-api/types/ReduceSettings.html +1 -0
  77. package/docs-api/types/ReverseSettings.html +1 -0
  78. package/docs-api/types/SliceSettings.html +1 -0
  79. package/docs-api/types/SlidingSettings.html +1 -0
  80. package/docs-api/types/Tap.html +1 -0
  81. package/docs-api/types/Transform.html +1 -0
  82. package/docs-api/types/UpdatedItem.html +1 -0
  83. package/package.json +47 -0
  84. package/src/_module.ts +2 -0
  85. package/src/collection/_module.ts +4 -0
  86. package/src/collection/_shared.ts +45 -0
  87. package/src/collection/async-iterable-collection/_module.ts +1 -0
  88. package/src/collection/async-iterable-collection/async-iterable-collection.test.ts +3195 -0
  89. package/src/collection/async-iterable-collection/async-iterable-collection.ts +1276 -0
  90. package/src/collection/async-iterable-collection/async-iterable-helpers/_module.ts +35 -0
  91. package/src/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.ts +25 -0
  92. package/src/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.ts +57 -0
  93. package/src/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.ts +54 -0
  94. package/src/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.ts +40 -0
  95. package/src/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.ts +58 -0
  96. package/src/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.ts +69 -0
  97. package/src/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.ts +19 -0
  98. package/src/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.ts +28 -0
  99. package/src/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.ts +42 -0
  100. package/src/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.ts +44 -0
  101. package/src/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.ts +48 -0
  102. package/src/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.ts +57 -0
  103. package/src/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.ts +57 -0
  104. package/src/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.ts +40 -0
  105. package/src/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.ts +35 -0
  106. package/src/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.ts +41 -0
  107. package/src/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.ts +41 -0
  108. package/src/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.ts +63 -0
  109. package/src/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.ts +40 -0
  110. package/src/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.ts +35 -0
  111. package/src/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.ts +23 -0
  112. package/src/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.ts +41 -0
  113. package/src/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.ts +55 -0
  114. package/src/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.ts +33 -0
  115. package/src/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.ts +54 -0
  116. package/src/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.ts +18 -0
  117. package/src/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.ts +64 -0
  118. package/src/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.ts +41 -0
  119. package/src/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.ts +41 -0
  120. package/src/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.ts +34 -0
  121. package/src/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.ts +20 -0
  122. package/src/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.ts +49 -0
  123. package/src/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.ts +64 -0
  124. package/src/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.ts +43 -0
  125. package/src/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.ts +45 -0
  126. package/src/collection/iterable-collection/_module.ts +1 -0
  127. package/src/collection/iterable-collection/iterable-collection.test.ts +2379 -0
  128. package/src/collection/iterable-collection/iterable-collection.ts +1317 -0
  129. package/src/collection/iterable-collection/iterable-helpers/_module.ts +32 -0
  130. package/src/collection/iterable-collection/iterable-helpers/chunk-iterable.ts +49 -0
  131. package/src/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.ts +51 -0
  132. package/src/collection/iterable-collection/iterable-helpers/collapse-iterable.ts +35 -0
  133. package/src/collection/iterable-collection/iterable-helpers/count-by-iterable.ts +49 -0
  134. package/src/collection/iterable-collection/iterable-helpers/cross-join-iterable.ts +57 -0
  135. package/src/collection/iterable-collection/iterable-helpers/entries-iterable.ts +42 -0
  136. package/src/collection/iterable-collection/iterable-helpers/filter-iterable.ts +39 -0
  137. package/src/collection/iterable-collection/iterable-helpers/flat-map-iterable.ts +35 -0
  138. package/src/collection/iterable-collection/iterable-helpers/group-by-iterable.ts +52 -0
  139. package/src/collection/iterable-collection/iterable-helpers/insert-after-iterable.ts +43 -0
  140. package/src/collection/iterable-collection/iterable-helpers/insert-before-iterable.ts +43 -0
  141. package/src/collection/iterable-collection/iterable-helpers/map-iterable.ts +35 -0
  142. package/src/collection/iterable-collection/iterable-helpers/merge-iterable.ts +31 -0
  143. package/src/collection/iterable-collection/iterable-helpers/pad-end-iterable.ts +52 -0
  144. package/src/collection/iterable-collection/iterable-helpers/pad-start-iterable.ts +52 -0
  145. package/src/collection/iterable-collection/iterable-helpers/partion-iterable.ts +46 -0
  146. package/src/collection/iterable-collection/iterable-helpers/repeat-iterable.ts +36 -0
  147. package/src/collection/iterable-collection/iterable-helpers/reverse-iterable.ts +46 -0
  148. package/src/collection/iterable-collection/iterable-helpers/shuffle-iterable.ts +36 -0
  149. package/src/collection/iterable-collection/iterable-helpers/skip-iterable.ts +37 -0
  150. package/src/collection/iterable-collection/iterable-helpers/skip-until-iterable.ts +41 -0
  151. package/src/collection/iterable-collection/iterable-helpers/slice-iterable.ts +47 -0
  152. package/src/collection/iterable-collection/iterable-helpers/sliding-iterable.ts +49 -0
  153. package/src/collection/iterable-collection/iterable-helpers/sort-iterable.ts +29 -0
  154. package/src/collection/iterable-collection/iterable-helpers/split-iterable.ts +58 -0
  155. package/src/collection/iterable-collection/iterable-helpers/take-iterable.ts +37 -0
  156. package/src/collection/iterable-collection/iterable-helpers/take-until-iterable.ts +38 -0
  157. package/src/collection/iterable-collection/iterable-helpers/tap-iterable.ts +31 -0
  158. package/src/collection/iterable-collection/iterable-helpers/unique-iterable.ts +43 -0
  159. package/src/collection/iterable-collection/iterable-helpers/update-iterable.ts +50 -0
  160. package/src/collection/iterable-collection/iterable-helpers/when-iterable.ts +37 -0
  161. package/src/collection/iterable-collection/iterable-helpers/zip-iterable.ts +41 -0
  162. package/src/collection/list-collection/_module.ts +1 -0
  163. package/src/collection/list-collection/list-collection.test.ts +2280 -0
  164. package/src/collection/list-collection/list-collection.ts +1883 -0
  165. package/src/contracts/_module.ts +1 -0
  166. package/src/contracts/collection/_module.ts +3 -0
  167. package/src/contracts/collection/_shared.ts +346 -0
  168. package/src/contracts/collection/async-collection.contract.ts +1028 -0
  169. package/src/contracts/collection/collection.contract.ts +978 -0
  170. package/src/types.ts +2 -0
  171. package/tsconfig.base.json +31 -0
  172. package/tsconfig.cjs.json +12 -0
  173. package/tsconfig.esm.json +12 -0
  174. package/tsconfig.json +10 -0
  175. package/tsconfig.types.json +12 -0
  176. package/vite.config.ts +6 -0
@@ -0,0 +1,357 @@
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IAsyncCollection | @doso/core</title><meta name="description" content="Documentation for @doso/core"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@doso/core</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@doso/core</a></li><li><a href="IAsyncCollection.html">IAsyncCollection</a></li></ul><h1>Type Alias IAsyncCollection&lt;TInput&gt;</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">IAsync<wbr/>Collection</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">AsyncIterable</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-call-signature">abort</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">signal</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AbortSignal</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">after</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">afterOr</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">defaultValue</span><span class="tsd-signature-symbol">: </span><a href="AsyncLazyable.html" class="tsd-signature-type tsd-kind-type-alias">AsyncLazyable</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">afterOrFail</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">append</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">average</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">before</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">beforeOr</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">defaultValue</span><span class="tsd-signature-symbol">: </span><a href="AsyncLazyable.html" class="tsd-signature-type tsd-kind-type-alias">AsyncLazyable</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">beforeOrFail</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">chunk</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">chunkSize</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">chunkWhile</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">collapse</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="AsyncCollapse.html" class="tsd-signature-type tsd-kind-type-alias">AsyncCollapse</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">count</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">countBy</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">crossJoin</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">iterables</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">delay</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">timeInMs</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">difference</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">?: </span><a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">empty</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">entries</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">every</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">filter</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">first</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">firstOr</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">: </span><a href="AsyncFindOrSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindOrSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">firstOrFail</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">flatMap</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">: </span><a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">forEach</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncForEach.html" class="tsd-signature-type tsd-kind-type-alias">AsyncForEach</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">groupBy</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">insertAfter</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">insertBefore</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">iterator</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncIterator</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">join</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="JoinSettings.html" class="tsd-signature-type tsd-kind-type-alias">JoinSettings</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">keys</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">last</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">lastOr</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">: </span><a href="AsyncFindOrSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindOrSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">lastOrFail</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">map</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">: </span><a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">max</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">median</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">min</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">notEmpty</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">nth</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">step</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">padEnd</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">maxLength</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">fillItems</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">padStart</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">maxLength</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">fillItems</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">page</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">: </span><a href="PageSettings.html" class="tsd-signature-type tsd-kind-type-alias">PageSettings</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">partition</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">percentage</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">pipe</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncTransform.html" class="tsd-signature-type tsd-kind-type-alias">AsyncTransform</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">prepend</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">reduce</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">: </span><a href="AsyncReduceSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncReduceSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">repeat</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">amount</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">reverse</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="ReverseSettings.html" class="tsd-signature-type tsd-kind-type-alias">ReverseSettings</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">search</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">shuffle</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">size</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">skip</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">offset</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">skipUntil</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">skipWhile</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">slice</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="SliceSettings.html" class="tsd-signature-type tsd-kind-type-alias">SliceSettings</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">sliding</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">: </span><a href="SlidingSettings.html" class="tsd-signature-type tsd-kind-type-alias">SlidingSettings</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">sole</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">some</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">sort</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">compare</span><span class="tsd-signature-symbol">?: </span><a href="Comparator.html" class="tsd-signature-type tsd-kind-type-alias">Comparator</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">split</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">chunkAmount</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">sum</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">take</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">limit</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">takeUntil</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">takeWhile</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">tap</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncTap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncTap</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">timeout</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">timeInMs</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">toArray</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">unique</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?: </span><a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">update</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span><span class="tsd-signature-symbol">: </span><a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">: </span><a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="UpdatedItem.html" class="tsd-signature-type tsd-kind-type-alias">UpdatedItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">values</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">when</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">condition</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">whenEmpty</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">whenNot</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">condition</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">whenNotEmpty</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">: </span><a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-call-signature">zip</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">: </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-comment tsd-typography"><p>IAsyncCollection is immutable and all the methods return new copies</p>
2
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="TInput" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TInput</span></span></li></ul></section><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-method">abort</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">abort</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">signal</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">signal</span>: <span class="tsd-signature-type">AbortSignal</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:961</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">after</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">after</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The after method returns the item after the given item. null is returned if the given item is not found or is the last item:</p>
3
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example" class="tsd-anchor"></a>Example<a href="#Example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">after</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-7">// 3</span>
4
+ </code><button type="button">Copy</button></pre>
5
+
6
+ <h4 class="tsd-anchor-link"><a id="Example-1" class="tsd-anchor"></a>Example<a href="#Example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">after</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">4</span><span class="hl-1">);</span><br/><span class="hl-7">// null</span>
7
+ </code><button type="button">Copy</button></pre>
8
+
9
+ <h4 class="tsd-anchor-link"><a id="Throws" class="tsd-anchor"></a>Throws<a href="#Throws" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
10
+ <h4 class="tsd-anchor-link"><a id="Throws-1" class="tsd-anchor"></a>Throws<a href="#Throws-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
11
+ <h4 class="tsd-anchor-link"><a id="Throws-2" class="tsd-anchor"></a>Throws<a href="#Throws-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
12
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:904</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">after<wbr/>Or</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">after<wbr/>Or</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">defaultValue</span>, <span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The afterOr method is the same as after method but will return a provided default value if not found</p>
13
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">defaultValue</span>: <a href="AsyncLazyable.html" class="tsd-signature-type tsd-kind-type-alias">AsyncLazyable</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-3" class="tsd-anchor"></a>Throws<a href="#Throws-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
14
+ <h4 class="tsd-anchor-link"><a id="Throws-4" class="tsd-anchor"></a>Throws<a href="#Throws-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
15
+ <h4 class="tsd-anchor-link"><a id="Throws-5" class="tsd-anchor"></a>Throws<a href="#Throws-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
16
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:915</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">after<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">after<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The afterOrFail method is the same as after method but will throw an Error if not found</p>
17
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-6" class="tsd-anchor"></a>Throws<a href="#Throws-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
18
+ <h4 class="tsd-anchor-link"><a id="Throws-7" class="tsd-anchor"></a>Throws<a href="#Throws-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
19
+ <h4 class="tsd-anchor-link"><a id="Throws-8" class="tsd-anchor"></a>Throws<a href="#Throws-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/ItemNotFoundError.html" class="tsd-kind-class">ItemNotFoundError</a></p>
20
+ <h4 class="tsd-anchor-link"><a id="Throws-9" class="tsd-anchor"></a>Throws<a href="#Throws-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
21
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:928</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">append</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">append</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The append method adds items to the end of the collection:</p>
22
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-2" class="tsd-anchor"></a>Example<a href="#Example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]).</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">1</span><span class="hl-1">, -</span><span class="hl-4">2</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4, 5, -1, -2,]</span>
23
+ </code><button type="button">Copy</button></pre>
24
+
25
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:688</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">average</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">average</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The average method returns the average of all items in the collection. If the collection contains nested arrays or objects,
26
+ you should pass a map function that returns a number to be used in average calculation.
27
+ You can only pass filter to filter out the items you want:</p>
28
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-3" class="tsd-anchor"></a>Example<a href="#Example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">average</span><span class="hl-1">();</span><br/><span class="hl-7">// 2</span>
29
+ </code><button type="button">Copy</button></pre>
30
+
31
+ <h4 class="tsd-anchor-link"><a id="Throws-10" class="tsd-anchor"></a>Throws<a href="#Throws-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
32
+ <h4 class="tsd-anchor-link"><a id="Throws-11" class="tsd-anchor"></a>Throws<a href="#Throws-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
33
+ <h4 class="tsd-anchor-link"><a id="Throws-12" class="tsd-anchor"></a>Throws<a href="#Throws-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
34
+ <h4 class="tsd-anchor-link"><a id="Throws-13" class="tsd-anchor"></a>Throws<a href="#Throws-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>TypeError</p>
35
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:194</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">before</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">before</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The before method is the opposite of the after method. It returns the item before the given item. null is returned if the given item is not found or is the first item:</p>
36
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-4" class="tsd-anchor"></a>Example<a href="#Example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">before</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-7">// 1</span>
37
+ </code><button type="button">Copy</button></pre>
38
+
39
+ <h4 class="tsd-anchor-link"><a id="Example-5" class="tsd-anchor"></a>Example<a href="#Example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">before</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">1</span><span class="hl-1">);</span><br/><span class="hl-7">// null</span>
40
+ </code><button type="button">Copy</button></pre>
41
+
42
+ <h4 class="tsd-anchor-link"><a id="Throws-14" class="tsd-anchor"></a>Throws<a href="#Throws-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
43
+ <h4 class="tsd-anchor-link"><a id="Throws-15" class="tsd-anchor"></a>Throws<a href="#Throws-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
44
+ <h4 class="tsd-anchor-link"><a id="Throws-16" class="tsd-anchor"></a>Throws<a href="#Throws-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
45
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:861</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">before<wbr/>Or</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">before<wbr/>Or</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">defaultValue</span>, <span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The beforeOr method is the same as before method but will return a provided default value if not found</p>
46
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">defaultValue</span>: <a href="AsyncLazyable.html" class="tsd-signature-type tsd-kind-type-alias">AsyncLazyable</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-17" class="tsd-anchor"></a>Throws<a href="#Throws-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
47
+ <h4 class="tsd-anchor-link"><a id="Throws-18" class="tsd-anchor"></a>Throws<a href="#Throws-18" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
48
+ <h4 class="tsd-anchor-link"><a id="Throws-19" class="tsd-anchor"></a>Throws<a href="#Throws-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
49
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:872</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">before<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">before<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The beforeOrFail method is the same as before method but will throw an Error if not found</p>
50
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-20" class="tsd-anchor"></a>Throws<a href="#Throws-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
51
+ <h4 class="tsd-anchor-link"><a id="Throws-21" class="tsd-anchor"></a>Throws<a href="#Throws-21" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
52
+ <h4 class="tsd-anchor-link"><a id="Throws-22" class="tsd-anchor"></a>Throws<a href="#Throws-22" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/ItemNotFoundError.html" class="tsd-kind-class">ItemNotFoundError</a></p>
53
+ <h4 class="tsd-anchor-link"><a id="Throws-23" class="tsd-anchor"></a>Throws<a href="#Throws-23" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
54
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:885</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">chunk</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">chunk</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">chunkSize</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The chunk method breaks the collection into multiple, smaller collections of a given size:</p>
55
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">chunkSize</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-6" class="tsd-anchor"></a>Example<a href="#Example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-4">7</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunks</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">chunk</span><span class="hl-1">(</span><span class="hl-4">4</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunks</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[1, 2, 3, 4], [5, 6, 7]]</span>
56
+ </code><button type="button">Copy</button></pre>
57
+
58
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:471</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">chunk<wbr/>While</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">chunk<wbr/>While</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The chunkWhile method breaks the collection into multiple, smaller collections based on the evaluation of the given callback.
59
+ The chunk variable passed to the closure may be used to inspect the previous element:</p>
60
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-7" class="tsd-anchor"></a>Example<a href="#Example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;AABBCCCD&quot;</span><span class="hl-1">.</span><span class="hl-3">split</span><span class="hl-1">(</span><span class="hl-8">&quot;&quot;</span><span class="hl-1">));</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunks</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">chunkWhile</span><span class="hl-1">((</span><span class="hl-6">value</span><span class="hl-1">, </span><span class="hl-6">index</span><span class="hl-1">, </span><span class="hl-6">chunk</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">return</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1"> === </span><span class="hl-6">chunk</span><span class="hl-1">.</span><span class="hl-3">last</span><span class="hl-1">();</span><br/><span class="hl-1">});</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunks</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[&quot;A&quot;, &quot;A&quot;], [&quot;B&quot;, &quot;B&quot;], [&quot;C&quot;, &quot;C&quot;, &quot;C&quot;], [&quot;D&quot;]]</span>
61
+ </code><button type="button">Copy</button></pre>
62
+
63
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:484</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">collapse</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">collapse</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="AsyncCollapse.html" class="tsd-signature-type tsd-kind-type-alias">AsyncCollapse</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The collapse method collapses a collection of arrays into a single, flat collection:</p>
64
+ </div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="AsyncCollapse.html" class="tsd-signature-type tsd-kind-type-alias">AsyncCollapse</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-8" class="tsd-anchor"></a>Example<a href="#Example-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([[</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">], [</span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collapsed</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">collapse</span><span class="hl-1">();</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collapsed</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4]</span>
65
+ </code><button type="button">Copy</button></pre>
66
+
67
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:119</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">count</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">count</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The count method returns the total number of items in the collection:</p>
68
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-9" class="tsd-anchor"></a>Example<a href="#Example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">count</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1"> % </span><span class="hl-4">2</span><span class="hl-1"> === </span><span class="hl-4">0</span><span class="hl-1">);</span><br/><span class="hl-7">// 3</span>
69
+ </code><button type="button">Copy</button></pre>
70
+
71
+ <h4 class="tsd-anchor-link"><a id="Throws-24" class="tsd-anchor"></a>Throws<a href="#Throws-24" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
72
+ <h4 class="tsd-anchor-link"><a id="Throws-25" class="tsd-anchor"></a>Throws<a href="#Throws-25" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
73
+ <h4 class="tsd-anchor-link"><a id="Throws-26" class="tsd-anchor"></a>Throws<a href="#Throws-26" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
74
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:975</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">count<wbr/>By</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">count<wbr/>By</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The countBy method counts the occurrences of values in the collection.
75
+ By default, the method counts the occurrences of every element, allowing you to count certain &quot;types&quot; of elements in the collection:</p>
76
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-10" class="tsd-anchor"></a>Example<a href="#Example-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;c&quot;</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">count</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">countBy</span><span class="hl-1">();</span><br/><span class="hl-7">// [[&quot;a&quot;, 3], [&quot;b&quot;, 2], [&quot;c&quot;, 1]]</span>
77
+ </code><button type="button">Copy</button></pre>
78
+
79
+ <h4 class="tsd-anchor-link"><a id="Example-11" class="tsd-anchor"></a>Example<a href="#Example-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;alice@gmail.com&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;bob@yahoo.com&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;carlos@gmail.com&quot;</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">count</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">countBy</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1">.</span><span class="hl-3">split</span><span class="hl-1">(</span><span class="hl-8">&quot;@&quot;</span><span class="hl-1">)[</span><span class="hl-4">1</span><span class="hl-1">])</span><br/><span class="hl-7">// [[&quot;gmail.com&quot;, 2], [&quot;yahoo.com&quot;, 1]]</span>
80
+ </code><button type="button">Copy</button></pre>
81
+
82
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:562</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">cross<wbr/>Join</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">cross<wbr/>Join</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">iterables</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The crossJoin method cross joins the collection's values among the given arrays or collections, returning a Cartesian product with all possible permutations:</p>
83
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Rest</code><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">iterables</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-12" class="tsd-anchor"></a>Example<a href="#Example-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">matrix</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">crossJoin</span><span class="hl-1">([</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">matrix</span><span class="hl-1">.</span><span class="hl-3">map</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">()).</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [</span><br/><span class="hl-7">// [1, &quot;a&quot;],</span><br/><span class="hl-7">// [1, &quot;b&quot;],</span><br/><span class="hl-7">// [2, &quot;a&quot;],</span><br/><span class="hl-7">// [2, &quot;b&quot;],</span><br/><span class="hl-7">// ]</span>
84
+ </code><button type="button">Copy</button></pre>
85
+
86
+ <h4 class="tsd-anchor-link"><a id="Example-13" class="tsd-anchor"></a>Example<a href="#Example-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">matrix</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">crossJoin</span><span class="hl-1">([</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">], [</span><span class="hl-8">&quot;I&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;II&quot;</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">matrix</span><span class="hl-1">.</span><span class="hl-3">map</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">()).</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [</span><br/><span class="hl-7">// [1, &quot;a&quot;, &quot;I&quot;],</span><br/><span class="hl-7">// [1, &quot;a&quot;, &quot;II&quot;],</span><br/><span class="hl-7">// [1, &quot;b&quot;, &quot;I&quot;],</span><br/><span class="hl-7">// [1, &quot;b&quot;, &quot;II&quot;],</span><br/><span class="hl-7">// [2, &quot;a&quot;, &quot;I&quot;],</span><br/><span class="hl-7">// [2, &quot;a&quot;, &quot;II&quot;],</span><br/><span class="hl-7">// [2, &quot;b&quot;, &quot;I&quot;],</span><br/><span class="hl-7">// [2, &quot;b&quot;, &quot;II&quot;],</span><br/><span class="hl-7">// ]</span>
87
+ </code><button type="button">Copy</button></pre>
88
+
89
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:745</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">delay</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">delay</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">timeInMs</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">timeInMs</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:959</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">difference</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">difference</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span>, <span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The diff method will return the values in the original collection that are not present in the given iterable:</p>
90
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">map</span>: <a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-14" class="tsd-anchor"></a>Example<a href="#Example-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">difference</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">difference</span><span class="hl-1">([</span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-4">8</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">difference</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 3, 5]</span>
91
+ </code><button type="button">Copy</button></pre>
92
+
93
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:607</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">empty</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">empty</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-27" class="tsd-anchor"></a>Throws<a href="#Throws-27" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
94
+ <h4 class="tsd-anchor-link"><a id="Throws-28" class="tsd-anchor"></a>Throws<a href="#Throws-28" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
95
+ <h4 class="tsd-anchor-link"><a id="Throws-29" class="tsd-anchor"></a>Throws<a href="#Throws-29" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
96
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:992</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">entries</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">entries</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:63</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">every</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">every</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The every method may be used to verify that all elements of a collection pass a given truth test:</p>
97
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-15" class="tsd-anchor"></a>Example<a href="#Example-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">0</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">every</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &lt; </span><span class="hl-4">6</span><span class="hl-1">);</span><br/><span class="hl-7">// true</span>
98
+ </code><button type="button">Copy</button></pre>
99
+
100
+ <h4 class="tsd-anchor-link"><a id="Throws-30" class="tsd-anchor"></a>Throws<a href="#Throws-30" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
101
+ <h4 class="tsd-anchor-link"><a id="Throws-31" class="tsd-anchor"></a>Throws<a href="#Throws-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
102
+ <h4 class="tsd-anchor-link"><a id="Throws-32" class="tsd-anchor"></a>Throws<a href="#Throws-32" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
103
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:280</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">filter</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">filter</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The filter method filters the collection using the given callback, keeping only those items that pass a given truth test:</p>
104
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-16" class="tsd-anchor"></a>Example<a href="#Example-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">filtered</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">filter</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-4">2</span><span class="hl-1"> &lt; </span><span class="hl-6">item</span><span class="hl-1"> &amp;&amp; </span><span class="hl-6">item</span><span class="hl-1"> &lt; </span><span class="hl-4">5</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">filtered</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [3, 4]</span>
105
+ </code><button type="button">Copy</button></pre>
106
+
107
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:79</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">first</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">first</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The first method returns the first element in the collection that passes a given truth test. By default it will get the first element:</p>
108
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-17" class="tsd-anchor"></a>Example<a href="#Example-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">first</span><span class="hl-1">({ </span><span class="hl-3">filter</span><span class="hl-6">:</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &gt; </span><span class="hl-4">2</span><span class="hl-1"> });</span>
109
+ </code><button type="button">Copy</button></pre>
110
+
111
+ <h4 class="tsd-anchor-link"><a id="Throws-33" class="tsd-anchor"></a>Throws<a href="#Throws-33" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
112
+ <h4 class="tsd-anchor-link"><a id="Throws-34" class="tsd-anchor"></a>Throws<a href="#Throws-34" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
113
+ <h4 class="tsd-anchor-link"><a id="Throws-35" class="tsd-anchor"></a>Throws<a href="#Throws-35" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a>
114
+ // 3</p>
115
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:777</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">first<wbr/>Or</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">first<wbr/>Or</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The firstOr method is the same as first method but will return a provided default value if not found</p>
116
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindOrSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindOrSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-36" class="tsd-anchor"></a>Throws<a href="#Throws-36" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
117
+ <h4 class="tsd-anchor-link"><a id="Throws-37" class="tsd-anchor"></a>Throws<a href="#Throws-37" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
118
+ <h4 class="tsd-anchor-link"><a id="Throws-38" class="tsd-anchor"></a>Throws<a href="#Throws-38" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
119
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:787</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">first<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">first<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The firstOrFail method is the same as first method but will throw an Error if not found</p>
120
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-39" class="tsd-anchor"></a>Throws<a href="#Throws-39" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
121
+ <h4 class="tsd-anchor-link"><a id="Throws-40" class="tsd-anchor"></a>Throws<a href="#Throws-40" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
122
+ <h4 class="tsd-anchor-link"><a id="Throws-41" class="tsd-anchor"></a>Throws<a href="#Throws-41" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/ItemNotFoundError.html" class="tsd-kind-class">ItemNotFoundError</a></p>
123
+ <h4 class="tsd-anchor-link"><a id="Throws-42" class="tsd-anchor"></a>Throws<a href="#Throws-42" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
124
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:803</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">flat<wbr/>Map</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">flat<wbr/>Map</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">map</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The flatMap method returns a new array formed by applying a given callback function to each element of the array, and then collapses the result by one level.
125
+ It is identical to a map() followed by a collapse()</p>
126
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">map</span>: <a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-18" class="tsd-anchor"></a>Example<a href="#Example-18" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([[</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">], [</span><span class="hl-8">&quot;c&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;d&quot;</span><span class="hl-1">]]).</span><span class="hl-3">flatMap</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> [</span><span class="hl-6">item</span><span class="hl-1">.</span><span class="hl-6">length</span><span class="hl-1">, ...</span><span class="hl-6">item</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [2, &quot;a&quot;, &quot;b&quot;, 2, &quot;c&quot;, &quot;d&quot;]</span>
127
+ </code><button type="button">Copy</button></pre>
128
+
129
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:129</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">for<wbr/>Each</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">for<wbr/>Each</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncForEach.html" class="tsd-signature-type tsd-kind-type-alias">AsyncForEach</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-43" class="tsd-anchor"></a>Throws<a href="#Throws-43" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
130
+ <h4 class="tsd-anchor-link"><a id="Throws-44" class="tsd-anchor"></a>Throws<a href="#Throws-44" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
131
+ <h4 class="tsd-anchor-link"><a id="Throws-45" class="tsd-anchor"></a>Throws<a href="#Throws-45" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
132
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:1017</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">group<wbr/>By</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">group<wbr/>By</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The groupBy method groups the collection's items by a given map function:</p>
133
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-19" class="tsd-anchor"></a>Example<a href="#Example-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;c&quot;</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">group</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><br/><span class="hl-1"> .</span><span class="hl-3">groupBy</span><span class="hl-1">()</span><br/><span class="hl-1"> .</span><span class="hl-3">map</span><span class="hl-1">(</span><span class="hl-0">async</span><span class="hl-1"> ([</span><span class="hl-6">key</span><span class="hl-1">, </span><span class="hl-6">value</span><span class="hl-1">]) </span><span class="hl-0">=&gt;</span><span class="hl-1"> [</span><span class="hl-6">key</span><span class="hl-1">, </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">()]).</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[&quot;a&quot;, [&quot;a&quot;, &quot;a&quot;, &quot;a&quot;]], [&quot;b&quot;, [&quot;b&quot;, &quot;b&quot;, &quot;b&quot;]], [&quot;c&quot;, [&quot;c&quot;]]]</span>
134
+ </code><button type="button">Copy</button></pre>
135
+
136
+ <h4 class="tsd-anchor-link"><a id="Example-20" class="tsd-anchor"></a>Example<a href="#Example-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;alice@gmail.com&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;bob@yahoo.com&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;carlos@gmail.com&quot;</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">group</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><br/><span class="hl-1"> .</span><span class="hl-3">groupBy</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1">.</span><span class="hl-3">split</span><span class="hl-1">(</span><span class="hl-8">&quot;@&quot;</span><span class="hl-1">)[</span><span class="hl-4">1</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">map</span><span class="hl-1">(([</span><span class="hl-6">key</span><span class="hl-1">, </span><span class="hl-6">value</span><span class="hl-1">]) </span><span class="hl-0">=&gt;</span><span class="hl-1"> [</span><span class="hl-6">key</span><span class="hl-1">, </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">()]).</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[&quot;gmail.com&quot;, [&quot;alice@gmail.com&quot;, &quot;carlos@gmail.com&quot;]], [&quot;yahoo.com&quot;, [&quot;bob@yahoo.com&quot;]]]</span>
137
+ </code><button type="button">Copy</button></pre>
138
+
139
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:542</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">insert<wbr/>After</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">insert<wbr/>After</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">iterable</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The insertAfter method adds items after a specific filtered item:</p>
140
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-21" class="tsd-anchor"></a>Example<a href="#Example-21" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]).</span><span class="hl-3">insertAfter</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">2</span><span class="hl-1">, [-</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">20</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, -1, 20, 2, 3, 4, 5]</span>
141
+ </code><button type="button">Copy</button></pre>
142
+
143
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:712</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">insert<wbr/>Before</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">insert<wbr/>Before</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">iterable</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The insertBefore method adds items before a specific filtered item:</p>
144
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-22" class="tsd-anchor"></a>Example<a href="#Example-22" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]).</span><span class="hl-3">insertBefore</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">2</span><span class="hl-1">, [-</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">20</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, -1, 20, 2, 2, 3, 4, 5]</span>
145
+ </code><button type="button">Copy</button></pre>
146
+
147
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:699</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">iterator</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">iterator</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">AsyncIterator</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">AsyncIterator</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:61</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">join</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">join</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="JoinSettings.html" class="tsd-signature-type tsd-kind-type-alias">JoinSettings</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-46" class="tsd-anchor"></a>Throws<a href="#Throws-46" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4></div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:109</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">keys</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">keys</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:67</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">last</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">last</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The last method returns the last element in the collection that passes a given truth test. By default it will get the last element:</p>
148
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-23" class="tsd-anchor"></a>Example<a href="#Example-23" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">last</span><span class="hl-1">({ </span><span class="hl-3">filter</span><span class="hl-6">:</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &gt; </span><span class="hl-4">2</span><span class="hl-1"> });</span><br/><span class="hl-7">// 4</span>
149
+ </code><button type="button">Copy</button></pre>
150
+
151
+ <h4 class="tsd-anchor-link"><a id="Throws-47" class="tsd-anchor"></a>Throws<a href="#Throws-47" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
152
+ <h4 class="tsd-anchor-link"><a id="Throws-48" class="tsd-anchor"></a>Throws<a href="#Throws-48" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
153
+ <h4 class="tsd-anchor-link"><a id="Throws-49" class="tsd-anchor"></a>Throws<a href="#Throws-49" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
154
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:817</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">last<wbr/>Or</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">last<wbr/>Or</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The lastOr method is the same as last method but will return a provided default value if not found</p>
155
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindOrSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindOrSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-50" class="tsd-anchor"></a>Throws<a href="#Throws-50" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
156
+ <h4 class="tsd-anchor-link"><a id="Throws-51" class="tsd-anchor"></a>Throws<a href="#Throws-51" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
157
+ <h4 class="tsd-anchor-link"><a id="Throws-52" class="tsd-anchor"></a>Throws<a href="#Throws-52" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
158
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:827</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">last<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">last<wbr/>Or<wbr/>Fail</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The lastOrFail method is the same as last method but will throw an Error if not found</p>
159
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncFindSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFindSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-53" class="tsd-anchor"></a>Throws<a href="#Throws-53" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
160
+ <h4 class="tsd-anchor-link"><a id="Throws-54" class="tsd-anchor"></a>Throws<a href="#Throws-54" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
161
+ <h4 class="tsd-anchor-link"><a id="Throws-55" class="tsd-anchor"></a>Throws<a href="#Throws-55" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/ItemNotFoundError.html" class="tsd-kind-class">ItemNotFoundError</a></p>
162
+ <h4 class="tsd-anchor-link"><a id="Throws-56" class="tsd-anchor"></a>Throws<a href="#Throws-56" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
163
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:843</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">map</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">map</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">map</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The map method iterates through the collection and passes each value to the given callback.
164
+ The mapFunction is free to modify the item and return it, thus forming a new collection of modified items:</p>
165
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">map</span>: <a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-24" class="tsd-anchor"></a>Example<a href="#Example-24" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">mapped</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">map</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> * </span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">mapped</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [2, 4, 6, 8, 10]</span>
166
+ </code><button type="button">Copy</button></pre>
167
+
168
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:93</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">max</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">max</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The max method returns the max of all items in the collection. If the collection contains nested arrays or objects,
169
+ you should pass a map function that returns a number to be used in max calculation.
170
+ You can only pass filter to filter out the items you want:</p>
171
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-25" class="tsd-anchor"></a>Example<a href="#Example-25" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">max</span><span class="hl-1">();</span><br/><span class="hl-7">// 3</span>
172
+ </code><button type="button">Copy</button></pre>
173
+
174
+ <h4 class="tsd-anchor-link"><a id="Throws-57" class="tsd-anchor"></a>Throws<a href="#Throws-57" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
175
+ <h4 class="tsd-anchor-link"><a id="Throws-58" class="tsd-anchor"></a>Throws<a href="#Throws-58" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
176
+ <h4 class="tsd-anchor-link"><a id="Throws-59" class="tsd-anchor"></a>Throws<a href="#Throws-59" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>TypeError</p>
177
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:237</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">median</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">median</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The median method returns the median of all items in the collection. If the collection contains nested arrays or objects,
178
+ you should pass a map function that returns a number to be used in median calculation.
179
+ You can only pass filter to filter out the items you want:</p>
180
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-26" class="tsd-anchor"></a>Example<a href="#Example-26" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">median</span><span class="hl-1">();</span><br/><span class="hl-7">// 2</span>
181
+ </code><button type="button">Copy</button></pre>
182
+
183
+ <h4 class="tsd-anchor-link"><a id="Throws-60" class="tsd-anchor"></a>Throws<a href="#Throws-60" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
184
+ <h4 class="tsd-anchor-link"><a id="Throws-61" class="tsd-anchor"></a>Throws<a href="#Throws-61" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
185
+ <h4 class="tsd-anchor-link"><a id="Throws-62" class="tsd-anchor"></a>Throws<a href="#Throws-62" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
186
+ <h4 class="tsd-anchor-link"><a id="Throws-63" class="tsd-anchor"></a>Throws<a href="#Throws-63" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>TypeError</p>
187
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:209</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">min</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">min</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The min method returns the min of all items in the collection. If the collection contains nested arrays or objects,
188
+ you should pass a map function that returns a number to be used in min calculation.
189
+ You can only pass filter to filter out the items you want:</p>
190
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-27" class="tsd-anchor"></a>Example<a href="#Example-27" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">min</span><span class="hl-1">();</span><br/><span class="hl-7">// 1</span>
191
+ </code><button type="button">Copy</button></pre>
192
+
193
+ <h4 class="tsd-anchor-link"><a id="Throws-64" class="tsd-anchor"></a>Throws<a href="#Throws-64" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
194
+ <h4 class="tsd-anchor-link"><a id="Throws-65" class="tsd-anchor"></a>Throws<a href="#Throws-65" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
195
+ <h4 class="tsd-anchor-link"><a id="Throws-66" class="tsd-anchor"></a>Throws<a href="#Throws-66" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>TypeError</p>
196
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:223</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">not<wbr/>Empty</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">not<wbr/>Empty</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-67" class="tsd-anchor"></a>Throws<a href="#Throws-67" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
197
+ <h4 class="tsd-anchor-link"><a id="Throws-68" class="tsd-anchor"></a>Throws<a href="#Throws-68" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
198
+ <h4 class="tsd-anchor-link"><a id="Throws-69" class="tsd-anchor"></a>Throws<a href="#Throws-69" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
199
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:999</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">nth</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">nth</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">step</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The nth method creates a new collection consisting of every n-th element:</p>
200
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">step</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-28" class="tsd-anchor"></a>Example<a href="#Example-28" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;a&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;b&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;c&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;d&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;e&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;f&quot;</span><span class="hl-1">]).</span><span class="hl-3">nth</span><span class="hl-1">(</span><span class="hl-4">4</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [&quot;a&quot;, &quot;e&quot;]</span>
201
+ </code><button type="button">Copy</button></pre>
202
+
203
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:957</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">pad<wbr/>End</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">pad<wbr/>End</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">maxLength</span>, <span class="tsd-kind-parameter">fillItems</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The padEnd method pads this collection with another item (multiple times, if needed) until the resulting collection reaches the given length.
204
+ The padding is applied from the end of this collection:</p>
205
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">maxLength</span>: <span class="tsd-signature-type">number</span></span></li><li><span><span class="tsd-kind-parameter">fillItems</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-29" class="tsd-anchor"></a>Example<a href="#Example-29" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padEnd</span><span class="hl-1">(</span><span class="hl-4">10</span><span class="hl-1">, </span><span class="hl-8">&quot;foo&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;abcfoofoof&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padEnd</span><span class="hl-1">(</span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-8">&quot;123465&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;abc123&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padEnd</span><span class="hl-1">(</span><span class="hl-4">8</span><span class="hl-1">, </span><span class="hl-8">&quot;0&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;abc00000&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padEnd</span><span class="hl-1">(</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-8">&quot;_&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;abc&quot;</span>
206
+ </code><button type="button">Copy</button></pre>
207
+
208
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:659</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">pad<wbr/>Start</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">pad<wbr/>Start</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">maxLength</span>, <span class="tsd-kind-parameter">fillItems</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The padStart method pads this collection with another item (multiple times, if needed) until the resulting collection reaches the given length.
209
+ The padding is applied from the start of this collection:</p>
210
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">maxLength</span>: <span class="tsd-signature-type">number</span></span></li><li><span><span class="tsd-kind-parameter">fillItems</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-30" class="tsd-anchor"></a>Example<a href="#Example-30" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padStart</span><span class="hl-1">(</span><span class="hl-4">10</span><span class="hl-1">, </span><span class="hl-8">&quot;foo&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;foofoofabc&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padStart</span><span class="hl-1">(</span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-8">&quot;123465&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;123abc&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padStart</span><span class="hl-1">(</span><span class="hl-4">8</span><span class="hl-1">, </span><span class="hl-8">&quot;0&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;00000abc&quot;</span><br/><br/><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">(</span><span class="hl-8">&quot;abc&quot;</span><span class="hl-1">).</span><span class="hl-3">padStart</span><span class="hl-1">(</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-8">&quot;_&quot;</span><span class="hl-1">).</span><span class="hl-3">join</span><span class="hl-1">({ </span><span class="hl-6">seperator:</span><span class="hl-1"> </span><span class="hl-8">&quot;&quot;</span><span class="hl-1"> });</span><br/><span class="hl-7">// &quot;abc&quot;</span>
211
+ </code><button type="button">Copy</button></pre>
212
+
213
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:638</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">page</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">page</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The page method returns a new collection containing the items that would be present on a given page number.
214
+ The method accepts the page number as its first argument and the number of items to show per page as its second argument:</p>
215
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">settings</span>: <a href="PageSettings.html" class="tsd-signature-type tsd-kind-type-alias">PageSettings</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-31" class="tsd-anchor"></a>Example<a href="#Example-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-4">7</span><span class="hl-1">, </span><span class="hl-4">8</span><span class="hl-1">, </span><span class="hl-4">9</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">page</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">page</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">page:</span><span class="hl-1"> </span><span class="hl-4">2</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">pageSize:</span><span class="hl-1"> </span><span class="hl-4">3</span><br/><span class="hl-1">});</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">page</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [4, 5, 6]</span>
216
+ </code><button type="button">Copy</button></pre>
217
+
218
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:164</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">partition</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">partition</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The partition method is used to separate elements that pass a given truth test from those that do not:</p>
219
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-32" class="tsd-anchor"></a>Example<a href="#Example-32" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">]);</span><br/><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">partition</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &lt; </span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[1, 2], [3, 4, 5, 6]]</span>
220
+ </code><button type="button">Copy</button></pre>
221
+
222
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:510</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">percentage</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">percentage</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The percentage method may be used to quickly determine the percentage of items in the collection that pass a given truth test</p>
223
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-33" class="tsd-anchor"></a>Example<a href="#Example-33" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">percentage</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1"> === </span><span class="hl-4">1</span><span class="hl-1">);</span><br/><span class="hl-7">// 33.333</span>
224
+ </code><button type="button">Copy</button></pre>
225
+
226
+ <h4 class="tsd-anchor-link"><a id="Throws-70" class="tsd-anchor"></a>Throws<a href="#Throws-70" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
227
+ <h4 class="tsd-anchor-link"><a id="Throws-71" class="tsd-anchor"></a>Throws<a href="#Throws-71" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
228
+ <h4 class="tsd-anchor-link"><a id="Throws-72" class="tsd-anchor"></a>Throws<a href="#Throws-72" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
229
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:249</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">pipe</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">pipe</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The pipe method passes the collection to the given closure and returns the result of the executed closure:</p>
230
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncTransform.html" class="tsd-signature-type tsd-kind-type-alias">AsyncTransform</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-34" class="tsd-anchor"></a>Example<a href="#Example-34" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">piped</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">pipe</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">sum</span><span class="hl-1">());</span><br/><span class="hl-7">// 6</span>
231
+ </code><button type="button">Copy</button></pre>
232
+
233
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:444</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">prepend</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">prepend</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The prepend method adds items to the beginning of the collection:</p>
234
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-35" class="tsd-anchor"></a>Example<a href="#Example-35" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]).</span><span class="hl-3">prepend</span><span class="hl-1">([-</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">20</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [-1, 20, 1, 2, 3, 4, 5]</span>
235
+ </code><button type="button">Copy</button></pre>
236
+
237
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:677</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">reduce</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">reduce</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">settings</span>: <a href="AsyncReduceSettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncReduceSettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:98</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">repeat</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">repeat</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">amount</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The repeat method will repat the current collection given amount</p>
238
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">amount</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-36" class="tsd-anchor"></a>Example<a href="#Example-36" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">ListCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">newCollection</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">repeat</span><span class="hl-1">(</span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-6">newCollection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 1, 2, 3, 1, 2, 3]</span>
239
+ </code><button type="button">Copy</button></pre>
240
+
241
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:620</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">reverse</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">reverse</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="ReverseSettings.html" class="tsd-signature-type tsd-kind-type-alias">ReverseSettings</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:763</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">search</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">search</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The search method searches the collection for the given value and returns its index if found. If the item is not found, -1 is returned:</p>
242
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-73" class="tsd-anchor"></a>Throws<a href="#Throws-73" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
243
+ <h4 class="tsd-anchor-link"><a id="Throws-74" class="tsd-anchor"></a>Throws<a href="#Throws-74" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
244
+ <h4 class="tsd-anchor-link"><a id="Throws-75" class="tsd-anchor"></a>Throws<a href="#Throws-75" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
245
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:1007</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">shuffle</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">shuffle</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:765</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">size</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">size</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-76" class="tsd-anchor"></a>Throws<a href="#Throws-76" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
246
+ <h4 class="tsd-anchor-link"><a id="Throws-77" class="tsd-anchor"></a>Throws<a href="#Throws-77" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
247
+ <h4 class="tsd-anchor-link"><a id="Throws-78" class="tsd-anchor"></a>Throws<a href="#Throws-78" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
248
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:985</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">skip</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">skip</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">offset</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The skip method returns a new collection, with the given number of elements removed from the beginning of the collection:</p>
249
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">offset</span>: <span class="tsd-signature-type">number</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-37" class="tsd-anchor"></a>Example<a href="#Example-37" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">, </span><span class="hl-4">7</span><span class="hl-1">, </span><span class="hl-4">8</span><span class="hl-1">, </span><span class="hl-4">9</span><span class="hl-1">, </span><span class="hl-4">10</span><span class="hl-1">]).</span><span class="hl-3">skip</span><span class="hl-1">(</span><span class="hl-4">4</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [5, 6, 7, 8, 9, 10]</span>
250
+ </code><button type="button">Copy</button></pre>
251
+
252
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:333</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">skip<wbr/>Until</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">skip<wbr/>Until</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The skipUntil method skips over items from the collection until the given callback returns true
253
+ and then returns the remaining items in the collection as a new collection instance:</p>
254
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-38" class="tsd-anchor"></a>Example<a href="#Example-38" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]).</span><span class="hl-3">skipUntil</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &gt;= </span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [3, 4]</span>
255
+ </code><button type="button">Copy</button></pre>
256
+
257
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:346</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">skip<wbr/>While</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">skip<wbr/>While</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The skipWhile method skips over items from the collection while the given callback returns false and then returns the remaining items in the collection as a new collection:</p>
258
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-39" class="tsd-anchor"></a>Example<a href="#Example-39" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]).</span><span class="hl-3">skipWhile</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &lt;= </span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [4]</span>
259
+ </code><button type="button">Copy</button></pre>
260
+
261
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:358</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">slice</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">slice</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The slice is the same as Array.slice method. Se documentation on mdn:</p>
262
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="SliceSettings.html" class="tsd-signature-type tsd-kind-type-alias">SliceSettings</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Link" class="tsd-anchor"></a>Link<a href="#Link" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4></div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:668</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">sliding</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">sliding</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><code class="tsd-tag">Experimental</code><div class="tsd-comment tsd-typography"><p>The sliding method returns a new collection of chunks representing a &quot;sliding window&quot; view of the items in the collection:</p>
263
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">settings</span>: <a href="SlidingSettings.html" class="tsd-signature-type tsd-kind-type-alias">SlidingSettings</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-40" class="tsd-anchor"></a>Example<a href="#Example-40" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]).</span><span class="hl-3">sliding</span><span class="hl-1">(</span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[1, 2], [2, 3], [3, 4], [4, 5]]</span>
264
+ </code><button type="button">Copy</button></pre>
265
+
266
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:523</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">sole</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">sole</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The sole method returns the first element in the collection that passes a given truth test, but only if the truth test matches exactly one element:</p>
267
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-41" class="tsd-anchor"></a>Example<a href="#Example-41" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">sole</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">4</span><span class="hl-1">);</span><br/><span class="hl-7">// 4</span>
268
+ </code><button type="button">Copy</button></pre>
269
+
270
+ <h4 class="tsd-anchor-link"><a id="Throws-79" class="tsd-anchor"></a>Throws<a href="#Throws-79" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
271
+ <h4 class="tsd-anchor-link"><a id="Throws-80" class="tsd-anchor"></a>Throws<a href="#Throws-80" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
272
+ <h4 class="tsd-anchor-link"><a id="Throws-81" class="tsd-anchor"></a>Throws<a href="#Throws-81" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/ItemNotFoundError.html" class="tsd-kind-class">ItemNotFoundError</a></p>
273
+ <h4 class="tsd-anchor-link"><a id="Throws-82" class="tsd-anchor"></a>Throws<a href="#Throws-82" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/MultipleItemsFoundError.html" class="tsd-kind-class">MultipleItemsFoundError</a></p>
274
+ <h4 class="tsd-anchor-link"><a id="Throws-83" class="tsd-anchor"></a>Throws<a href="#Throws-83" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
275
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:945</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">some</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">some</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The some method determines whether the collection has a given item.
276
+ You must pass a closure to the some method to determine if an element exists in the collection matching a given truth test:</p>
277
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-42" class="tsd-anchor"></a>Example<a href="#Example-42" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">0</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">some</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> === </span><span class="hl-4">1</span><span class="hl-1">);</span><br/><span class="hl-7">// true</span>
278
+ </code><button type="button">Copy</button></pre>
279
+
280
+ <h4 class="tsd-anchor-link"><a id="Throws-84" class="tsd-anchor"></a>Throws<a href="#Throws-84" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
281
+ <h4 class="tsd-anchor-link"><a id="Throws-85" class="tsd-anchor"></a>Throws<a href="#Throws-85" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
282
+ <h4 class="tsd-anchor-link"><a id="Throws-86" class="tsd-anchor"></a>Throws<a href="#Throws-86" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
283
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:265</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">sort</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">sort</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">compare</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">compare</span>: <a href="Comparator.html" class="tsd-signature-type tsd-kind-type-alias">Comparator</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:761</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">split</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">split</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">chunkAmount</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The split method breaks a collection into the given number of groups:</p>
284
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">chunkAmount</span>: <span class="tsd-signature-type">number</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-43" class="tsd-anchor"></a>Example<a href="#Example-43" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunks</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">split</span><span class="hl-1">(</span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunks</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[1, 2], [3, 4], [5]]</span>
285
+ </code><button type="button">Copy</button></pre>
286
+
287
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:497</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">sum</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">sum</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The sum method returns the sum of all items in the collection. If the collection contains nested arrays or objects,
288
+ you should pass a map function that returns a number to be used in sum calculation.
289
+ You can only pass filter to filter out the items you want:</p>
290
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="EnsureType.html" class="tsd-signature-type tsd-kind-type-alias">EnsureType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-44" class="tsd-anchor"></a>Example<a href="#Example-44" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">sum</span><span class="hl-1">();</span><br/><span class="hl-7">// 6</span>
291
+ </code><button type="button">Copy</button></pre>
292
+
293
+ <h4 class="tsd-anchor-link"><a id="Throws-87" class="tsd-anchor"></a>Throws<a href="#Throws-87" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
294
+ <h4 class="tsd-anchor-link"><a id="Throws-88" class="tsd-anchor"></a>Throws<a href="#Throws-88" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
295
+ <h4 class="tsd-anchor-link"><a id="Throws-89" class="tsd-anchor"></a>Throws<a href="#Throws-89" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
296
+ <h4 class="tsd-anchor-link"><a id="Throws-90" class="tsd-anchor"></a>Throws<a href="#Throws-90" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>TypeError</p>
297
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:179</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">take</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">take</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">limit</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The take method returns items in the collection until the given callback returns true:</p>
298
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">limit</span>: <span class="tsd-signature-type">number</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-45" class="tsd-anchor"></a>Example<a href="#Example-45" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">0</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunk</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">take</span><span class="hl-1">(</span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunk</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [0, 1, 2]</span>
299
+ </code><button type="button">Copy</button></pre>
300
+
301
+ <h4 class="tsd-anchor-link"><a id="Example-46" class="tsd-anchor"></a>Example<a href="#Example-46" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">0</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunk</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">take</span><span class="hl-1">(-</span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunk</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [4, 5]</span>
302
+ </code><button type="button">Copy</button></pre>
303
+
304
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:298</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">take<wbr/>Until</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">take<wbr/>Until</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The takeUntil method returns items in the collection until the given callback returns true:</p>
305
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-47" class="tsd-anchor"></a>Example<a href="#Example-47" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunk</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">takeUntil</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &gt;= </span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunk</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2]</span>
306
+ </code><button type="button">Copy</button></pre>
307
+
308
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:308</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">take<wbr/>While</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">take<wbr/>While</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The takeWhile method returns items in the collection until the given callback returns false:</p>
309
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-48" class="tsd-anchor"></a>Example<a href="#Example-48" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">chunk</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">takeWhile</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> &lt; </span><span class="hl-4">3</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">chunk</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2]</span>
310
+ </code><button type="button">Copy</button></pre>
311
+
312
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:321</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">tap</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">tap</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The tap method passes the collection to the given callback, allowing you to &quot;tap&quot; into the collection at a specific point
313
+ and do something with the items while not affecting the collection itself.The collection is then returned by the tap method:</p>
314
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncTap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncTap</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-49" class="tsd-anchor"></a>Example<a href="#Example-49" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">, </span><span class="hl-4">6</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">tap</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">collection</span><br/><span class="hl-1"> .</span><span class="hl-3">filter</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">value</span><span class="hl-1"> % </span><span class="hl-4">2</span><span class="hl-1"> === </span><span class="hl-4">0</span><span class="hl-1">)</span><br/><span class="hl-1"> .</span><span class="hl-3">forEach</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-3">log</span><span class="hl-1">(</span><span class="hl-6">value</span><span class="hl-1">))</span><br/><span class="hl-1"> })</span><br/><span class="hl-1"> .</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4, 5, 6]</span>
315
+ </code><button type="button">Copy</button></pre>
316
+
317
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:461</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">timeout</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">timeout</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">timeInMs</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">timeInMs</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:963</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">to<wbr/>Array</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">to<wbr/>Array</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-91" class="tsd-anchor"></a>Throws<a href="#Throws-91" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/CollectionError.html" class="tsd-kind-class">CollectionError</a></p>
318
+ <h4 class="tsd-anchor-link"><a id="Throws-92" class="tsd-anchor"></a>Throws<a href="#Throws-92" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/UnexpectedCollectionError.html" class="tsd-kind-class">UnexpectedCollectionError</a></p>
319
+ <h4 class="tsd-anchor-link"><a id="Throws-93" class="tsd-anchor"></a>Throws<a href="#Throws-93" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../classes/IndexOverflowError.html" class="tsd-kind-class">IndexOverflowError</a></p>
320
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:1027</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">unique</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">unique</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">settings</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The unique method removes all duplicate values from the collection:</p>
321
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TOutput</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">settings</span>: <a href="AsyncGroupBySettings.html" class="tsd-signature-type tsd-kind-type-alias">AsyncGroupBySettings</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-50" class="tsd-anchor"></a>Example<a href="#Example-50" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">unique</span><span class="hl-1">().</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4]</span>
322
+ </code><button type="button">Copy</button></pre>
323
+
324
+ <h4 class="tsd-anchor-link"><a id="Example-51" class="tsd-anchor"></a>Example<a href="#Example-51" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><br/><span class="hl-1"> { </span><span class="hl-6">name:</span><span class="hl-1"> </span><span class="hl-8">&quot;iPhone 6&quot;</span><span class="hl-1">, </span><span class="hl-6">brand:</span><span class="hl-1"> </span><span class="hl-8">&quot;Apple&quot;</span><span class="hl-1">, </span><span class="hl-6">type:</span><span class="hl-1"> </span><span class="hl-8">&quot;phone&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-6">name:</span><span class="hl-1"> </span><span class="hl-8">&quot;iPhone 5&quot;</span><span class="hl-1">, </span><span class="hl-6">brand:</span><span class="hl-1"> </span><span class="hl-8">&quot;Apple&quot;</span><span class="hl-1">, </span><span class="hl-6">type:</span><span class="hl-1"> </span><span class="hl-8">&quot;phone&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-6">name:</span><span class="hl-1"> </span><span class="hl-8">&quot;Apple Watch&quot;</span><span class="hl-1">, </span><span class="hl-6">brand:</span><span class="hl-1"> </span><span class="hl-8">&quot;Apple&quot;</span><span class="hl-1">, </span><span class="hl-6">type:</span><span class="hl-1"> </span><span class="hl-8">&quot;watch&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-6">name:</span><span class="hl-1"> </span><span class="hl-8">&quot;Galaxy S6&quot;</span><span class="hl-1">, </span><span class="hl-6">brand:</span><span class="hl-1"> </span><span class="hl-8">&quot;Samsung&quot;</span><span class="hl-1">, </span><span class="hl-6">type:</span><span class="hl-1"> </span><span class="hl-8">&quot;phone&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-6">name:</span><span class="hl-1"> </span><span class="hl-8">&quot;Galaxy Gear&quot;</span><span class="hl-1">, </span><span class="hl-6">brand:</span><span class="hl-1"> </span><span class="hl-8">&quot;Samsung&quot;</span><span class="hl-1">, </span><span class="hl-6">type:</span><span class="hl-1"> </span><span class="hl-8">&quot;watch&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">unique</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">unique</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1">.</span><span class="hl-6">brand</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">unique</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [</span><br/><span class="hl-1"> { </span><span class="hl-9">name</span><span class="hl-1">: </span><span class="hl-8">&quot;iPhone 6&quot;</span><span class="hl-1">, </span><span class="hl-9">brand</span><span class="hl-1">: </span><span class="hl-8">&quot;Apple&quot;</span><span class="hl-1">, </span><span class="hl-9">type</span><span class="hl-1">: </span><span class="hl-8">&quot;phone&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-9">name</span><span class="hl-1">: </span><span class="hl-8">&quot;Galaxy S6&quot;</span><span class="hl-1">, </span><span class="hl-9">brand</span><span class="hl-1">: </span><span class="hl-8">&quot;Samsung&quot;</span><span class="hl-1">, </span><span class="hl-9">type</span><span class="hl-1">: </span><span class="hl-8">&quot;phone&quot;</span><span class="hl-1"> },</span><br/><span class="hl-1">]</span>
325
+ </code><button type="button">Copy</button></pre>
326
+
327
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:591</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">update</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">update</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">filter</span>, <span class="tsd-kind-parameter">map</span>, <span class="tsd-kind-parameter">throwOnNumberLimit</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="UpdatedItem.html" class="tsd-signature-type tsd-kind-type-alias">UpdatedItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The update method filters the collection using the given callback, keeping only those items that pass a given truth test and thereafter updates the filtered items:</p>
328
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TFilterOutput</span></span></li><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TMapOutput</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">filter</span>: <a href="AsyncFilter.html" class="tsd-signature-type tsd-kind-type-alias">AsyncFilter</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><span class="tsd-kind-parameter">map</span>: <a href="AsyncMap.html" class="tsd-signature-type tsd-kind-type-alias">AsyncMap</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">throwOnNumberLimit</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="UpdatedItem.html" class="tsd-signature-type tsd-kind-type-alias">UpdatedItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TFilterOutput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TMapOutput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-52" class="tsd-anchor"></a>Example<a href="#Example-52" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">, </span><span class="hl-4">5</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">updateCollection</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">update</span><span class="hl-1">(</span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> % </span><span class="hl-4">2</span><span class="hl-1"> === </span><span class="hl-4">0</span><span class="hl-1">, </span><span class="hl-6">item</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">item</span><span class="hl-1"> * </span><span class="hl-4">2</span><span class="hl-1">);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">updateCollection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 4, 3, 8, 5]</span>
329
+ </code><button type="button">Copy</button></pre>
330
+
331
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:146</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">values</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">values</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:69</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">when</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">when</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">condition</span>, <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The when method will execute the given callback when the first argument given to the method evaluates to true:</p>
332
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">condition</span>: <span class="tsd-signature-type">boolean</span></span></li><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-53" class="tsd-anchor"></a>Example<a href="#Example-53" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">when</span><span class="hl-1">(</span><span class="hl-0">true</span><span class="hl-1">, </span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-1"> .</span><span class="hl-3">when</span><span class="hl-1">(</span><span class="hl-0">false</span><span class="hl-1">, </span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([</span><span class="hl-4">20</span><span class="hl-1">]));</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4, -3]</span>
333
+ </code><button type="button">Copy</button></pre>
334
+
335
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:372</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">when<wbr/>Empty</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">when<wbr/>Empty</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The whenEmpty method will execute the given callback when the collection is empty:</p>
336
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-54" class="tsd-anchor"></a>Example<a href="#Example-54" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([])</span><br/><span class="hl-1"> .</span><span class="hl-3">whenEmpty</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [-3]</span>
337
+ </code><button type="button">Copy</button></pre>
338
+
339
+ <h4 class="tsd-anchor-link"><a id="Example-55" class="tsd-anchor"></a>Example<a href="#Example-55" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">whenEmpty</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1]</span>
340
+ </code><button type="button">Copy</button></pre>
341
+
342
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:393</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">when<wbr/>Not</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">when<wbr/>Not</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">condition</span>, <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The whenNot method will execute the given callback when the first argument given to the method evaluates to false:</p>
343
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">condition</span>: <span class="tsd-signature-type">boolean</span></span></li><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-56" class="tsd-anchor"></a>Example<a href="#Example-56" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">, </span><span class="hl-4">2</span><span class="hl-1">, </span><span class="hl-4">3</span><span class="hl-1">, </span><span class="hl-4">4</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">whenNot</span><span class="hl-1">(</span><span class="hl-0">true</span><span class="hl-1">, </span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-1"> .</span><span class="hl-3">whenNot</span><span class="hl-1">(</span><span class="hl-0">false</span><span class="hl-1">, </span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([</span><span class="hl-4">20</span><span class="hl-1">]));</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, 2, 3, 4, 20]</span>
344
+ </code><button type="button">Copy</button></pre>
345
+
346
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:409</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">when<wbr/>Not<wbr/>Empty</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">when<wbr/>Not<wbr/>Empty</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The whenNotEmpty method will execute the given callback when the collection is empty:</p>
347
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span> = <a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callback</span>: <a href="AsyncModifier.html" class="tsd-signature-type tsd-kind-type-alias">AsyncModifier</a><span class="tsd-signature-symbol">&lt;</span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol"> | </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-57" class="tsd-anchor"></a>Example<a href="#Example-57" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([])</span><br/><span class="hl-1"> .</span><span class="hl-3">whenNotEmpty</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// []</span>
348
+ </code><button type="button">Copy</button></pre>
349
+
350
+ <h4 class="tsd-anchor-link"><a id="Example-58" class="tsd-anchor"></a>Example<a href="#Example-58" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-4">1</span><span class="hl-1">])</span><br/><span class="hl-1"> .</span><span class="hl-3">whenNotEmpty</span><span class="hl-1">(</span><span class="hl-6">collection</span><span class="hl-1"> </span><span class="hl-0">=&gt;</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">append</span><span class="hl-1">([-</span><span class="hl-4">3</span><span class="hl-1">]))</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [1, -3]</span>
351
+ </code><button type="button">Copy</button></pre>
352
+
353
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:430</li></ul></aside></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">zip</span><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a class="tsd-anchor"></a><span class="tsd-kind-call-signature">zip</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">iterable</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>The zip method merges together the values of the given array with the values of the original collection at their corresponding index:</p>
354
+ </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a class="tsd-anchor"></a><span class="tsd-kind-type-parameter">TExtended</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">iterable</span>: <a href="AsyncIterableValue.html" class="tsd-signature-type tsd-kind-type-alias">AsyncIterableValue</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="IAsyncCollection.html" class="tsd-signature-type tsd-kind-type-alias">IAsyncCollection</a><span class="tsd-signature-symbol">&lt;</span><a href="RecordItem.html" class="tsd-signature-type tsd-kind-type-alias">RecordItem</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IAsyncCollection.html#TInput">TInput</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="">TExtended</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Example-59" class="tsd-anchor"></a>Example<a href="#Example-59" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">collection</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-3">AsyncIterableCollection</span><span class="hl-1">([</span><span class="hl-8">&quot;Chair&quot;</span><span class="hl-1">, </span><span class="hl-8">&quot;Desk&quot;</span><span class="hl-1">]);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">zipped</span><span class="hl-1"> = </span><span class="hl-6">collection</span><span class="hl-1">.</span><span class="hl-3">zip</span><span class="hl-1">([</span><span class="hl-4">100</span><span class="hl-1">, </span><span class="hl-4">200</span><span class="hl-1">]);</span><br/><span class="hl-5">await</span><span class="hl-1"> </span><span class="hl-6">zipped</span><span class="hl-1">.</span><span class="hl-3">toArray</span><span class="hl-1">();</span><br/><span class="hl-7">// [[&quot;Chari&quot;, 100], [&quot;Desk&quot;, 200]]</span>
355
+ </code><button type="button">Copy</button></pre>
356
+
357
+ </div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:757</li></ul></aside></li></ul></li></ul></div><div class="tsd-comment tsd-typography"><h4 class="tsd-anchor-link"><a id="Throws-94" class="tsd-anchor"></a>Throws<a href="#Throws-94" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><h4 class="tsd-anchor-link"><a id="Throws-95" class="tsd-anchor"></a>Throws<a href="#Throws-95" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><h4 class="tsd-anchor-link"><a id="Throws-96" class="tsd-anchor"></a>Throws<a href="#Throws-96" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><h4 class="tsd-anchor-link"><a id="Throws-97" class="tsd-anchor"></a>Throws<a href="#Throws-97" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><h4 class="tsd-anchor-link"><a id="Throws-98" class="tsd-anchor"></a>Throws<a href="#Throws-98" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><h4 class="tsd-anchor-link"><a id="Throws-99" class="tsd-anchor"></a>Throws<a href="#Throws-99" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4></div><aside class="tsd-sources"><ul><li>Defined in src/contracts/collection/async-collection.contract.ts:60</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@doso/core</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>