Sha256: 6fe6f7347fad765afa47368bd735932c7c612f378a4d65205631dae60a20b4c7

Contents?: true

Size: 841 Bytes

Versions: 4

Compression:

Stored size: 841 Bytes

Contents

'use strict';

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;

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/adjust-sourcemap-loader/lib/process/throw-errors.js
optimacms-0.4.3 spec/dummy/node_modules/adjust-sourcemap-loader/lib/process/throw-errors.js
optimacms-0.4.2 spec/dummy/node_modules/adjust-sourcemap-loader/lib/process/throw-errors.js
cortex-0.1.3 spec/dummy/node_modules/adjust-sourcemap-loader/lib/process/throw-errors.js