UNPKG

1.4 kBJavaScriptView Raw
1"use strict";
2var pascalCase = require("pascal-case");
3var typeFromAST_1 = require("graphql/utilities/typeFromAST");
4var printer_1 = require("graphql/language/printer");
5var inner_models_builer_1 = require("./inner-models-builer");
6exports.handleFragment = function (schema, fragmentNode, primitivesMap, flattenInnerTypes) {
7 var rawName = fragmentNode.name.value;
8 var fragmentName = pascalCase(rawName);
9 var root = typeFromAST_1.typeFromAST(schema, fragmentNode.typeCondition);
10 var result = {
11 name: fragmentName,
12 rawName: rawName,
13 isQuery: false,
14 isSubscription: false,
15 isMutation: false,
16 isFragment: true,
17 innerTypes: [],
18 hasInnerTypes: false,
19 variables: [],
20 hasVariables: false,
21 document: printer_1.print(fragmentNode),
22 rootType: []
23 };
24 var appendTo = {
25 name: 'Fragment',
26 schemaTypeName: rawName,
27 fields: [],
28 isObject: true,
29 isFragment: true,
30 fragmentsUsed: [],
31 inlineFragments: []
32 };
33 result.rootType = [appendTo];
34 result.innerTypes = [appendTo].concat(inner_models_builer_1.buildInnerModelsArray(schema, root, flattenInnerTypes, fragmentNode.selectionSet, primitivesMap, appendTo));
35 result.hasInnerTypes = result.innerTypes.length > 0;
36 return result;
37};
38//# sourceMappingURL=fragment-handler.js.map
\No newline at end of file