UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

60 lines (46 loc) 1.69 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'] = KnownArgumentNames; var _error = require('../../error'); var _errors = require('../errors'); var _utilsInvariant = require('../../utils/invariant'); var _utilsInvariant2 = _interopRequireDefault(_utilsInvariant); var _utilsFind = require('../../utils/find'); var _utilsFind2 = _interopRequireDefault(_utilsFind); /** * Known argument names * * A GraphQL field is only valid if all supplied arguments are defined by * that field. */ function KnownArgumentNames(context) { return { Argument: function Argument(node) { var fieldDef = context.getFieldDef(); if (fieldDef) { var argDef = (0, _utilsFind2['default'])(fieldDef.args, function (arg) { return arg.name === node.name.value; }); if (!argDef) { var parentType = context.getParentType(); (0, _utilsInvariant2['default'])(parentType); return new _error.GraphQLError((0, _errors.unknownArgMessage)(node.name.value, fieldDef.name, parentType.name), [node]); } } } }; } module.exports = exports['default'];