You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
987 B
32 lines
987 B
/** @license MIT License (c) copyright B Cavalier & J Hann */ |
|
|
|
(function(define) { |
|
define(function(require) { |
|
|
|
var unfold = require('../when').unfold; |
|
|
|
/** |
|
* @deprecated |
|
* Given a seed and generator, produces an Array. Effectively the |
|
* dual (opposite) of when.reduce() |
|
* @param {function} generator function that generates a value (or promise |
|
* for a value) to be placed in the resulting array |
|
* @param {function} condition given a seed, must return truthy if the unfold |
|
* should continue, or falsey if it should terminate |
|
* @param {*|Promise} seed any value or promise |
|
* @return {Promise} resulting array |
|
*/ |
|
return function list(generator, condition, seed) { |
|
var result = []; |
|
|
|
return unfold(generator, condition, append, seed)['yield'](result); |
|
|
|
function append(value, newSeed) { |
|
result.push(value); |
|
return newSeed; |
|
} |
|
}; |
|
|
|
}); |
|
})(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); }); |
|
|
|
|