@sapphire/iterator-utilities 1.1.0-next.63f6019b.0 → 2.0.0-next.09afdaab

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 (468) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +81 -15
  3. package/dist/cjs/index.cjs +218 -1
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +33 -10
  6. package/dist/cjs/lib/all.cjs +12 -0
  7. package/dist/cjs/lib/all.cjs.map +1 -0
  8. package/dist/cjs/lib/all.d.cts +2 -0
  9. package/dist/cjs/lib/any.cjs +12 -0
  10. package/dist/cjs/lib/any.cjs.map +1 -0
  11. package/dist/cjs/lib/any.d.cts +2 -0
  12. package/dist/cjs/lib/append.cjs +1 -1
  13. package/dist/cjs/lib/append.cjs.map +1 -1
  14. package/dist/cjs/lib/at.cjs +1 -1
  15. package/dist/cjs/lib/at.cjs.map +1 -1
  16. package/dist/cjs/lib/average.cjs +1 -1
  17. package/dist/cjs/lib/average.cjs.map +1 -1
  18. package/dist/cjs/lib/chain.cjs +1 -1
  19. package/dist/cjs/lib/chain.cjs.map +1 -1
  20. package/dist/cjs/lib/chunk.cjs +1 -1
  21. package/dist/cjs/lib/chunk.cjs.map +1 -1
  22. package/dist/cjs/lib/collect.cjs +12 -0
  23. package/dist/cjs/lib/collect.cjs.map +1 -0
  24. package/dist/cjs/lib/collect.d.cts +2 -0
  25. package/dist/cjs/lib/collectInto.cjs +17 -0
  26. package/dist/cjs/lib/collectInto.cjs.map +1 -0
  27. package/dist/cjs/lib/collectInto.d.cts +29 -0
  28. package/dist/cjs/lib/compact.cjs +1 -1
  29. package/dist/cjs/lib/compact.cjs.map +1 -1
  30. package/dist/cjs/lib/compare.cjs +15 -0
  31. package/dist/cjs/lib/compare.cjs.map +1 -0
  32. package/dist/cjs/lib/compare.d.cts +32 -0
  33. package/dist/cjs/lib/compareBy.cjs +26 -0
  34. package/dist/cjs/lib/compareBy.cjs.map +1 -0
  35. package/dist/cjs/lib/compareBy.d.cts +31 -0
  36. package/dist/cjs/lib/compress.cjs +1 -1
  37. package/dist/cjs/lib/compress.cjs.map +1 -1
  38. package/dist/cjs/lib/contains.cjs +2 -3
  39. package/dist/cjs/lib/contains.cjs.map +1 -1
  40. package/dist/cjs/lib/count.cjs +1 -1
  41. package/dist/cjs/lib/count.cjs.map +1 -1
  42. package/dist/cjs/lib/cycle.cjs +1 -1
  43. package/dist/cjs/lib/cycle.cjs.map +1 -1
  44. package/dist/cjs/lib/difference.cjs +1 -1
  45. package/dist/cjs/lib/difference.cjs.map +1 -1
  46. package/dist/cjs/lib/drop.cjs +4 -8
  47. package/dist/cjs/lib/drop.cjs.map +1 -1
  48. package/dist/cjs/lib/drop.d.cts +1 -1
  49. package/dist/cjs/lib/dropLast.cjs +2 -4
  50. package/dist/cjs/lib/dropLast.cjs.map +1 -1
  51. package/dist/cjs/lib/dropLast.d.cts +1 -1
  52. package/dist/cjs/lib/dropWhile.cjs +1 -2
  53. package/dist/cjs/lib/dropWhile.cjs.map +1 -1
  54. package/dist/cjs/lib/dropWhile.d.cts +1 -1
  55. package/dist/cjs/lib/empty.cjs +1 -1
  56. package/dist/cjs/lib/empty.cjs.map +1 -1
  57. package/dist/cjs/lib/enumerate.cjs +1 -1
  58. package/dist/cjs/lib/enumerate.cjs.map +1 -1
  59. package/dist/cjs/lib/equal.cjs +15 -0
  60. package/dist/cjs/lib/equal.cjs.map +1 -0
  61. package/dist/cjs/lib/equal.d.cts +26 -0
  62. package/dist/cjs/lib/equalBy.cjs +23 -0
  63. package/dist/cjs/lib/equalBy.cjs.map +1 -0
  64. package/dist/cjs/lib/equalBy.d.cts +27 -0
  65. package/dist/cjs/lib/every.cjs +2 -3
  66. package/dist/cjs/lib/every.cjs.map +1 -1
  67. package/dist/cjs/lib/filter.cjs +2 -4
  68. package/dist/cjs/lib/filter.cjs.map +1 -1
  69. package/dist/cjs/lib/filter.d.cts +1 -1
  70. package/dist/cjs/lib/find.cjs +1 -1
  71. package/dist/cjs/lib/find.cjs.map +1 -1
  72. package/dist/cjs/lib/findIndex.cjs +1 -1
  73. package/dist/cjs/lib/findIndex.cjs.map +1 -1
  74. package/dist/cjs/lib/first.cjs +1 -1
  75. package/dist/cjs/lib/first.cjs.map +1 -1
  76. package/dist/cjs/lib/flat.cjs +1 -1
  77. package/dist/cjs/lib/flat.cjs.map +1 -1
  78. package/dist/cjs/lib/flatMap.cjs +1 -1
  79. package/dist/cjs/lib/flatMap.cjs.map +1 -1
  80. package/dist/cjs/lib/forEach.cjs +1 -1
  81. package/dist/cjs/lib/forEach.cjs.map +1 -1
  82. package/dist/cjs/lib/from.cjs +1 -1
  83. package/dist/cjs/lib/from.cjs.map +1 -1
  84. package/dist/cjs/lib/fuse.cjs +26 -0
  85. package/dist/cjs/lib/fuse.cjs.map +1 -0
  86. package/dist/cjs/lib/fuse.d.cts +47 -0
  87. package/dist/cjs/lib/greaterOrEqualThan.cjs +17 -0
  88. package/dist/cjs/lib/greaterOrEqualThan.cjs.map +1 -0
  89. package/dist/cjs/lib/greaterOrEqualThan.d.cts +32 -0
  90. package/dist/cjs/lib/greaterThan.cjs +17 -0
  91. package/dist/cjs/lib/greaterThan.cjs.map +1 -0
  92. package/dist/cjs/lib/greaterThan.d.cts +32 -0
  93. package/dist/cjs/lib/indexOf.cjs +1 -2
  94. package/dist/cjs/lib/indexOf.cjs.map +1 -1
  95. package/dist/cjs/lib/indexOf.d.cts +1 -1
  96. package/dist/cjs/lib/inspect.cjs +25 -0
  97. package/dist/cjs/lib/inspect.cjs.map +1 -0
  98. package/dist/cjs/lib/inspect.d.cts +39 -0
  99. package/dist/cjs/lib/intersect.cjs +1 -1
  100. package/dist/cjs/lib/intersect.cjs.map +1 -1
  101. package/dist/cjs/lib/intersperse.cjs +35 -0
  102. package/dist/cjs/lib/intersperse.cjs.map +1 -0
  103. package/dist/cjs/lib/intersperse.d.cts +30 -0
  104. package/dist/cjs/lib/isEmpty.cjs +1 -1
  105. package/dist/cjs/lib/isEmpty.cjs.map +1 -1
  106. package/dist/cjs/lib/isSorted.cjs +15 -0
  107. package/dist/cjs/lib/isSorted.cjs.map +1 -0
  108. package/dist/cjs/lib/isSorted.d.cts +35 -0
  109. package/dist/cjs/lib/isSortedBy.cjs +26 -0
  110. package/dist/cjs/lib/isSortedBy.cjs.map +1 -0
  111. package/dist/cjs/lib/isSortedBy.d.cts +32 -0
  112. package/dist/cjs/lib/isSortedByKey.cjs +29 -0
  113. package/dist/cjs/lib/isSortedByKey.cjs.map +1 -0
  114. package/dist/cjs/lib/isSortedByKey.d.cts +30 -0
  115. package/dist/cjs/lib/last.cjs +1 -1
  116. package/dist/cjs/lib/last.cjs.map +1 -1
  117. package/dist/cjs/lib/lessOrEqualThan.cjs +17 -0
  118. package/dist/cjs/lib/lessOrEqualThan.cjs.map +1 -0
  119. package/dist/cjs/lib/lessOrEqualThan.d.cts +32 -0
  120. package/dist/cjs/lib/lessThan.cjs +17 -0
  121. package/dist/cjs/lib/lessThan.cjs.map +1 -0
  122. package/dist/cjs/lib/lessThan.d.cts +32 -0
  123. package/dist/cjs/lib/map.cjs +1 -1
  124. package/dist/cjs/lib/map.cjs.map +1 -1
  125. package/dist/cjs/lib/max.cjs +4 -9
  126. package/dist/cjs/lib/max.cjs.map +1 -1
  127. package/dist/cjs/lib/max.d.cts +8 -3
  128. package/dist/cjs/lib/maxBy.cjs +27 -0
  129. package/dist/cjs/lib/maxBy.cjs.map +1 -0
  130. package/dist/cjs/lib/maxBy.d.cts +31 -0
  131. package/dist/cjs/lib/maxByKey.cjs +32 -0
  132. package/dist/cjs/lib/maxByKey.cjs.map +1 -0
  133. package/dist/cjs/lib/maxByKey.d.cts +32 -0
  134. package/dist/cjs/lib/min.cjs +4 -9
  135. package/dist/cjs/lib/min.cjs.map +1 -1
  136. package/dist/cjs/lib/min.d.cts +8 -3
  137. package/dist/cjs/lib/minBy.cjs +27 -0
  138. package/dist/cjs/lib/minBy.cjs.map +1 -0
  139. package/dist/cjs/lib/minBy.d.cts +31 -0
  140. package/dist/cjs/lib/minByKey.cjs +32 -0
  141. package/dist/cjs/lib/minByKey.cjs.map +1 -0
  142. package/dist/cjs/lib/minByKey.d.cts +31 -0
  143. package/dist/cjs/lib/notEqual.cjs +15 -0
  144. package/dist/cjs/lib/notEqual.cjs.map +1 -0
  145. package/dist/cjs/lib/notEqual.d.cts +26 -0
  146. package/dist/cjs/lib/nth.cjs +12 -0
  147. package/dist/cjs/lib/nth.cjs.map +1 -0
  148. package/dist/cjs/lib/nth.d.cts +2 -0
  149. package/dist/cjs/lib/partition.cjs +1 -1
  150. package/dist/cjs/lib/partition.cjs.map +1 -1
  151. package/dist/cjs/lib/peekable.cjs +2 -3
  152. package/dist/cjs/lib/peekable.cjs.map +1 -1
  153. package/dist/cjs/lib/peekable.d.cts +1 -1
  154. package/dist/cjs/lib/position.cjs +12 -0
  155. package/dist/cjs/lib/position.cjs.map +1 -0
  156. package/dist/cjs/lib/position.d.cts +2 -0
  157. package/dist/cjs/lib/prepend.cjs +1 -1
  158. package/dist/cjs/lib/prepend.cjs.map +1 -1
  159. package/dist/cjs/lib/product.cjs +1 -1
  160. package/dist/cjs/lib/product.cjs.map +1 -1
  161. package/dist/cjs/lib/range.cjs +1 -1
  162. package/dist/cjs/lib/range.cjs.map +1 -1
  163. package/dist/cjs/lib/reduce.cjs +2 -3
  164. package/dist/cjs/lib/reduce.cjs.map +1 -1
  165. package/dist/cjs/lib/repeat.cjs +1 -1
  166. package/dist/cjs/lib/repeat.cjs.map +1 -1
  167. package/dist/cjs/lib/reverse.cjs +3 -6
  168. package/dist/cjs/lib/reverse.cjs.map +1 -1
  169. package/dist/cjs/lib/shared/_assertFunction.cjs +1 -1
  170. package/dist/cjs/lib/shared/_assertFunction.cjs.map +1 -1
  171. package/dist/cjs/lib/shared/_assertNotNegative.cjs +1 -1
  172. package/dist/cjs/lib/shared/_assertNotNegative.cjs.map +1 -1
  173. package/dist/cjs/lib/shared/_assertPositive.cjs +1 -1
  174. package/dist/cjs/lib/shared/_assertPositive.cjs.map +1 -1
  175. package/dist/cjs/lib/shared/_compare.cjs +36 -0
  176. package/dist/cjs/lib/shared/_compare.cjs.map +1 -0
  177. package/dist/cjs/lib/shared/_compare.d.cts +20 -0
  178. package/dist/cjs/lib/shared/_makeIterableIterator.cjs +1 -1
  179. package/dist/cjs/lib/shared/_makeIterableIterator.cjs.map +1 -1
  180. package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs +4 -7
  181. package/dist/cjs/lib/shared/_toIntegerOrInfinityOrThrow.cjs.map +1 -1
  182. package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs +4 -7
  183. package/dist/cjs/lib/shared/_toIntegerOrThrow.cjs.map +1 -1
  184. package/dist/cjs/lib/shared/_toNumberOrThrow.cjs +1 -1
  185. package/dist/cjs/lib/shared/_toNumberOrThrow.cjs.map +1 -1
  186. package/dist/cjs/lib/shared/comparators.cjs +28 -0
  187. package/dist/cjs/lib/shared/comparators.cjs.map +1 -0
  188. package/dist/cjs/lib/shared/comparators.d.cts +34 -0
  189. package/dist/cjs/lib/skip.cjs +12 -0
  190. package/dist/cjs/lib/skip.cjs.map +1 -0
  191. package/dist/cjs/lib/skip.d.cts +2 -0
  192. package/dist/cjs/lib/skipLast.cjs +12 -0
  193. package/dist/cjs/lib/skipLast.cjs.map +1 -0
  194. package/dist/cjs/lib/skipLast.d.cts +2 -0
  195. package/dist/cjs/lib/skipWhile.cjs +12 -0
  196. package/dist/cjs/lib/skipWhile.cjs.map +1 -0
  197. package/dist/cjs/lib/skipWhile.d.cts +2 -0
  198. package/dist/cjs/lib/slice.cjs +2 -3
  199. package/dist/cjs/lib/slice.cjs.map +1 -1
  200. package/dist/cjs/lib/some.cjs +1 -1
  201. package/dist/cjs/lib/some.cjs.map +1 -1
  202. package/dist/cjs/lib/sorted.cjs +1 -1
  203. package/dist/cjs/lib/sorted.cjs.map +1 -1
  204. package/dist/cjs/lib/starMap.cjs +1 -1
  205. package/dist/cjs/lib/starMap.cjs.map +1 -1
  206. package/dist/cjs/lib/stepBy.cjs +29 -0
  207. package/dist/cjs/lib/stepBy.cjs.map +1 -0
  208. package/dist/cjs/lib/stepBy.d.cts +24 -0
  209. package/dist/cjs/lib/sum.cjs +1 -1
  210. package/dist/cjs/lib/sum.cjs.map +1 -1
  211. package/dist/cjs/lib/take.cjs +2 -3
  212. package/dist/cjs/lib/take.cjs.map +1 -1
  213. package/dist/cjs/lib/takeLast.cjs +3 -5
  214. package/dist/cjs/lib/takeLast.cjs.map +1 -1
  215. package/dist/cjs/lib/takeWhile.cjs +12 -0
  216. package/dist/cjs/lib/takeWhile.cjs.map +1 -0
  217. package/dist/cjs/lib/takeWhile.d.cts +2 -0
  218. package/dist/cjs/lib/tee.cjs +2 -3
  219. package/dist/cjs/lib/tee.cjs.map +1 -1
  220. package/dist/cjs/lib/toArray.cjs +1 -1
  221. package/dist/cjs/lib/toArray.cjs.map +1 -1
  222. package/dist/cjs/lib/toIterableIterator.cjs +1 -1
  223. package/dist/cjs/lib/toIterableIterator.cjs.map +1 -1
  224. package/dist/cjs/lib/union.cjs +1 -1
  225. package/dist/cjs/lib/union.cjs.map +1 -1
  226. package/dist/cjs/lib/union.d.cts +1 -0
  227. package/dist/cjs/lib/unique.cjs +1 -1
  228. package/dist/cjs/lib/unique.cjs.map +1 -1
  229. package/dist/cjs/lib/unzip.cjs +2 -3
  230. package/dist/cjs/lib/unzip.cjs.map +1 -1
  231. package/dist/cjs/lib/zip.cjs +2 -3
  232. package/dist/cjs/lib/zip.cjs.map +1 -1
  233. package/dist/esm/{chunk-G5GHKT7C.mjs → chunk-PAWJFY3S.mjs} +2 -2
  234. package/dist/esm/chunk-PAWJFY3S.mjs.map +1 -0
  235. package/dist/esm/index.d.mts +33 -10
  236. package/dist/esm/index.mjs +32 -1
  237. package/dist/esm/index.mjs.map +1 -1
  238. package/dist/esm/lib/all.d.mts +2 -0
  239. package/dist/esm/lib/all.mjs +4 -0
  240. package/dist/esm/lib/all.mjs.map +1 -0
  241. package/dist/esm/lib/any.d.mts +2 -0
  242. package/dist/esm/lib/any.mjs +4 -0
  243. package/dist/esm/lib/any.mjs.map +1 -0
  244. package/dist/esm/lib/append.mjs +2 -2
  245. package/dist/esm/lib/append.mjs.map +1 -1
  246. package/dist/esm/lib/at.mjs +2 -2
  247. package/dist/esm/lib/at.mjs.map +1 -1
  248. package/dist/esm/lib/average.mjs +2 -2
  249. package/dist/esm/lib/average.mjs.map +1 -1
  250. package/dist/esm/lib/chain.mjs +2 -2
  251. package/dist/esm/lib/chain.mjs.map +1 -1
  252. package/dist/esm/lib/chunk.mjs +2 -2
  253. package/dist/esm/lib/chunk.mjs.map +1 -1
  254. package/dist/esm/lib/collect.d.mts +2 -0
  255. package/dist/esm/lib/collect.mjs +4 -0
  256. package/dist/esm/lib/collect.mjs.map +1 -0
  257. package/dist/esm/lib/collectInto.d.mts +29 -0
  258. package/dist/esm/lib/collectInto.mjs +14 -0
  259. package/dist/esm/lib/collectInto.mjs.map +1 -0
  260. package/dist/esm/lib/compact.mjs +2 -2
  261. package/dist/esm/lib/compact.mjs.map +1 -1
  262. package/dist/esm/lib/compare.d.mts +32 -0
  263. package/dist/esm/lib/compare.mjs +12 -0
  264. package/dist/esm/lib/compare.mjs.map +1 -0
  265. package/dist/esm/lib/compareBy.d.mts +31 -0
  266. package/dist/esm/lib/compareBy.mjs +23 -0
  267. package/dist/esm/lib/compareBy.mjs.map +1 -0
  268. package/dist/esm/lib/compress.mjs +2 -2
  269. package/dist/esm/lib/compress.mjs.map +1 -1
  270. package/dist/esm/lib/contains.mjs +3 -4
  271. package/dist/esm/lib/contains.mjs.map +1 -1
  272. package/dist/esm/lib/count.mjs +2 -2
  273. package/dist/esm/lib/count.mjs.map +1 -1
  274. package/dist/esm/lib/cycle.mjs +2 -2
  275. package/dist/esm/lib/cycle.mjs.map +1 -1
  276. package/dist/esm/lib/difference.mjs +2 -2
  277. package/dist/esm/lib/difference.mjs.map +1 -1
  278. package/dist/esm/lib/drop.d.mts +1 -1
  279. package/dist/esm/lib/drop.mjs +6 -9
  280. package/dist/esm/lib/drop.mjs.map +1 -1
  281. package/dist/esm/lib/dropLast.d.mts +1 -1
  282. package/dist/esm/lib/dropLast.mjs +4 -5
  283. package/dist/esm/lib/dropLast.mjs.map +1 -1
  284. package/dist/esm/lib/dropWhile.d.mts +1 -1
  285. package/dist/esm/lib/dropWhile.mjs +3 -3
  286. package/dist/esm/lib/dropWhile.mjs.map +1 -1
  287. package/dist/esm/lib/empty.mjs +2 -2
  288. package/dist/esm/lib/empty.mjs.map +1 -1
  289. package/dist/esm/lib/enumerate.mjs +2 -2
  290. package/dist/esm/lib/enumerate.mjs.map +1 -1
  291. package/dist/esm/lib/equal.d.mts +26 -0
  292. package/dist/esm/lib/equal.mjs +11 -0
  293. package/dist/esm/lib/equal.mjs.map +1 -0
  294. package/dist/esm/lib/equalBy.d.mts +27 -0
  295. package/dist/esm/lib/equalBy.mjs +19 -0
  296. package/dist/esm/lib/equalBy.mjs.map +1 -0
  297. package/dist/esm/lib/every.mjs +3 -4
  298. package/dist/esm/lib/every.mjs.map +1 -1
  299. package/dist/esm/lib/filter.d.mts +1 -1
  300. package/dist/esm/lib/filter.mjs +4 -5
  301. package/dist/esm/lib/filter.mjs.map +1 -1
  302. package/dist/esm/lib/find.mjs +2 -2
  303. package/dist/esm/lib/find.mjs.map +1 -1
  304. package/dist/esm/lib/findIndex.mjs +2 -2
  305. package/dist/esm/lib/findIndex.mjs.map +1 -1
  306. package/dist/esm/lib/first.mjs +2 -2
  307. package/dist/esm/lib/first.mjs.map +1 -1
  308. package/dist/esm/lib/flat.mjs +2 -2
  309. package/dist/esm/lib/flat.mjs.map +1 -1
  310. package/dist/esm/lib/flatMap.mjs +2 -2
  311. package/dist/esm/lib/flatMap.mjs.map +1 -1
  312. package/dist/esm/lib/forEach.mjs +2 -2
  313. package/dist/esm/lib/forEach.mjs.map +1 -1
  314. package/dist/esm/lib/from.mjs +2 -2
  315. package/dist/esm/lib/from.mjs.map +1 -1
  316. package/dist/esm/lib/fuse.d.mts +47 -0
  317. package/dist/esm/lib/fuse.mjs +23 -0
  318. package/dist/esm/lib/fuse.mjs.map +1 -0
  319. package/dist/esm/lib/greaterOrEqualThan.d.mts +32 -0
  320. package/dist/esm/lib/greaterOrEqualThan.mjs +13 -0
  321. package/dist/esm/lib/greaterOrEqualThan.mjs.map +1 -0
  322. package/dist/esm/lib/greaterThan.d.mts +32 -0
  323. package/dist/esm/lib/greaterThan.mjs +13 -0
  324. package/dist/esm/lib/greaterThan.mjs.map +1 -0
  325. package/dist/esm/lib/indexOf.d.mts +1 -1
  326. package/dist/esm/lib/indexOf.mjs +3 -3
  327. package/dist/esm/lib/indexOf.mjs.map +1 -1
  328. package/dist/esm/lib/inspect.d.mts +39 -0
  329. package/dist/esm/lib/inspect.mjs +22 -0
  330. package/dist/esm/lib/inspect.mjs.map +1 -0
  331. package/dist/esm/lib/intersect.mjs +2 -2
  332. package/dist/esm/lib/intersect.mjs.map +1 -1
  333. package/dist/esm/lib/intersperse.d.mts +30 -0
  334. package/dist/esm/lib/intersperse.mjs +32 -0
  335. package/dist/esm/lib/intersperse.mjs.map +1 -0
  336. package/dist/esm/lib/isEmpty.mjs +2 -2
  337. package/dist/esm/lib/isEmpty.mjs.map +1 -1
  338. package/dist/esm/lib/isSorted.d.mts +35 -0
  339. package/dist/esm/lib/isSorted.mjs +12 -0
  340. package/dist/esm/lib/isSorted.mjs.map +1 -0
  341. package/dist/esm/lib/isSortedBy.d.mts +32 -0
  342. package/dist/esm/lib/isSortedBy.mjs +23 -0
  343. package/dist/esm/lib/isSortedBy.mjs.map +1 -0
  344. package/dist/esm/lib/isSortedByKey.d.mts +30 -0
  345. package/dist/esm/lib/isSortedByKey.mjs +26 -0
  346. package/dist/esm/lib/isSortedByKey.mjs.map +1 -0
  347. package/dist/esm/lib/last.mjs +2 -2
  348. package/dist/esm/lib/last.mjs.map +1 -1
  349. package/dist/esm/lib/lessOrEqualThan.d.mts +32 -0
  350. package/dist/esm/lib/lessOrEqualThan.mjs +13 -0
  351. package/dist/esm/lib/lessOrEqualThan.mjs.map +1 -0
  352. package/dist/esm/lib/lessThan.d.mts +32 -0
  353. package/dist/esm/lib/lessThan.mjs +13 -0
  354. package/dist/esm/lib/lessThan.mjs.map +1 -0
  355. package/dist/esm/lib/map.mjs +2 -2
  356. package/dist/esm/lib/map.mjs.map +1 -1
  357. package/dist/esm/lib/max.d.mts +8 -3
  358. package/dist/esm/lib/max.mjs +5 -10
  359. package/dist/esm/lib/max.mjs.map +1 -1
  360. package/dist/esm/lib/maxBy.d.mts +31 -0
  361. package/dist/esm/lib/maxBy.mjs +24 -0
  362. package/dist/esm/lib/maxBy.mjs.map +1 -0
  363. package/dist/esm/lib/maxByKey.d.mts +32 -0
  364. package/dist/esm/lib/maxByKey.mjs +29 -0
  365. package/dist/esm/lib/maxByKey.mjs.map +1 -0
  366. package/dist/esm/lib/min.d.mts +8 -3
  367. package/dist/esm/lib/min.mjs +5 -10
  368. package/dist/esm/lib/min.mjs.map +1 -1
  369. package/dist/esm/lib/minBy.d.mts +31 -0
  370. package/dist/esm/lib/minBy.mjs +24 -0
  371. package/dist/esm/lib/minBy.mjs.map +1 -0
  372. package/dist/esm/lib/minByKey.d.mts +31 -0
  373. package/dist/esm/lib/minByKey.mjs +29 -0
  374. package/dist/esm/lib/minByKey.mjs.map +1 -0
  375. package/dist/esm/lib/notEqual.d.mts +26 -0
  376. package/dist/esm/lib/notEqual.mjs +11 -0
  377. package/dist/esm/lib/notEqual.mjs.map +1 -0
  378. package/dist/esm/lib/nth.d.mts +2 -0
  379. package/dist/esm/lib/nth.mjs +4 -0
  380. package/dist/esm/lib/nth.mjs.map +1 -0
  381. package/dist/esm/lib/partition.mjs +2 -2
  382. package/dist/esm/lib/partition.mjs.map +1 -1
  383. package/dist/esm/lib/peekable.d.mts +1 -1
  384. package/dist/esm/lib/peekable.mjs +3 -4
  385. package/dist/esm/lib/peekable.mjs.map +1 -1
  386. package/dist/esm/lib/position.d.mts +2 -0
  387. package/dist/esm/lib/position.mjs +4 -0
  388. package/dist/esm/lib/position.mjs.map +1 -0
  389. package/dist/esm/lib/prepend.mjs +2 -2
  390. package/dist/esm/lib/prepend.mjs.map +1 -1
  391. package/dist/esm/lib/product.mjs +2 -2
  392. package/dist/esm/lib/product.mjs.map +1 -1
  393. package/dist/esm/lib/range.mjs +2 -2
  394. package/dist/esm/lib/range.mjs.map +1 -1
  395. package/dist/esm/lib/reduce.mjs +3 -4
  396. package/dist/esm/lib/reduce.mjs.map +1 -1
  397. package/dist/esm/lib/repeat.mjs +2 -2
  398. package/dist/esm/lib/repeat.mjs.map +1 -1
  399. package/dist/esm/lib/reverse.mjs +4 -7
  400. package/dist/esm/lib/reverse.mjs.map +1 -1
  401. package/dist/esm/lib/shared/_assertFunction.mjs +2 -2
  402. package/dist/esm/lib/shared/_assertFunction.mjs.map +1 -1
  403. package/dist/esm/lib/shared/_assertNotNegative.mjs +2 -2
  404. package/dist/esm/lib/shared/_assertNotNegative.mjs.map +1 -1
  405. package/dist/esm/lib/shared/_assertPositive.mjs +2 -2
  406. package/dist/esm/lib/shared/_assertPositive.mjs.map +1 -1
  407. package/dist/esm/lib/shared/_compare.d.mts +20 -0
  408. package/dist/esm/lib/shared/_compare.mjs +30 -0
  409. package/dist/esm/lib/shared/_compare.mjs.map +1 -0
  410. package/dist/esm/lib/shared/_makeIterableIterator.mjs +2 -2
  411. package/dist/esm/lib/shared/_makeIterableIterator.mjs.map +1 -1
  412. package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs +5 -8
  413. package/dist/esm/lib/shared/_toIntegerOrInfinityOrThrow.mjs.map +1 -1
  414. package/dist/esm/lib/shared/_toIntegerOrThrow.mjs +5 -8
  415. package/dist/esm/lib/shared/_toIntegerOrThrow.mjs.map +1 -1
  416. package/dist/esm/lib/shared/_toNumberOrThrow.mjs +2 -2
  417. package/dist/esm/lib/shared/_toNumberOrThrow.mjs.map +1 -1
  418. package/dist/esm/lib/shared/comparators.d.mts +34 -0
  419. package/dist/esm/lib/shared/comparators.mjs +21 -0
  420. package/dist/esm/lib/shared/comparators.mjs.map +1 -0
  421. package/dist/esm/lib/skip.d.mts +2 -0
  422. package/dist/esm/lib/skip.mjs +4 -0
  423. package/dist/esm/lib/skip.mjs.map +1 -0
  424. package/dist/esm/lib/skipLast.d.mts +2 -0
  425. package/dist/esm/lib/skipLast.mjs +4 -0
  426. package/dist/esm/lib/skipLast.mjs.map +1 -0
  427. package/dist/esm/lib/skipWhile.d.mts +2 -0
  428. package/dist/esm/lib/skipWhile.mjs +4 -0
  429. package/dist/esm/lib/skipWhile.mjs.map +1 -0
  430. package/dist/esm/lib/slice.mjs +3 -4
  431. package/dist/esm/lib/slice.mjs.map +1 -1
  432. package/dist/esm/lib/some.mjs +2 -2
  433. package/dist/esm/lib/some.mjs.map +1 -1
  434. package/dist/esm/lib/sorted.mjs +2 -2
  435. package/dist/esm/lib/sorted.mjs.map +1 -1
  436. package/dist/esm/lib/starMap.mjs +2 -2
  437. package/dist/esm/lib/starMap.mjs.map +1 -1
  438. package/dist/esm/lib/stepBy.d.mts +24 -0
  439. package/dist/esm/lib/stepBy.mjs +26 -0
  440. package/dist/esm/lib/stepBy.mjs.map +1 -0
  441. package/dist/esm/lib/sum.mjs +2 -2
  442. package/dist/esm/lib/sum.mjs.map +1 -1
  443. package/dist/esm/lib/take.mjs +3 -4
  444. package/dist/esm/lib/take.mjs.map +1 -1
  445. package/dist/esm/lib/takeLast.mjs +4 -6
  446. package/dist/esm/lib/takeLast.mjs.map +1 -1
  447. package/dist/esm/lib/takeWhile.d.mts +2 -0
  448. package/dist/esm/lib/takeWhile.mjs +4 -0
  449. package/dist/esm/lib/takeWhile.mjs.map +1 -0
  450. package/dist/esm/lib/tee.mjs +3 -4
  451. package/dist/esm/lib/tee.mjs.map +1 -1
  452. package/dist/esm/lib/toArray.mjs +2 -2
  453. package/dist/esm/lib/toArray.mjs.map +1 -1
  454. package/dist/esm/lib/toIterableIterator.mjs +2 -2
  455. package/dist/esm/lib/toIterableIterator.mjs.map +1 -1
  456. package/dist/esm/lib/union.d.mts +1 -0
  457. package/dist/esm/lib/union.mjs +2 -2
  458. package/dist/esm/lib/union.mjs.map +1 -1
  459. package/dist/esm/lib/unique.mjs +2 -2
  460. package/dist/esm/lib/unique.mjs.map +1 -1
  461. package/dist/esm/lib/unzip.mjs +3 -4
  462. package/dist/esm/lib/unzip.mjs.map +1 -1
  463. package/dist/esm/lib/zip.mjs +3 -4
  464. package/dist/esm/lib/zip.mjs.map +1 -1
  465. package/dist/iife/index.global.js +413 -95
  466. package/dist/iife/index.global.js.map +1 -1
  467. package/package.json +300 -29
  468. package/dist/esm/chunk-G5GHKT7C.mjs.map +0 -1
@@ -0,0 +1,30 @@
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
+
3
+ // src/lib/shared/_compare.ts
4
+ function compareIteratorElements(x, y, comparator) {
5
+ if (typeof x === "undefined") {
6
+ if (typeof y === "undefined") return 0;
7
+ return 1;
8
+ }
9
+ if (typeof y === "undefined") {
10
+ return -1;
11
+ }
12
+ return comparator(x, y);
13
+ }
14
+ __name(compareIteratorElements, "compareIteratorElements");
15
+ function orderingIsLess(ordering) {
16
+ return ordering < 0;
17
+ }
18
+ __name(orderingIsLess, "orderingIsLess");
19
+ function orderingIsEqual(ordering) {
20
+ return ordering === 0;
21
+ }
22
+ __name(orderingIsEqual, "orderingIsEqual");
23
+ function orderingIsGreater(ordering) {
24
+ return ordering > 0;
25
+ }
26
+ __name(orderingIsGreater, "orderingIsGreater");
27
+
28
+ export { compareIteratorElements, orderingIsEqual, orderingIsGreater, orderingIsLess };
29
+ //# sourceMappingURL=_compare.mjs.map
30
+ //# sourceMappingURL=_compare.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/shared/_compare.ts"],"names":[],"mappings":";;;AAgBO,SAAS,uBAAA,CACf,CACA,EAAA,CAAA,EACA,UACS,EAAA;AAET,EAAI,IAAA,OAAO,MAAM,WAAa,EAAA;AAE7B,IAAI,IAAA,OAAO,CAAM,KAAA,WAAA,EAAoB,OAAA,CAAA;AAErC,IAAO,OAAA,CAAA;AAAA;AAGR,EAAI,IAAA,OAAO,MAAM,WAAa,EAAA;AAE7B,IAAO,OAAA,CAAA,CAAA;AAAA;AAGR,EAAO,OAAA,UAAA,CAAW,GAAsC,CAAoC,CAAA;AAC7F;AAnBgB,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AAqBT,SAAS,eAAe,QAAkB,EAAA;AAChD,EAAA,OAAO,QAAW,GAAA,CAAA;AACnB;AAFgB,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA;AAIT,SAAS,gBAAgB,QAAkB,EAAA;AACjD,EAAA,OAAO,QAAa,KAAA,CAAA;AACrB;AAFgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;AAIT,SAAS,kBAAkB,QAAkB,EAAA;AACnD,EAAA,OAAO,QAAW,GAAA,CAAA;AACnB;AAFgB,MAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA","file":"_compare.mjs","sourcesContent":["/**\n * Represents the result of a lexicographic comparison.\n *\n * The operations are as follows:\n *\n * - Two iterators are compared element by element.\n * - The first pair of unequal elements determines the result.\n * - If one sequence is a prefix of the other, the shorter sequence is lexicographically less than the other.\n * - If two sequences have the same elements in the same order, they are lexicographically equal.\n * - An empty sequence is lexicographically less than any non-empty sequence.\n * - Two empty sequences are lexicographically equal.\n */\nexport type LexicographicComparison = -1 | 0 | 1;\n\nexport type CompareByComparator<ElementType> = (x: Exclude<ElementType, undefined>, y: Exclude<ElementType, undefined>) => number;\n\nexport function compareIteratorElements<const ElementType>(\n\tx: ElementType | undefined,\n\ty: ElementType | undefined,\n\tcomparator: CompareByComparator<ElementType>\n): number {\n\t// 23.1.3.30.2 CompareArrayElements (https://tc39.es/ecma262/#sec-comparearrayelements)\n\tif (typeof x === 'undefined') {\n\t\t// 1. If x and y are both `undefined`, return +0.\n\t\tif (typeof y === 'undefined') return 0;\n\t\t// 2. If x is `undefined`, return +1.\n\t\treturn 1;\n\t}\n\n\tif (typeof y === 'undefined') {\n\t\t// 3. If y is `undefined`, return -1.\n\t\treturn -1;\n\t}\n\n\treturn comparator(x as Exclude<ElementType, undefined>, y as Exclude<ElementType, undefined>);\n}\n\nexport function orderingIsLess(ordering: number) {\n\treturn ordering < 0;\n}\n\nexport function orderingIsEqual(ordering: number) {\n\treturn ordering === 0;\n}\n\nexport function orderingIsGreater(ordering: number) {\n\treturn ordering > 0;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
2
 
3
3
  // src/lib/shared/_makeIterableIterator.ts
4
4
  function makeIterableIterator(next) {
@@ -12,5 +12,5 @@ function makeIterableIterator(next) {
12
12
  __name(makeIterableIterator, "makeIterableIterator");
13
13
 
14
14
  export { makeIterableIterator };
15
- //# sourceMappingURL=out.js.map
15
+ //# sourceMappingURL=_makeIterableIterator.mjs.map
16
16
  //# sourceMappingURL=_makeIterableIterator.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/shared/_makeIterableIterator.ts"],"names":[],"mappings":";;;;;AAAO,SAAS,qBAAwC,MAAoE;AAC3H,SAAO;AAAA,IACN;AAAA,IACA,CAAC,OAAO,QAAQ,IAAI;AACnB,aAAO;AAAA,IACR;AAAA,EACD;AACD;AAPgB","sourcesContent":["export function makeIterableIterator<const ElementType>(next: Iterator<ElementType>['next']): IterableIterator<ElementType> {\n\treturn {\n\t\tnext,\n\t\t[Symbol.iterator]() {\n\t\t\treturn this;\n\t\t}\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/shared/_makeIterableIterator.ts"],"names":[],"mappings":";;;AAAO,SAAS,qBAAwC,IAAoE,EAAA;AAC3H,EAAO,OAAA;AAAA,IACN,IAAA;AAAA,IACA,CAAC,MAAO,CAAA,QAAQ,CAAI,GAAA;AACnB,MAAO,OAAA,IAAA;AAAA;AACR,GACD;AACD;AAPgB,MAAA,CAAA,oBAAA,EAAA,sBAAA,CAAA","file":"_makeIterableIterator.mjs","sourcesContent":["export function makeIterableIterator<const ElementType>(next: Iterator<ElementType>['next']): IterableIterator<ElementType> {\n\treturn {\n\t\tnext,\n\t\t[Symbol.iterator]() {\n\t\t\treturn this;\n\t\t}\n\t};\n}\n"]}
@@ -1,18 +1,15 @@
1
- import { __name } from '../../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
2
  import { toNumberOrThrow } from './_toNumberOrThrow.mjs';
3
3
 
4
4
  function toIntegerOrInfinityOrThrow(value) {
5
5
  const number = toNumberOrThrow(value);
6
- if (Number.isNaN(number) || number === 0)
7
- return 0;
8
- if (number === Number.POSITIVE_INFINITY)
9
- return Number.POSITIVE_INFINITY;
10
- if (number === Number.NEGATIVE_INFINITY)
11
- return Number.NEGATIVE_INFINITY;
6
+ if (Number.isNaN(number) || number === 0) return 0;
7
+ if (number === Number.POSITIVE_INFINITY) return Number.POSITIVE_INFINITY;
8
+ if (number === Number.NEGATIVE_INFINITY) return Number.NEGATIVE_INFINITY;
12
9
  return Math.trunc(number);
13
10
  }
14
11
  __name(toIntegerOrInfinityOrThrow, "toIntegerOrInfinityOrThrow");
15
12
 
16
13
  export { toIntegerOrInfinityOrThrow };
17
- //# sourceMappingURL=out.js.map
14
+ //# sourceMappingURL=_toIntegerOrInfinityOrThrow.mjs.map
18
15
  //# sourceMappingURL=_toIntegerOrInfinityOrThrow.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/shared/_toIntegerOrInfinityOrThrow.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,uBAAuB;AAEzB,SAAS,2BAA2B,OAAuB;AACjE,QAAM,SAAS,gBAAgB,KAAK;AACpC,MAAI,OAAO,MAAM,MAAM,KAAK,WAAW;AAAG,WAAO;AACjD,MAAI,WAAW,OAAO;AAAmB,WAAO,OAAO;AACvD,MAAI,WAAW,OAAO;AAAmB,WAAO,OAAO;AAEvD,SAAO,KAAK,MAAM,MAAM;AACzB;AAPgB","sourcesContent":["import { toNumberOrThrow } from './_toNumberOrThrow';\n\nexport function toIntegerOrInfinityOrThrow(value: number): number {\n\tconst number = toNumberOrThrow(value);\n\tif (Number.isNaN(number) || number === 0) return 0;\n\tif (number === Number.POSITIVE_INFINITY) return Number.POSITIVE_INFINITY;\n\tif (number === Number.NEGATIVE_INFINITY) return Number.NEGATIVE_INFINITY;\n\n\treturn Math.trunc(number);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/shared/_toIntegerOrInfinityOrThrow.ts"],"names":[],"mappings":";;;AAEO,SAAS,2BAA2B,KAAuB,EAAA;AACjE,EAAM,MAAA,MAAA,GAAS,gBAAgB,KAAK,CAAA;AACpC,EAAA,IAAI,OAAO,KAAM,CAAA,MAAM,CAAK,IAAA,MAAA,KAAW,GAAU,OAAA,CAAA;AACjD,EAAA,IAAI,MAAW,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAO,MAAO,CAAA,iBAAA;AACvD,EAAA,IAAI,MAAW,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAO,MAAO,CAAA,iBAAA;AAEvD,EAAO,OAAA,IAAA,CAAK,MAAM,MAAM,CAAA;AACzB;AAPgB,MAAA,CAAA,0BAAA,EAAA,4BAAA,CAAA","file":"_toIntegerOrInfinityOrThrow.mjs","sourcesContent":["import { toNumberOrThrow } from './_toNumberOrThrow';\n\nexport function toIntegerOrInfinityOrThrow(value: number): number {\n\tconst number = toNumberOrThrow(value);\n\tif (Number.isNaN(number) || number === 0) return 0;\n\tif (number === Number.POSITIVE_INFINITY) return Number.POSITIVE_INFINITY;\n\tif (number === Number.NEGATIVE_INFINITY) return Number.NEGATIVE_INFINITY;\n\n\treturn Math.trunc(number);\n}\n"]}
@@ -1,18 +1,15 @@
1
- import { __name } from '../../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
2
  import { toNumberOrThrow } from './_toNumberOrThrow.mjs';
3
3
 
4
4
  function toIntegerOrThrow(value) {
5
5
  const number = toNumberOrThrow(value);
6
- if (Number.isNaN(number) || number === 0)
7
- return 0;
8
- if (number === Number.POSITIVE_INFINITY)
9
- throw new RangeError("+Infinity cannot be represented as an integer");
10
- if (number === Number.NEGATIVE_INFINITY)
11
- throw new RangeError("-Infinity cannot be represented as an integer");
6
+ if (Number.isNaN(number) || number === 0) return 0;
7
+ if (number === Number.POSITIVE_INFINITY) throw new RangeError("+Infinity cannot be represented as an integer");
8
+ if (number === Number.NEGATIVE_INFINITY) throw new RangeError("-Infinity cannot be represented as an integer");
12
9
  return Math.trunc(number);
13
10
  }
14
11
  __name(toIntegerOrThrow, "toIntegerOrThrow");
15
12
 
16
13
  export { toIntegerOrThrow };
17
- //# sourceMappingURL=out.js.map
14
+ //# sourceMappingURL=_toIntegerOrThrow.mjs.map
18
15
  //# sourceMappingURL=_toIntegerOrThrow.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/shared/_toIntegerOrThrow.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,uBAAuB;AAEzB,SAAS,iBAAiB,OAAuB;AACvD,QAAM,SAAS,gBAAgB,KAAK;AACpC,MAAI,OAAO,MAAM,MAAM,KAAK,WAAW;AAAG,WAAO;AACjD,MAAI,WAAW,OAAO;AAAmB,UAAM,IAAI,WAAW,+CAA+C;AAC7G,MAAI,WAAW,OAAO;AAAmB,UAAM,IAAI,WAAW,+CAA+C;AAE7G,SAAO,KAAK,MAAM,MAAM;AACzB;AAPgB","sourcesContent":["import { toNumberOrThrow } from './_toNumberOrThrow';\n\nexport function toIntegerOrThrow(value: number): number {\n\tconst number = toNumberOrThrow(value);\n\tif (Number.isNaN(number) || number === 0) return 0;\n\tif (number === Number.POSITIVE_INFINITY) throw new RangeError('+Infinity cannot be represented as an integer');\n\tif (number === Number.NEGATIVE_INFINITY) throw new RangeError('-Infinity cannot be represented as an integer');\n\n\treturn Math.trunc(number);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/shared/_toIntegerOrThrow.ts"],"names":[],"mappings":";;;AAEO,SAAS,iBAAiB,KAAuB,EAAA;AACvD,EAAM,MAAA,MAAA,GAAS,gBAAgB,KAAK,CAAA;AACpC,EAAA,IAAI,OAAO,KAAM,CAAA,MAAM,CAAK,IAAA,MAAA,KAAW,GAAU,OAAA,CAAA;AACjD,EAAA,IAAI,WAAW,MAAO,CAAA,iBAAA,EAAyB,MAAA,IAAI,WAAW,+CAA+C,CAAA;AAC7G,EAAA,IAAI,WAAW,MAAO,CAAA,iBAAA,EAAyB,MAAA,IAAI,WAAW,+CAA+C,CAAA;AAE7G,EAAO,OAAA,IAAA,CAAK,MAAM,MAAM,CAAA;AACzB;AAPgB,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA","file":"_toIntegerOrThrow.mjs","sourcesContent":["import { toNumberOrThrow } from './_toNumberOrThrow';\n\nexport function toIntegerOrThrow(value: number): number {\n\tconst number = toNumberOrThrow(value);\n\tif (Number.isNaN(number) || number === 0) return 0;\n\tif (number === Number.POSITIVE_INFINITY) throw new RangeError('+Infinity cannot be represented as an integer');\n\tif (number === Number.NEGATIVE_INFINITY) throw new RangeError('-Infinity cannot be represented as an integer');\n\n\treturn Math.trunc(number);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
2
 
3
3
  // src/lib/shared/_toNumberOrThrow.ts
4
4
  function toNumberOrThrow(value) {
@@ -27,5 +27,5 @@ function assertNumber(value, original) {
27
27
  __name(assertNumber, "assertNumber");
28
28
 
29
29
  export { toNumberOrThrow };
30
- //# sourceMappingURL=out.js.map
30
+ //# sourceMappingURL=_toNumberOrThrow.mjs.map
31
31
  //# sourceMappingURL=_toNumberOrThrow.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/shared/_toNumberOrThrow.ts"],"names":[],"mappings":";;;;;AAAO,SAAS,gBAAgB,OAAiC;AAChE,UAAQ,OAAO,OAAO;AAAA,IACrB,KAAK;AACJ,YAAM,IAAI,UAAU,2CAA2C;AAAA,IAChE,KAAK;AACJ,YAAM,IAAI,UAAU,2CAA2C;AAAA,IAChE,KAAK;AACJ,aAAO,QAAQ,IAAI;AAAA,IACpB,KAAK;AACJ,aAAO,aAAa,OAAO,KAAK;AAAA,IACjC,KAAK;AACJ,YAAM,IAAI,UAAU,+CAA+C;AAAA,IACpE;AACC,aAAO,aAAa,OAAO,KAAK,GAAG,KAAK;AAAA,EAC1C;AACD;AAfgB;AAmBhB,SAAS,aAAa,OAAe,UAA2B;AAC/D,MAAI,OAAO,MAAM,KAAK,GAAG;AACxB,UAAM,IAAI,WAAW,GAAG,QAAQ,2BAA2B;AAAA,EAC5D;AAEA,SAAO;AACR;AANS","sourcesContent":["export function toNumberOrThrow(value: NumberResolvable): number {\n\tswitch (typeof value) {\n\t\tcase 'bigint':\n\t\t\tthrow new TypeError('Cannot convert a BigInt value to a number');\n\t\tcase 'symbol':\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a number');\n\t\tcase 'boolean':\n\t\t\treturn value ? 1 : 0;\n\t\tcase 'number':\n\t\t\treturn assertNumber(value, value);\n\t\tcase 'undefined':\n\t\t\tthrow new TypeError('Cannot convert an undefined value to a number');\n\t\tdefault:\n\t\t\treturn assertNumber(Number(value), value);\n\t}\n}\n\nexport type NumberResolvable = number | boolean | null | { valueOf(): number | boolean | null } | { [Symbol.toPrimitive](): number | boolean | null };\n\nfunction assertNumber(value: number, original: unknown): number {\n\tif (Number.isNaN(value)) {\n\t\tthrow new RangeError(`${original} must be a non-NaN number`);\n\t}\n\n\treturn value;\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/lib/shared/_toNumberOrThrow.ts"],"names":[],"mappings":";;;AAAO,SAAS,gBAAgB,KAAiC,EAAA;AAChE,EAAA,QAAQ,OAAO,KAAO;AAAA,IACrB,KAAK,QAAA;AACJ,MAAM,MAAA,IAAI,UAAU,2CAA2C,CAAA;AAAA,IAChE,KAAK,QAAA;AACJ,MAAM,MAAA,IAAI,UAAU,2CAA2C,CAAA;AAAA,IAChE,KAAK,SAAA;AACJ,MAAA,OAAO,QAAQ,CAAI,GAAA,CAAA;AAAA,IACpB,KAAK,QAAA;AACJ,MAAO,OAAA,YAAA,CAAa,OAAO,KAAK,CAAA;AAAA,IACjC,KAAK,WAAA;AACJ,MAAM,MAAA,IAAI,UAAU,+CAA+C,CAAA;AAAA,IACpE;AACC,MAAA,OAAO,YAAa,CAAA,MAAA,CAAO,KAAK,CAAA,EAAG,KAAK,CAAA;AAAA;AAE3C;AAfgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;AAmBhB,SAAS,YAAA,CAAa,OAAe,QAA2B,EAAA;AAC/D,EAAI,IAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAG,EAAA;AACxB,IAAA,MAAM,IAAI,UAAA,CAAW,CAAG,EAAA,QAAQ,CAA2B,yBAAA,CAAA,CAAA;AAAA;AAG5D,EAAO,OAAA,KAAA;AACR;AANS,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"_toNumberOrThrow.mjs","sourcesContent":["export function toNumberOrThrow(value: NumberResolvable): number {\n\tswitch (typeof value) {\n\t\tcase 'bigint':\n\t\t\tthrow new TypeError('Cannot convert a BigInt value to a number');\n\t\tcase 'symbol':\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a number');\n\t\tcase 'boolean':\n\t\t\treturn value ? 1 : 0;\n\t\tcase 'number':\n\t\t\treturn assertNumber(value, value);\n\t\tcase 'undefined':\n\t\t\tthrow new TypeError('Cannot convert an undefined value to a number');\n\t\tdefault:\n\t\t\treturn assertNumber(Number(value), value);\n\t}\n}\n\nexport type NumberResolvable = number | boolean | null | { valueOf(): number | boolean | null } | { [Symbol.toPrimitive](): number | boolean | null };\n\nfunction assertNumber(value: number, original: unknown): number {\n\tif (Number.isNaN(value)) {\n\t\tthrow new RangeError(`${original} must be a non-NaN number`);\n\t}\n\n\treturn value;\n}\n"]}
@@ -0,0 +1,34 @@
1
+ import { LexicographicComparison, CompareByComparator } from './_compare.mjs';
2
+
3
+ /**
4
+ * Compares two elements lexicographically using the default comparison algorithm.
5
+ * @seealso 23.1.3.30.2 CompareArrayElements ({@link https://tc39.es/ecma262/#sec-comparearrayelements})
6
+ *
7
+ * @param x The first element to compare.
8
+ * @param y The second element to compare.
9
+ * @returns The lexicographic comparison of the two elements.
10
+ *
11
+ * @remarks
12
+ *
13
+ * This function is used as the comparison algorithm for {@link compareBy}.
14
+ */
15
+ declare function defaultCompare<const ElementType>(x: ElementType, y: ElementType): LexicographicComparison;
16
+
17
+ declare const descString: <const ElementType>(x: Exclude<ElementType, undefined>, y: Exclude<ElementType, undefined>) => number;
18
+ /**
19
+ * Compares two elements using the default comparison algorithm.
20
+ *
21
+ * @param x The first element to compare.
22
+ * @param y The second element to compare.
23
+ * @returns The numeric comparison of the two elements.
24
+ *
25
+ * @privateRemarks
26
+ *
27
+ * The implementation of this function is based on the optimized version of the
28
+ * starship operator in Rust. The subtraction is intentional and is used to
29
+ * determine the ordering of the two elements.
30
+ */
31
+ declare function ascNumber(x: number | bigint | string, y: number | bigint | string): LexicographicComparison;
32
+ declare const descNumber: CompareByComparator<string | number | bigint>;
33
+
34
+ export { ascNumber, defaultCompare as ascString, defaultCompare, descNumber, descString };
@@ -0,0 +1,21 @@
1
+ import { __name } from '../../chunk-PAWJFY3S.mjs';
2
+
3
+ // src/lib/shared/comparators.ts
4
+ function swap(cb) {
5
+ return (x, y) => 0 - cb(x, y);
6
+ }
7
+ __name(swap, "swap");
8
+ function defaultCompare(x, y) {
9
+ return ascNumber(String(x), String(y));
10
+ }
11
+ __name(defaultCompare, "defaultCompare");
12
+ var descString = swap(defaultCompare);
13
+ function ascNumber(x, y) {
14
+ return (x > y) - (x < y);
15
+ }
16
+ __name(ascNumber, "ascNumber");
17
+ var descNumber = swap(ascNumber);
18
+
19
+ export { ascNumber, defaultCompare as ascString, defaultCompare, descNumber, descString };
20
+ //# sourceMappingURL=comparators.mjs.map
21
+ //# sourceMappingURL=comparators.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/shared/comparators.ts"],"names":[],"mappings":";;;AAEA,SAAS,KAAwB,EAAwE,EAAA;AACxG,EAAA,OAAO,CAAC,CAAG,EAAA,CAAA,KAAO,CAAI,GAAA,EAAA,CAAG,GAAG,CAAC,CAAA;AAC9B;AAFS,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAgBF,SAAS,cAAA,CAAkC,GAAgB,CAAyC,EAAA;AAI1G,EAAA,OAAO,UAAU,MAAO,CAAA,CAAC,CAAG,EAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AACtC;AALgB,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA;AAQH,IAAA,UAAA,GAAa,KAAK,cAAc;AAetC,SAAS,SAAA,CAAU,GAA6B,CAAsD,EAAA;AAE5G,EAAS,OAAA,CAAA,CAAA,GAAI,MAAM,CAAI,GAAA,CAAA,CAAA;AACxB;AAHgB,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA;AAIH,IAAA,UAAA,GAAa,KAAK,SAAS","file":"comparators.mjs","sourcesContent":["import type { CompareByComparator, LexicographicComparison } from './_compare';\n\nfunction swap<const ElementType>(cb: CompareByComparator<ElementType>): CompareByComparator<ElementType> {\n\treturn (x, y) => (0 - cb(x, y)) as LexicographicComparison;\n}\n\n/**\n * Compares two elements lexicographically using the default comparison algorithm.\n * @seealso 23.1.3.30.2 CompareArrayElements ({@link https://tc39.es/ecma262/#sec-comparearrayelements})\n *\n * @param x The first element to compare.\n * @param y The second element to compare.\n * @returns The lexicographic comparison of the two elements.\n *\n * @remarks\n *\n * This function is used as the comparison algorithm for {@link compareBy}.\n */\nexport function defaultCompare<const ElementType>(x: ElementType, y: ElementType): LexicographicComparison {\n\t// 5. Let xString be ? ToString(x).\n\t// 6. Let yString be ? ToString(y).\n\t// Steps 7-11 are optimized away by the usage of `ascNumber`.\n\treturn ascNumber(String(x), String(y));\n}\n\nexport { defaultCompare as ascString };\nexport const descString = swap(defaultCompare);\n\n/**\n * Compares two elements using the default comparison algorithm.\n *\n * @param x The first element to compare.\n * @param y The second element to compare.\n * @returns The numeric comparison of the two elements.\n *\n * @privateRemarks\n *\n * The implementation of this function is based on the optimized version of the\n * starship operator in Rust. The subtraction is intentional and is used to\n * determine the ordering of the two elements.\n */\nexport function ascNumber(x: number | bigint | string, y: number | bigint | string): LexicographicComparison {\n\t// @ts-expect-error: The subtraction is intentional\n\treturn ((x > y) - (x < y)) as LexicographicComparison;\n}\nexport const descNumber = swap(ascNumber);\n"]}
@@ -0,0 +1,2 @@
1
+ export { drop as skip } from './drop.mjs';
2
+ import './from.mjs';
@@ -0,0 +1,4 @@
1
+ import '../chunk-PAWJFY3S.mjs';
2
+ export { drop as skip } from './drop.mjs';
3
+ //# sourceMappingURL=skip.mjs.map
4
+ //# sourceMappingURL=skip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"skip.mjs","sourcesContent":[]}
@@ -0,0 +1,2 @@
1
+ export { dropLast as skipLast } from './dropLast.mjs';
2
+ import './from.mjs';
@@ -0,0 +1,4 @@
1
+ import '../chunk-PAWJFY3S.mjs';
2
+ export { dropLast as skipLast } from './dropLast.mjs';
3
+ //# sourceMappingURL=skipLast.mjs.map
4
+ //# sourceMappingURL=skipLast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"skipLast.mjs","sourcesContent":[]}
@@ -0,0 +1,2 @@
1
+ export { dropWhile as skipWhile } from './dropWhile.mjs';
2
+ import './from.mjs';
@@ -0,0 +1,4 @@
1
+ import '../chunk-PAWJFY3S.mjs';
2
+ export { dropWhile as skipWhile } from './dropWhile.mjs';
3
+ //# sourceMappingURL=skipWhile.mjs.map
4
+ //# sourceMappingURL=skipWhile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"skipWhile.mjs","sourcesContent":[]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { drop } from './drop.mjs';
3
3
  import { dropLast } from './dropLast.mjs';
4
4
  import { empty } from './empty.mjs';
@@ -30,12 +30,11 @@ function slice(iterable, start, end) {
30
30
  }
31
31
  return take(takeLast(iterable, -start), end - start);
32
32
  }
33
- if (start >= end)
34
- return empty();
33
+ if (start >= end) return empty();
35
34
  return end === Number.POSITIVE_INFINITY ? drop(iterable, start) : take(drop(iterable, start), end - start);
36
35
  }
37
36
  __name(slice, "slice");
38
37
 
39
38
  export { slice };
40
- //# sourceMappingURL=out.js.map
39
+ //# sourceMappingURL=slice.mjs.map
41
40
  //# sourceMappingURL=slice.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/slice.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAEtB,SAAS,kCAAkC;AAC3C,SAAS,YAAY;AACrB,SAAS,gBAAgB;AA2DlB,SAAS,MAAyB,UAA2C,OAAgB,KAA6C;AAEhJ,UAAQ,2BAA2B,SAAS,CAAC;AAC7C,MAAI,UAAU,OAAO,mBAAmB;AACvC,YAAQ;AAAA,EACT;AAIA,MAAI,QAAQ,QAAW;AACtB,WAAO,SAAS,IACb,KAAK,UAAU,KAAK,IACpB,SAAS,UAAU,CAAC,KAAK;AAAA,EAC7B;AAEA,QAAM,2BAA2B,GAAG;AAEpC,MAAI,MAAM,GAAG;AAGZ,QAAI,QAAQ,OAAO,mBAAmB;AACrC,aAAO,MAAM;AAAA,IACd;AAGA,QAAI,UAAU,GAAG;AAChB,aAAO,SAAS,UAAU,CAAC,GAAG;AAAA,IAC/B;AAIA,QAAI,SAAS,GAAG;AACf,aAAO,SAAS,KAAK,UAAU,KAAK,GAAG,CAAC,GAAG;AAAA,IAC5C;AAIA,QAAI,SAAS,KAAK;AACjB,aAAO,MAAM;AAAA,IACd;AAIA,WAAO,KAAK,SAAS,UAAU,CAAC,KAAK,GAAG,MAAM,KAAK;AAAA,EACpD;AAGA,MAAI,SAAS;AAAK,WAAO,MAAM;AAG/B,SAAO,QAAQ,OAAO,oBACnB,KAAK,UAAU,KAAK,IACpB,KAAK,KAAK,UAAU,KAAK,GAAG,MAAM,KAAK;AAC3C;AArDgB","sourcesContent":["import { drop } from './drop';\nimport { dropLast } from './dropLast';\nimport { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { take } from './take';\nimport { takeLast } from './takeLast';\n\n/**\n * Produces an iterable with the elements from the `start` index to the `end` index (exclusive).\n *\n * @param iterable The iterator to slice.\n * @param start The index at which to begin extraction.\n * @param end The index at which to end extraction.\n * @returns An iterator that contains the elements of the provided iterator from `start` to `end`.\n *\n * @example\n * ```typescript\n * import { slice } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(, 1, 3)]);\n * // Output: [2, 3]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, -2)]);\n * // Output: [4, 5]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2)]);\n * // Output: [3, 4, 5]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2, -1)]);\n * // Output: [3, 4]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, -2, -1)]);\n * // Output: [4]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2, 1)]);\n * // Output: []\n * ```\n *\n * @remarks\n *\n * This function consumes the input iterator based on the `start` and `end` values, therefore, you should not use the\n * original iterator after calling this function.\n */\nexport function slice<const ElementType>(iterable: IterableResolvable<ElementType>, start?: number, end?: number): IterableIterator<ElementType> {\n\t// https://tc39.es/ecma262/#sec-array.prototype.slice\n\tstart = toIntegerOrInfinityOrThrow(start ?? 0);\n\tif (start === Number.NEGATIVE_INFINITY) {\n\t\tstart = 0;\n\t}\n\n\t// 1. If end is not provided, `slice` behaves like `drop` or `takeLast`,\n\t// depending on the sign of `start`:\n\tif (end === undefined) {\n\t\treturn start >= 0 //\n\t\t\t? drop(iterable, start)\n\t\t\t: takeLast(iterable, -start);\n\t}\n\n\tend = toIntegerOrInfinityOrThrow(end);\n\t// 2. If end is negative:\n\tif (end < 0) {\n\t\t// 2.1. If `end` is `-Infinity`, end would be `0`, which will always\n\t\t// result on an empty iterator:\n\t\tif (end === Number.NEGATIVE_INFINITY) {\n\t\t\treturn empty();\n\t\t}\n\n\t\t// 2.2. If start is positive, drop the last n elements:\n\t\tif (start === 0) {\n\t\t\treturn dropLast(iterable, -end);\n\t\t}\n\n\t\t// 2.3. If the start is positive, drop the first n elements and take the\n\t\t// last m elements:\n\t\tif (start >= 0) {\n\t\t\treturn dropLast(drop(iterable, start), -end);\n\t\t}\n\n\t\t// 2.4. If the start is the same or greater than the end, return an\n\t\t// empty iterator:\n\t\tif (start >= end) {\n\t\t\treturn empty();\n\t\t}\n\n\t\t// 2.5. `start` and `end` are negative, take the elements between the\n\t\t// start and end:\n\t\treturn take(takeLast(iterable, -start), end - start);\n\t}\n\n\t// 3.0. If `start` is greater than or equal to `end`, return an empty iterator:\n\tif (start >= end) return empty();\n\n\t// 4.0. Otherwise, take the elements between `start` and `end`:\n\treturn end === Number.POSITIVE_INFINITY //\n\t\t? drop(iterable, start)\n\t\t: take(drop(iterable, start), end - start);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/slice.ts"],"names":[],"mappings":";;;;;;;;AAiEO,SAAS,KAAA,CAAyB,QAA2C,EAAA,KAAA,EAAgB,GAA6C,EAAA;AAEhJ,EAAQ,KAAA,GAAA,0BAAA,CAA2B,SAAS,CAAC,CAAA;AAC7C,EAAI,IAAA,KAAA,KAAU,OAAO,iBAAmB,EAAA;AACvC,IAAQ,KAAA,GAAA,CAAA;AAAA;AAKT,EAAA,IAAI,QAAQ,KAAW,CAAA,EAAA;AACtB,IAAO,OAAA,KAAA,IAAS,IACb,IAAK,CAAA,QAAA,EAAU,KAAK,CACpB,GAAA,QAAA,CAAS,QAAU,EAAA,CAAC,KAAK,CAAA;AAAA;AAG7B,EAAA,GAAA,GAAM,2BAA2B,GAAG,CAAA;AAEpC,EAAA,IAAI,MAAM,CAAG,EAAA;AAGZ,IAAI,IAAA,GAAA,KAAQ,OAAO,iBAAmB,EAAA;AACrC,MAAA,OAAO,KAAM,EAAA;AAAA;AAId,IAAA,IAAI,UAAU,CAAG,EAAA;AAChB,MAAO,OAAA,QAAA,CAAS,QAAU,EAAA,CAAC,GAAG,CAAA;AAAA;AAK/B,IAAA,IAAI,SAAS,CAAG,EAAA;AACf,MAAA,OAAO,SAAS,IAAK,CAAA,QAAA,EAAU,KAAK,CAAA,EAAG,CAAC,GAAG,CAAA;AAAA;AAK5C,IAAA,IAAI,SAAS,GAAK,EAAA;AACjB,MAAA,OAAO,KAAM,EAAA;AAAA;AAKd,IAAA,OAAO,KAAK,QAAS,CAAA,QAAA,EAAU,CAAC,KAAK,CAAA,EAAG,MAAM,KAAK,CAAA;AAAA;AAIpD,EAAI,IAAA,KAAA,IAAS,GAAK,EAAA,OAAO,KAAM,EAAA;AAG/B,EAAA,OAAO,GAAQ,KAAA,MAAA,CAAO,iBACnB,GAAA,IAAA,CAAK,QAAU,EAAA,KAAK,CACpB,GAAA,IAAA,CAAK,IAAK,CAAA,QAAA,EAAU,KAAK,CAAA,EAAG,MAAM,KAAK,CAAA;AAC3C;AArDgB,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA","file":"slice.mjs","sourcesContent":["import { drop } from './drop';\nimport { dropLast } from './dropLast';\nimport { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { take } from './take';\nimport { takeLast } from './takeLast';\n\n/**\n * Produces an iterable with the elements from the `start` index to the `end` index (exclusive).\n *\n * @param iterable The iterator to slice.\n * @param start The index at which to begin extraction.\n * @param end The index at which to end extraction.\n * @returns An iterator that contains the elements of the provided iterator from `start` to `end`.\n *\n * @example\n * ```typescript\n * import { slice } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(, 1, 3)]);\n * // Output: [2, 3]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, -2)]);\n * // Output: [4, 5]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2)]);\n * // Output: [3, 4, 5]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2, -1)]);\n * // Output: [3, 4]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, -2, -1)]);\n * // Output: [4]\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...slice(iterable, 2, 1)]);\n * // Output: []\n * ```\n *\n * @remarks\n *\n * This function consumes the input iterator based on the `start` and `end` values, therefore, you should not use the\n * original iterator after calling this function.\n */\nexport function slice<const ElementType>(iterable: IterableResolvable<ElementType>, start?: number, end?: number): IterableIterator<ElementType> {\n\t// https://tc39.es/ecma262/#sec-array.prototype.slice\n\tstart = toIntegerOrInfinityOrThrow(start ?? 0);\n\tif (start === Number.NEGATIVE_INFINITY) {\n\t\tstart = 0;\n\t}\n\n\t// 1. If end is not provided, `slice` behaves like `drop` or `takeLast`,\n\t// depending on the sign of `start`:\n\tif (end === undefined) {\n\t\treturn start >= 0 //\n\t\t\t? drop(iterable, start)\n\t\t\t: takeLast(iterable, -start);\n\t}\n\n\tend = toIntegerOrInfinityOrThrow(end);\n\t// 2. If end is negative:\n\tif (end < 0) {\n\t\t// 2.1. If `end` is `-Infinity`, end would be `0`, which will always\n\t\t// result on an empty iterator:\n\t\tif (end === Number.NEGATIVE_INFINITY) {\n\t\t\treturn empty();\n\t\t}\n\n\t\t// 2.2. If start is positive, drop the last n elements:\n\t\tif (start === 0) {\n\t\t\treturn dropLast(iterable, -end);\n\t\t}\n\n\t\t// 2.3. If the start is positive, drop the first n elements and take the\n\t\t// last m elements:\n\t\tif (start >= 0) {\n\t\t\treturn dropLast(drop(iterable, start), -end);\n\t\t}\n\n\t\t// 2.4. If the start is the same or greater than the end, return an\n\t\t// empty iterator:\n\t\tif (start >= end) {\n\t\t\treturn empty();\n\t\t}\n\n\t\t// 2.5. `start` and `end` are negative, take the elements between the\n\t\t// start and end:\n\t\treturn take(takeLast(iterable, -start), end - start);\n\t}\n\n\t// 3.0. If `start` is greater than or equal to `end`, return an empty iterator:\n\tif (start >= end) return empty();\n\n\t// 4.0. Otherwise, take the elements between `start` and `end`:\n\treturn end === Number.POSITIVE_INFINITY //\n\t\t? drop(iterable, start)\n\t\t: take(drop(iterable, start), end - start);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { assertFunction } from './shared/_assertFunction.mjs';
3
3
  import { toIterableIterator } from './toIterableIterator.mjs';
4
4
 
@@ -15,5 +15,5 @@ function some(iterable, callbackFn) {
15
15
  __name(some, "some");
16
16
 
17
17
  export { some };
18
- //# sourceMappingURL=out.js.map
18
+ //# sourceMappingURL=some.mjs.map
19
19
  //# sourceMappingURL=some.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/some.ts"],"names":[],"mappings":";;;;;AACA,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AA8B5B,SAAS,KACf,UACA,YACU;AACV,eAAa,eAAe,UAAU;AAEtC,MAAI,QAAQ;AACZ,aAAW,SAAS,mBAAmB,QAAQ,GAAG;AACjD,QAAI,WAAW,OAAO,OAAO,GAAG;AAC/B,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;AAdgB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Advances the iterable until it finds a matching element, returning `true` if it's found and `false` otherwise.\n *\n * @param iterable An iterator to search for a value in.\n * @param callbackFn A function to execute for each element produced by the iterator. It should return a truthy value to\n * indicate the element passes the test, and a falsy value otherwise.\n * @returns `true` if the callback function returns a truthy value for at least one element. Otherwise, `false`.\n *\n * @example\n * ```typescript\n * import { some } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 2 === 0));\n * // Output: true\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 6 === 0));\n * // Output: false\n * ```\n *\n * @remarks\n *\n * This function consumes the iterator until the value is found or the iterator is exhausted.\n */\nexport function some<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => boolean\n): boolean {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tlet index = 0;\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tif (callbackFn(value, index++)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/some.ts"],"names":[],"mappings":";;;;AAgCO,SAAS,IAAA,CACf,UACA,UACU,EAAA;AACV,EAAA,UAAA,GAAa,eAAe,UAAU,CAAA;AAEtC,EAAA,IAAI,KAAQ,GAAA,CAAA;AACZ,EAAW,KAAA,MAAA,KAAA,IAAS,kBAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAI,IAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,CAAG,EAAA;AAC/B,MAAO,OAAA,IAAA;AAAA;AACR;AAGD,EAAO,OAAA,KAAA;AACR;AAdgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"some.mjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Advances the iterable until it finds a matching element, returning `true` if it's found and `false` otherwise.\n *\n * @param iterable An iterator to search for a value in.\n * @param callbackFn A function to execute for each element produced by the iterator. It should return a truthy value to\n * indicate the element passes the test, and a falsy value otherwise.\n * @returns `true` if the callback function returns a truthy value for at least one element. Otherwise, `false`.\n *\n * @example\n * ```typescript\n * import { some } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 2 === 0));\n * // Output: true\n * ```\n *\n * @example\n * ```typescript\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(some(iterable, (value) => value % 6 === 0));\n * // Output: false\n * ```\n *\n * @remarks\n *\n * This function consumes the iterator until the value is found or the iterator is exhausted.\n */\nexport function some<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (element: ElementType, index: number) => boolean\n): boolean {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tlet index = 0;\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tif (callbackFn(value, index++)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { toArray } from './toArray.mjs';
3
3
 
4
4
  function sorted(iterable, compareFn) {
@@ -7,5 +7,5 @@ function sorted(iterable, compareFn) {
7
7
  __name(sorted, "sorted");
8
8
 
9
9
  export { sorted };
10
- //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=sorted.mjs.map
11
11
  //# sourceMappingURL=sorted.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/sorted.ts"],"names":[],"mappings":";;;;;AACA,SAAS,eAAe;AAsBjB,SAAS,OACf,UACA,WACgC;AAChC,SAAO,QAAQ,QAAQ,EAAE,KAAK,SAAS,EAAE,OAAO;AACjD;AALgB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toArray } from './toArray';\n\n/**\n * Consumes the iterable and returns a new iterable with the elements sorted.\n *\n * @param iterable An iterator to sort.\n * @param compareFn A function that defines the sort order. If omitted, the values are sorted in ascending order.\n * @returns An iterator that yields the values of the provided iterator in sorted order.\n *\n * @example\n * ```typescript\n * import { sorted } from '@sapphire/iterator-utilities';\n *\n * const iterable = [5, 3, 1, 4, 2];\n * console.log([...sorted(iterable)]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire input iterator.\n */\nexport function sorted<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcompareFn?: (a: ElementType, b: ElementType) => number\n): IterableIterator<ElementType> {\n\treturn toArray(iterable).sort(compareFn).values();\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/sorted.ts"],"names":[],"mappings":";;;AAuBO,SAAS,MAAA,CACf,UACA,SACgC,EAAA;AAChC,EAAA,OAAO,QAAQ,QAAQ,CAAA,CAAE,IAAK,CAAA,SAAS,EAAE,MAAO,EAAA;AACjD;AALgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"sorted.mjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { toArray } from './toArray';\n\n/**\n * Consumes the iterable and returns a new iterable with the elements sorted.\n *\n * @param iterable An iterator to sort.\n * @param compareFn A function that defines the sort order. If omitted, the values are sorted in ascending order.\n * @returns An iterator that yields the values of the provided iterator in sorted order.\n *\n * @example\n * ```typescript\n * import { sorted } from '@sapphire/iterator-utilities';\n *\n * const iterable = [5, 3, 1, 4, 2];\n * console.log([...sorted(iterable)]);\n * // Output: [1, 2, 3, 4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire input iterator.\n */\nexport function sorted<const ElementType>(\n\titerable: IterableResolvable<ElementType>,\n\tcompareFn?: (a: ElementType, b: ElementType) => number\n): IterableIterator<ElementType> {\n\treturn toArray(iterable).sort(compareFn).values();\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import './from.mjs';
3
3
  import { assertFunction } from './shared/_assertFunction.mjs';
4
4
  import { toIterableIterator } from './toIterableIterator.mjs';
@@ -12,5 +12,5 @@ function* starMap(iterable, callbackFn) {
12
12
  __name(starMap, "starMap");
13
13
 
14
14
  export { starMap };
15
- //# sourceMappingURL=out.js.map
15
+ //# sourceMappingURL=starMap.mjs.map
16
16
  //# sourceMappingURL=starMap.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/starMap.ts"],"names":[],"mappings":";;;;;AAAA,OAAwC;AACxC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AAwB5B,UAAU,QAChB,UACA,YAC+B;AAC/B,eAAa,eAAe,UAAU;AAEtC,aAAW,SAAS,mBAAmB,QAAQ,GAAG;AACjD,UAAM,WAAW,GAAI,mBAAmB,KAAK,CAAS;AAAA,EACvD;AACD;AATiB","sourcesContent":["import { type IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an iterable with the results of calling a provided function on each element of the input iterables as the function's parameters.\n *\n * @param iterable The iterable to map over.\n * @param callbackFn The callback function to apply to each element.\n * @returns An iterable iterator that yields the mapped elements.\n *\n * @example\n * ```typescript\n * import { starMap } from '@sapphire/iterator-utilities';\n *\n * const iterable = [[1, 2], [3, 4], [5, 6]];\n * console.log([...starMap(iterable, (a, b) => a + b)]);\n * // Output: [3, 7, 11]\n * ```\n *\n * @remarks\n *\n * While very similar to {@link map}, `starMap` takes an iterable of iterables (which can be an array of tuples) and\n * calls the function with each inner iterable's values as the function's parameters. {@link map} calls the function\n * with the value and the index by comparison.\n */\nexport function* starMap<const ElementType extends IterableResolvable<any>, const MappedType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (...args: StarMapParameters<ElementType>) => MappedType\n): IterableIterator<MappedType> {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tyield callbackFn(...(toIterableIterator(value) as any));\n\t}\n}\n\nexport type StarMapParameters<ElementType> = ElementType extends readonly [...infer ElementTypeEntry]\n\t? ElementTypeEntry\n\t: ElementType extends IterableResolvable<infer ElementType>\n\t\t? ElementType[]\n\t\t: never;\n"]}
1
+ {"version":3,"sources":["../../../src/lib/starMap.ts"],"names":[],"mappings":";;;;;AA0BO,UAAU,OAAA,CAChB,UACA,UAC+B,EAAA;AAC/B,EAAA,UAAA,GAAa,eAAe,UAAU,CAAA;AAEtC,EAAW,KAAA,MAAA,KAAA,IAAS,kBAAmB,CAAA,QAAQ,CAAG,EAAA;AACjD,IAAA,MAAM,UAAW,CAAA,GAAI,kBAAmB,CAAA,KAAK,CAAS,CAAA;AAAA;AAExD;AATiB,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA","file":"starMap.mjs","sourcesContent":["import { type IterableResolvable } from './from';\nimport { assertFunction } from './shared/_assertFunction';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Creates an iterable with the results of calling a provided function on each element of the input iterables as the function's parameters.\n *\n * @param iterable The iterable to map over.\n * @param callbackFn The callback function to apply to each element.\n * @returns An iterable iterator that yields the mapped elements.\n *\n * @example\n * ```typescript\n * import { starMap } from '@sapphire/iterator-utilities';\n *\n * const iterable = [[1, 2], [3, 4], [5, 6]];\n * console.log([...starMap(iterable, (a, b) => a + b)]);\n * // Output: [3, 7, 11]\n * ```\n *\n * @remarks\n *\n * While very similar to {@link map}, `starMap` takes an iterable of iterables (which can be an array of tuples) and\n * calls the function with each inner iterable's values as the function's parameters. {@link map} calls the function\n * with the value and the index by comparison.\n */\nexport function* starMap<const ElementType extends IterableResolvable<any>, const MappedType>(\n\titerable: IterableResolvable<ElementType>,\n\tcallbackFn: (...args: StarMapParameters<ElementType>) => MappedType\n): IterableIterator<MappedType> {\n\tcallbackFn = assertFunction(callbackFn);\n\n\tfor (const value of toIterableIterator(iterable)) {\n\t\tyield callbackFn(...(toIterableIterator(value) as any));\n\t}\n}\n\nexport type StarMapParameters<ElementType> = ElementType extends readonly [...infer ElementTypeEntry]\n\t? ElementTypeEntry\n\t: ElementType extends IterableResolvable<infer ElementType>\n\t\t? ElementType[]\n\t\t: never;\n"]}
@@ -0,0 +1,24 @@
1
+ import { IterableResolvable } from './from.mjs';
2
+
3
+ /**
4
+ * Creates an iterator starting at the same point, but stepping by the given amount at each iteration.
5
+ *
6
+ * @param iterable An iterator to map over.
7
+ * @param step A positive integer representing the step to take at each iteration.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { stepBy } from '@sapphire/iterator-utilities';
12
+ *
13
+ * const iterable = [0, 1, 2, 3, 4, 5];
14
+ * console.log([...stepBy(iterable, 2)]);
15
+ * // Output: [0, 2, 4]
16
+ * ```
17
+ *
18
+ * @remarks
19
+ *
20
+ * The first element of the iterator will always be returned, regardless of the step given.
21
+ */
22
+ declare function stepBy<const ElementType>(iterable: IterableResolvable<ElementType>, step: number): IterableIterator<ElementType>;
23
+
24
+ export { stepBy };
@@ -0,0 +1,26 @@
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
+ import { from } from './from.mjs';
3
+ import { assertPositive } from './shared/_assertPositive.mjs';
4
+ import { makeIterableIterator } from './shared/_makeIterableIterator.mjs';
5
+ import { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow.mjs';
6
+
7
+ function stepBy(iterable, step) {
8
+ step = assertPositive(toIntegerOrInfinityOrThrow(step), step);
9
+ const iterator = from(iterable);
10
+ return makeIterableIterator(() => {
11
+ const result = iterator.next();
12
+ if (result.done) {
13
+ return { done: true, value: void 0 };
14
+ }
15
+ for (let i = 0; i < step - 1; i++) {
16
+ const result2 = iterator.next();
17
+ if (result2.done) break;
18
+ }
19
+ return { done: false, value: result.value };
20
+ });
21
+ }
22
+ __name(stepBy, "stepBy");
23
+
24
+ export { stepBy };
25
+ //# sourceMappingURL=stepBy.mjs.map
26
+ //# sourceMappingURL=stepBy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/stepBy.ts"],"names":["result"],"mappings":";;;;;;AAwBO,SAAS,MAAA,CAA0B,UAA2C,IAA6C,EAAA;AACjI,EAAA,IAAA,GAAO,cAAe,CAAA,0BAAA,CAA2B,IAAI,CAAA,EAAG,IAAI,CAAA;AAE5D,EAAM,MAAA,QAAA,GAAW,KAAK,QAAQ,CAAA;AAC9B,EAAA,OAAO,qBAAkC,MAAM;AAC9C,IAAM,MAAA,MAAA,GAAS,SAAS,IAAK,EAAA;AAC7B,IAAA,IAAI,OAAO,IAAM,EAAA;AAChB,MAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA;AAAA;AAGvC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,GAAO,GAAG,CAAK,EAAA,EAAA;AAClC,MAAMA,MAAAA,OAAAA,GAAS,SAAS,IAAK,EAAA;AAC7B,MAAA,IAAIA,QAAO,IAAM,EAAA;AAAA;AAGlB,IAAA,OAAO,EAAE,IAAA,EAAM,KAAO,EAAA,KAAA,EAAO,OAAO,KAAM,EAAA;AAAA,GAC1C,CAAA;AACF;AAjBgB,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA","file":"stepBy.mjs","sourcesContent":["import { from, type IterableResolvable } from './from';\nimport { assertPositive } from './shared/_assertPositive';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterator starting at the same point, but stepping by the given amount at each iteration.\n *\n * @param iterable An iterator to map over.\n * @param step A positive integer representing the step to take at each iteration.\n *\n * @example\n * ```typescript\n * import { stepBy } from '@sapphire/iterator-utilities';\n *\n * const iterable = [0, 1, 2, 3, 4, 5];\n * console.log([...stepBy(iterable, 2)]);\n * // Output: [0, 2, 4]\n * ```\n *\n * @remarks\n *\n * The first element of the iterator will always be returned, regardless of the step given.\n */\nexport function stepBy<const ElementType>(iterable: IterableResolvable<ElementType>, step: number): IterableIterator<ElementType> {\n\tstep = assertPositive(toIntegerOrInfinityOrThrow(step), step);\n\n\tconst iterator = from(iterable);\n\treturn makeIterableIterator<ElementType>(() => {\n\t\tconst result = iterator.next();\n\t\tif (result.done) {\n\t\t\treturn { done: true, value: undefined };\n\t\t}\n\n\t\tfor (let i = 0; i < step - 1; i++) {\n\t\t\tconst result = iterator.next();\n\t\t\tif (result.done) break;\n\t\t}\n\n\t\treturn { done: false, value: result.value };\n\t});\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { map } from './map.mjs';
3
3
  import { toNumberOrThrow } from './shared/_toNumberOrThrow.mjs';
4
4
 
@@ -12,5 +12,5 @@ function sum(iterable) {
12
12
  __name(sum, "sum");
13
13
 
14
14
  export { sum };
15
- //# sourceMappingURL=out.js.map
15
+ //# sourceMappingURL=sum.mjs.map
16
16
  //# sourceMappingURL=sum.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/sum.ts"],"names":["sum"],"mappings":";;;;;AACA,SAAS,WAAW;AACpB,SAAS,uBAA8C;AAqBhD,SAAS,IAAI,UAAgD;AACnE,MAAIA,OAAM;AACV,aAAW,SAAS,IAAI,UAAU,eAAe,GAAG;AACnD,IAAAA,QAAO;AAAA,EACR;AAEA,SAAOA;AACR;AAPgB","sourcesContent":["import type { IterableResolvable } from './from';\nimport { map } from './map';\nimport { toNumberOrThrow, type NumberResolvable } from './shared/_toNumberOrThrow';\n\n/**\n * Consumes the iterable and returns the sum of all the elements.\n *\n * @param iterable An iterator of numbers to calculate the sum of.\n * @returns The sum of the numbers in the input iterator.\n *\n * @example\n * ```typescript\n * import { sum } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(sum(iterable));\n * // Output: 15\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function sum(iterable: IterableResolvable<NumberResolvable>) {\n\tlet sum = 0;\n\tfor (const value of map(iterable, toNumberOrThrow)) {\n\t\tsum += value;\n\t}\n\n\treturn sum;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/sum.ts"],"names":["sum"],"mappings":";;;;AAuBO,SAAS,IAAI,QAAgD,EAAA;AACnE,EAAA,IAAIA,IAAM,GAAA,CAAA;AACV,EAAA,KAAA,MAAW,KAAS,IAAA,GAAA,CAAI,QAAU,EAAA,eAAe,CAAG,EAAA;AACnD,IAAAA,IAAO,IAAA,KAAA;AAAA;AAGR,EAAOA,OAAAA,IAAAA;AACR;AAPgB,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA","file":"sum.mjs","sourcesContent":["import type { IterableResolvable } from './from';\nimport { map } from './map';\nimport { toNumberOrThrow, type NumberResolvable } from './shared/_toNumberOrThrow';\n\n/**\n * Consumes the iterable and returns the sum of all the elements.\n *\n * @param iterable An iterator of numbers to calculate the sum of.\n * @returns The sum of the numbers in the input iterator.\n *\n * @example\n * ```typescript\n * import { sum } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log(sum(iterable));\n * // Output: 15\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function sum(iterable: IterableResolvable<NumberResolvable>) {\n\tlet sum = 0;\n\tfor (const value of map(iterable, toNumberOrThrow)) {\n\t\tsum += value;\n\t}\n\n\treturn sum;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { empty } from './empty.mjs';
3
3
  import { from } from './from.mjs';
4
4
  import { assertNotNegative } from './shared/_assertNotNegative.mjs';
@@ -7,8 +7,7 @@ import { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow
7
7
 
8
8
  function take(iterable, count) {
9
9
  count = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);
10
- if (count === 0)
11
- return empty();
10
+ if (count === 0) return empty();
12
11
  let i = 0;
13
12
  const resolvedIterable = from(iterable);
14
13
  return makeIterableIterator(
@@ -18,5 +17,5 @@ function take(iterable, count) {
18
17
  __name(take, "take");
19
18
 
20
19
  export { take };
21
- //# sourceMappingURL=out.js.map
20
+ //# sourceMappingURL=take.mjs.map
22
21
  //# sourceMappingURL=take.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/take.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,aAAa;AACtB,SAAS,YAAqC;AAC9C,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,kCAAkC;AAkBpC,SAAS,KAAwB,UAA2C,OAA8C;AAChI,UAAQ,kBAAkB,2BAA2B,KAAK,GAAG,KAAK;AAClE,MAAI,UAAU;AAAG,WAAO,MAAM;AAE9B,MAAI,IAAI;AACR,QAAM,mBAAmB,KAAK,QAAQ;AACtC,SAAO;AAAA,IAAkC,MACxC,KAAK,QACF,EAAE,MAAM,MAAM,OAAO,OAAU,KAC9B,KAAK,iBAAiB,KAAK;AAAA,EAChC;AACD;AAXgB","sourcesContent":["import { empty } from './empty';\nimport { from, type IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterable with the first `count` elements.\n *\n * @param iterable The iterator to take values from.\n * @param count The maximum number of values to take from the iterator.\n * @returns An iterator that yields at most `count` values from the provided iterator.\n *\n * @example\n * ```typescript\n * import { take } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...take(iterable, 2)]);\n * // Output: [1, 2]\n * ```\n */\nexport function take<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\n\tlet i = 0;\n\tconst resolvedIterable = from(iterable);\n\treturn makeIterableIterator<ElementType>(() =>\n\t\ti >= count //\n\t\t\t? { done: true, value: undefined }\n\t\t\t: (i++, resolvedIterable.next())\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/take.ts"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,IAAA,CAAwB,UAA2C,KAA8C,EAAA;AAChI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,KAAM,EAAA;AAE9B,EAAA,IAAI,CAAI,GAAA,CAAA;AACR,EAAM,MAAA,gBAAA,GAAmB,KAAK,QAAQ,CAAA;AACtC,EAAO,OAAA,oBAAA;AAAA,IAAkC,MACxC,CAAK,IAAA,KAAA,GACF,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA,IAC9B,CAAK,EAAA,EAAA,gBAAA,CAAiB,IAAK,EAAA;AAAA,GAChC;AACD;AAXgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"take.mjs","sourcesContent":["import { empty } from './empty';\nimport { from, type IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\n\n/**\n * Creates an iterable with the first `count` elements.\n *\n * @param iterable The iterator to take values from.\n * @param count The maximum number of values to take from the iterator.\n * @returns An iterator that yields at most `count` values from the provided iterator.\n *\n * @example\n * ```typescript\n * import { take } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...take(iterable, 2)]);\n * // Output: [1, 2]\n * ```\n */\nexport function take<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\n\tlet i = 0;\n\tconst resolvedIterable = from(iterable);\n\treturn makeIterableIterator<ElementType>(() =>\n\t\ti >= count //\n\t\t\t? { done: true, value: undefined }\n\t\t\t: (i++, resolvedIterable.next())\n\t);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { empty } from './empty.mjs';
3
3
  import { assertNotNegative } from './shared/_assertNotNegative.mjs';
4
4
  import { makeIterableIterator } from './shared/_makeIterableIterator.mjs';
@@ -8,10 +8,8 @@ import { toIterableIterator } from './toIterableIterator.mjs';
8
8
 
9
9
  function takeLast(iterable, count) {
10
10
  count = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);
11
- if (count === 0)
12
- return empty();
13
- if (count === Number.POSITIVE_INFINITY)
14
- return toIterableIterator(iterable);
11
+ if (count === 0) return empty();
12
+ if (count === Number.POSITIVE_INFINITY) return toIterableIterator(iterable);
15
13
  const array = toArray(iterable);
16
14
  let i = Math.max(0, array.length - count);
17
15
  return makeIterableIterator(() => {
@@ -24,5 +22,5 @@ function takeLast(iterable, count) {
24
22
  __name(takeLast, "takeLast");
25
23
 
26
24
  export { takeLast };
27
- //# sourceMappingURL=out.js.map
25
+ //# sourceMappingURL=takeLast.mjs.map
28
26
  //# sourceMappingURL=takeLast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,aAAa;AAEtB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,kCAAkC;AAC3C,SAAS,eAAe;AACxB,SAAS,0BAA0B;AAsB5B,SAAS,SAA4B,UAA2C,OAA8C;AACpI,UAAQ,kBAAkB,2BAA2B,KAAK,GAAG,KAAK;AAClE,MAAI,UAAU;AAAG,WAAO,MAAM;AAC9B,MAAI,UAAU,OAAO;AAAmB,WAAO,mBAAmB,QAAQ;AAE1E,QAAM,QAAQ,QAAQ,QAAQ;AAC9B,MAAI,IAAI,KAAK,IAAI,GAAG,MAAM,SAAS,KAAK;AACxC,SAAO,qBAAkC,MAAM;AAC9C,QAAI,KAAK,MAAM,QAAQ;AACtB,aAAO,EAAE,MAAM,MAAM,OAAO,OAAU;AAAA,IACvC;AAEA,WAAO,EAAE,MAAM,OAAO,OAAO,MAAM,GAAG,EAAE;AAAA,EACzC,CAAC;AACF;AAdgB","sourcesContent":["import { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { toArray } from './toArray';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Consumes the iterable and returns a new iterable with the last `count` elements.\n *\n * @param iterable An iterator to take values from.\n * @param count The number of values to take from the end of the iterator.\n * @returns An iterator that contains the last `count` elements of the provided iterator.\n *\n * @example\n * ```typescript\n * import { takeLast } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...takeLast(iterable, 2)]);\n * // Output: [4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function takeLast<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\tif (count === Number.POSITIVE_INFINITY) return toIterableIterator(iterable);\n\n\tconst array = toArray(iterable);\n\tlet i = Math.max(0, array.length - count);\n\treturn makeIterableIterator<ElementType>(() => {\n\t\tif (i >= array.length) {\n\t\t\treturn { done: true, value: undefined };\n\t\t}\n\n\t\treturn { done: false, value: array[i++] };\n\t});\n}\n"]}
1
+ {"version":3,"sources":["../../../src/lib/takeLast.ts"],"names":[],"mappings":";;;;;;;;AA4BO,SAAS,QAAA,CAA4B,UAA2C,KAA8C,EAAA;AACpI,EAAA,KAAA,GAAQ,iBAAkB,CAAA,0BAAA,CAA2B,KAAK,CAAA,EAAG,KAAK,CAAA;AAClE,EAAI,IAAA,KAAA,KAAU,CAAG,EAAA,OAAO,KAAM,EAAA;AAC9B,EAAA,IAAI,KAAU,KAAA,MAAA,CAAO,iBAAmB,EAAA,OAAO,mBAAmB,QAAQ,CAAA;AAE1E,EAAM,MAAA,KAAA,GAAQ,QAAQ,QAAQ,CAAA;AAC9B,EAAA,IAAI,IAAI,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AACxC,EAAA,OAAO,qBAAkC,MAAM;AAC9C,IAAI,IAAA,CAAA,IAAK,MAAM,MAAQ,EAAA;AACtB,MAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,KAAA,EAAO,KAAU,CAAA,EAAA;AAAA;AAGvC,IAAA,OAAO,EAAE,IAAM,EAAA,KAAA,EAAO,KAAO,EAAA,KAAA,CAAM,GAAG,CAAE,EAAA;AAAA,GACxC,CAAA;AACF;AAdgB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"takeLast.mjs","sourcesContent":["import { empty } from './empty';\nimport type { IterableResolvable } from './from';\nimport { assertNotNegative } from './shared/_assertNotNegative';\nimport { makeIterableIterator } from './shared/_makeIterableIterator';\nimport { toIntegerOrInfinityOrThrow } from './shared/_toIntegerOrInfinityOrThrow';\nimport { toArray } from './toArray';\nimport { toIterableIterator } from './toIterableIterator';\n\n/**\n * Consumes the iterable and returns a new iterable with the last `count` elements.\n *\n * @param iterable An iterator to take values from.\n * @param count The number of values to take from the end of the iterator.\n * @returns An iterator that contains the last `count` elements of the provided iterator.\n *\n * @example\n * ```typescript\n * import { takeLast } from '@sapphire/iterator-utilities';\n *\n * const iterable = [1, 2, 3, 4, 5];\n * console.log([...takeLast(iterable, 2)]);\n * // Output: [4, 5]\n * ```\n *\n * @remarks\n *\n * This function consumes the entire iterator.\n */\nexport function takeLast<const ElementType>(iterable: IterableResolvable<ElementType>, count: number): IterableIterator<ElementType> {\n\tcount = assertNotNegative(toIntegerOrInfinityOrThrow(count), count);\n\tif (count === 0) return empty();\n\tif (count === Number.POSITIVE_INFINITY) return toIterableIterator(iterable);\n\n\tconst array = toArray(iterable);\n\tlet i = Math.max(0, array.length - count);\n\treturn makeIterableIterator<ElementType>(() => {\n\t\tif (i >= array.length) {\n\t\t\treturn { done: true, value: undefined };\n\t\t}\n\n\t\treturn { done: false, value: array[i++] };\n\t});\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export { filter as takeWhile } from './filter.mjs';
2
+ import './from.mjs';
@@ -0,0 +1,4 @@
1
+ import '../chunk-PAWJFY3S.mjs';
2
+ export { filter as takeWhile } from './filter.mjs';
3
+ //# sourceMappingURL=takeWhile.mjs.map
4
+ //# sourceMappingURL=takeWhile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"takeWhile.mjs","sourcesContent":[]}
@@ -1,4 +1,4 @@
1
- import { __name } from '../chunk-G5GHKT7C.mjs';
1
+ import { __name } from '../chunk-PAWJFY3S.mjs';
2
2
  import { from } from './from.mjs';
3
3
  import { repeat } from './repeat.mjs';
4
4
  import { assertNotNegative } from './shared/_assertNotNegative.mjs';
@@ -8,8 +8,7 @@ import { toArray } from './toArray.mjs';
8
8
 
9
9
  function tee(iterable, count) {
10
10
  count = assertNotNegative(toIntegerOrThrow(count), count);
11
- if (count === 0)
12
- return [];
11
+ if (count === 0) return [];
13
12
  const entries = [];
14
13
  const indexes = toArray(repeat(0, count));
15
14
  const resolvedIterable = from(iterable);
@@ -32,5 +31,5 @@ function tee(iterable, count) {
32
31
  __name(tee, "tee");
33
32
 
34
33
  export { tee };
35
- //# sourceMappingURL=out.js.map
34
+ //# sourceMappingURL=tee.mjs.map
36
35
  //# sourceMappingURL=tee.mjs.map