import { ApolloLink, from, HttpLink } from '@apollo/client/core'; type Parameters = { token: null | string | undefined; uri: string }; export function createLink({ token, uri }: Parameters) { const cacheLink = new ApolloLink((operation, forward) => { return forward(operation); }); const httpLink = new HttpLink({ headers: token ? { Authorization: `Bearer ${token}` } : undefined, uri, }); return from([cacheLink, httpLink]); }