@decathlon/moon-graphql
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    @decathlon/moon-graphql

    The power of react-query with graphql

    @decathlon/moon is the graphql HTTP client for Moon.

    Installation

    npm install @decathlon/moon @decathlon/moon-graphql react-query graphql graphql-request --save

    Usage

    Please see the Moon doc for more details.

    import { MoonProvider, ILink } from "@decathlon/moon";
    import graphqlClientFactory from "@decathlon/moon-graphql";
    
    function successHandler(response){...};
    
    function setLanguage(config: RequestInit): RequestInit {
      return {
        ...config,
        headers: {
          ...config.headers,
          "Accept-Language": "en"
        }
      };
    }
    
    const requestInterceptors = [{ onFulfilled: setLanguage }];
    
    const responseInterceptors = [{ onFulfilled: successHandler }];
    
    
    const links: ILink<GraphqlInstance, GraphqlRequestConfig, GraphqlResponse>[] = [
      {
        id: "FOO",
        config: { baseURL: "http://foo.com" }, // RequestInit
        interceptors: { request: requestInterceptors, response: responseInterceptors }
      }
    ];
    
    const App = () => {
      return (
        <MoonProvider links={links} clientFactory={graphqlClientFactory}>
          <MyComponent />
        </MoonProvider>
      );
    };

    Once your MoonProvider is hooked up, you're ready to start requesting !

    Install

    npm i @decathlon/moon-graphql

    DownloadsWeekly Downloads

    22

    Version

    1.0.1

    License

    Apache-2.0

    Unpacked Size

    134 kB

    Total Files

    40

    Last publish

    Collaborators

    • maliss
    • hkaur
    • tomkcey
    • ossdecathlon