diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
| commit | efbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch) | |
| tree | 2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/webpack/lib/util/IterableHelpers.js | |
| parent | 43acceb75957c880a5ba5a31aae221394a36d5f6 (diff) | |
node fixes, updates
Diffstat (limited to 'node_modules/webpack/lib/util/IterableHelpers.js')
| -rw-r--r-- | node_modules/webpack/lib/util/IterableHelpers.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/util/IterableHelpers.js b/node_modules/webpack/lib/util/IterableHelpers.js new file mode 100644 index 00000000..ccceb19d --- /dev/null +++ b/node_modules/webpack/lib/util/IterableHelpers.js @@ -0,0 +1,45 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + +"use strict"; + +/** + * @template T + * @param {Iterable<T>} set a set + * @returns {T | undefined} last item + */ +const last = set => { + let last; + for (const item of set) last = item; + return last; +}; + +/** + * @template T + * @param {Iterable<T>} iterable iterable + * @param {function(T): boolean} filter predicate + * @returns {boolean} true, if some items match the filter predicate + */ +const someInIterable = (iterable, filter) => { + for (const item of iterable) { + if (filter(item)) return true; + } + return false; +}; + +/** + * @template T + * @param {Iterable<T>} iterable an iterable + * @returns {number} count of items + */ +const countIterable = iterable => { + let i = 0; + for (const _ of iterable) i++; + return i; +}; + +module.exports.last = last; +module.exports.someInIterable = someInIterable; +module.exports.countIterable = countIterable; |
