Add production dependencies
This commit is contained in:
parent
5a0114f3e2
commit
579ccdc29f
12113 changed files with 978046 additions and 3 deletions
84
node_modules/bach/lib/helpers.js
generated
vendored
Normal file
84
node_modules/bach/lib/helpers.js
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
|
||||
var filter = require('arr-filter');
|
||||
var map = require('arr-map');
|
||||
var flatten = require('arr-flatten');
|
||||
var forEach = require('array-each');
|
||||
|
||||
function noop() {}
|
||||
|
||||
function getExtensions(lastArg) {
|
||||
if (typeof lastArg !== 'function') {
|
||||
return lastArg;
|
||||
}
|
||||
}
|
||||
|
||||
function filterSuccess(elem) {
|
||||
return elem.state === 'success';
|
||||
}
|
||||
|
||||
function filterError(elem) {
|
||||
return elem.state === 'error';
|
||||
}
|
||||
|
||||
function buildOnSettled(done) {
|
||||
if (typeof done !== 'function') {
|
||||
done = noop;
|
||||
}
|
||||
|
||||
function onSettled(error, result) {
|
||||
if (error) {
|
||||
return done(error, null);
|
||||
}
|
||||
|
||||
var settledErrors = filter(result, filterError);
|
||||
var settledResults = filter(result, filterSuccess);
|
||||
|
||||
var errors = null;
|
||||
if (settledErrors.length) {
|
||||
errors = map(settledErrors, 'value');
|
||||
}
|
||||
|
||||
var results = null;
|
||||
if (settledResults.length) {
|
||||
results = map(settledResults, 'value');
|
||||
}
|
||||
|
||||
done(errors, results);
|
||||
}
|
||||
|
||||
return onSettled;
|
||||
}
|
||||
|
||||
function verifyArguments(args) {
|
||||
args = flatten(args);
|
||||
var lastIdx = args.length - 1;
|
||||
|
||||
assert.ok(args.length, 'A set of functions to combine is required');
|
||||
|
||||
forEach(args, function(arg, argIdx) {
|
||||
var isFunction = typeof arg === 'function';
|
||||
if (isFunction) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (argIdx === lastIdx) {
|
||||
// Last arg can be an object of extension points
|
||||
return;
|
||||
}
|
||||
|
||||
var msg = 'Only functions can be combined, got ' + typeof arg +
|
||||
' for argument ' + argIdx;
|
||||
assert.ok(isFunction, msg);
|
||||
});
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getExtensions: getExtensions,
|
||||
onSettled: buildOnSettled,
|
||||
verifyArguments: verifyArguments,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue