summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/util/IterableHelpers.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
commitd1d9f00b1bd660842addf5e6b1d1b64c852a9eea (patch)
tree60fb37ae73a1109d95301de5ec9b61b5726a4b61 /node_modules/webpack/lib/util/IterableHelpers.js
parent7c85166c4cbdd862fc4252007d2df5befcbc2a58 (diff)
added hover prefixer
Diffstat (limited to 'node_modules/webpack/lib/util/IterableHelpers.js')
-rw-r--r--node_modules/webpack/lib/util/IterableHelpers.js46
1 files changed, 46 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..beb98a55
--- /dev/null
+++ b/node_modules/webpack/lib/util/IterableHelpers.js
@@ -0,0 +1,46 @@
+/*
+ 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;
+ // eslint-disable-next-line no-unused-vars
+ for (const _ of iterable) i++;
+ return i;
+};
+
+exports.last = last;
+exports.someInIterable = someInIterable;
+exports.countIterable = countIterable;