UNPKG

serverless-spy

Version:

CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.

41 lines (32 loc) 751 B
/* eslint no-constant-condition: 0 */ /** * Obliterator Take Function * ========================== * * Function taking n or every value of the given iterator and returns them * into an array. */ /** * Take. * * @param {Iterator} iterator - Target iterator. * @param {number} [n] - Optional number of items to take. * @return {array} */ module.exports = function take(iterator, n) { var l = arguments.length > 1 ? n : Infinity, array = l !== Infinity ? new Array(l) : [], step, i = 0; while (true) { if (i === l) return array; step = iterator.next(); if (step.done) { if (i !== n) return array.slice(0, i); return array; } array[i++] = step.value; } };