UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

45 lines (34 loc) 1.46 kB
/* @flow */ /** * Copyright (c) 2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ 'use strict'; var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; _Object$defineProperty(exports, '__esModule', { value: true }); exports['default'] = typeFromAST; var _invariant = require('./invariant'); var _invariant2 = _interopRequireDefault(_invariant); var _languageKinds = require('../language/kinds'); var _typeDefinition = require('../type/definition'); function typeFromAST(schema, inputTypeAST) { var innerType; if (inputTypeAST.kind === _languageKinds.LIST_TYPE) { innerType = typeFromAST(schema, inputTypeAST.type); return innerType && new _typeDefinition.GraphQLList(innerType); } if (inputTypeAST.kind === _languageKinds.NON_NULL_TYPE) { innerType = typeFromAST(schema, inputTypeAST.type); return innerType && new _typeDefinition.GraphQLNonNull(innerType); } (0, _invariant2['default'])(inputTypeAST.kind === _languageKinds.NAME, 'Must be a type name.'); return schema.getType(inputTypeAST.value); } module.exports = exports['default'];