From 99c1d9af689e5325f3cf535c4007b3aeb8325229 Mon Sep 17 00:00:00 2001
From: Minteck <contact@minteck.org>
Date: Tue, 10 Jan 2023 14:54:04 +0100
Subject: Update - This is an automated commit

---
 .../graphql/utilities/buildASTSchema.mjs           | 100 +++++++++++++++++++++
 1 file changed, 100 insertions(+)
 create mode 100644 school/node_modules/graphql/utilities/buildASTSchema.mjs

(limited to 'school/node_modules/graphql/utilities/buildASTSchema.mjs')

diff --git a/school/node_modules/graphql/utilities/buildASTSchema.mjs b/school/node_modules/graphql/utilities/buildASTSchema.mjs
new file mode 100644
index 0000000..8c4d4b1
--- /dev/null
+++ b/school/node_modules/graphql/utilities/buildASTSchema.mjs
@@ -0,0 +1,100 @@
+import devAssert from "../jsutils/devAssert.mjs";
+import { Kind } from "../language/kinds.mjs";
+import { parse } from "../language/parser.mjs";
+import { assertValidSDL } from "../validation/validate.mjs";
+import { GraphQLSchema } from "../type/schema.mjs";
+import { specifiedDirectives } from "../type/directives.mjs";
+import { extendSchemaImpl } from "./extendSchema.mjs";
+
+/**
+ * This takes the ast of a schema document produced by the parse function in
+ * src/language/parser.js.
+ *
+ * If no schema definition is provided, then it will look for types named Query
+ * and Mutation.
+ *
+ * Given that AST it constructs a GraphQLSchema. The resulting schema
+ * has no resolve methods, so execution will use default resolvers.
+ *
+ * Accepts options as a second argument:
+ *
+ *    - commentDescriptions:
+ *        Provide true to use preceding comments as the description.
+ *
+ */
+export function buildASTSchema(documentAST, options) {
+  documentAST != null && documentAST.kind === Kind.DOCUMENT || devAssert(0, 'Must provide valid Document AST.');
+
+  if ((options === null || options === void 0 ? void 0 : options.assumeValid) !== true && (options === null || options === void 0 ? void 0 : options.assumeValidSDL) !== true) {
+    assertValidSDL(documentAST);
+  }
+
+  var emptySchemaConfig = {
+    description: undefined,
+    types: [],
+    directives: [],
+    extensions: undefined,
+    extensionASTNodes: [],
+    assumeValid: false
+  };
+  var config = extendSchemaImpl(emptySchemaConfig, documentAST, options);
+
+  if (config.astNode == null) {
+    for (var _i2 = 0, _config$types2 = config.types; _i2 < _config$types2.length; _i2++) {
+      var type = _config$types2[_i2];
+
+      switch (type.name) {
+        // Note: While this could make early assertions to get the correctly
+        // typed values below, that would throw immediately while type system
+        // validation with validateSchema() will produce more actionable results.
+        case 'Query':
+          config.query = type;
+          break;
+
+        case 'Mutation':
+          config.mutation = type;
+          break;
+
+        case 'Subscription':
+          config.subscription = type;
+          break;
+      }
+    }
+  }
+
+  var directives = config.directives; // If specified directives were not explicitly declared, add them.
+
+  var _loop = function _loop(_i4) {
+    var stdDirective = specifiedDirectives[_i4];
+
+    if (directives.every(function (directive) {
+      return directive.name !== stdDirective.name;
+    })) {
+      directives.push(stdDirective);
+    }
+  };
+
+  for (var _i4 = 0; _i4 < specifiedDirectives.length; _i4++) {
+    _loop(_i4);
+  }
+
+  return new GraphQLSchema(config);
+}
+/**
+ * A helper function to build a GraphQLSchema directly from a source
+ * document.
+ */
+
+export function buildSchema(source, options) {
+  var document = parse(source, {
+    noLocation: options === null || options === void 0 ? void 0 : options.noLocation,
+    allowLegacySDLEmptyFields: options === null || options === void 0 ? void 0 : options.allowLegacySDLEmptyFields,
+    allowLegacySDLImplementsInterfaces: options === null || options === void 0 ? void 0 : options.allowLegacySDLImplementsInterfaces,
+    experimentalFragmentVariables: options === null || options === void 0 ? void 0 : options.experimentalFragmentVariables
+  });
+  return buildASTSchema(document, {
+    commentDescriptions: options === null || options === void 0 ? void 0 : options.commentDescriptions,
+    assumeValidSDL: options === null || options === void 0 ? void 0 : options.assumeValidSDL,
+    assumeValid: options === null || options === void 0 ? void 0 : options.assumeValid
+  });
+}
-- 
cgit