Sha256: d12242b3147e6e52a0710a6f7ba76009feba9628ece756b50c9c2d7d1322bc28
Contents?: true
Size: 1.08 KB
Versions: 26
Compression:
Stored size: 1.08 KB
Contents
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); exports.LoneAnonymousOperationRule = LoneAnonymousOperationRule; var _GraphQLError = require('../../error/GraphQLError.js'); var _kinds = require('../../language/kinds.js'); /** * Lone anonymous operation * * A GraphQL document is only valid if when it contains an anonymous operation * (the query short-hand) that it contains only that one operation definition. * * See https://spec.graphql.org/draft/#sec-Lone-Anonymous-Operation */ function LoneAnonymousOperationRule(context) { let operationCount = 0; return { Document(node) { operationCount = node.definitions.filter( (definition) => definition.kind === _kinds.Kind.OPERATION_DEFINITION, ).length; }, OperationDefinition(node) { if (!node.name && operationCount > 1) { context.reportError( new _GraphQLError.GraphQLError( 'This anonymous operation must be the only defined operation.', { nodes: node, }, ), ); } }, }; }
Version data entries
26 entries across 26 versions & 1 rubygems