1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.noSubselectionAllowedMessage = noSubselectionAllowedMessage;
- exports.requiredSubselectionMessage = requiredSubselectionMessage;
- exports.ScalarLeafs = ScalarLeafs;
- var _inspect = _interopRequireDefault(require("../../jsutils/inspect"));
- var _GraphQLError = require("../../error/GraphQLError");
- var _definition = require("../../type/definition");
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function noSubselectionAllowedMessage(fieldName, type) {
- return "Field \"".concat(fieldName, "\" must not have a selection since type \"").concat(type, "\" has no subfields.");
- }
- function requiredSubselectionMessage(fieldName, type) {
- return "Field \"".concat(fieldName, "\" of type \"").concat(type, "\" must have a selection of subfields. Did you mean \"").concat(fieldName, " { ... }\"?");
- }
- /**
- * Scalar leafs
- *
- * A GraphQL document is valid only if all leaf fields (fields without
- * sub selections) are of scalar or enum types.
- */
- function ScalarLeafs(context) {
- return {
- Field: function Field(node) {
- var type = context.getType();
- var selectionSet = node.selectionSet;
- if (type) {
- if ((0, _definition.isLeafType)((0, _definition.getNamedType)(type))) {
- if (selectionSet) {
- context.reportError(new _GraphQLError.GraphQLError(noSubselectionAllowedMessage(node.name.value, (0, _inspect.default)(type)), selectionSet));
- }
- } else if (!selectionSet) {
- context.reportError(new _GraphQLError.GraphQLError(requiredSubselectionMessage(node.name.value, (0, _inspect.default)(type)), node));
- }
- }
- }
- };
- }
|