UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

27 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertName = assertName; exports.assertEnumValueName = assertEnumValueName; const GraphQLError_ts_1 = require("../error/GraphQLError.js"); const characterClasses_ts_1 = require("../language/characterClasses.js"); function assertName(name) { if (name.length === 0) { throw new GraphQLError_ts_1.GraphQLError('Expected name to be a non-empty string.'); } for (let i = 1; i < name.length; ++i) { if (!(0, characterClasses_ts_1.isNameContinue)(name.charCodeAt(i))) { throw new GraphQLError_ts_1.GraphQLError(`Names must only contain [_a-zA-Z0-9] but "${name}" does not.`); } } if (!(0, characterClasses_ts_1.isNameStart)(name.charCodeAt(0))) { throw new GraphQLError_ts_1.GraphQLError(`Names must start with [_a-zA-Z] but "${name}" does not.`); } return name; } function assertEnumValueName(name) { if (name === 'true' || name === 'false' || name === 'null') { throw new GraphQLError_ts_1.GraphQLError(`Enum values cannot be named: ${name}`); } return assertName(name); } //# sourceMappingURL=assertName.js.map