aboutsummaryrefslogtreecommitdiff
path: root/node_modules/when/unfold
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/when/unfold')
-rw-r--r--node_modules/when/unfold/list.js32
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); });
+