Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql-toolset / src / validateGraphQLResponse.ts
Size: Mime:
import { isNonEmptyArray } from 'exotic'
import { GraphQLResponse } from './typings'

/**
 * @description we want to validate every graphql request
 */
export const validateGraphQLResponse = <Type extends object = any>(
  response: GraphQLResponse<Type>
) => {
  if (response.error) {
    throw response.error
  } else if (isNonEmptyArray(response.errors)) {
    throw response.errors[0]
  } else if (!response.data) {
    console.error('no data')
    console.log(response)
    // throw new Error(JSON.stringify(response, undefined, 2))
  }
}