UNPKG

1.28 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.typeFromAST = typeFromAST;
7
8var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
9
10var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
11
12var _kinds = require("../language/kinds.js");
13
14var _definition = require("../type/definition.js");
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18function typeFromAST(schema, typeNode) {
19 /* eslint-enable no-redeclare */
20 var innerType;
21
22 if (typeNode.kind === _kinds.Kind.LIST_TYPE) {
23 innerType = typeFromAST(schema, typeNode.type);
24 return innerType && new _definition.GraphQLList(innerType);
25 }
26
27 if (typeNode.kind === _kinds.Kind.NON_NULL_TYPE) {
28 innerType = typeFromAST(schema, typeNode.type);
29 return innerType && new _definition.GraphQLNonNull(innerType);
30 } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')
31
32
33 if (typeNode.kind === _kinds.Kind.NAMED_TYPE) {
34 return schema.getType(typeNode.name.value);
35 } // istanbul ignore next (Not reachable. All possible type nodes have been considered)
36
37
38 false || (0, _invariant.default)(0, 'Unexpected type node: ' + (0, _inspect.default)(typeNode));
39}