function GraphQLError( // eslint-disable-line no-redeclare
message, nodes, source, positions, path, originalError) {
  // Compute locations in the source for the given nodes/positions.
  var _source = source;
  if (!_source && nodes && nodes.length > 0) {
    var node = nodes[0];
    _source = node && node.loc && node.loc.source;
  }

  var _positions = positions;
  if (!_positions && nodes) {
    _positions = nodes.filter(function (node) {
      return Boolean(node.loc);
    }).map(function (node) {
      return node.loc.start;
    });
  }
  if (_positions && _positions.length === 0) {
    _positions = undefined;
  }

  var _locations = void 0;
  var _source2 = _source; // seems here Flow need a const to resolve type.
  if (_source2 && _positions) {
    _locations = _positions.map(function (pos) {
      return (0, _location.getLocation)(_source2, pos);
    });
  }

  Object.defineProperties(this, {
    message: {
      value: message,
      // By being enumerable, JSON.stringify will include `message` in the
      // resulting output. This ensures that the simplest possible GraphQL
      // service adheres to the spec.
      enumerable: true,
      writable: true
    },
    locations: {
      // Coercing falsey values to undefined ensures they will not be included
      // in JSON.stringify() when not provided.
      value: _locations || undefined,
      // By being enumerable, JSON.stringify will include `locations` in the
      // resulting output. This ensures that the simplest possible GraphQL
      // service adheres to the spec.
      enumerable: true
    },
    path: {
      // Coercing falsey values to undefined ensures they will not be included
      // in JSON.stringify() when not provided.
      value: path || undefined,
      // By being enumerable, JSON.stringify will include `path` in the
      // resulting output. This ensures that the simplest possible GraphQL
      // service adheres to the spec.
      enumerable: true
    },
    nodes: {
      value: nodes || undefined
    },
    source: {
      value: _source || undefined
    },
    positions: {
      value: _positions || undefined
    },
    originalError: {
      value: originalError
    }
  });

  // Include (non-enumerable) stack trace.
  if (originalError && originalError.stack) {
    Object.defineProperty(this, 'stack', {
      value: originalError.stack,
      writable: true,
      configurable: true
    });
  } else if (Error.captureStackTrace) {
    Error.captureStackTrace(this, GraphQLError);
  } else {
    Object.defineProperty(this, 'stack', {
      value: Error().stack,
      writable: true,
      configurable: true
    });
  }
} /**
   * Copyright (c) 2015-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *
   * 
   */
/**
 * A GraphQLError describes an Error found during the parse, validate, or
 * execute phases of performing a GraphQL operation. In addition to a message
 * and stack trace, it also includes information about the locations in a
 * GraphQL document and/or execution result that correspond to the Error.
 */
A GraphQLError describes an Error found during the parse, validate, or
execute phases of performing a GraphQL operation. In addition to a message
and stack trace, it also includes information about the locations in a
GraphQL document and/or execution result that correspond to the Error.
A GraphQLError describes an Error found during the parse validate or execute phases of performing a GraphQL operation . In addition to a message and stack trace it also includes information about the locations in a GraphQL document and / or execution result that correspond to the Error .
function GraphQLError( 
message, nodes, source, positions, path, originalError) {
  var _source = source;
  if (!_source && nodes && nodes.length > 0) {
    var node = nodes[0];
    _source = node && node.loc && node.loc.source;
  }
  var _positions = positions;
  if (!_positions && nodes) {
    _positions = nodes.filter(function (node) {
      return Boolean(node.loc);
    }).map(function (node) {
      return node.loc.start;
    });
  }
  if (_positions && _positions.length === 0) {
    _positions = undefined;
  }
  var _locations = void 0;
  var _source2 = _source; 
  if (_source2 && _positions) {
    _locations = _positions.map(function (pos) {
      return (0, _location.getLocation)(_source2, pos);
    });
  }
  Object.defineProperties(this, {
    message: {
      value: message,
      enumerable: true,
      writable: true
    },
    locations: {
      value: _locations || undefined,
      enumerable: true
    },
    path: {
      value: path || undefined,
      enumerable: true
    },
    nodes: {
      value: nodes || undefined
    },
    source: {
      value: _source || undefined
    },
    positions: {
      value: _positions || undefined
    },
    originalError: {
      value: originalError
    }
  });
  if (originalError && originalError.stack) {
    Object.defineProperty(this, 'stack', {
      value: originalError.stack,
      writable: true,
      configurable: true
    });
  } else if (Error.captureStackTrace) {
    Error.captureStackTrace(this, GraphQLError);
  } else {
    Object.defineProperty(this, 'stack', {
      value: Error().stack,
      writable: true,
      configurable: true
    });
  }
} 
function GraphQLError ( message , nodes , source , positions , path , originalError ) { var _source = source ; if ( ! _source && nodes && nodes . length > 0 ) { var node = nodes [ 0 ] ; _source = node && node . loc && node . loc . source ; } var _positions = positions ; if ( ! _positions && nodes ) { _positions = nodes . filter ( function ( node ) { return Boolean ( node . loc ) ; } ) . map ( function ( node ) { return node . loc . start ; } ) ; } if ( _positions && _positions . length === 0 ) { _positions = undefined ; } var _locations = void 0 ; var _source2 = _source ; if ( _source2 && _positions ) { _locations = _positions . map ( function ( pos ) { return ( 0 , _location . getLocation ) ( _source2 , pos ) ; } ) ; } Object . defineProperties ( this , { message : { value : message , enumerable : true , writable : true } , locations : { value : _locations || undefined , enumerable : true } , path : { value : path || undefined , enumerable : true } , nodes : { value : nodes || undefined } , source : { value : _source || undefined } , positions : { value : _positions || undefined } , originalError : { value : originalError } } ) ; if ( originalError && originalError . stack ) { Object . defineProperty ( this , 'stack' , { value : originalError . stack , writable : true , configurable : true } ) ; } else if ( Error . captureStackTrace ) { Error . captureStackTrace ( this , GraphQLError ) ; } else { Object . defineProperty ( this , 'stack' , { value : Error ( ) . stack , writable : true , configurable : true } ) ; } }
A GraphQLError describes an Error found during the parse, validate, or
 execute phases of performing a GraphQL operation.
A GraphQLError describes an Error found during the parse validate or execute phases of performing a GraphQL operation .
// eslint-disable-line no-redeclare // Compute locations in the source for the given nodes/positions. // seems here Flow need a const to resolve type. // By being enumerable, JSON.stringify will include `message` in the // resulting output. This ensures that the simplest possible GraphQL // service adheres to the spec. // Coercing falsey values to undefined ensures they will not be included // in JSON.stringify() when not provided. // By being enumerable, JSON.stringify will include `locations` in the // resulting output. This ensures that the simplest possible GraphQL // service adheres to the spec. // Coercing falsey values to undefined ensures they will not be included // in JSON.stringify() when not provided. // By being enumerable, JSON.stringify will include `path` in the // resulting output. This ensures that the simplest possible GraphQL // service adheres to the spec. // Include (non-enumerable) stack trace. /**
   * Copyright (c) 2015-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *
   * 
   */