1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var transform_fragment_document_1 = require("./transform-fragment-document");
|
4 | var kinds_1 = require("graphql/language/kinds");
|
5 | var transform_operation_1 = require("./transform-operation");
|
6 | var debugging_1 = require("../debugging");
|
7 | function transformDocument(schema, documentNode) {
|
8 | var result = {
|
9 | fragments: [],
|
10 | operations: [],
|
11 | hasFragments: false,
|
12 | hasOperations: false,
|
13 | };
|
14 | var definitions = (documentNode.definitions || []);
|
15 | debugging_1.debugLog("[transformDocument] transforming total of " + definitions.length + " definitions...");
|
16 | definitions.forEach(function (definitionNode) {
|
17 | if (definitionNode.kind === kinds_1.OPERATION_DEFINITION) {
|
18 | result.operations.push(transform_operation_1.transformOperation(schema, definitionNode));
|
19 | }
|
20 | else if (definitionNode.kind === kinds_1.FRAGMENT_DEFINITION) {
|
21 | result.fragments.push(transform_fragment_document_1.transformFragment(schema, definitionNode));
|
22 | }
|
23 | else {
|
24 | throw new Error("Unexpected DefinitionNode sub-type: " + definitionNode.toString());
|
25 | }
|
26 | });
|
27 | result.hasFragments = result.fragments.length > 0;
|
28 | result.hasOperations = result.operations.length > 0;
|
29 | return result;
|
30 | }
|
31 | exports.transformDocument = transformDocument;
|
32 |
|
\ | No newline at end of file |