PluginProbe
Force Refresh / 2.0.0
Force Refresh v2.0.0
3.2.1 3.2.0 3.1.2 3.1.1 3.1.0 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.2.0 2.0.0 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.11.0 2.11.1 2.12.0 All 54 releases
force-refresh / node_modules / handlebars / node_modules / async / reflectAll.js

reflectAll.js in Force Refresh 2.0.0, at node_modules/handlebars/node_modules/async/reflectAll.js

105 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 'use strict';
2
3 Object.defineProperty(exports, "__esModule", {
4 value: true
5 });
6 exports.default = reflectAll;
7
8 var _reflect = require('./reflect');
9
10 var _reflect2 = _interopRequireDefault(_reflect);
11
12 var _isArray = require('lodash/isArray');
13
14 var _isArray2 = _interopRequireDefault(_isArray);
15
16 var _arrayMap2 = require('lodash/_arrayMap');
17
18 var _arrayMap3 = _interopRequireDefault(_arrayMap2);
19
20 var _baseForOwn = require('lodash/_baseForOwn');
21
22 var _baseForOwn2 = _interopRequireDefault(_baseForOwn);
23
24 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26 /**
27 * A helper function that wraps an array or an object of functions with `reflect`.
28 *
29 * @name reflectAll
30 * @static
31 * @memberOf module:Utils
32 * @method
33 * @see [async.reflect]{@link module:Utils.reflect}
34 * @category Util
35 * @param {Array|Object|Iterable} tasks - The collection of
36 * [async functions]{@link AsyncFunction} to wrap in `async.reflect`.
37 * @returns {Array} Returns an array of async functions, each wrapped in
38 * `async.reflect`
39 * @example
40 *
41 * let tasks = [
42 * function(callback) {
43 * setTimeout(function() {
44 * callback(null, 'one');
45 * }, 200);
46 * },
47 * function(callback) {
48 * // do some more stuff but error ...
49 * callback(new Error('bad stuff happened'));
50 * },
51 * function(callback) {
52 * setTimeout(function() {
53 * callback(null, 'two');
54 * }, 100);
55 * }
56 * ];
57 *
58 * async.parallel(async.reflectAll(tasks),
59 * // optional callback
60 * function(err, results) {
61 * // values
62 * // results[0].value = 'one'
63 * // results[1].error = Error('bad stuff happened')
64 * // results[2].value = 'two'
65 * });
66 *
67 * // an example using an object instead of an array
68 * let tasks = {
69 * one: function(callback) {
70 * setTimeout(function() {
71 * callback(null, 'one');
72 * }, 200);
73 * },
74 * two: function(callback) {
75 * callback('two');
76 * },
77 * three: function(callback) {
78 * setTimeout(function() {
79 * callback(null, 'three');
80 * }, 100);
81 * }
82 * };
83 *
84 * async.parallel(async.reflectAll(tasks),
85 * // optional callback
86 * function(err, results) {
87 * // values
88 * // results.one.value = 'one'
89 * // results.two.error = 'two'
90 * // results.three.value = 'three'
91 * });
92 */
93 function reflectAll(tasks) {
94 var results;
95 if ((0, _isArray2.default)(tasks)) {
96 results = (0, _arrayMap3.default)(tasks, _reflect2.default);
97 } else {
98 results = {};
99 (0, _baseForOwn2.default)(tasks, function (task, key) {
100 results[key] = _reflect2.default.call(this, task);
101 });
102 }
103 return results;
104 }
105 module.exports = exports['default'];