diff options
Diffstat (limited to 'node_modules/when/unfold')
-rw-r--r-- | node_modules/when/unfold/list.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/when/unfold/list.js b/node_modules/when/unfold/list.js new file mode 100644 index 000000000..529c2c93d --- /dev/null +++ b/node_modules/when/unfold/list.js @@ -0,0 +1,32 @@ +/** @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); }); + |