@blueeast/bluerain-plugin-apollo
TypeScript icon, indicating that this package has built-in type declarations

0.8.5 • Public • Published

bluerain-apollo-plugin

A fully-featured, production ready caching GraphQL client for every server or UI framework. https://blueeast.gitbook.io/bluerain-plugin-apollo

🌏 Web 🖥 Electron 📱 React Native
✔️ ✔️ ✔️

Screenshots

NA

Components

This plugin registers following components in the Component registry, so they can be reused later by other apps and plugins;

  • Apollo Consumer

    https://www.apollographql.com/docs/react/api/react-apollo.html#apollo-consumer

  • GraphqlQuery

    https://www.apollographql.com/docs/react/essentials/queries.html#basic

  • GraphqlMutation

    https://www.apollographql.com/docs/react/essentials/mutations.html

  • GraphqlSubscription

    https://www.apollographql.com/docs/apollo-server/v2/features/subscriptions.html

    Hooks

    This plugin provides complete flexibility to modify the apollo client. This is done by providing various filter hooks at different stages of store initialization.

    bluerain.system.app

    This hook gives the ability to modify the main System App component that gets wrapped in Redux's Provider.

    Parameters:

    Name Type Description
    SystemApp React.Component The main system app component.

    Returns:

    Name Type Description
    SystemApp React.Component The main system app component.

    Example:

    This example wraps the System App with a Apollo provider by using a replaceReduxProvider higher order component (HOC).

    import BR from '@blueeast/bluerain-os';
    import withApolloProvider from './withApolloProvider';
    
    'bluerain.system.app': App => {
    			return withApolloProvider(App, client);
    		}

    plugin.apollo.config

    This hook gives the ability to modify the plugin configurations.

    Parameters:

    Name Type Description
    config Object Plugin configurations

    Returns:

    Name Type Description
    config Object Plugin configurations

    Example:

    This example activates subscriptions in apollo client.

    import BR from '@blueeast/bluerain-os';
    
    BR.Filters.add(
        'plugin.apollo.config',
        function ActivateApolloSubscriptions(configs) {
            return Object.assign({}, configs, {
                subscriptions: true
            })
        }
    );

    plugin.apollo.links

    This hook gives the ability to provide uri for websocket server

    Parameters:

    Name Type Description
    link Array uri for websocket server

    Returns:

    Name Type Description
    link Array uri for websocket server

    Example:

    'plugin.apollo.links': (links) => {
     		return links;
     	}

    plugin.apollo.cache:

    This Hook clears cache of the of Apollo store

    plugin.system.initialized:

    This Hook Create apollo client when all plugins and apps are initialized

API

  • ApolloPluginConfigs

    This is the default configuration set that is used at boot time.

    Properties

    • httpLinkOptions HttpLinks URI link of websocket server
    • clientOptions ApolloClientOptions Apollo client params

    ApolloPlugin

    Extends Plugin

    Main Apollo Plugin class.

    Plugin Properties

    getClient

    Returns Apollo client

Readme

Keywords

none

Package Sidebar

Install

npm i @blueeast/bluerain-plugin-apollo

Weekly Downloads

3

Version

0.8.5

License

MIT

Unpacked Size

16.5 kB

Total Files

9

Last publish

Collaborators

  • bluebase-release-bot
  • abubakarsaddique
  • artalat