source: frontend/node_modules/webpack/lib/util/IterableHelpers.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5
6"use strict";
7
8/**
9 * Returns last item.
10 * @template T
11 * @param {Iterable<T>} set a set
12 * @returns {T | undefined} last item
13 */
14const last = (set) => {
15 /** @type {T | undefined} */
16 let last;
17 for (const item of set) last = item;
18 return last;
19};
20
21/**
22 * Returns true, if some items match the filter predicate.
23 * @template T
24 * @param {Iterable<T>} iterable iterable
25 * @param {(value: T) => boolean | null | undefined} filter predicate
26 * @returns {boolean} true, if some items match the filter predicate
27 */
28const someInIterable = (iterable, filter) => {
29 for (const item of iterable) {
30 if (filter(item)) return true;
31 }
32 return false;
33};
34
35/**
36 * Returns count of items.
37 * @template T
38 * @param {Iterable<T>} iterable an iterable
39 * @returns {number} count of items
40 */
41const countIterable = (iterable) => {
42 let i = 0;
43 for (const _ of iterable) i++;
44 return i;
45};
46
47module.exports.countIterable = countIterable;
48module.exports.last = last;
49module.exports.someInIterable = someInIterable;
Note: See TracBrowser for help on using the repository browser.