UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

46 lines (37 loc) 1.21 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']; _Object$defineProperty(exports, '__esModule', { value: true }); exports['default'] = KnownTypeNames; var _error = require('../../error'); var _errors = require('../errors'); /** * Known type names * * A GraphQL document is only valid if referenced types (specifically * variable definitions and fragment conditions) are defined by the type schema. */ function KnownTypeNames(context) { return { Name: function Name(node, key) { if (key === 'type' || key === 'typeCondition') { var typeName = node.value; var type = context.getSchema().getType(typeName); if (!type) { return new _error.GraphQLError((0, _errors.unknownTypeMessage)(typeName), [node]); } } } }; } module.exports = exports['default'];