UNPKG

1.62 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.ApolloProvider = ApolloProvider;
5exports.useApolloClient = useApolloClient;
6
7var _react = _interopRequireWildcard(require("react"));
8
9function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
10
11var ApolloContext = _react["default"].createContext(null);
12
13function ApolloProvider(_ref) {
14 var client = _ref.client,
15 children = _ref.children;
16 return _react["default"].createElement(ApolloContext.Provider, {
17 value: client
18 }, children);
19}
20
21function useApolloClient(overrideClient) {
22 var client = (0, _react.useContext)(ApolloContext); // Ensures that the number of hooks called from one render to another remains
23 // constant, despite the Apollo client read from context being swapped for
24 // one passed directly as prop.
25
26 if (overrideClient) {
27 return overrideClient;
28 }
29
30 if (!client) {
31 // https://github.com/apollographql/react-apollo/blob/5cb63b3625ce5e4a3d3e4ba132eaec2a38ef5d90/src/component-utils.tsx#L19-L22
32 throw new Error('Could not find "client" in the context or passed in as a prop. ' + 'Wrap the root component in an <ApolloProvider>, or pass an ' + 'ApolloClient instance in via props.');
33 }
34
35 return client;
36}
\No newline at end of file