Sha256: 72218db8754122a99af815620b8f36d030ccf9efd60429f1f64f37e84bfe5362

Contents?: true

Size: 1.45 KB

Versions: 26

Compression:

Stored size: 1.45 KB

Contents

'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);
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/graphql/type/assertName.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/graphql/type/assertName.js