assertValidName.mjs 949 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { devAssert } from '../jsutils/devAssert.mjs';
  2. import { GraphQLError } from '../error/GraphQLError.mjs';
  3. import { assertName } from '../type/assertName.mjs';
  4. /* c8 ignore start */
  5. /**
  6. * Upholds the spec rules about naming.
  7. * @deprecated Please use `assertName` instead. Will be removed in v17
  8. */
  9. export function assertValidName(name) {
  10. const error = isValidNameError(name);
  11. if (error) {
  12. throw error;
  13. }
  14. return name;
  15. }
  16. /**
  17. * Returns an Error if a name is invalid.
  18. * @deprecated Please use `assertName` instead. Will be removed in v17
  19. */
  20. export function isValidNameError(name) {
  21. typeof name === 'string' || devAssert(false, 'Expected name to be a string.');
  22. if (name.startsWith('__')) {
  23. return new GraphQLError(
  24. `Name "${name}" must not begin with "__", which is reserved by GraphQL introspection.`,
  25. );
  26. }
  27. try {
  28. assertName(name);
  29. } catch (error) {
  30. return error;
  31. }
  32. }
  33. /* c8 ignore stop */