UNPKG

graphql-mocks

Version:

Tools for setting up graphql test resolvers

27 lines (26 loc) 1.31 kB
import { isTypeReference } from './is-type-reference.mjs'; import { isFieldReference } from './is-field-reference.mjs'; import { getTypeForReference } from './get-type-for-reference.mjs'; import { getFieldForReference } from './get-field-for-reference.mjs'; function validate(schema, reference) { var referenceAsJSON = JSON.stringify(reference); if (!isTypeReference(reference) && !isFieldReference(reference)) { return new Error("Reference ".concat(referenceAsJSON, " is not a valid type reference `\"TypeName\"` or valid field reference `[\"TypeName\", \"fieldName\"]`")); } if (isTypeReference(reference) && !getTypeForReference(schema, reference)) { return new Error("Type Reference ".concat(referenceAsJSON, " could not be found in the GraphQLSchema")); } if (isFieldReference(reference) && !getFieldForReference(schema, reference)) { return new Error("Field Reference ".concat(referenceAsJSON, " could not be found in the GraphQLSchema")); } return null; } class ValidationError extends Error { constructor(errors) { var mapped = errors.map(error => " * ".concat(error.message)).join('\n'); var message = "References failed validation with errors:\n".concat(mapped); super(message); } } export { ValidationError, validate }; //# sourceMappingURL=validate.mjs.map