summaryrefslogtreecommitdiffstats
path: root/frontend/lib
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
committerWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
commit169b0953ad91f22bb3b2bf2d80d87ebfbe30d45d (patch)
treee66454fb1055440996ae01cb980394d84715bf59 /frontend/lib
parenta6af043686e4375d7944e91cae3d5b63c59edab0 (diff)
yay
Diffstat (limited to 'frontend/lib')
-rw-r--r--frontend/lib/catchError.js8
-rw-r--r--frontend/lib/initApollo-OLD.js92
2 files changed, 0 insertions, 100 deletions
diff --git a/frontend/lib/catchError.js b/frontend/lib/catchError.js
deleted file mode 100644
index 581d2f3..0000000
--- a/frontend/lib/catchError.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const catchError = function(fn) {
- return (...args) =>
- fn(...args).catch(error => {
- this.setState({ error });
- });
-};
-
-export default catchError;
diff --git a/frontend/lib/initApollo-OLD.js b/frontend/lib/initApollo-OLD.js
deleted file mode 100644
index e86c7e1..0000000
--- a/frontend/lib/initApollo-OLD.js
+++ /dev/null
@@ -1,92 +0,0 @@
-import { ApolloClient } from 'apollo-client';
-import { ApolloLink, from } from 'apollo-link';
-import { HttpLink } from 'apollo-link-http';
-import { InMemoryCache } from 'apollo-cache-inmemory';
-import fetch from 'isomorphic-fetch';
-import { withClientState } from 'apollo-link-state';
-import { endpoint } from '../config';
-
-let apolloClient = null;
-
-// Polyfill fetch() on the server (used by apollo-client)
-if (!process.browser) {
- global.fetch = fetch;
-}
-
-function create(initialState) {
- // Create a new Cache
- const cache = new InMemoryCache().restore(initialState || {});
- // First we create three peices of middleware
- const stateLink = withClientState({
- cache,
- defaults: {
- uiData: {
- __typename: 'UIData',
- isConnected: true,
- isCartOpen: false,
- },
- },
- resolvers: {
- Mutation: {
- setLocalData: (_, values, { cache }) => {
- const data = {
- uiData: {
- __typename: 'UIData',
- ...values,
- },
- };
- cache.writeData({ data });
- return null;
- },
- },
- },
- });
-
- // 1. Create a link for local state to be managed in Apollo
-
- // 2. connect to our GraphQL API
- const httpLink = new HttpLink({
- uri: endpoint, // Server URL (must be absolute)
- opts: {
- credentials: 'same-origin',
- },
- });
-
- // 3. One to tack on our auth token on each request
- const authMiddleware = new ApolloLink((operation, forward) => {
- const headers = {};
-
- if (typeof localStorage !== 'undefined' && localStorage.getItem('token')) {
- headers.authorization = `Bearer ${localStorage.getItem('token')}`;
- }
-
- operation.setContext({ headers });
- return forward(operation);
- });
-
- return new ApolloClient({
- connectToDevTools: process.browser,
- ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
- link: from([stateLink, authMiddleware, httpLink]),
- cache,
- defaultOptions: {
- query: { errorPolicy: 'all' },
- mutate: { errorPolicy: 'all' },
- },
- });
-}
-
-export default function initApollo(initialState) {
- // Make sure to create a new client for every server-side request so that data
- // isn't shared between connections (which would be bad)
- if (!process.browser) {
- return create(initialState);
- }
-
- // Reuse client on the client-side
- if (!apolloClient) {
- apolloClient = create(initialState);
- }
-
- return apolloClient;
-}