/
erioxis
/
web-nodejs
Обзор
Документация
Войти
/
erioxis
/
web-nodejs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/node_modules/obliterator/take.js
39 строк
788 B
erioxis
lab11fix
15 дек 2025, 23:21
15 дек 2025, 23:21
70dc7ba
Код
Авторство
О чём код?
/* eslint no-constant-condition: 0 */ /** * Obliterator Take Function * ========================== * * Function taking n or every value of the given iterator and returns them * into an array. */ var iter = require('./iter.js'); /** * Take. * * @param {Iterable} iterable - Target iterable. * @param {number} [n] - Optional number of items to take. * @return {array} */ module.exports = function take(iterable, n) { var l = arguments.length > 1 ? n : Infinity, array = l !== Infinity ? new Array(l) : [], step, i = 0; var iterator = iter(iterable); while (true) { if (i === l) return array; step = iterator.next(); if (step.done) { if (i !== n) array.length = i; return array; } array[i++] = step.value; } };