assertValidName.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', {
  3. value: true,
  4. });
  5. exports.assertValidName = assertValidName;
  6. exports.isValidNameError = isValidNameError;
  7. var _devAssert = require('../jsutils/devAssert.js');
  8. var _GraphQLError = require('../error/GraphQLError.js');
  9. var _assertName = require('../type/assertName.js');
  10. /* c8 ignore start */
  11. /**
  12. * Upholds the spec rules about naming.
  13. * @deprecated Please use `assertName` instead. Will be removed in v17
  14. */
  15. function assertValidName(name) {
  16. const error = isValidNameError(name);
  17. if (error) {
  18. throw error;
  19. }
  20. return name;
  21. }
  22. /**
  23. * Returns an Error if a name is invalid.
  24. * @deprecated Please use `assertName` instead. Will be removed in v17
  25. */
  26. function isValidNameError(name) {
  27. typeof name === 'string' ||
  28. (0, _devAssert.devAssert)(false, 'Expected name to be a string.');
  29. if (name.startsWith('__')) {
  30. return new _GraphQLError.GraphQLError(
  31. `Name "${name}" must not begin with "__", which is reserved by GraphQL introspection.`,
  32. );
  33. }
  34. try {
  35. (0, _assertName.assertName)(name);
  36. } catch (error) {
  37. return error;
  38. }
  39. }
  40. /* c8 ignore stop */