graphql

Search for an npm package
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.assertEnumValueName = assertEnumValueName;
exports.assertName = assertName;
var _devAssert = require('../jsutils/devAssert.js');
var _GraphQLError = require('../error/GraphQLError.js');
var _characterClasses = require('../language/characterClasses.js');
/**
* Upholds the spec rules about naming.
*/
function assertName(name) {
name != null || (0, _devAssert.devAssert)(false, 'Must provide name.');
typeof name === 'string' ||
(0, _devAssert.devAssert)(false, 'Expected name to be a string.');
if (name.length === 0) {
throw new _GraphQLError.GraphQLError(
'Expected name to be a non-empty string.',
);
}
for (let i = 1; i < name.length; ++i) {
if (!(0, _characterClasses.isNameContinue)(name.charCodeAt(i))) {
throw new _GraphQLError.GraphQLError(
`Names must only contain [_a-zA-Z0-9] but "${name}" does not.`,
);
}
}
if (!(0, _characterClasses.isNameStart)(name.charCodeAt(0))) {
throw new _GraphQLError.GraphQLError(
`Names must start with [_a-zA-Z] but "${name}" does not.`,
);
}
return name;
}
/**
* Upholds the spec rules about naming enum values.
*
* @internal
*/
function assertEnumValueName(name) {
if (name === 'true' || name === 'false' || name === 'null') {
throw new _GraphQLError.GraphQLError(
`Enum values cannot be named: ${name}`,
);
}
return assertName(name);
}