12345678910111213141516171819202122232425262728293031 |
- import devAssert from "../jsutils/devAssert.mjs";
- import { GraphQLError } from "../error/GraphQLError.mjs";
- var NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/;
- /**
- * Upholds the spec rules about naming.
- */
- export function assertValidName(name) {
- var error = isValidNameError(name);
- if (error) {
- throw error;
- }
- return name;
- }
- /**
- * Returns an Error if a name is invalid.
- */
- export function isValidNameError(name) {
- typeof name === 'string' || devAssert(0, 'Expected name to be a string.');
- if (name.length > 1 && name[0] === '_' && name[1] === '_') {
- return new GraphQLError("Name \"".concat(name, "\" must not begin with \"__\", which is reserved by GraphQL introspection."));
- }
- if (!NAME_RX.test(name)) {
- return new GraphQLError("Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"".concat(name, "\" does not."));
- }
- }
|