| | |
| | | "use strict"; |
| | | |
| | | /** |
| | | * Returns last item. |
| | | * @template T |
| | | * @param {Iterable<T>} set a set |
| | | * @returns {T | undefined} last item |
| | | */ |
| | | const last = (set) => { |
| | | /** @type {T | undefined} */ |
| | | let last; |
| | | for (const item of set) last = item; |
| | | return last; |
| | | }; |
| | | |
| | | /** |
| | | * Returns true, if some items match the filter predicate. |
| | | * @template T |
| | | * @param {Iterable<T>} iterable iterable |
| | | * @param {(value: T) => boolean | null | undefined} filter predicate |
| | |
| | | }; |
| | | |
| | | /** |
| | | * Returns count of items. |
| | | * @template T |
| | | * @param {Iterable<T>} iterable an iterable |
| | | * @returns {number} count of items |