@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,1260 @@
1
+ import { isIterable } from "../../collection/_shared";
2
+ import { CollectionError, ItemNotFoundError, MultipleItemsFoundError, UnexpectedCollectionError, } from "../../contracts/collection/_module";
3
+ export class ListCollection {
4
+ array;
5
+ constructor(iterable = []) {
6
+ this.array = [...iterable];
7
+ }
8
+ *[Symbol.iterator]() {
9
+ yield* this.array;
10
+ }
11
+ iterator() {
12
+ return this[Symbol.iterator]();
13
+ }
14
+ entries(_throwOnNumberLimit) {
15
+ try {
16
+ return new ListCollection(this.array.entries());
17
+ }
18
+ catch (error) {
19
+ if (error instanceof CollectionError ||
20
+ error instanceof TypeError) {
21
+ throw error;
22
+ }
23
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
24
+ }
25
+ }
26
+ keys(_throwOnNumberLimit) {
27
+ try {
28
+ return new ListCollection(this.array.keys());
29
+ }
30
+ catch (error) {
31
+ if (error instanceof CollectionError ||
32
+ error instanceof TypeError) {
33
+ throw error;
34
+ }
35
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
36
+ }
37
+ }
38
+ values() {
39
+ return new ListCollection(this);
40
+ }
41
+ filter(filter, _throwOnNumberLimit) {
42
+ try {
43
+ return new ListCollection(this.array.filter((item, index) => filter(item, index, this)));
44
+ }
45
+ catch (error) {
46
+ if (error instanceof CollectionError ||
47
+ error instanceof TypeError) {
48
+ throw error;
49
+ }
50
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
51
+ }
52
+ }
53
+ map(map, _throwOnNumberLimit) {
54
+ try {
55
+ return new ListCollection(this.array.map((item, index) => map(item, index, this)));
56
+ }
57
+ catch (error) {
58
+ if (error instanceof CollectionError ||
59
+ error instanceof TypeError) {
60
+ throw error;
61
+ }
62
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
63
+ }
64
+ }
65
+ reduce(settings) {
66
+ try {
67
+ if (settings.initialValue === undefined && this.empty()) {
68
+ throw new TypeError("Reduce of empty array must be inputed a initial value");
69
+ }
70
+ if (settings.initialValue !== undefined) {
71
+ return this.array.reduce((initialValue, item, index) => settings.reduceFn(initialValue, item, index, this), settings.initialValue);
72
+ }
73
+ return this.array.reduce((initialValue, item, index) => {
74
+ const reduce = settings.reduceFn;
75
+ return reduce(initialValue, item, index, this);
76
+ });
77
+ }
78
+ catch (error) {
79
+ if (error instanceof CollectionError ||
80
+ error instanceof TypeError) {
81
+ throw error;
82
+ }
83
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
84
+ }
85
+ }
86
+ join(settings) {
87
+ try {
88
+ return this.reduce({
89
+ reduceFn(str, item) {
90
+ if (typeof item !== "string") {
91
+ throw new TypeError("Item type is invalid must be string");
92
+ }
93
+ const separator = settings?.seperator ?? ",";
94
+ return str + separator + item;
95
+ },
96
+ });
97
+ }
98
+ catch (error) {
99
+ if (error instanceof CollectionError ||
100
+ error instanceof TypeError) {
101
+ throw error;
102
+ }
103
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
104
+ }
105
+ }
106
+ collapse() {
107
+ const items = [];
108
+ try {
109
+ for (const item of this.array) {
110
+ if (isIterable(item)) {
111
+ items.push(...items);
112
+ }
113
+ else {
114
+ items.push(item);
115
+ }
116
+ }
117
+ return new ListCollection(items);
118
+ }
119
+ catch (error) {
120
+ if (error instanceof CollectionError ||
121
+ error instanceof TypeError) {
122
+ throw error;
123
+ }
124
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
125
+ }
126
+ }
127
+ flatMap(map, _throwOnNumberLimit) {
128
+ try {
129
+ return new ListCollection(this.array.flatMap((item, index) => [
130
+ ...map(item, index, this),
131
+ ]));
132
+ }
133
+ catch (error) {
134
+ if (error instanceof CollectionError ||
135
+ error instanceof TypeError) {
136
+ throw error;
137
+ }
138
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
139
+ }
140
+ }
141
+ update(filter, map, _throwOnNumberLimit) {
142
+ try {
143
+ return new ListCollection(this.array.map((item, index) => {
144
+ if (filter(item, index, this)) {
145
+ return map(item, index, this);
146
+ }
147
+ return item;
148
+ }));
149
+ }
150
+ catch (error) {
151
+ if (error instanceof CollectionError ||
152
+ error instanceof TypeError) {
153
+ throw error;
154
+ }
155
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
156
+ }
157
+ }
158
+ page(settings) {
159
+ const { page, pageSize } = settings;
160
+ if (page < 0) {
161
+ return this.skip(page * pageSize).take(pageSize);
162
+ }
163
+ return this.skip((page - 1) * pageSize).take(page * pageSize);
164
+ }
165
+ sum() {
166
+ return this.reduce({
167
+ reduceFn: (sum, item) => {
168
+ if (typeof item !== "number") {
169
+ throw new TypeError("Item type is invalid must be number");
170
+ }
171
+ return sum + item;
172
+ },
173
+ initialValue: 0,
174
+ });
175
+ }
176
+ average() {
177
+ return (this.sum() / this.size());
178
+ }
179
+ median(_throwOnNumberLimit) {
180
+ try {
181
+ const nbrs = this.array.map((item) => {
182
+ if (typeof item !== "number") {
183
+ throw new TypeError("Item type is invalid must be number");
184
+ }
185
+ return item;
186
+ }), index = Math.floor(this.array.length / 2), isEven = this.array.length % 2 === 0, a = nbrs[index];
187
+ if (a === undefined) {
188
+ throw new UnexpectedCollectionError("Is in invalid state");
189
+ }
190
+ const b = nbrs[index - 1];
191
+ if (isEven) {
192
+ if (b === undefined) {
193
+ throw new UnexpectedCollectionError("Is in invalid state");
194
+ }
195
+ return ((a + b) / 2);
196
+ }
197
+ return a;
198
+ }
199
+ catch (error) {
200
+ if (error instanceof CollectionError ||
201
+ error instanceof TypeError) {
202
+ throw error;
203
+ }
204
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
205
+ }
206
+ }
207
+ min() {
208
+ try {
209
+ let min = 0;
210
+ for (const item of this.array) {
211
+ if (typeof item !== "number") {
212
+ throw new TypeError("Item type is invalid must be number");
213
+ }
214
+ if (min === 0) {
215
+ min = item;
216
+ }
217
+ else if (min > item) {
218
+ min = item;
219
+ }
220
+ }
221
+ return min;
222
+ }
223
+ catch (error) {
224
+ if (error instanceof CollectionError ||
225
+ error instanceof TypeError) {
226
+ throw error;
227
+ }
228
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
229
+ }
230
+ }
231
+ max() {
232
+ try {
233
+ let max = 0;
234
+ for (const item of this.array) {
235
+ if (typeof item !== "number") {
236
+ throw new TypeError("Item type is invalid must be number");
237
+ }
238
+ if (max === 0) {
239
+ max = item;
240
+ }
241
+ else if (max < item) {
242
+ max = item;
243
+ }
244
+ }
245
+ return max;
246
+ }
247
+ catch (error) {
248
+ if (error instanceof CollectionError ||
249
+ error instanceof TypeError) {
250
+ throw error;
251
+ }
252
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
253
+ }
254
+ }
255
+ percentage(filter, _throwOnNumberLimit) {
256
+ try {
257
+ return (this.count(filter) / this.size()) * 100;
258
+ }
259
+ catch (error) {
260
+ if (error instanceof CollectionError ||
261
+ error instanceof TypeError) {
262
+ throw error;
263
+ }
264
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
265
+ }
266
+ }
267
+ some(filter, _throwOnNumberLimit) {
268
+ try {
269
+ return this.array.some((item, index) => filter(item, index, this));
270
+ }
271
+ catch (error) {
272
+ if (error instanceof CollectionError ||
273
+ error instanceof TypeError) {
274
+ throw error;
275
+ }
276
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
277
+ }
278
+ }
279
+ every(filter, _throwOnNumberLimit) {
280
+ try {
281
+ return this.array.every((item, index) => filter(item, index, this));
282
+ }
283
+ catch (error) {
284
+ if (error instanceof CollectionError ||
285
+ error instanceof TypeError) {
286
+ throw error;
287
+ }
288
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
289
+ }
290
+ }
291
+ take(limit, _throwOnNumberLimit) {
292
+ try {
293
+ return new ListCollection(this.array.slice(0, limit));
294
+ }
295
+ catch (error) {
296
+ if (error instanceof CollectionError ||
297
+ error instanceof TypeError) {
298
+ throw error;
299
+ }
300
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
301
+ }
302
+ }
303
+ takeUntil(filter, _throwOnNumberLimit) {
304
+ try {
305
+ const items = [];
306
+ for (const [index, item] of this.array.entries()) {
307
+ if (filter(item, index, this)) {
308
+ break;
309
+ }
310
+ items.push(item);
311
+ }
312
+ return new ListCollection(items);
313
+ }
314
+ catch (error) {
315
+ if (error instanceof CollectionError ||
316
+ error instanceof TypeError) {
317
+ throw error;
318
+ }
319
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
320
+ }
321
+ }
322
+ takeWhile(filter, _throwOnNumberLimit) {
323
+ try {
324
+ return this.takeUntil((...arguments_) => !filter(...arguments_));
325
+ }
326
+ catch (error) {
327
+ if (error instanceof CollectionError ||
328
+ error instanceof TypeError) {
329
+ throw error;
330
+ }
331
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
332
+ }
333
+ }
334
+ skip(offset, _throwOnNumberLimit) {
335
+ try {
336
+ return new ListCollection(this.array.slice(offset));
337
+ }
338
+ catch (error) {
339
+ if (error instanceof CollectionError ||
340
+ error instanceof TypeError) {
341
+ throw error;
342
+ }
343
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
344
+ }
345
+ }
346
+ skipUntil(filter, _throwOnNumberLimit) {
347
+ try {
348
+ let hasMatched = false;
349
+ const items = [];
350
+ for (const [index, item] of this.array.entries()) {
351
+ if (!hasMatched) {
352
+ hasMatched = filter(item, index, this);
353
+ }
354
+ if (hasMatched) {
355
+ items.push(item);
356
+ }
357
+ }
358
+ return new ListCollection(items);
359
+ }
360
+ catch (error) {
361
+ if (error instanceof CollectionError ||
362
+ error instanceof TypeError) {
363
+ throw error;
364
+ }
365
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
366
+ }
367
+ }
368
+ skipWhile(filter, _throwOnNumberLimit) {
369
+ try {
370
+ return this.skipUntil((...arguments_) => !filter(...arguments_));
371
+ }
372
+ catch (error) {
373
+ if (error instanceof CollectionError ||
374
+ error instanceof TypeError) {
375
+ throw error;
376
+ }
377
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
378
+ }
379
+ }
380
+ when(condition, callback) {
381
+ try {
382
+ if (condition) {
383
+ return callback(this);
384
+ }
385
+ return this;
386
+ }
387
+ catch (error) {
388
+ if (error instanceof CollectionError ||
389
+ error instanceof TypeError) {
390
+ throw error;
391
+ }
392
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
393
+ }
394
+ }
395
+ whenEmpty(callback) {
396
+ try {
397
+ return this.when(this.empty(), callback);
398
+ }
399
+ catch (error) {
400
+ if (error instanceof CollectionError ||
401
+ error instanceof TypeError) {
402
+ throw error;
403
+ }
404
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
405
+ }
406
+ }
407
+ whenNot(condition, callback) {
408
+ try {
409
+ return this.when(!condition, callback);
410
+ }
411
+ catch (error) {
412
+ if (error instanceof CollectionError ||
413
+ error instanceof TypeError) {
414
+ throw error;
415
+ }
416
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
417
+ }
418
+ }
419
+ whenNotEmpty(callback) {
420
+ try {
421
+ return this.when(this.notEmpty(), callback);
422
+ }
423
+ catch (error) {
424
+ if (error instanceof CollectionError ||
425
+ error instanceof TypeError) {
426
+ throw error;
427
+ }
428
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
429
+ }
430
+ }
431
+ pipe(callback) {
432
+ try {
433
+ return callback(this);
434
+ }
435
+ catch (error) {
436
+ if (error instanceof CollectionError ||
437
+ error instanceof TypeError) {
438
+ throw error;
439
+ }
440
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
441
+ }
442
+ }
443
+ tap(callback) {
444
+ try {
445
+ callback(this);
446
+ return new ListCollection(this);
447
+ }
448
+ catch (error) {
449
+ if (error instanceof CollectionError ||
450
+ error instanceof TypeError) {
451
+ throw error;
452
+ }
453
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
454
+ }
455
+ }
456
+ chunk(chunkSize) {
457
+ try {
458
+ const chunks = [];
459
+ for (let index = 0; index < this.size(); index += chunkSize) {
460
+ chunks.push(new ListCollection(this.array.slice(index, index + chunkSize)));
461
+ }
462
+ return new ListCollection(chunks);
463
+ }
464
+ catch (error) {
465
+ if (error instanceof CollectionError ||
466
+ error instanceof TypeError) {
467
+ throw error;
468
+ }
469
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
470
+ }
471
+ }
472
+ chunkWhile(filter, _throwOnNumberLimit) {
473
+ try {
474
+ let currentChunk = new ListCollection([]);
475
+ const chunks = [];
476
+ for (const [index, item] of this.array.entries()) {
477
+ if (index === 0) {
478
+ currentChunk = currentChunk.append([item]);
479
+ }
480
+ else if (filter(item, index, currentChunk)) {
481
+ currentChunk = currentChunk.append([item]);
482
+ }
483
+ else {
484
+ chunks.push(currentChunk);
485
+ currentChunk = new ListCollection([item]);
486
+ }
487
+ }
488
+ chunks.push(currentChunk);
489
+ return new ListCollection(chunks);
490
+ }
491
+ catch (error) {
492
+ if (error instanceof CollectionError ||
493
+ error instanceof TypeError) {
494
+ throw error;
495
+ }
496
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
497
+ }
498
+ }
499
+ split(chunkAmount, _throwOnNumberLimit) {
500
+ try {
501
+ const size = this.size(), minChunkSize = Math.floor(size / chunkAmount), restSize = size % chunkAmount, chunkSizes = Array.from({
502
+ length: chunkAmount,
503
+ }).fill(minChunkSize);
504
+ for (let index = 1; index <= restSize; index++) {
505
+ const chunkIndex = (index - 1) % chunkAmount;
506
+ if (chunkSizes[chunkIndex]) {
507
+ chunkSizes[chunkIndex] = chunkSizes[chunkIndex] + 1;
508
+ }
509
+ }
510
+ let end = 0, start = 0;
511
+ const chunks = [];
512
+ for (const chunkSize of chunkSizes) {
513
+ end += chunkSize;
514
+ chunks.push(new ListCollection(this.array.slice(start, end)));
515
+ start += chunkSize;
516
+ }
517
+ return new ListCollection(chunks);
518
+ }
519
+ catch (error) {
520
+ if (error instanceof CollectionError ||
521
+ error instanceof TypeError) {
522
+ throw error;
523
+ }
524
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
525
+ }
526
+ }
527
+ partition(filter, _throwOnNumberLimit) {
528
+ try {
529
+ const chunkA = [], chunkB = [];
530
+ for (const [index, item] of this.array.entries()) {
531
+ if (filter(item, index, this)) {
532
+ chunkA.push(item);
533
+ }
534
+ else {
535
+ chunkB.push(item);
536
+ }
537
+ }
538
+ return new ListCollection([
539
+ new ListCollection(chunkA),
540
+ new ListCollection(chunkB),
541
+ ]);
542
+ }
543
+ catch (error) {
544
+ if (error instanceof CollectionError ||
545
+ error instanceof TypeError) {
546
+ throw error;
547
+ }
548
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
549
+ }
550
+ }
551
+ sliding(settings) {
552
+ try {
553
+ const { chunkSize, step = chunkSize - 1 } = settings;
554
+ let chunks = new ListCollection([]);
555
+ if (step <= 0) {
556
+ return new ListCollection([]);
557
+ }
558
+ for (let index = 0; index < this.size(); index += step) {
559
+ const start = index;
560
+ const end = index + chunkSize;
561
+ chunks = chunks.append([
562
+ this.slice({
563
+ start,
564
+ end,
565
+ }),
566
+ ]);
567
+ if (end >= this.size()) {
568
+ break;
569
+ }
570
+ }
571
+ return chunks;
572
+ }
573
+ catch (error) {
574
+ if (error instanceof CollectionError ||
575
+ error instanceof TypeError) {
576
+ throw error;
577
+ }
578
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
579
+ }
580
+ }
581
+ groupBy(settings) {
582
+ try {
583
+ const map = new Map(), callback = (settings?.mapFn ?? ((item) => item));
584
+ for (const [index, item] of this.array.entries()) {
585
+ const key = callback(item, index, this);
586
+ let collection = map.get(key);
587
+ if (collection === undefined) {
588
+ collection = new ListCollection([]);
589
+ map.set(key, collection);
590
+ }
591
+ map.set(key, collection.append([item]));
592
+ }
593
+ return new ListCollection(map);
594
+ }
595
+ catch (error) {
596
+ if (error instanceof CollectionError ||
597
+ error instanceof TypeError) {
598
+ throw error;
599
+ }
600
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
601
+ }
602
+ }
603
+ countBy(settings) {
604
+ try {
605
+ const map = new Map(), callback = (settings?.mapFn ?? ((item) => item));
606
+ for (const [index, item] of this.array.entries()) {
607
+ const key = callback(item, index, this);
608
+ if (!map.has(key)) {
609
+ map.set(key, 0);
610
+ }
611
+ const counter = map.get(key);
612
+ if (counter !== undefined) {
613
+ map.set(key, counter + 1);
614
+ }
615
+ }
616
+ return new ListCollection(map);
617
+ }
618
+ catch (error) {
619
+ if (error instanceof CollectionError ||
620
+ error instanceof TypeError) {
621
+ throw error;
622
+ }
623
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
624
+ }
625
+ }
626
+ unique(settings) {
627
+ try {
628
+ const set = new Set([]), callback = (settings?.mapFn ?? ((item) => item)), items = [];
629
+ for (const [index, item] of this.array.entries()) {
630
+ const item_ = callback(item, index, this);
631
+ if (!set.has(item_)) {
632
+ items.push(item);
633
+ }
634
+ set.add(item_);
635
+ }
636
+ return new ListCollection(items);
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
+ difference(iterable, map = (item) => item) {
647
+ try {
648
+ const differenceCollection = new ListCollection(iterable);
649
+ return this.filter((item, index, collection) => {
650
+ return !differenceCollection.some((matchItem, matchIndex, matchCollection) => {
651
+ return (map(item, index, collection) ===
652
+ map(matchItem, matchIndex, matchCollection));
653
+ });
654
+ });
655
+ }
656
+ catch (error) {
657
+ if (error instanceof CollectionError ||
658
+ error instanceof TypeError) {
659
+ throw error;
660
+ }
661
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
662
+ }
663
+ }
664
+ repeat(amount) {
665
+ try {
666
+ let collection = new ListCollection([]);
667
+ for (let index = 0; index < amount - 1; index++) {
668
+ collection = collection.append(this);
669
+ }
670
+ return collection;
671
+ }
672
+ catch (error) {
673
+ if (error instanceof CollectionError ||
674
+ error instanceof TypeError) {
675
+ throw error;
676
+ }
677
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
678
+ }
679
+ }
680
+ padStart(maxLength, fillItems) {
681
+ try {
682
+ const fillItemsArray = [...fillItems];
683
+ const size = this.size();
684
+ const repeat = Math.floor((maxLength - size) / fillItemsArray.length);
685
+ const resultItemsArray = [];
686
+ for (let index = 0; index < repeat; index++) {
687
+ resultItemsArray.push(...fillItemsArray);
688
+ }
689
+ const restAmount = maxLength - (repeat * fillItemsArray.length + size);
690
+ for (let index = 0; index < restAmount; index++) {
691
+ const fillItem = fillItemsArray[index];
692
+ if (fillItem) {
693
+ resultItemsArray.push(fillItem);
694
+ }
695
+ }
696
+ resultItemsArray.push(...this);
697
+ return new ListCollection(resultItemsArray);
698
+ }
699
+ catch (error) {
700
+ if (error instanceof CollectionError ||
701
+ error instanceof TypeError) {
702
+ throw error;
703
+ }
704
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
705
+ }
706
+ }
707
+ padEnd(maxLength, fillItems) {
708
+ try {
709
+ const fillItemsArray = [...fillItems];
710
+ const size = this.size();
711
+ const repeat = Math.floor((maxLength - size) / fillItemsArray.length);
712
+ const resultItemsArray = [];
713
+ for (let index = 0; index < repeat; index++) {
714
+ resultItemsArray.push(...fillItemsArray);
715
+ }
716
+ const restAmount = maxLength - (repeat * fillItemsArray.length + size);
717
+ for (let index = 0; index < restAmount; index++) {
718
+ const fillItem = fillItemsArray[index];
719
+ if (fillItem) {
720
+ resultItemsArray.push(fillItem);
721
+ }
722
+ }
723
+ resultItemsArray.unshift(...this);
724
+ return new ListCollection(resultItemsArray);
725
+ }
726
+ catch (error) {
727
+ if (error instanceof CollectionError ||
728
+ error instanceof TypeError) {
729
+ throw error;
730
+ }
731
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
732
+ }
733
+ }
734
+ slice(settings) {
735
+ try {
736
+ return new ListCollection(this.array.slice(settings?.start, settings?.end));
737
+ }
738
+ catch (error) {
739
+ if (error instanceof CollectionError ||
740
+ error instanceof TypeError) {
741
+ throw error;
742
+ }
743
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
744
+ }
745
+ }
746
+ prepend(iterable) {
747
+ try {
748
+ return new ListCollection([...iterable, ...this.array]);
749
+ }
750
+ catch (error) {
751
+ if (error instanceof CollectionError ||
752
+ error instanceof TypeError) {
753
+ throw error;
754
+ }
755
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
756
+ }
757
+ }
758
+ append(iterable) {
759
+ try {
760
+ return new ListCollection([...this.array, ...iterable]);
761
+ }
762
+ catch (error) {
763
+ if (error instanceof CollectionError ||
764
+ error instanceof TypeError) {
765
+ throw error;
766
+ }
767
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
768
+ }
769
+ }
770
+ insertBefore(filter, iterable, _throwOnNumberLimit) {
771
+ try {
772
+ const index = this.array.findIndex((item, index) => filter(item, index, this));
773
+ if (index === -1) {
774
+ return new ListCollection(this.array);
775
+ }
776
+ const newArray = [...this.array];
777
+ newArray.splice(index, 0, ...iterable);
778
+ return new ListCollection(newArray);
779
+ }
780
+ catch (error) {
781
+ if (error instanceof CollectionError ||
782
+ error instanceof TypeError) {
783
+ throw error;
784
+ }
785
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
786
+ }
787
+ }
788
+ insertAfter(filter, iterable, _throwOnNumberLimit) {
789
+ try {
790
+ const index = this.array.findIndex((item, index) => filter(item, index, this));
791
+ if (index === -1) {
792
+ return new ListCollection(this.array);
793
+ }
794
+ const firstPart = this.array.slice(0, index + 1), lastPart = this.array.slice(index + 1);
795
+ return new ListCollection([
796
+ ...firstPart,
797
+ ...iterable,
798
+ ...lastPart,
799
+ ]);
800
+ }
801
+ catch (error) {
802
+ if (error instanceof CollectionError ||
803
+ error instanceof TypeError) {
804
+ throw error;
805
+ }
806
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
807
+ }
808
+ }
809
+ crossJoin(...iterables) {
810
+ try {
811
+ return new ListCollection([
812
+ this,
813
+ ...iterables.map((iterable) => new ListCollection(iterable)),
814
+ ]).reduce({
815
+ reduceFn: (a, b) => {
816
+ return a
817
+ .map((x) => b.map((y) => {
818
+ return x.append([y]);
819
+ }))
820
+ .reduce({
821
+ reduceFn: (c, b) => c.append(b),
822
+ initialValue: new ListCollection([]),
823
+ });
824
+ },
825
+ initialValue: new ListCollection([new ListCollection([])]),
826
+ });
827
+ }
828
+ catch (error) {
829
+ if (error instanceof CollectionError ||
830
+ error instanceof TypeError) {
831
+ throw error;
832
+ }
833
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
834
+ }
835
+ }
836
+ zip(iterable) {
837
+ try {
838
+ const iterableArray = [...iterable];
839
+ let size = iterableArray.length;
840
+ if (size > this.size()) {
841
+ size = this.size();
842
+ }
843
+ const items = [];
844
+ for (let index = 0; index < size; index++) {
845
+ const itemA = this.array[index], itemB = iterableArray[index];
846
+ if (itemA === undefined || itemB === undefined) {
847
+ continue;
848
+ }
849
+ items.push([itemA, itemB]);
850
+ }
851
+ return new ListCollection(items);
852
+ }
853
+ catch (error) {
854
+ if (error instanceof CollectionError ||
855
+ error instanceof TypeError) {
856
+ throw error;
857
+ }
858
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
859
+ }
860
+ }
861
+ sort(compare) {
862
+ try {
863
+ return new ListCollection(this.array.sort(compare));
864
+ }
865
+ catch (error) {
866
+ if (error instanceof CollectionError ||
867
+ error instanceof TypeError) {
868
+ throw error;
869
+ }
870
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
871
+ }
872
+ }
873
+ reverse(_settings) {
874
+ try {
875
+ return new ListCollection([...this.array].reverse());
876
+ }
877
+ catch (error) {
878
+ if (error instanceof CollectionError ||
879
+ error instanceof TypeError) {
880
+ throw error;
881
+ }
882
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
883
+ }
884
+ }
885
+ shuffle() {
886
+ try {
887
+ const newArray = [...this.array];
888
+ for (let i = newArray.length - 1; i > 0; i--) {
889
+ const j = Math.floor(Math.random() * (i + 1));
890
+ const temp = newArray[i];
891
+ if (newArray[j] !== undefined) {
892
+ newArray[i] = newArray[j];
893
+ }
894
+ if (temp !== undefined) {
895
+ newArray[j] = temp;
896
+ }
897
+ }
898
+ return new ListCollection(newArray);
899
+ }
900
+ catch (error) {
901
+ if (error instanceof CollectionError ||
902
+ error instanceof TypeError) {
903
+ throw error;
904
+ }
905
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
906
+ }
907
+ }
908
+ first(settings) {
909
+ try {
910
+ return this.firstOr({
911
+ defaultValue: null,
912
+ ...settings,
913
+ });
914
+ }
915
+ catch (error) {
916
+ if (error instanceof CollectionError ||
917
+ error instanceof TypeError) {
918
+ throw error;
919
+ }
920
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
921
+ }
922
+ }
923
+ firstOr(settings) {
924
+ try {
925
+ const { filterFn: filter } = settings;
926
+ if (filter) {
927
+ for (const [index, item] of this.array.entries()) {
928
+ if (filter(item, index, this)) {
929
+ return item;
930
+ }
931
+ }
932
+ }
933
+ else {
934
+ const firstItem = this.array[0];
935
+ if (firstItem) {
936
+ return firstItem;
937
+ }
938
+ }
939
+ const { defaultValue } = settings;
940
+ if (typeof defaultValue === "function") {
941
+ const defaultFn = defaultValue;
942
+ return defaultFn();
943
+ }
944
+ return defaultValue;
945
+ }
946
+ catch (error) {
947
+ if (error instanceof CollectionError ||
948
+ error instanceof TypeError) {
949
+ throw error;
950
+ }
951
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
952
+ }
953
+ }
954
+ firstOrFail(settings) {
955
+ try {
956
+ const item = this.first(settings);
957
+ if (item === null) {
958
+ throw new ItemNotFoundError("Item was not found");
959
+ }
960
+ return item;
961
+ }
962
+ catch (error) {
963
+ if (error instanceof CollectionError ||
964
+ error instanceof TypeError) {
965
+ throw error;
966
+ }
967
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
968
+ }
969
+ }
970
+ last(settings) {
971
+ try {
972
+ return this.lastOr({
973
+ ...settings,
974
+ defaultValue: null,
975
+ });
976
+ }
977
+ catch (error) {
978
+ if (error instanceof CollectionError ||
979
+ error instanceof TypeError) {
980
+ throw error;
981
+ }
982
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
983
+ }
984
+ }
985
+ lastOr(settings) {
986
+ try {
987
+ const { filterFn: filter } = settings;
988
+ if (filter) {
989
+ let matchedItem = null;
990
+ for (const [index, item] of this.array.entries()) {
991
+ if (filter(item, index, this)) {
992
+ matchedItem = item;
993
+ }
994
+ }
995
+ if (matchedItem) {
996
+ return matchedItem;
997
+ }
998
+ }
999
+ else {
1000
+ const lastItem = this.array.at(-1);
1001
+ if (lastItem) {
1002
+ return lastItem;
1003
+ }
1004
+ }
1005
+ const { defaultValue } = settings;
1006
+ if (typeof defaultValue === "function") {
1007
+ const defaultFn = defaultValue;
1008
+ return defaultFn();
1009
+ }
1010
+ return defaultValue;
1011
+ }
1012
+ catch (error) {
1013
+ if (error instanceof CollectionError ||
1014
+ error instanceof TypeError) {
1015
+ throw error;
1016
+ }
1017
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1018
+ }
1019
+ }
1020
+ lastOrFail(settings) {
1021
+ try {
1022
+ const item = this.last(settings);
1023
+ if (item === null) {
1024
+ throw new ItemNotFoundError("Item was not found");
1025
+ }
1026
+ return item;
1027
+ }
1028
+ catch (error) {
1029
+ if (error instanceof CollectionError ||
1030
+ error instanceof TypeError) {
1031
+ throw error;
1032
+ }
1033
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1034
+ }
1035
+ }
1036
+ before(filter, _throwOnNumberLimit) {
1037
+ try {
1038
+ return this.beforeOr(null, filter);
1039
+ }
1040
+ catch (error) {
1041
+ if (error instanceof CollectionError ||
1042
+ error instanceof TypeError) {
1043
+ throw error;
1044
+ }
1045
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1046
+ }
1047
+ }
1048
+ beforeOr(defaultValue, filter, _throwOnNumberLimit) {
1049
+ try {
1050
+ for (const [index, item] of this.array.entries()) {
1051
+ const beforeItem = this.array[index - 1];
1052
+ if (filter(item, index, this) && beforeItem !== undefined) {
1053
+ return beforeItem;
1054
+ }
1055
+ }
1056
+ if (typeof defaultValue === "function") {
1057
+ const defaultFn = defaultValue;
1058
+ return defaultFn();
1059
+ }
1060
+ return defaultValue;
1061
+ }
1062
+ catch (error) {
1063
+ if (error instanceof CollectionError ||
1064
+ error instanceof TypeError) {
1065
+ throw error;
1066
+ }
1067
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1068
+ }
1069
+ }
1070
+ beforeOrFail(filter, _throwOnNumberLimit) {
1071
+ try {
1072
+ const item = this.before(filter);
1073
+ if (item === null) {
1074
+ throw new ItemNotFoundError("Item was not found");
1075
+ }
1076
+ return item;
1077
+ }
1078
+ catch (error) {
1079
+ if (error instanceof CollectionError ||
1080
+ error instanceof TypeError) {
1081
+ throw error;
1082
+ }
1083
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1084
+ }
1085
+ }
1086
+ after(filter, _throwOnNumberLimit) {
1087
+ try {
1088
+ return this.afterOr(null, filter);
1089
+ }
1090
+ catch (error) {
1091
+ if (error instanceof CollectionError ||
1092
+ error instanceof TypeError) {
1093
+ throw error;
1094
+ }
1095
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1096
+ }
1097
+ }
1098
+ afterOr(defaultValue, filter, _throwOnNumberLimit) {
1099
+ try {
1100
+ for (const [index, item] of this.array.entries()) {
1101
+ const beforeItem = this.array[index + 1];
1102
+ if (filter(item, index, this) && beforeItem !== undefined) {
1103
+ return beforeItem;
1104
+ }
1105
+ }
1106
+ if (typeof defaultValue === "function") {
1107
+ const defaultFn = defaultValue;
1108
+ return defaultFn();
1109
+ }
1110
+ return defaultValue;
1111
+ }
1112
+ catch (error) {
1113
+ if (error instanceof CollectionError ||
1114
+ error instanceof TypeError) {
1115
+ throw error;
1116
+ }
1117
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1118
+ }
1119
+ }
1120
+ afterOrFail(filter, _throwOnNumberLimit) {
1121
+ try {
1122
+ const item = this.after(filter);
1123
+ if (item === null) {
1124
+ throw new ItemNotFoundError("Item was not found");
1125
+ }
1126
+ return item;
1127
+ }
1128
+ catch (error) {
1129
+ if (error instanceof CollectionError ||
1130
+ error instanceof TypeError) {
1131
+ throw error;
1132
+ }
1133
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1134
+ }
1135
+ }
1136
+ sole(filter, _throwOnNumberLimit) {
1137
+ try {
1138
+ const matchedItems = [];
1139
+ for (const [index, item] of this.array.entries()) {
1140
+ if (filter(item, index, this)) {
1141
+ matchedItems.push(item);
1142
+ }
1143
+ if (matchedItems.length > 1) {
1144
+ throw new MultipleItemsFoundError("Multiple items were found");
1145
+ }
1146
+ }
1147
+ const [matchedItem] = matchedItems;
1148
+ if (matchedItem === undefined) {
1149
+ throw new ItemNotFoundError("Item was not found");
1150
+ }
1151
+ return matchedItem;
1152
+ }
1153
+ catch (error) {
1154
+ if (error instanceof CollectionError ||
1155
+ error instanceof TypeError) {
1156
+ throw error;
1157
+ }
1158
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1159
+ }
1160
+ }
1161
+ nth(step) {
1162
+ try {
1163
+ return this.filter((_item, index) => index % step === 0);
1164
+ }
1165
+ catch (error) {
1166
+ if (error instanceof CollectionError ||
1167
+ error instanceof TypeError) {
1168
+ throw error;
1169
+ }
1170
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1171
+ }
1172
+ }
1173
+ count(filter, _throwOnNumberLimit) {
1174
+ try {
1175
+ return this.filter(filter).size();
1176
+ }
1177
+ catch (error) {
1178
+ if (error instanceof CollectionError ||
1179
+ error instanceof TypeError) {
1180
+ throw error;
1181
+ }
1182
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1183
+ }
1184
+ }
1185
+ size(_throwOnNumberLimit) {
1186
+ try {
1187
+ return this.array.length;
1188
+ }
1189
+ catch (error) {
1190
+ if (error instanceof CollectionError ||
1191
+ error instanceof TypeError) {
1192
+ throw error;
1193
+ }
1194
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1195
+ }
1196
+ }
1197
+ empty() {
1198
+ try {
1199
+ return this.array.length === 0;
1200
+ }
1201
+ catch (error) {
1202
+ if (error instanceof CollectionError ||
1203
+ error instanceof TypeError) {
1204
+ throw error;
1205
+ }
1206
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1207
+ }
1208
+ }
1209
+ notEmpty() {
1210
+ try {
1211
+ return this.array.length !== 0;
1212
+ }
1213
+ catch (error) {
1214
+ if (error instanceof CollectionError ||
1215
+ error instanceof TypeError) {
1216
+ throw error;
1217
+ }
1218
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1219
+ }
1220
+ }
1221
+ search(filter, _throwOnNumberLimit) {
1222
+ try {
1223
+ return this.array.findIndex((item, index) => filter(item, index, this));
1224
+ }
1225
+ catch (error) {
1226
+ if (error instanceof CollectionError ||
1227
+ error instanceof TypeError) {
1228
+ throw error;
1229
+ }
1230
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1231
+ }
1232
+ }
1233
+ forEach(callback, _throwOnNumberLimit) {
1234
+ try {
1235
+ for (const [index, item] of this.array.entries()) {
1236
+ callback(item, index, this);
1237
+ }
1238
+ }
1239
+ catch (error) {
1240
+ if (error instanceof CollectionError ||
1241
+ error instanceof TypeError) {
1242
+ throw error;
1243
+ }
1244
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1245
+ }
1246
+ }
1247
+ toArray() {
1248
+ try {
1249
+ return [...this.array];
1250
+ }
1251
+ catch (error) {
1252
+ if (error instanceof CollectionError ||
1253
+ error instanceof TypeError) {
1254
+ throw error;
1255
+ }
1256
+ throw new UnexpectedCollectionError(`Unexpected error "${String(error)}" occured`, error);
1257
+ }
1258
+ }
1259
+ }
1260
+ //# sourceMappingURL=list-collection.js.map