diff options
Diffstat (limited to 'alarm/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js')
-rw-r--r-- | alarm/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/alarm/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js b/alarm/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js new file mode 100644 index 0000000..0c070a8 --- /dev/null +++ b/alarm/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js @@ -0,0 +1,35 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ExecutableDefinitionsRule = ExecutableDefinitionsRule; + +var _GraphQLError = require("../../error/GraphQLError.js"); + +var _kinds = require("../../language/kinds.js"); + +var _predicates = require("../../language/predicates.js"); + +/** + * Executable definitions + * + * A GraphQL document is only valid for execution if all definitions are either + * operation or fragment definitions. + */ +function ExecutableDefinitionsRule(context) { + return { + Document: function Document(node) { + for (var _i2 = 0, _node$definitions2 = node.definitions; _i2 < _node$definitions2.length; _i2++) { + var definition = _node$definitions2[_i2]; + + if (!(0, _predicates.isExecutableDefinitionNode)(definition)) { + var defName = definition.kind === _kinds.Kind.SCHEMA_DEFINITION || definition.kind === _kinds.Kind.SCHEMA_EXTENSION ? 'schema' : '"' + definition.name.value + '"'; + context.reportError(new _GraphQLError.GraphQLError("The ".concat(defName, " definition is not executable."), definition)); + } + } + + return false; + } + }; +} |