list.js 987 B

1234567891011121314151617181920212223242526272829303132
  1. /** @license MIT License (c) copyright B Cavalier & J Hann */
  2. (function(define) {
  3. define(function(require) {
  4. var unfold = require('../when').unfold;
  5. /**
  6. * @deprecated
  7. * Given a seed and generator, produces an Array. Effectively the
  8. * dual (opposite) of when.reduce()
  9. * @param {function} generator function that generates a value (or promise
  10. * for a value) to be placed in the resulting array
  11. * @param {function} condition given a seed, must return truthy if the unfold
  12. * should continue, or falsey if it should terminate
  13. * @param {*|Promise} seed any value or promise
  14. * @return {Promise} resulting array
  15. */
  16. return function list(generator, condition, seed) {
  17. var result = [];
  18. return unfold(generator, condition, append, seed)['yield'](result);
  19. function append(value, newSeed) {
  20. result.push(value);
  21. return newSeed;
  22. }
  23. };
  24. });
  25. })(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); });