UNPKG

2.48 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5var globals = require('../../utilities/globals');
6var React = require('react');
7var utilities = require('../../utilities');
8
9function _interopNamespace(e) {
10 if (e && e.__esModule) return e;
11 var n = Object.create(null);
12 if (e) {
13 for (var k in e) {
14 n[k] = e[k];
15 }
16 }
17 n["default"] = e;
18 return Object.freeze(n);
19}
20
21var React__namespace = /*#__PURE__*/_interopNamespace(React);
22
23var contextKey = utilities.canUseSymbol
24 ? Symbol.for('__APOLLO_CONTEXT__')
25 : '__APOLLO_CONTEXT__';
26function getApolloContext() {
27 var context = React__namespace.createContext[contextKey];
28 if (!context) {
29 Object.defineProperty(React__namespace.createContext, contextKey, {
30 value: context = React__namespace.createContext({}),
31 enumerable: false,
32 writable: false,
33 configurable: true,
34 });
35 context.displayName = 'ApolloContext';
36 }
37 return context;
38}
39
40var ApolloConsumer = function (props) {
41 var ApolloContext = getApolloContext();
42 return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
43 __DEV__ ? globals.invariant(context && context.client, 'Could not find "client" in the context of ApolloConsumer. ' +
44 'Wrap the root component in an <ApolloProvider>.') : globals.invariant(context && context.client, 25);
45 return props.children(context.client);
46 }));
47};
48
49var ApolloProvider = function (_a) {
50 var client = _a.client, children = _a.children;
51 var ApolloContext = getApolloContext();
52 return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
53 if (context === void 0) { context = {}; }
54 if (client && context.client !== client) {
55 context = Object.assign({}, context, { client: client });
56 }
57 __DEV__ ? globals.invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' +
58 'sure you pass in your client via the "client" prop.') : globals.invariant(context.client, 26);
59 return (React__namespace.createElement(ApolloContext.Provider, { value: context }, children));
60 }));
61};
62
63exports.ApolloConsumer = ApolloConsumer;
64exports.ApolloProvider = ApolloProvider;
65exports.getApolloContext = getApolloContext;
66exports.resetApolloContext = getApolloContext;
67//# sourceMappingURL=context.cjs.map