Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
60 lines
1.5 KiB
Plaintext
60 lines
1.5 KiB
Plaintext
'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);
|
|
}
|