@jcm/nexus-plugin-relay-node-interface

Creates the Relay Node interface and add node/nodes fields to the Query type

Usage no npm install needed!

<script type="module">
  import jcmNexusPluginRelayNodeInterface from 'https://cdn.skypack.dev/@jcm/nexus-plugin-relay-node-interface';
</script>

README

@jcm/nexus-plugin-relay-node-interface

Patreon Logo
Discord Logo

This plugin adds the following to the GraphQL schema generated by nexus:

  • Node interface
  • node($id: ID!): Node field on Query
  • nodes($ids: [ID!]!): Node! field on Query

The plugin itself accepts a few configuration options:

idFetcher [required]

A function with signature (idValue, ctx, info) => Object, which should return the node for given idValue

resolveType [required]

A function with signature (object) => string | GraphQLType, which should return the GraphQL type for the given object. This is basically the resolveType of the Node interface created by the plugin.

idParser

A function with signature (id) => any. It will be called with the ID passed to the node / nodes fields, and their result will be used as the first argument passed to idFetcher above. By default this is set to fromGlobalId from graphql-relay.