1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | var globals = require('../../utilities/globals');
|
6 | var React = require('react');
|
7 | var utilities = require('../../utilities');
|
8 |
|
9 | function _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 |
|
21 | var React__namespace = _interopNamespace(React);
|
22 |
|
23 | var contextKey = utilities.canUseSymbol
|
24 | ? Symbol.for('__APOLLO_CONTEXT__')
|
25 | : '__APOLLO_CONTEXT__';
|
26 | function 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 |
|
40 | var 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 |
|
49 | var 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 |
|
63 | exports.ApolloConsumer = ApolloConsumer;
|
64 | exports.ApolloProvider = ApolloProvider;
|
65 | exports.getApolloContext = getApolloContext;
|
66 | exports.resetApolloContext = getApolloContext;
|
67 |
|