UNPKG

graphql-mocks

Version:
45 lines (31 loc) 1.5 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var isTypeReference = require('./is-type-reference.js'); var isFieldReference = require('./is-field-reference.js'); var getTypeForReference = require('./get-type-for-reference.js'); var getFieldForReference = require('./get-field-for-reference.js'); function validate(schema, reference) { const referenceAsJSON = JSON.stringify(reference); if (!isTypeReference.isTypeReference(reference) && !isFieldReference.isFieldReference(reference)) { return new Error(`Reference ${referenceAsJSON} is not a valid type reference \`"TypeName"\` or valid field reference \`["TypeName", "fieldName"]\``); } if (isTypeReference.isTypeReference(reference) && !getTypeForReference.getTypeForReference(schema, reference)) { return new Error(`Type Reference ${referenceAsJSON} could not be found in the GraphQLSchema`); } if (isFieldReference.isFieldReference(reference) && !getFieldForReference.getFieldForReference(schema, reference)) { return new Error(`Field Reference ${referenceAsJSON} could not be found in the GraphQLSchema`); } return null; } class ValidationError extends Error { constructor(errors) { const mapped = errors.map(error => ` * ${error.message}`).join('\n'); const message = `References failed validation with errors:\n${mapped}`; super(message); } } exports.ValidationError = ValidationError; exports.validate = validate; //# sourceMappingURL=validate.js.map