How to use the getNamedType function from graphql

Find comprehensive JavaScript graphql.getNamedType code examples handpicked from public code repositorys.

graphql.getNamedType is a function that returns the named type of a GraphQL type, which can be useful for working with GraphQL schemas and types.

48
49
50
51
52
53
54
55
56
57
}

function getTypeInfo (graphQLType) {
  const isNonNull = isNonNullType(graphQLType.type)
  const type = isNonNull ? graphQLType.type.ofType : graphQLType.type
  return [type, getNamedType(type), isNonNull]
}

module.exports = {
  validateOpts,
fork icon5
star icon27
watch icon2

47
48
49
50
51
52
53
54
55
56
  return {}
}

function getTypeInfo (graphQLType) {
  const type = isNonNullType(graphQLType.type) ? graphQLType.type.ofType : graphQLType.type
  return [type, getNamedType(type)]
}

module.exports = {
  validateOpts,
fork icon5
star icon1
watch icon0

+ 3 other calls in file

How does graphql.getNamedType work?

graphql.getNamedType works by taking a single input, which is a GraphQL type.

The function returns the named type of the input type, which may be different than the input type if the input type is a list or non-null type.

For example, if the input type is a GraphQLNonNull wrapping a GraphQLString, getNamedType would return GraphQLString.

If the input type is a GraphQLList wrapping a GraphQLNonNull wrapping a GraphQLString, getNamedType would return GraphQLString.

By using graphql.getNamedType, you can access the underlying named type of a GraphQL type, which can be useful for working with GraphQL schemas and types.

129
130
131
132
133
134
135
136
137
138
for (const type of Object.values(types)) {
  if (isObjectType(type) && !isDefaultType(type.name)) {
    const serviceForType = typeToServiceMap[type.name]

    for (const field of Object.values(type.getFields())) {
      const fieldType = getNamedType(field.type)
      if (
        fieldType.astNode &&
        fieldType.astNode.kind === Kind.ENUM_TYPE_DEFINITION
      ) {
fork icon4
star icon14
watch icon1

3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
  } = _ref,
  config = _objectWithoutProperties(_ref, _excluded$2);
return meta => {
  var _config$ui, _config$ui2, _config$ui2$itemView, _config$ui3, _config$ui3$listView;
  const usableField = typeof field === 'function' ? field(meta.lists) : field;
  const namedType = graphql.getNamedType(usableField.type.graphQLType);
  const hasRequiredArgs = usableField.args && Object.values(usableField.args).some(x => x.type.kind === 'non-null' && x.defaultValue === undefined);
  if ((!graphql.isLeafType(namedType) || hasRequiredArgs) && !((_config$ui = config.ui) !== null && _config$ui !== void 0 && _config$ui.query) && (((_config$ui2 = config.ui) === null || _config$ui2 === void 0 ? void 0 : (_config$ui2$itemView = _config$ui2.itemView) === null || _config$ui2$itemView === void 0 ? void 0 : _config$ui2$itemView.fieldMode) !== 'hidden' || ((_config$ui3 = config.ui) === null || _config$ui3 === void 0 ? void 0 : (_config$ui3$listView = _config$ui3.listView) === null || _config$ui3$listView === void 0 ? void 0 : _config$ui3$listView.fieldMode) !== 'hidden')) {
    throw new Error(`The virtual field at ${meta.listKey}.${meta.fieldKey} requires a selection for the Admin UI but ui.query is unspecified and ui.listView.fieldMode and ui.itemView.fieldMode are not both set to 'hidden'.\n` + `Either set ui.query with what the Admin UI should fetch or hide the field from the Admin UI by setting ui.listView.fieldMode and ui.itemView.fieldMode to 'hidden'.\n` + `When setting ui.query, it is interpolated into a GraphQL query like this:\n` + `query {\n` + `  ${core.getGqlNames({
      listKey: meta.listKey,
fork icon0
star icon0
watch icon0

+ 2 other calls in file

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const {
  GraphQLString,
  GraphQLNonNull,
  GraphQLList,
  getNamedType,
} = require("graphql");

// Define a GraphQL type
const nonNullStringType = new GraphQLNonNull(GraphQLString);

// Log the named type of the GraphQL type
console.log(getNamedType(nonNullStringType).name); // GraphQLString

// Define another GraphQL type
const listType = new GraphQLList(new GraphQLNonNull(GraphQLString));

// Log the named type of the GraphQL type
console.log(getNamedType(listType).name); // GraphQLString

In this example, we use graphql.getNamedType to get the named type of a GraphQL type. We first define a GraphQL type nonNullStringType that is a non-null GraphQLString. We then pass nonNullStringType to getNamedType to get the named type of the GraphQL type, which is GraphQLString. We then define another GraphQL type listType that is a list of non-null GraphQLString. We again pass listType to getNamedType to get the named type of the GraphQL type, which is again GraphQLString. The resulting output demonstrates how graphql.getNamedType can be used to get the named type of a GraphQL type, which can be useful for working with GraphQL schemas and types.