@daiso-tech/core 0.1.0 → 0.1.2

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 (590) hide show
  1. package/dist/cjs/_module.js +19 -0
  2. package/dist/cjs/_module.js.map +1 -0
  3. package/dist/cjs/collection/_module.js +21 -0
  4. package/dist/cjs/collection/_module.js.map +1 -0
  5. package/dist/cjs/collection/_shared.js +28 -0
  6. package/dist/cjs/collection/_shared.js.map +1 -0
  7. package/dist/cjs/collection/async-iterable-collection/_module.js +18 -0
  8. package/dist/cjs/collection/async-iterable-collection/_module.js.map +1 -0
  9. package/dist/cjs/collection/async-iterable-collection/async-iterable-collection.js +669 -0
  10. package/dist/cjs/collection/async-iterable-collection/async-iterable-collection.js.map +1 -0
  11. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/_module.js +52 -0
  12. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/_module.js.map +1 -0
  13. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.js +25 -0
  14. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.js.map +1 -0
  15. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.js +43 -0
  16. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.js.map +1 -0
  17. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.js +43 -0
  18. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.js.map +1 -0
  19. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.js +32 -0
  20. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.js.map +1 -0
  21. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.js +39 -0
  22. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.js.map +1 -0
  23. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.js +43 -0
  24. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.js.map +1 -0
  25. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.js +25 -0
  26. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.js.map +1 -0
  27. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.js +24 -0
  28. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.js.map +1 -0
  29. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.js +32 -0
  30. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.js.map +1 -0
  31. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.js +30 -0
  32. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.js.map +1 -0
  33. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.js +30 -0
  34. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.js.map +1 -0
  35. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.js +43 -0
  36. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.js.map +1 -0
  37. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.js +43 -0
  38. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.js.map +1 -0
  39. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.js +30 -0
  40. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.js.map +1 -0
  41. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.js +27 -0
  42. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.js.map +1 -0
  43. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.js +34 -0
  44. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.js.map +1 -0
  45. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.js +34 -0
  46. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.js.map +1 -0
  47. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.js +45 -0
  48. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.js.map +1 -0
  49. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.js +32 -0
  50. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.js.map +1 -0
  51. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.js +28 -0
  52. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.js.map +1 -0
  53. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.js +25 -0
  54. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.js.map +1 -0
  55. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.js +33 -0
  56. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.js.map +1 -0
  57. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.js +41 -0
  58. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.js.map +1 -0
  59. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.js +36 -0
  60. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.js.map +1 -0
  61. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.js +45 -0
  62. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.js.map +1 -0
  63. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.js +16 -0
  64. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.js.map +1 -0
  65. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.js +49 -0
  66. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.js.map +1 -0
  67. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.js +33 -0
  68. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.js.map +1 -0
  69. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.js +33 -0
  70. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.js.map +1 -0
  71. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.js +27 -0
  72. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.js.map +1 -0
  73. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.js +21 -0
  74. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.js.map +1 -0
  75. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.js +35 -0
  76. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.js.map +1 -0
  77. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.js +37 -0
  78. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.js.map +1 -0
  79. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.js +32 -0
  80. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.js.map +1 -0
  81. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.js +37 -0
  82. package/dist/cjs/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.js.map +1 -0
  83. package/dist/cjs/collection/iterable-collection/_module.js +18 -0
  84. package/dist/cjs/collection/iterable-collection/_module.js.map +1 -0
  85. package/dist/cjs/collection/iterable-collection/iterable-collection.js +749 -0
  86. package/dist/cjs/collection/iterable-collection/iterable-collection.js.map +1 -0
  87. package/dist/cjs/collection/iterable-collection/iterable-helpers/_module.js +49 -0
  88. package/dist/cjs/collection/iterable-collection/iterable-helpers/_module.js.map +1 -0
  89. package/dist/cjs/collection/iterable-collection/iterable-helpers/chunk-iterable.js +43 -0
  90. package/dist/cjs/collection/iterable-collection/iterable-helpers/chunk-iterable.js.map +1 -0
  91. package/dist/cjs/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.js +43 -0
  92. package/dist/cjs/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.js.map +1 -0
  93. package/dist/cjs/collection/iterable-collection/iterable-helpers/collapse-iterable.js +32 -0
  94. package/dist/cjs/collection/iterable-collection/iterable-helpers/collapse-iterable.js.map +1 -0
  95. package/dist/cjs/collection/iterable-collection/iterable-helpers/count-by-iterable.js +39 -0
  96. package/dist/cjs/collection/iterable-collection/iterable-helpers/count-by-iterable.js.map +1 -0
  97. package/dist/cjs/collection/iterable-collection/iterable-helpers/cross-join-iterable.js +43 -0
  98. package/dist/cjs/collection/iterable-collection/iterable-helpers/cross-join-iterable.js.map +1 -0
  99. package/dist/cjs/collection/iterable-collection/iterable-helpers/entries-iterable.js +34 -0
  100. package/dist/cjs/collection/iterable-collection/iterable-helpers/entries-iterable.js.map +1 -0
  101. package/dist/cjs/collection/iterable-collection/iterable-helpers/filter-iterable.js +32 -0
  102. package/dist/cjs/collection/iterable-collection/iterable-helpers/filter-iterable.js.map +1 -0
  103. package/dist/cjs/collection/iterable-collection/iterable-helpers/flat-map-iterable.js +30 -0
  104. package/dist/cjs/collection/iterable-collection/iterable-helpers/flat-map-iterable.js.map +1 -0
  105. package/dist/cjs/collection/iterable-collection/iterable-helpers/group-by-iterable.js +40 -0
  106. package/dist/cjs/collection/iterable-collection/iterable-helpers/group-by-iterable.js.map +1 -0
  107. package/dist/cjs/collection/iterable-collection/iterable-helpers/insert-after-iterable.js +37 -0
  108. package/dist/cjs/collection/iterable-collection/iterable-helpers/insert-after-iterable.js.map +1 -0
  109. package/dist/cjs/collection/iterable-collection/iterable-helpers/insert-before-iterable.js +37 -0
  110. package/dist/cjs/collection/iterable-collection/iterable-helpers/insert-before-iterable.js.map +1 -0
  111. package/dist/cjs/collection/iterable-collection/iterable-helpers/map-iterable.js +30 -0
  112. package/dist/cjs/collection/iterable-collection/iterable-helpers/map-iterable.js.map +1 -0
  113. package/dist/cjs/collection/iterable-collection/iterable-helpers/merge-iterable.js +27 -0
  114. package/dist/cjs/collection/iterable-collection/iterable-helpers/merge-iterable.js.map +1 -0
  115. package/dist/cjs/collection/iterable-collection/iterable-helpers/pad-end-iterable.js +44 -0
  116. package/dist/cjs/collection/iterable-collection/iterable-helpers/pad-end-iterable.js.map +1 -0
  117. package/dist/cjs/collection/iterable-collection/iterable-helpers/pad-start-iterable.js +44 -0
  118. package/dist/cjs/collection/iterable-collection/iterable-helpers/pad-start-iterable.js.map +1 -0
  119. package/dist/cjs/collection/iterable-collection/iterable-helpers/partion-iterable.js +40 -0
  120. package/dist/cjs/collection/iterable-collection/iterable-helpers/partion-iterable.js.map +1 -0
  121. package/dist/cjs/collection/iterable-collection/iterable-helpers/repeat-iterable.js +32 -0
  122. package/dist/cjs/collection/iterable-collection/iterable-helpers/repeat-iterable.js.map +1 -0
  123. package/dist/cjs/collection/iterable-collection/iterable-helpers/reverse-iterable.js +38 -0
  124. package/dist/cjs/collection/iterable-collection/iterable-helpers/reverse-iterable.js.map +1 -0
  125. package/dist/cjs/collection/iterable-collection/iterable-helpers/shuffle-iterable.js +35 -0
  126. package/dist/cjs/collection/iterable-collection/iterable-helpers/shuffle-iterable.js.map +1 -0
  127. package/dist/cjs/collection/iterable-collection/iterable-helpers/skip-iterable.js +32 -0
  128. package/dist/cjs/collection/iterable-collection/iterable-helpers/skip-iterable.js.map +1 -0
  129. package/dist/cjs/collection/iterable-collection/iterable-helpers/skip-until-iterable.js +36 -0
  130. package/dist/cjs/collection/iterable-collection/iterable-helpers/skip-until-iterable.js.map +1 -0
  131. package/dist/cjs/collection/iterable-collection/iterable-helpers/slice-iterable.js +46 -0
  132. package/dist/cjs/collection/iterable-collection/iterable-helpers/slice-iterable.js.map +1 -0
  133. package/dist/cjs/collection/iterable-collection/iterable-helpers/sliding-iterable.js +45 -0
  134. package/dist/cjs/collection/iterable-collection/iterable-helpers/sliding-iterable.js.map +1 -0
  135. package/dist/cjs/collection/iterable-collection/iterable-helpers/sort-iterable.js +26 -0
  136. package/dist/cjs/collection/iterable-collection/iterable-helpers/sort-iterable.js.map +1 -0
  137. package/dist/cjs/collection/iterable-collection/iterable-helpers/split-iterable.js +49 -0
  138. package/dist/cjs/collection/iterable-collection/iterable-helpers/split-iterable.js.map +1 -0
  139. package/dist/cjs/collection/iterable-collection/iterable-helpers/take-iterable.js +32 -0
  140. package/dist/cjs/collection/iterable-collection/iterable-helpers/take-iterable.js.map +1 -0
  141. package/dist/cjs/collection/iterable-collection/iterable-helpers/take-until-iterable.js +33 -0
  142. package/dist/cjs/collection/iterable-collection/iterable-helpers/take-until-iterable.js.map +1 -0
  143. package/dist/cjs/collection/iterable-collection/iterable-helpers/tap-iterable.js +27 -0
  144. package/dist/cjs/collection/iterable-collection/iterable-helpers/tap-iterable.js.map +1 -0
  145. package/dist/cjs/collection/iterable-collection/iterable-helpers/unique-iterable.js +35 -0
  146. package/dist/cjs/collection/iterable-collection/iterable-helpers/unique-iterable.js.map +1 -0
  147. package/dist/cjs/collection/iterable-collection/iterable-helpers/update-iterable.js +37 -0
  148. package/dist/cjs/collection/iterable-collection/iterable-helpers/update-iterable.js.map +1 -0
  149. package/dist/cjs/collection/iterable-collection/iterable-helpers/when-iterable.js +32 -0
  150. package/dist/cjs/collection/iterable-collection/iterable-helpers/when-iterable.js.map +1 -0
  151. package/dist/cjs/collection/iterable-collection/iterable-helpers/zip-iterable.js +33 -0
  152. package/dist/cjs/collection/iterable-collection/iterable-helpers/zip-iterable.js.map +1 -0
  153. package/dist/cjs/collection/list-collection/_module.js +18 -0
  154. package/dist/cjs/collection/list-collection/_module.js.map +1 -0
  155. package/dist/cjs/collection/list-collection/list-collection.js +1264 -0
  156. package/dist/cjs/collection/list-collection/list-collection.js.map +1 -0
  157. package/dist/cjs/contracts/_module.js +18 -0
  158. package/dist/cjs/contracts/_module.js.map +1 -0
  159. package/dist/cjs/contracts/collection/_module.js +20 -0
  160. package/dist/cjs/contracts/collection/_module.js.map +1 -0
  161. package/dist/cjs/contracts/collection/_shared.js +39 -0
  162. package/dist/cjs/contracts/collection/_shared.js.map +1 -0
  163. package/dist/cjs/contracts/collection/async-collection.contract.js +3 -0
  164. package/dist/cjs/contracts/collection/async-collection.contract.js.map +1 -0
  165. package/dist/cjs/contracts/collection/collection.contract.js +3 -0
  166. package/dist/cjs/contracts/collection/collection.contract.js.map +1 -0
  167. package/dist/cjs/types.js +3 -0
  168. package/dist/cjs/types.js.map +1 -0
  169. package/dist/esm/_module.js +3 -0
  170. package/dist/esm/_module.js.map +1 -0
  171. package/dist/esm/collection/_module.js +5 -0
  172. package/dist/esm/collection/_module.js.map +1 -0
  173. package/dist/esm/collection/_shared.js +23 -0
  174. package/dist/esm/collection/_shared.js.map +1 -0
  175. package/dist/esm/collection/async-iterable-collection/_module.js +2 -0
  176. package/dist/esm/collection/async-iterable-collection/_module.js.map +1 -0
  177. package/dist/esm/collection/async-iterable-collection/async-iterable-collection.js +665 -0
  178. package/dist/esm/collection/async-iterable-collection/async-iterable-collection.js.map +1 -0
  179. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/_module.js +36 -0
  180. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/_module.js.map +1 -0
  181. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.js +21 -0
  182. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.js.map +1 -0
  183. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.js +39 -0
  184. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.js.map +1 -0
  185. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.js +39 -0
  186. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.js.map +1 -0
  187. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.js +28 -0
  188. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.js.map +1 -0
  189. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.js +35 -0
  190. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.js.map +1 -0
  191. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.js +39 -0
  192. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.js.map +1 -0
  193. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.js +21 -0
  194. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.js.map +1 -0
  195. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.js +20 -0
  196. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.js.map +1 -0
  197. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.js +28 -0
  198. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.js.map +1 -0
  199. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.js +26 -0
  200. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.js.map +1 -0
  201. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.js +26 -0
  202. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.js.map +1 -0
  203. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.js +39 -0
  204. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.js.map +1 -0
  205. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.js +39 -0
  206. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.js.map +1 -0
  207. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.js +26 -0
  208. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.js.map +1 -0
  209. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.js +23 -0
  210. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.js.map +1 -0
  211. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.js +30 -0
  212. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.js.map +1 -0
  213. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.js +30 -0
  214. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.js.map +1 -0
  215. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.js +41 -0
  216. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.js.map +1 -0
  217. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.js +28 -0
  218. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.js.map +1 -0
  219. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.js +24 -0
  220. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.js.map +1 -0
  221. package/{src/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.ts → dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.js} +7 -9
  222. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.js.map +1 -0
  223. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.js +29 -0
  224. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.js.map +1 -0
  225. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.js +37 -0
  226. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.js.map +1 -0
  227. package/{src/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.ts → dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.js} +13 -14
  228. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.js.map +1 -0
  229. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.js +41 -0
  230. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.js.map +1 -0
  231. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.js +12 -0
  232. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.js.map +1 -0
  233. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.js +45 -0
  234. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.js.map +1 -0
  235. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.js +29 -0
  236. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.js.map +1 -0
  237. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.js +29 -0
  238. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.js.map +1 -0
  239. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.js +23 -0
  240. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.js.map +1 -0
  241. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.js +17 -0
  242. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.js.map +1 -0
  243. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.js +31 -0
  244. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.js.map +1 -0
  245. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.js +33 -0
  246. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.js.map +1 -0
  247. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.js +28 -0
  248. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.js.map +1 -0
  249. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.js +33 -0
  250. package/dist/esm/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.js.map +1 -0
  251. package/dist/esm/collection/iterable-collection/_module.js +2 -0
  252. package/dist/esm/collection/iterable-collection/_module.js.map +1 -0
  253. package/dist/esm/collection/iterable-collection/iterable-collection.js +745 -0
  254. package/dist/esm/collection/iterable-collection/iterable-collection.js.map +1 -0
  255. package/dist/esm/collection/iterable-collection/iterable-helpers/_module.js +33 -0
  256. package/dist/esm/collection/iterable-collection/iterable-helpers/_module.js.map +1 -0
  257. package/dist/esm/collection/iterable-collection/iterable-helpers/chunk-iterable.js +39 -0
  258. package/dist/esm/collection/iterable-collection/iterable-helpers/chunk-iterable.js.map +1 -0
  259. package/dist/esm/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.js +39 -0
  260. package/dist/esm/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.js.map +1 -0
  261. package/dist/esm/collection/iterable-collection/iterable-helpers/collapse-iterable.js +28 -0
  262. package/dist/esm/collection/iterable-collection/iterable-helpers/collapse-iterable.js.map +1 -0
  263. package/dist/esm/collection/iterable-collection/iterable-helpers/count-by-iterable.js +35 -0
  264. package/dist/esm/collection/iterable-collection/iterable-helpers/count-by-iterable.js.map +1 -0
  265. package/dist/esm/collection/iterable-collection/iterable-helpers/cross-join-iterable.js +39 -0
  266. package/dist/esm/collection/iterable-collection/iterable-helpers/cross-join-iterable.js.map +1 -0
  267. package/dist/esm/collection/iterable-collection/iterable-helpers/entries-iterable.js +30 -0
  268. package/dist/esm/collection/iterable-collection/iterable-helpers/entries-iterable.js.map +1 -0
  269. package/dist/esm/collection/iterable-collection/iterable-helpers/filter-iterable.js +28 -0
  270. package/dist/esm/collection/iterable-collection/iterable-helpers/filter-iterable.js.map +1 -0
  271. package/dist/esm/collection/iterable-collection/iterable-helpers/flat-map-iterable.js +26 -0
  272. package/dist/esm/collection/iterable-collection/iterable-helpers/flat-map-iterable.js.map +1 -0
  273. package/dist/esm/collection/iterable-collection/iterable-helpers/group-by-iterable.js +36 -0
  274. package/dist/esm/collection/iterable-collection/iterable-helpers/group-by-iterable.js.map +1 -0
  275. package/dist/esm/collection/iterable-collection/iterable-helpers/insert-after-iterable.js +33 -0
  276. package/dist/esm/collection/iterable-collection/iterable-helpers/insert-after-iterable.js.map +1 -0
  277. package/dist/esm/collection/iterable-collection/iterable-helpers/insert-before-iterable.js +33 -0
  278. package/dist/esm/collection/iterable-collection/iterable-helpers/insert-before-iterable.js.map +1 -0
  279. package/dist/esm/collection/iterable-collection/iterable-helpers/map-iterable.js +26 -0
  280. package/dist/esm/collection/iterable-collection/iterable-helpers/map-iterable.js.map +1 -0
  281. package/dist/esm/collection/iterable-collection/iterable-helpers/merge-iterable.js +23 -0
  282. package/dist/esm/collection/iterable-collection/iterable-helpers/merge-iterable.js.map +1 -0
  283. package/dist/esm/collection/iterable-collection/iterable-helpers/pad-end-iterable.js +40 -0
  284. package/dist/esm/collection/iterable-collection/iterable-helpers/pad-end-iterable.js.map +1 -0
  285. package/dist/esm/collection/iterable-collection/iterable-helpers/pad-start-iterable.js +40 -0
  286. package/dist/esm/collection/iterable-collection/iterable-helpers/pad-start-iterable.js.map +1 -0
  287. package/dist/esm/collection/iterable-collection/iterable-helpers/partion-iterable.js +36 -0
  288. package/dist/esm/collection/iterable-collection/iterable-helpers/partion-iterable.js.map +1 -0
  289. package/dist/esm/collection/iterable-collection/iterable-helpers/repeat-iterable.js +28 -0
  290. package/dist/esm/collection/iterable-collection/iterable-helpers/repeat-iterable.js.map +1 -0
  291. package/dist/esm/collection/iterable-collection/iterable-helpers/reverse-iterable.js +34 -0
  292. package/dist/esm/collection/iterable-collection/iterable-helpers/reverse-iterable.js.map +1 -0
  293. package/dist/esm/collection/iterable-collection/iterable-helpers/shuffle-iterable.js +31 -0
  294. package/dist/esm/collection/iterable-collection/iterable-helpers/shuffle-iterable.js.map +1 -0
  295. package/dist/esm/collection/iterable-collection/iterable-helpers/skip-iterable.js +28 -0
  296. package/dist/esm/collection/iterable-collection/iterable-helpers/skip-iterable.js.map +1 -0
  297. package/dist/esm/collection/iterable-collection/iterable-helpers/skip-until-iterable.js +32 -0
  298. package/dist/esm/collection/iterable-collection/iterable-helpers/skip-until-iterable.js.map +1 -0
  299. package/dist/esm/collection/iterable-collection/iterable-helpers/slice-iterable.js +42 -0
  300. package/dist/esm/collection/iterable-collection/iterable-helpers/slice-iterable.js.map +1 -0
  301. package/dist/esm/collection/iterable-collection/iterable-helpers/sliding-iterable.js +41 -0
  302. package/dist/esm/collection/iterable-collection/iterable-helpers/sliding-iterable.js.map +1 -0
  303. package/dist/esm/collection/iterable-collection/iterable-helpers/sort-iterable.js +22 -0
  304. package/dist/esm/collection/iterable-collection/iterable-helpers/sort-iterable.js.map +1 -0
  305. package/dist/esm/collection/iterable-collection/iterable-helpers/split-iterable.js +45 -0
  306. package/dist/esm/collection/iterable-collection/iterable-helpers/split-iterable.js.map +1 -0
  307. package/dist/esm/collection/iterable-collection/iterable-helpers/take-iterable.js +28 -0
  308. package/dist/esm/collection/iterable-collection/iterable-helpers/take-iterable.js.map +1 -0
  309. package/dist/esm/collection/iterable-collection/iterable-helpers/take-until-iterable.js +29 -0
  310. package/dist/esm/collection/iterable-collection/iterable-helpers/take-until-iterable.js.map +1 -0
  311. package/dist/esm/collection/iterable-collection/iterable-helpers/tap-iterable.js +23 -0
  312. package/dist/esm/collection/iterable-collection/iterable-helpers/tap-iterable.js.map +1 -0
  313. package/dist/esm/collection/iterable-collection/iterable-helpers/unique-iterable.js +31 -0
  314. package/dist/esm/collection/iterable-collection/iterable-helpers/unique-iterable.js.map +1 -0
  315. package/dist/esm/collection/iterable-collection/iterable-helpers/update-iterable.js +33 -0
  316. package/dist/esm/collection/iterable-collection/iterable-helpers/update-iterable.js.map +1 -0
  317. package/dist/esm/collection/iterable-collection/iterable-helpers/when-iterable.js +28 -0
  318. package/dist/esm/collection/iterable-collection/iterable-helpers/when-iterable.js.map +1 -0
  319. package/dist/esm/collection/iterable-collection/iterable-helpers/zip-iterable.js +29 -0
  320. package/dist/esm/collection/iterable-collection/iterable-helpers/zip-iterable.js.map +1 -0
  321. package/dist/esm/collection/list-collection/_module.js +2 -0
  322. package/dist/esm/collection/list-collection/_module.js.map +1 -0
  323. package/dist/esm/collection/list-collection/list-collection.js +1260 -0
  324. package/dist/esm/collection/list-collection/list-collection.js.map +1 -0
  325. package/dist/esm/contracts/_module.js +2 -0
  326. package/dist/esm/contracts/_module.js.map +1 -0
  327. package/dist/esm/contracts/collection/_module.js +4 -0
  328. package/dist/esm/contracts/collection/_module.js.map +1 -0
  329. package/dist/esm/contracts/collection/_shared.js +31 -0
  330. package/dist/esm/contracts/collection/_shared.js.map +1 -0
  331. package/dist/esm/contracts/collection/async-collection.contract.js +1 -0
  332. package/dist/esm/contracts/collection/async-collection.contract.js.map +1 -0
  333. package/dist/esm/contracts/collection/collection.contract.js +1 -0
  334. package/dist/esm/contracts/collection/collection.contract.js.map +1 -0
  335. package/dist/esm/types.js +1 -0
  336. package/dist/esm/types.js.map +1 -0
  337. package/dist/types/_module.d.ts +2 -0
  338. package/dist/types/collection/_module.d.ts +4 -0
  339. package/dist/types/collection/_shared.d.ts +16 -0
  340. package/dist/types/collection/async-iterable-collection/_module.d.ts +1 -0
  341. package/dist/types/collection/async-iterable-collection/async-iterable-collection.d.ts +92 -0
  342. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/_module.d.ts +35 -0
  343. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.d.ts +10 -0
  344. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.d.ts +11 -0
  345. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.d.ts +12 -0
  346. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.d.ts +9 -0
  347. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.d.ts +11 -0
  348. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.d.ts +11 -0
  349. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.d.ts +10 -0
  350. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.d.ts +11 -0
  351. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.d.ts +11 -0
  352. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.d.ts +11 -0
  353. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.d.ts +12 -0
  354. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.d.ts +12 -0
  355. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.d.ts +12 -0
  356. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.d.ts +11 -0
  357. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.d.ts +10 -0
  358. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.d.ts +12 -0
  359. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.d.ts +12 -0
  360. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.d.ts +12 -0
  361. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.d.ts +11 -0
  362. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.d.ts +12 -0
  363. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-shuffle-iterable.d.ts +9 -0
  364. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.d.ts +11 -0
  365. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.d.ts +11 -0
  366. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-slice-iterable.d.ts +12 -0
  367. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.d.ts +12 -0
  368. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.d.ts +10 -0
  369. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.d.ts +12 -0
  370. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.d.ts +11 -0
  371. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.d.ts +11 -0
  372. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.d.ts +10 -0
  373. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.d.ts +10 -0
  374. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.d.ts +11 -0
  375. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.d.ts +12 -0
  376. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.d.ts +11 -0
  377. package/dist/types/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.d.ts +10 -0
  378. package/dist/types/collection/iterable-collection/_module.d.ts +1 -0
  379. package/dist/types/collection/iterable-collection/iterable-collection.d.ts +89 -0
  380. package/dist/types/collection/iterable-collection/iterable-helpers/_module.d.ts +32 -0
  381. package/dist/types/collection/iterable-collection/iterable-helpers/chunk-iterable.d.ts +8 -0
  382. package/dist/types/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.d.ts +9 -0
  383. package/dist/types/collection/iterable-collection/iterable-helpers/collapse-iterable.d.ts +6 -0
  384. package/dist/types/collection/iterable-collection/iterable-helpers/count-by-iterable.d.ts +8 -0
  385. package/dist/types/collection/iterable-collection/iterable-helpers/cross-join-iterable.d.ts +8 -0
  386. package/dist/types/collection/iterable-collection/iterable-helpers/entries-iterable.d.ts +7 -0
  387. package/dist/types/collection/iterable-collection/iterable-helpers/filter-iterable.d.ts +8 -0
  388. package/dist/types/collection/iterable-collection/iterable-helpers/flat-map-iterable.d.ts +8 -0
  389. package/dist/types/collection/iterable-collection/iterable-helpers/group-by-iterable.d.ts +9 -0
  390. package/dist/types/collection/iterable-collection/iterable-helpers/insert-after-iterable.d.ts +9 -0
  391. package/dist/types/collection/iterable-collection/iterable-helpers/insert-before-iterable.d.ts +9 -0
  392. package/dist/types/collection/iterable-collection/iterable-helpers/map-iterable.d.ts +8 -0
  393. package/dist/types/collection/iterable-collection/iterable-helpers/merge-iterable.d.ts +6 -0
  394. package/dist/types/collection/iterable-collection/iterable-helpers/pad-end-iterable.d.ts +9 -0
  395. package/dist/types/collection/iterable-collection/iterable-helpers/pad-start-iterable.d.ts +9 -0
  396. package/dist/types/collection/iterable-collection/iterable-helpers/partion-iterable.d.ts +9 -0
  397. package/dist/types/collection/iterable-collection/iterable-helpers/repeat-iterable.d.ts +8 -0
  398. package/dist/types/collection/iterable-collection/iterable-helpers/reverse-iterable.d.ts +9 -0
  399. package/dist/types/collection/iterable-collection/iterable-helpers/shuffle-iterable.d.ts +5 -0
  400. package/dist/types/collection/iterable-collection/iterable-helpers/skip-iterable.d.ts +8 -0
  401. package/dist/types/collection/iterable-collection/iterable-helpers/skip-until-iterable.d.ts +8 -0
  402. package/dist/types/collection/iterable-collection/iterable-helpers/slice-iterable.d.ts +9 -0
  403. package/dist/types/collection/iterable-collection/iterable-helpers/sliding-iterable.d.ts +9 -0
  404. package/dist/types/collection/iterable-collection/iterable-helpers/sort-iterable.d.ts +7 -0
  405. package/dist/types/collection/iterable-collection/iterable-helpers/split-iterable.d.ts +9 -0
  406. package/dist/types/collection/iterable-collection/iterable-helpers/take-iterable.d.ts +8 -0
  407. package/dist/types/collection/iterable-collection/iterable-helpers/take-until-iterable.d.ts +8 -0
  408. package/dist/types/collection/iterable-collection/iterable-helpers/tap-iterable.d.ts +7 -0
  409. package/dist/types/collection/iterable-collection/iterable-helpers/unique-iterable.d.ts +8 -0
  410. package/dist/types/collection/iterable-collection/iterable-helpers/update-iterable.d.ts +9 -0
  411. package/dist/types/collection/iterable-collection/iterable-helpers/when-iterable.d.ts +8 -0
  412. package/dist/types/collection/iterable-collection/iterable-helpers/zip-iterable.d.ts +7 -0
  413. package/dist/types/collection/list-collection/_module.d.ts +1 -0
  414. package/dist/types/collection/list-collection/list-collection.d.ts +86 -0
  415. package/dist/types/contracts/_module.d.ts +1 -0
  416. package/dist/types/contracts/collection/_module.d.ts +3 -0
  417. package/{src/contracts/collection/_shared.ts → dist/types/contracts/collection/_shared.d.ts} +31 -118
  418. package/{src/contracts/collection/async-collection.contract.ts → dist/types/contracts/collection/async-collection.contract.d.ts} +84 -356
  419. package/{src/contracts/collection/collection.contract.ts → dist/types/contracts/collection/collection.contract.d.ts} +54 -311
  420. package/dist/types/types.d.ts +1 -0
  421. package/package.json +5 -2
  422. package/.changeset/README.md +0 -8
  423. package/.changeset/config.json +0 -11
  424. package/.eslintignore +0 -3
  425. package/.eslintrc.json +0 -50
  426. package/.gitattributes +0 -6
  427. package/.github/workflows/main.yaml +0 -54
  428. package/.github/workflows/release.yaml +0 -31
  429. package/.prettierignore +0 -4
  430. package/.prettierrc.json +0 -4
  431. package/.vscode/settings.json +0 -46
  432. package/CHANGELOG.md +0 -7
  433. package/docs-api/.nojekyll +0 -1
  434. package/docs-api/assets/highlight.css +0 -92
  435. package/docs-api/assets/icons.js +0 -18
  436. package/docs-api/assets/icons.svg +0 -1
  437. package/docs-api/assets/main.js +0 -60
  438. package/docs-api/assets/navigation.js +0 -1
  439. package/docs-api/assets/search.js +0 -1
  440. package/docs-api/assets/style.css +0 -1448
  441. package/docs-api/classes/AsyncIterableCollection.html +0 -437
  442. package/docs-api/classes/CollectionError.html +0 -12
  443. package/docs-api/classes/IndexOverflowError.html +0 -12
  444. package/docs-api/classes/ItemNotFoundError.html +0 -12
  445. package/docs-api/classes/IterableCollection.html +0 -434
  446. package/docs-api/classes/ListCollection.html +0 -434
  447. package/docs-api/classes/MultipleItemsFoundError.html +0 -12
  448. package/docs-api/classes/UnexpectedCollectionError.html +0 -12
  449. package/docs-api/functions/isAsyncIterable.html +0 -1
  450. package/docs-api/functions/isIterable.html +0 -1
  451. package/docs-api/functions/range.html +0 -4
  452. package/docs-api/hierarchy.html +0 -1
  453. package/docs-api/index.html +0 -1
  454. package/docs-api/modules.html +0 -60
  455. package/docs-api/types/AsyncCollapse.html +0 -1
  456. package/docs-api/types/AsyncFilter.html +0 -1
  457. package/docs-api/types/AsyncFilter_.html +0 -1
  458. package/docs-api/types/AsyncFindOrSettings.html +0 -1
  459. package/docs-api/types/AsyncFindSettings.html +0 -1
  460. package/docs-api/types/AsyncForEach.html +0 -1
  461. package/docs-api/types/AsyncForEach_.html +0 -1
  462. package/docs-api/types/AsyncGroupBySettings.html +0 -1
  463. package/docs-api/types/AsyncIterableValue.html +0 -1
  464. package/docs-api/types/AsyncLazyable.html +0 -1
  465. package/docs-api/types/AsyncLazyable_.html +0 -1
  466. package/docs-api/types/AsyncMap.html +0 -1
  467. package/docs-api/types/AsyncMap_.html +0 -1
  468. package/docs-api/types/AsyncModifier.html +0 -1
  469. package/docs-api/types/AsyncModifier_.html +0 -1
  470. package/docs-api/types/AsyncReduce.html +0 -1
  471. package/docs-api/types/AsyncReduceSettings.html +0 -1
  472. package/docs-api/types/AsyncReduce_.html +0 -1
  473. package/docs-api/types/AsyncTap.html +0 -1
  474. package/docs-api/types/AsyncTap_.html +0 -1
  475. package/docs-api/types/AsyncTransform.html +0 -1
  476. package/docs-api/types/AsyncTransform_.html +0 -1
  477. package/docs-api/types/Collapse.html +0 -1
  478. package/docs-api/types/Comparator.html +0 -1
  479. package/docs-api/types/EnsureType.html +0 -1
  480. package/docs-api/types/Filter.html +0 -1
  481. package/docs-api/types/FilterGuard.html +0 -1
  482. package/docs-api/types/Filter_.html +0 -1
  483. package/docs-api/types/FindOrSettings.html +0 -1
  484. package/docs-api/types/FindSettings.html +0 -1
  485. package/docs-api/types/ForEach.html +0 -1
  486. package/docs-api/types/GroupBySettings.html +0 -1
  487. package/docs-api/types/IAsyncCollection.html +0 -357
  488. package/docs-api/types/ICollection.html +0 -357
  489. package/docs-api/types/JoinSettings.html +0 -1
  490. package/docs-api/types/Lazyable.html +0 -1
  491. package/docs-api/types/Map.html +0 -1
  492. package/docs-api/types/Modifier.html +0 -1
  493. package/docs-api/types/PageSettings.html +0 -1
  494. package/docs-api/types/RecordItem.html +0 -1
  495. package/docs-api/types/Reduce.html +0 -1
  496. package/docs-api/types/ReduceSettings.html +0 -1
  497. package/docs-api/types/ReverseSettings.html +0 -1
  498. package/docs-api/types/SliceSettings.html +0 -1
  499. package/docs-api/types/SlidingSettings.html +0 -1
  500. package/docs-api/types/Tap.html +0 -1
  501. package/docs-api/types/Transform.html +0 -1
  502. package/docs-api/types/UpdatedItem.html +0 -1
  503. package/src/_module.ts +0 -2
  504. package/src/collection/_module.ts +0 -4
  505. package/src/collection/_shared.ts +0 -45
  506. package/src/collection/async-iterable-collection/_module.ts +0 -1
  507. package/src/collection/async-iterable-collection/async-iterable-collection.test.ts +0 -3195
  508. package/src/collection/async-iterable-collection/async-iterable-collection.ts +0 -1276
  509. package/src/collection/async-iterable-collection/async-iterable-helpers/_module.ts +0 -35
  510. package/src/collection/async-iterable-collection/async-iterable-helpers/async-abort-iterable.ts +0 -25
  511. package/src/collection/async-iterable-collection/async-iterable-helpers/async-chunk-iterable.ts +0 -57
  512. package/src/collection/async-iterable-collection/async-iterable-helpers/async-chunk-whilte-iterable.ts +0 -54
  513. package/src/collection/async-iterable-collection/async-iterable-helpers/async-collapse-iterable.ts +0 -40
  514. package/src/collection/async-iterable-collection/async-iterable-helpers/async-count-by-iterable.ts +0 -58
  515. package/src/collection/async-iterable-collection/async-iterable-helpers/async-cross-join-iterable.ts +0 -69
  516. package/src/collection/async-iterable-collection/async-iterable-helpers/async-delay-iterable.ts +0 -19
  517. package/src/collection/async-iterable-collection/async-iterable-helpers/async-entries-iterable.ts +0 -28
  518. package/src/collection/async-iterable-collection/async-iterable-helpers/async-filter-iterable.ts +0 -42
  519. package/src/collection/async-iterable-collection/async-iterable-helpers/async-flat-map-iterable.ts +0 -44
  520. package/src/collection/async-iterable-collection/async-iterable-helpers/async-group-by-iterable.ts +0 -48
  521. package/src/collection/async-iterable-collection/async-iterable-helpers/async-insert-after-iterable.ts +0 -57
  522. package/src/collection/async-iterable-collection/async-iterable-helpers/async-insert-before-iterable.ts +0 -57
  523. package/src/collection/async-iterable-collection/async-iterable-helpers/async-map-iterable.ts +0 -40
  524. package/src/collection/async-iterable-collection/async-iterable-helpers/async-merge-iterable.ts +0 -35
  525. package/src/collection/async-iterable-collection/async-iterable-helpers/async-pad-end-iterable.ts +0 -41
  526. package/src/collection/async-iterable-collection/async-iterable-helpers/async-pad-start-iterable.ts +0 -41
  527. package/src/collection/async-iterable-collection/async-iterable-helpers/async-partion-iterable.ts +0 -63
  528. package/src/collection/async-iterable-collection/async-iterable-helpers/async-repeat-iterable.ts +0 -40
  529. package/src/collection/async-iterable-collection/async-iterable-helpers/async-reverse-iterable.ts +0 -35
  530. package/src/collection/async-iterable-collection/async-iterable-helpers/async-skip-iterable.ts +0 -41
  531. package/src/collection/async-iterable-collection/async-iterable-helpers/async-skip-until-iterable.ts +0 -55
  532. package/src/collection/async-iterable-collection/async-iterable-helpers/async-sliding-iterable.ts +0 -54
  533. package/src/collection/async-iterable-collection/async-iterable-helpers/async-sort-iterable.ts +0 -18
  534. package/src/collection/async-iterable-collection/async-iterable-helpers/async-split-iterable.ts +0 -64
  535. package/src/collection/async-iterable-collection/async-iterable-helpers/async-take-iterable.ts +0 -41
  536. package/src/collection/async-iterable-collection/async-iterable-helpers/async-take-until-iterable.ts +0 -41
  537. package/src/collection/async-iterable-collection/async-iterable-helpers/async-tap-iterable.ts +0 -34
  538. package/src/collection/async-iterable-collection/async-iterable-helpers/async-timeout-iterable.ts +0 -20
  539. package/src/collection/async-iterable-collection/async-iterable-helpers/async-unique-iterable.ts +0 -49
  540. package/src/collection/async-iterable-collection/async-iterable-helpers/async-update-iterable.ts +0 -64
  541. package/src/collection/async-iterable-collection/async-iterable-helpers/async-when-iterable.ts +0 -43
  542. package/src/collection/async-iterable-collection/async-iterable-helpers/async-zip-iterable.ts +0 -45
  543. package/src/collection/iterable-collection/_module.ts +0 -1
  544. package/src/collection/iterable-collection/iterable-collection.test.ts +0 -2379
  545. package/src/collection/iterable-collection/iterable-collection.ts +0 -1317
  546. package/src/collection/iterable-collection/iterable-helpers/_module.ts +0 -32
  547. package/src/collection/iterable-collection/iterable-helpers/chunk-iterable.ts +0 -49
  548. package/src/collection/iterable-collection/iterable-helpers/chunk-whilte-iterable.ts +0 -51
  549. package/src/collection/iterable-collection/iterable-helpers/collapse-iterable.ts +0 -35
  550. package/src/collection/iterable-collection/iterable-helpers/count-by-iterable.ts +0 -49
  551. package/src/collection/iterable-collection/iterable-helpers/cross-join-iterable.ts +0 -57
  552. package/src/collection/iterable-collection/iterable-helpers/entries-iterable.ts +0 -42
  553. package/src/collection/iterable-collection/iterable-helpers/filter-iterable.ts +0 -39
  554. package/src/collection/iterable-collection/iterable-helpers/flat-map-iterable.ts +0 -35
  555. package/src/collection/iterable-collection/iterable-helpers/group-by-iterable.ts +0 -52
  556. package/src/collection/iterable-collection/iterable-helpers/insert-after-iterable.ts +0 -43
  557. package/src/collection/iterable-collection/iterable-helpers/insert-before-iterable.ts +0 -43
  558. package/src/collection/iterable-collection/iterable-helpers/map-iterable.ts +0 -35
  559. package/src/collection/iterable-collection/iterable-helpers/merge-iterable.ts +0 -31
  560. package/src/collection/iterable-collection/iterable-helpers/pad-end-iterable.ts +0 -52
  561. package/src/collection/iterable-collection/iterable-helpers/pad-start-iterable.ts +0 -52
  562. package/src/collection/iterable-collection/iterable-helpers/partion-iterable.ts +0 -46
  563. package/src/collection/iterable-collection/iterable-helpers/repeat-iterable.ts +0 -36
  564. package/src/collection/iterable-collection/iterable-helpers/reverse-iterable.ts +0 -46
  565. package/src/collection/iterable-collection/iterable-helpers/shuffle-iterable.ts +0 -36
  566. package/src/collection/iterable-collection/iterable-helpers/skip-iterable.ts +0 -37
  567. package/src/collection/iterable-collection/iterable-helpers/skip-until-iterable.ts +0 -41
  568. package/src/collection/iterable-collection/iterable-helpers/slice-iterable.ts +0 -47
  569. package/src/collection/iterable-collection/iterable-helpers/sliding-iterable.ts +0 -49
  570. package/src/collection/iterable-collection/iterable-helpers/sort-iterable.ts +0 -29
  571. package/src/collection/iterable-collection/iterable-helpers/split-iterable.ts +0 -58
  572. package/src/collection/iterable-collection/iterable-helpers/take-iterable.ts +0 -37
  573. package/src/collection/iterable-collection/iterable-helpers/take-until-iterable.ts +0 -38
  574. package/src/collection/iterable-collection/iterable-helpers/tap-iterable.ts +0 -31
  575. package/src/collection/iterable-collection/iterable-helpers/unique-iterable.ts +0 -43
  576. package/src/collection/iterable-collection/iterable-helpers/update-iterable.ts +0 -50
  577. package/src/collection/iterable-collection/iterable-helpers/when-iterable.ts +0 -37
  578. package/src/collection/iterable-collection/iterable-helpers/zip-iterable.ts +0 -41
  579. package/src/collection/list-collection/_module.ts +0 -1
  580. package/src/collection/list-collection/list-collection.test.ts +0 -2280
  581. package/src/collection/list-collection/list-collection.ts +0 -1883
  582. package/src/contracts/_module.ts +0 -1
  583. package/src/contracts/collection/_module.ts +0 -3
  584. package/src/types.ts +0 -2
  585. package/tsconfig.base.json +0 -31
  586. package/tsconfig.cjs.json +0 -12
  587. package/tsconfig.esm.json +0 -12
  588. package/tsconfig.json +0 -10
  589. package/tsconfig.types.json +0 -12
  590. package/vite.config.ts +0 -6
@@ -0,0 +1,745 @@
1
+ import { CollectionError, ItemNotFoundError, MultipleItemsFoundError, IndexOverflowError, UnexpectedCollectionError, } from "../../contracts/collection/_module";
2
+ import { CrossJoinIterable, SlidingIteralbe, ShuffleIterable, EntriesIterable, FilterIterable, ChunkIterable, ChunkWhileIterable, CollapseIterable, CountByIterable, FlatMapIterable, GroupByIterable, InsertAfterIterable, InsertBeforeIterable, MapIterable, MergeIterable, PadEndIterable, PadStartIterable, PartionIterable, SkipIterable, SkipUntilIterable, SortIterable, SplitIterable, TakeIterable, TakeUntilIterable, TapIterable, UniqueIterable, UpdateIterable, WhenIterable, ZipIterable, ReverseIterable, SliceIterable, RepeatIterable, } from "../../collection/iterable-collection/iterable-helpers/_module";
3
+ export class IterableCollection {
4
+ iterable;
5
+ static THROW_ON_NUMBER_LIMIT = false;
6
+ static DEFAULT_CHUNK_SIZE = 1024;
7
+ static makeCollection = (iterable = []) => {
8
+ return new IterableCollection(iterable);
9
+ };
10
+ constructor(iterable) {
11
+ this.iterable = iterable;
12
+ }
13
+ *[Symbol.iterator]() {
14
+ try {
15
+ yield* this.iterable;
16
+ }
17
+ catch (error) {
18
+ if (error instanceof CollectionError ||
19
+ error instanceof TypeError) {
20
+ throw error;
21
+ }
22
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
23
+ }
24
+ }
25
+ iterator() {
26
+ return this[Symbol.iterator]();
27
+ }
28
+ entries(throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
29
+ return new IterableCollection(new EntriesIterable(this, throwOnNumberLimit));
30
+ }
31
+ keys(throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
32
+ return this.entries(throwOnNumberLimit).map(([key]) => key);
33
+ }
34
+ values() {
35
+ return this.entries().map(([_key, value]) => value);
36
+ }
37
+ filter(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
38
+ return new IterableCollection(new FilterIterable(this, filter, throwOnNumberLimit));
39
+ }
40
+ map(map, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
41
+ return new IterableCollection(new MapIterable(this, map, throwOnNumberLimit));
42
+ }
43
+ reduce(settings) {
44
+ try {
45
+ const { reduceFn: reduce, initialValue, throwOnNumberLimit, } = settings;
46
+ if (initialValue === undefined && this.empty()) {
47
+ throw new TypeError("Reduce of empty array must be inputed a initial value");
48
+ }
49
+ if (initialValue !== undefined) {
50
+ let output = initialValue, index = 0;
51
+ for (const item of this) {
52
+ if (throwOnNumberLimit &&
53
+ index === Number.MAX_SAFE_INTEGER) {
54
+ throw new IndexOverflowError("Index has overflowed");
55
+ }
56
+ output = reduce(output, item, index, this);
57
+ index++;
58
+ }
59
+ return output;
60
+ }
61
+ let output = this.firstOrFail(), index = 0, isFirstIteration = true;
62
+ for (const item of this) {
63
+ if (!isFirstIteration) {
64
+ if (throwOnNumberLimit &&
65
+ index === Number.MAX_SAFE_INTEGER) {
66
+ throw new IndexOverflowError("Index has overflowed");
67
+ }
68
+ output = reduce(output, item, index, this);
69
+ }
70
+ isFirstIteration = false;
71
+ index++;
72
+ }
73
+ return output;
74
+ }
75
+ catch (error) {
76
+ if (error instanceof CollectionError ||
77
+ error instanceof TypeError) {
78
+ throw error;
79
+ }
80
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
81
+ }
82
+ }
83
+ join(settings) {
84
+ try {
85
+ return this.reduce({
86
+ reduceFn(str, item) {
87
+ if (typeof item !== "string") {
88
+ throw new TypeError("Item type is invalid must be string");
89
+ }
90
+ const separator = settings?.seperator ?? ",";
91
+ return str + separator + item;
92
+ },
93
+ throwOnNumberLimit: settings?.throwOnNumberLimit ??
94
+ IterableCollection.THROW_ON_NUMBER_LIMIT,
95
+ });
96
+ }
97
+ catch (error) {
98
+ if (error instanceof CollectionError ||
99
+ error instanceof TypeError) {
100
+ throw error;
101
+ }
102
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
103
+ }
104
+ }
105
+ collapse() {
106
+ return new IterableCollection(new CollapseIterable(this));
107
+ }
108
+ flatMap(map, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
109
+ return new IterableCollection(new FlatMapIterable(this, map, throwOnNumberLimit));
110
+ }
111
+ update(filter, map, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
112
+ return new IterableCollection(new UpdateIterable(this, filter, map, throwOnNumberLimit));
113
+ }
114
+ page(settings) {
115
+ const { page, pageSize, throwOnNumberLimit } = settings;
116
+ if (page < 0) {
117
+ return this.skip(page * pageSize, throwOnNumberLimit).take(pageSize, throwOnNumberLimit);
118
+ }
119
+ return this.skip((page - 1) * pageSize, throwOnNumberLimit).take(page * pageSize, throwOnNumberLimit);
120
+ }
121
+ sum() {
122
+ try {
123
+ let sum = 0;
124
+ for (const item of this) {
125
+ if (typeof item !== "number") {
126
+ throw new TypeError("Item type is invalid must be number");
127
+ }
128
+ sum += item;
129
+ }
130
+ return sum;
131
+ }
132
+ catch (error) {
133
+ if (error instanceof CollectionError ||
134
+ error instanceof TypeError) {
135
+ throw error;
136
+ }
137
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
138
+ }
139
+ }
140
+ average() {
141
+ try {
142
+ let size = 0, sum = 0;
143
+ for (const item of this) {
144
+ if (typeof item !== "number") {
145
+ throw new TypeError("Item type is invalid must be number");
146
+ }
147
+ size++;
148
+ sum += item;
149
+ }
150
+ return (sum / size);
151
+ }
152
+ catch (error) {
153
+ if (error instanceof CollectionError ||
154
+ error instanceof TypeError) {
155
+ throw error;
156
+ }
157
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
158
+ }
159
+ }
160
+ median(throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
161
+ if (this.empty()) {
162
+ return 0;
163
+ }
164
+ const size = this.size(throwOnNumberLimit);
165
+ if (size === 0) {
166
+ return 0;
167
+ }
168
+ const isEven = size % 2 === 0, items = this.map((item) => {
169
+ if (typeof item !== "number") {
170
+ throw new TypeError("Item type is invalid must be number");
171
+ }
172
+ return item;
173
+ }, throwOnNumberLimit)
174
+ .filter((_item, index) => {
175
+ if (isEven) {
176
+ return index === size / 2 || index === size / 2 - 1;
177
+ }
178
+ return index === Math.floor(size / 2);
179
+ }, throwOnNumberLimit)
180
+ .toArray();
181
+ if (isEven) {
182
+ const [a, b] = items;
183
+ if (a === undefined) {
184
+ throw new UnexpectedCollectionError("Is in invalid state");
185
+ }
186
+ if (b === undefined) {
187
+ throw new UnexpectedCollectionError("Is in invalid state");
188
+ }
189
+ return ((a + b) / 2);
190
+ }
191
+ const [median] = items;
192
+ if (median === undefined) {
193
+ throw new UnexpectedCollectionError("Is in invalid state");
194
+ }
195
+ return median;
196
+ }
197
+ min() {
198
+ try {
199
+ let min = 0;
200
+ for (const item of this) {
201
+ if (typeof item !== "number") {
202
+ throw new TypeError("Item type is invalid must be number");
203
+ }
204
+ if (min === 0) {
205
+ min = item;
206
+ }
207
+ else if (min > item) {
208
+ min = item;
209
+ }
210
+ }
211
+ return min;
212
+ }
213
+ catch (error) {
214
+ if (error instanceof CollectionError ||
215
+ error instanceof TypeError) {
216
+ throw error;
217
+ }
218
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
219
+ }
220
+ }
221
+ max() {
222
+ try {
223
+ let max = 0;
224
+ for (const item of this) {
225
+ if (typeof item !== "number") {
226
+ throw new TypeError("Item type is invalid must be number");
227
+ }
228
+ if (max === 0) {
229
+ max = item;
230
+ }
231
+ else if (max < item) {
232
+ max = item;
233
+ }
234
+ }
235
+ return max;
236
+ }
237
+ catch (error) {
238
+ if (error instanceof CollectionError ||
239
+ error instanceof TypeError) {
240
+ throw error;
241
+ }
242
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
243
+ }
244
+ }
245
+ percentage(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
246
+ try {
247
+ if (this.empty()) {
248
+ return 0;
249
+ }
250
+ let part = 0, total = 0;
251
+ for (const item of this) {
252
+ if (throwOnNumberLimit && total === Number.MAX_SAFE_INTEGER) {
253
+ throw new IndexOverflowError("The total amount has overflowed");
254
+ }
255
+ if (filter(item, total, this)) {
256
+ part++;
257
+ }
258
+ total++;
259
+ }
260
+ return (part / total) * 100;
261
+ }
262
+ catch (error) {
263
+ if (error instanceof CollectionError ||
264
+ error instanceof TypeError) {
265
+ throw error;
266
+ }
267
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
268
+ }
269
+ }
270
+ some(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
271
+ try {
272
+ let index = 0;
273
+ for (const item of this) {
274
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
275
+ throw new IndexOverflowError("Index has overflowed");
276
+ }
277
+ if (filter(item, index, this)) {
278
+ return true;
279
+ }
280
+ index++;
281
+ }
282
+ return false;
283
+ }
284
+ catch (error) {
285
+ if (error instanceof CollectionError ||
286
+ error instanceof TypeError) {
287
+ throw error;
288
+ }
289
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
290
+ }
291
+ }
292
+ every(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
293
+ try {
294
+ let index = 0, isTrue = true;
295
+ for (const item of this) {
296
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
297
+ throw new IndexOverflowError("Index has overflowed");
298
+ }
299
+ isTrue &&= filter(item, index, this);
300
+ if (!isTrue) {
301
+ break;
302
+ }
303
+ index++;
304
+ }
305
+ return isTrue;
306
+ }
307
+ catch (error) {
308
+ if (error instanceof CollectionError ||
309
+ error instanceof TypeError) {
310
+ throw error;
311
+ }
312
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
313
+ }
314
+ }
315
+ take(limit, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
316
+ return new IterableCollection(new TakeIterable(this, limit, throwOnNumberLimit));
317
+ }
318
+ takeUntil(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
319
+ return new IterableCollection(new TakeUntilIterable(this, filter, throwOnNumberLimit));
320
+ }
321
+ takeWhile(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
322
+ return this.takeUntil((...arguments_) => !filter(...arguments_), throwOnNumberLimit);
323
+ }
324
+ skip(offset, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
325
+ return new IterableCollection(new SkipIterable(this, offset, throwOnNumberLimit));
326
+ }
327
+ skipUntil(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
328
+ return new IterableCollection(new SkipUntilIterable(this, filter, throwOnNumberLimit));
329
+ }
330
+ skipWhile(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
331
+ return this.skipUntil((...arguments_) => !filter(...arguments_), throwOnNumberLimit);
332
+ }
333
+ when(condition, callback) {
334
+ return new IterableCollection(new WhenIterable(this, () => condition, callback));
335
+ }
336
+ whenEmpty(callback) {
337
+ return new IterableCollection(new WhenIterable(this, () => this.empty(), callback));
338
+ }
339
+ whenNot(condition, callback) {
340
+ return this.when(!condition, callback);
341
+ }
342
+ whenNotEmpty(callback) {
343
+ return new IterableCollection(new WhenIterable(this, () => this.notEmpty(), callback));
344
+ }
345
+ pipe(callback) {
346
+ try {
347
+ return callback(this);
348
+ }
349
+ catch (error) {
350
+ if (error instanceof CollectionError ||
351
+ error instanceof TypeError) {
352
+ throw error;
353
+ }
354
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
355
+ }
356
+ }
357
+ tap(callback) {
358
+ return new IterableCollection(new TapIterable(this, callback));
359
+ }
360
+ chunk(chunkSize) {
361
+ return new IterableCollection(new ChunkIterable(this, chunkSize, IterableCollection.makeCollection));
362
+ }
363
+ chunkWhile(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
364
+ return new IterableCollection(new ChunkWhileIterable(this, filter, throwOnNumberLimit, (iterable) => new IterableCollection(iterable)));
365
+ }
366
+ split(chunkAmount, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
367
+ return new IterableCollection(new SplitIterable(this, chunkAmount, throwOnNumberLimit, IterableCollection.makeCollection));
368
+ }
369
+ partition(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
370
+ return new IterableCollection(new PartionIterable(this, filter, throwOnNumberLimit, IterableCollection.makeCollection));
371
+ }
372
+ sliding(settings) {
373
+ const { chunkSize, step = chunkSize - 1, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT, } = settings;
374
+ return new IterableCollection(new SlidingIteralbe(this, chunkSize, step, throwOnNumberLimit));
375
+ }
376
+ groupBy(settings) {
377
+ return new IterableCollection(new GroupByIterable(this, settings?.mapFn, settings?.throwOnNumberLimit ??
378
+ IterableCollection.THROW_ON_NUMBER_LIMIT, (iterable) => new IterableCollection(iterable)));
379
+ }
380
+ countBy(settings) {
381
+ return new IterableCollection(new CountByIterable(this, settings?.mapFn, settings?.throwOnNumberLimit ??
382
+ IterableCollection.THROW_ON_NUMBER_LIMIT));
383
+ }
384
+ unique(settings) {
385
+ return new IterableCollection(new UniqueIterable(this, settings?.mapFn, settings?.throwOnNumberLimit ??
386
+ IterableCollection.THROW_ON_NUMBER_LIMIT));
387
+ }
388
+ difference(iterable, map = (item) => item) {
389
+ const differenceCollection = new IterableCollection(iterable);
390
+ return this.filter((item, index, collection) => {
391
+ return !differenceCollection.some((matchItem, matchIndex, matchCollection) => {
392
+ return (map(item, index, collection) ===
393
+ map(matchItem, matchIndex, matchCollection));
394
+ });
395
+ });
396
+ }
397
+ repeat(amount) {
398
+ return new IterableCollection(new RepeatIterable(this, amount, IterableCollection.makeCollection));
399
+ }
400
+ padStart(maxLength, fillItems) {
401
+ return new IterableCollection(new PadStartIterable(this, maxLength, fillItems, IterableCollection.makeCollection));
402
+ }
403
+ padEnd(maxLength, fillItems) {
404
+ return new IterableCollection(new PadEndIterable(this, maxLength, fillItems, IterableCollection.makeCollection));
405
+ }
406
+ slice(settings) {
407
+ return new IterableCollection(new SliceIterable(this, settings?.start, settings?.end, settings?.throwOnNumberLimit ??
408
+ IterableCollection.THROW_ON_NUMBER_LIMIT));
409
+ }
410
+ prepend(iterable) {
411
+ return new IterableCollection(new MergeIterable(iterable, this));
412
+ }
413
+ append(iterable) {
414
+ return new IterableCollection(new MergeIterable(this, iterable));
415
+ }
416
+ insertBefore(filter, iterable, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
417
+ return new IterableCollection(new InsertBeforeIterable(this, filter, iterable, throwOnNumberLimit));
418
+ }
419
+ insertAfter(filter, iterable, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
420
+ return new IterableCollection(new InsertAfterIterable(this, filter, iterable, throwOnNumberLimit));
421
+ }
422
+ crossJoin(...iterables) {
423
+ return new IterableCollection(new CrossJoinIterable(this, iterables, IterableCollection.makeCollection));
424
+ }
425
+ zip(iterable) {
426
+ return new IterableCollection(new ZipIterable(this, iterable));
427
+ }
428
+ sort(compare) {
429
+ return new IterableCollection(new SortIterable(this, compare));
430
+ }
431
+ reverse(settings) {
432
+ return new IterableCollection(new ReverseIterable(this, settings?.chunkSize ?? IterableCollection.DEFAULT_CHUNK_SIZE, settings?.throwOnNumberLimit ??
433
+ IterableCollection.THROW_ON_NUMBER_LIMIT, (iterable) => new IterableCollection(iterable)));
434
+ }
435
+ shuffle() {
436
+ return new IterableCollection(new ShuffleIterable(this));
437
+ }
438
+ first(settings) {
439
+ try {
440
+ return this.firstOr({
441
+ ...settings,
442
+ defaultValue: null,
443
+ });
444
+ }
445
+ catch (error) {
446
+ if (error instanceof CollectionError ||
447
+ error instanceof TypeError) {
448
+ throw error;
449
+ }
450
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
451
+ }
452
+ }
453
+ firstOr(settings) {
454
+ try {
455
+ const throwOnNumberLimit = settings.throwOnNumberLimit ??
456
+ IterableCollection.THROW_ON_NUMBER_LIMIT;
457
+ let index = 0;
458
+ const filter = settings.filterFn ?? (() => true);
459
+ for (const item of this) {
460
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
461
+ throw new IndexOverflowError("Index has overflowed");
462
+ }
463
+ if (filter(item, index, this)) {
464
+ return item;
465
+ }
466
+ index++;
467
+ }
468
+ if (typeof settings.defaultValue === "function") {
469
+ const defaultFn = settings.defaultValue;
470
+ return defaultFn();
471
+ }
472
+ return settings.defaultValue;
473
+ }
474
+ catch (error) {
475
+ if (error instanceof CollectionError ||
476
+ error instanceof TypeError) {
477
+ throw error;
478
+ }
479
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
480
+ }
481
+ }
482
+ firstOrFail(settings) {
483
+ const item = this.first(settings);
484
+ if (item === null) {
485
+ throw new ItemNotFoundError("Item was not found");
486
+ }
487
+ return item;
488
+ }
489
+ last(settings) {
490
+ try {
491
+ return this.lastOr({
492
+ ...settings,
493
+ defaultValue: null,
494
+ });
495
+ }
496
+ catch (error) {
497
+ if (error instanceof CollectionError ||
498
+ error instanceof TypeError) {
499
+ throw error;
500
+ }
501
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
502
+ }
503
+ }
504
+ lastOr(settings) {
505
+ try {
506
+ const throwOnNumberLimit = settings.throwOnNumberLimit ??
507
+ IterableCollection.THROW_ON_NUMBER_LIMIT;
508
+ let index = 0;
509
+ const filter = settings.filterFn ?? (() => true);
510
+ let matchedItem = null;
511
+ for (const item of this) {
512
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
513
+ throw new IndexOverflowError("Index has overflowed");
514
+ }
515
+ if (filter(item, index, this)) {
516
+ matchedItem = item;
517
+ }
518
+ index++;
519
+ }
520
+ if (matchedItem) {
521
+ return matchedItem;
522
+ }
523
+ if (typeof settings.defaultValue === "function") {
524
+ const defaultFn = settings.defaultValue;
525
+ return defaultFn();
526
+ }
527
+ return settings.defaultValue;
528
+ }
529
+ catch (error) {
530
+ if (error instanceof CollectionError ||
531
+ error instanceof TypeError) {
532
+ throw error;
533
+ }
534
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
535
+ }
536
+ }
537
+ lastOrFail(settings) {
538
+ const item = this.last(settings);
539
+ if (item === null) {
540
+ throw new ItemNotFoundError("Item was not found");
541
+ }
542
+ return item;
543
+ }
544
+ before(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
545
+ return this.beforeOr(null, filter, throwOnNumberLimit);
546
+ }
547
+ beforeOr(defaultValue, filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
548
+ try {
549
+ let beforeItem = null, index = 0;
550
+ for (const item of this) {
551
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
552
+ throw new IndexOverflowError("Index has overflowed");
553
+ }
554
+ if (filter(item, index, this) && beforeItem) {
555
+ return beforeItem;
556
+ }
557
+ index++;
558
+ beforeItem = item;
559
+ }
560
+ if (typeof defaultValue === "function") {
561
+ const defaultFn = defaultValue;
562
+ return defaultFn();
563
+ }
564
+ return defaultValue;
565
+ }
566
+ catch (error) {
567
+ if (error instanceof CollectionError ||
568
+ error instanceof TypeError) {
569
+ throw error;
570
+ }
571
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
572
+ }
573
+ }
574
+ beforeOrFail(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
575
+ const item = this.before(filter, throwOnNumberLimit);
576
+ if (item === null) {
577
+ throw new ItemNotFoundError("Item was not found");
578
+ }
579
+ return item;
580
+ }
581
+ after(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
582
+ return this.afterOr(null, filter, throwOnNumberLimit);
583
+ }
584
+ afterOr(defaultValue, filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
585
+ try {
586
+ let hasMatched = false, index = 0;
587
+ for (const item of this) {
588
+ if (hasMatched) {
589
+ return item;
590
+ }
591
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
592
+ throw new IndexOverflowError("Index has overflowed");
593
+ }
594
+ hasMatched = filter(item, index, this);
595
+ index++;
596
+ }
597
+ if (typeof defaultValue === "function") {
598
+ const defaultFn = defaultValue;
599
+ return defaultFn();
600
+ }
601
+ return defaultValue;
602
+ }
603
+ catch (error) {
604
+ if (error instanceof CollectionError ||
605
+ error instanceof TypeError) {
606
+ throw error;
607
+ }
608
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
609
+ }
610
+ }
611
+ afterOrFail(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
612
+ const item = this.after(filter, throwOnNumberLimit);
613
+ if (item === null) {
614
+ throw new ItemNotFoundError("Item was not found");
615
+ }
616
+ return item;
617
+ }
618
+ sole(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
619
+ try {
620
+ let index = 0, matchedItem = null;
621
+ for (const item of this) {
622
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
623
+ throw new IndexOverflowError("Index has overflowed");
624
+ }
625
+ if (filter(item, index, this)) {
626
+ if (matchedItem !== null) {
627
+ throw new MultipleItemsFoundError("Multiple items were found");
628
+ }
629
+ matchedItem = item;
630
+ }
631
+ index++;
632
+ }
633
+ if (matchedItem === null) {
634
+ throw new ItemNotFoundError("Item was not found");
635
+ }
636
+ return matchedItem;
637
+ }
638
+ catch (error) {
639
+ if (error instanceof CollectionError ||
640
+ error instanceof TypeError) {
641
+ throw error;
642
+ }
643
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
644
+ }
645
+ }
646
+ nth(step) {
647
+ return this.filter((_item, index) => index % step === 0);
648
+ }
649
+ count(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
650
+ try {
651
+ let size = 0;
652
+ for (const item of this) {
653
+ if (throwOnNumberLimit && size === Number.MAX_SAFE_INTEGER) {
654
+ throw new IndexOverflowError("Size has overflowed");
655
+ }
656
+ if (filter(item, size, this)) {
657
+ size++;
658
+ }
659
+ }
660
+ return size;
661
+ }
662
+ catch (error) {
663
+ if (error instanceof CollectionError ||
664
+ error instanceof TypeError) {
665
+ throw error;
666
+ }
667
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
668
+ }
669
+ }
670
+ size(throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
671
+ return this.count(() => true, throwOnNumberLimit);
672
+ }
673
+ empty() {
674
+ try {
675
+ for (const _ of this) {
676
+ return false;
677
+ }
678
+ return true;
679
+ }
680
+ catch (error) {
681
+ if (error instanceof CollectionError ||
682
+ error instanceof TypeError) {
683
+ throw error;
684
+ }
685
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
686
+ }
687
+ }
688
+ notEmpty() {
689
+ return !this.empty();
690
+ }
691
+ search(filter, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
692
+ try {
693
+ let index = 0;
694
+ for (const item of this) {
695
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
696
+ throw new IndexOverflowError("Index has overflowed");
697
+ }
698
+ if (filter(item, index, this)) {
699
+ return index;
700
+ }
701
+ index++;
702
+ }
703
+ return -1;
704
+ }
705
+ catch (error) {
706
+ if (error instanceof CollectionError ||
707
+ error instanceof TypeError) {
708
+ throw error;
709
+ }
710
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
711
+ }
712
+ }
713
+ forEach(callback, throwOnNumberLimit = IterableCollection.THROW_ON_NUMBER_LIMIT) {
714
+ try {
715
+ let index = 0;
716
+ for (const item of this) {
717
+ if (throwOnNumberLimit && index === Number.MAX_SAFE_INTEGER) {
718
+ throw new IndexOverflowError("Index has overflowed");
719
+ }
720
+ callback(item, index, this);
721
+ index++;
722
+ }
723
+ }
724
+ catch (error) {
725
+ if (error instanceof CollectionError ||
726
+ error instanceof TypeError) {
727
+ throw error;
728
+ }
729
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
730
+ }
731
+ }
732
+ toArray() {
733
+ try {
734
+ return [...this];
735
+ }
736
+ catch (error) {
737
+ if (error instanceof CollectionError ||
738
+ error instanceof TypeError) {
739
+ throw error;
740
+ }
741
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
742
+ }
743
+ }
744
+ }
745
+ //# sourceMappingURL=iterable-collection.js.map