Initial Save
This commit is contained in:
44
node_modules/graphql/validation/rules/LoneSchemaDefinition.js
generated
vendored
Normal file
44
node_modules/graphql/validation/rules/LoneSchemaDefinition.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.schemaDefinitionNotAloneMessage = schemaDefinitionNotAloneMessage;
|
||||
exports.canNotDefineSchemaWithinExtensionMessage = canNotDefineSchemaWithinExtensionMessage;
|
||||
exports.LoneSchemaDefinition = LoneSchemaDefinition;
|
||||
|
||||
var _GraphQLError = require("../../error/GraphQLError");
|
||||
|
||||
function schemaDefinitionNotAloneMessage() {
|
||||
return 'Must provide only one schema definition.';
|
||||
}
|
||||
|
||||
function canNotDefineSchemaWithinExtensionMessage() {
|
||||
return 'Cannot define a new schema within a schema extension.';
|
||||
}
|
||||
/**
|
||||
* Lone Schema definition
|
||||
*
|
||||
* A GraphQL document is only valid if it contains only one schema definition.
|
||||
*/
|
||||
|
||||
|
||||
function LoneSchemaDefinition(context) {
|
||||
var oldSchema = context.getSchema();
|
||||
var alreadyDefined = oldSchema && (oldSchema.astNode || oldSchema.getQueryType() || oldSchema.getMutationType() || oldSchema.getSubscriptionType());
|
||||
var schemaDefinitionsCount = 0;
|
||||
return {
|
||||
SchemaDefinition: function SchemaDefinition(node) {
|
||||
if (alreadyDefined) {
|
||||
context.reportError(new _GraphQLError.GraphQLError(canNotDefineSchemaWithinExtensionMessage(), node));
|
||||
return;
|
||||
}
|
||||
|
||||
if (schemaDefinitionsCount > 0) {
|
||||
context.reportError(new _GraphQLError.GraphQLError(schemaDefinitionNotAloneMessage(), node));
|
||||
}
|
||||
|
||||
++schemaDefinitionsCount;
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user