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