apollo-link-directive
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

Apollo Directive Link

Build Status

Purpose

An Apollo Link to easily add custom directives in your GraphQL queries.

Installation

 
npm install apollo-link-directive --save
# or 
yarn add apollo-link-directive
 

Usage

Basics

This sample code shows how to use this Apollo Link to change the HttpLink uri with the "admin" directive:

 
import { from } from 'apollo-link';
import { HttpLink } from 'apollo-link-http';
import { DirectiveLink } from "apollo-link-directive";
 
const adminDirectiveLink = new DirectiveLink([
  { 
    directive: 'admin', 
    callback: (operation, _forward) => operation.setContext({ uri: '/graphql-admin' })
   },
]);
 
const httpLink = new HttpLink({
  uri: '/graphql',
});
 
// Configure the ApolloClient
const client = new ApolloClient({
  link: from([adminDirectiveLink,  httpLink]),
  cache: new InMemoryCache(),
});
 
 
 

this sample code will update all queries having admin directive with uri: /graphql-admin, for example from this query:


const query = gql`
  query luke {
    person @admin {
      name
    }
  }
`;

Options

The options you can pass to DirectiveLink are an array of directives like this:

  • directive: the name of the directive
  • callback: a callback function with args operation and forward
  • remove: an option to remove the directive from the code. Default: true

Thanks

Setting up the project has been largely inspired by the wonderful apollo-link-rest project.

Readme

Keywords

none

Package Sidebar

Install

npm i apollo-link-directive

Weekly Downloads

15

Version

0.1.0

License

MIT

Unpacked Size

17.1 kB

Total Files

11

Last publish

Collaborators

  • svengau