Spaces:
Sleeping
Sleeping
; | |
var getError = require('./get-error'); | |
/** | |
* Where the given list is non-null and contains error instances then consolidate and throw | |
* @throws Error | |
* @param {string} resourcePath The path to the resource being processed | |
* @param {null|Array} candidates A possible Array with possible error elements | |
*/ | |
function throwErrors(resourcePath, candidates) { | |
var errors = !!candidates && candidates | |
.filter(testIsError) | |
.map(getMessage); | |
var hasError = !!errors && errors.length; | |
if (hasError) { | |
throw getError(['For resource: ' + resourcePath].concat(errors).join('\n')); | |
} | |
function testIsError(candidate) { | |
return !!candidate && (typeof candidate === 'object') && (candidate instanceof Error); | |
} | |
function getMessage(error) { | |
return error.message; | |
} | |
} | |
module.exports = throwErrors; |