UNPKG

1.24 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) {
7 var rawName = fragmentNode.name.value;
8 var fragmentName = pascalCase(rawName);
9 var result = {
10 name: fragmentName,
11 rawName: rawName,
12 isQuery: false,
13 isSubscription: false,
14 isMutation: false,
15 isFragment: true,
16 innerTypes: [],
17 hasInnerTypes: false,
18 variables: [],
19 hasVariables: false,
20 document: printer_1.print(fragmentNode)
21 };
22 var appendTo = {
23 name: 'Fragment',
24 fields: [],
25 isObject: true,
26 isFragment: true,
27 fragmentsUsed: []
28 };
29 var root = typeFromAST_1.typeFromAST(schema, fragmentNode.typeCondition);
30 result.innerTypes = [appendTo].concat(inner_models_builer_1.buildInnerModelsArray(schema, root, fragmentNode.selectionSet, primitivesMap, appendTo));
31 result.hasInnerTypes = result.innerTypes.length > 0;
32 return result;
33};
34//# sourceMappingURL=fragment-handler.js.map
\No newline at end of file