1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.assertValidName = assertValidName;
|
7 | exports.isValidNameError = isValidNameError;
|
8 |
|
9 | var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
|
10 |
|
11 | var _GraphQLError = require("../error/GraphQLError.js");
|
12 |
|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14 |
|
15 | var NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/;
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | function assertValidName(name) {
|
21 | var error = isValidNameError(name);
|
22 |
|
23 | if (error) {
|
24 | throw error;
|
25 | }
|
26 |
|
27 | return name;
|
28 | }
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | function isValidNameError(name) {
|
35 | typeof name === 'string' || (0, _devAssert.default)(0, 'Expected name to be a string.');
|
36 |
|
37 | if (name.length > 1 && name[0] === '_' && name[1] === '_') {
|
38 | return new _GraphQLError.GraphQLError("Name \"".concat(name, "\" must not begin with \"__\", which is reserved by GraphQL introspection."));
|
39 | }
|
40 |
|
41 | if (!NAME_RX.test(name)) {
|
42 | return new _GraphQLError.GraphQLError("Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"".concat(name, "\" does not."));
|
43 | }
|
44 | }
|