You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.2 KiB
65 lines
2.2 KiB
4 months ago
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
var globals = require('../../utilities/globals');
|
||
|
var React = require('rehackt');
|
||
|
var utilities = require('../../utilities');
|
||
|
var tslib = require('tslib');
|
||
|
|
||
|
function _interopNamespace(e) {
|
||
|
if (e && e.__esModule) return e;
|
||
|
var n = Object.create(null);
|
||
|
if (e) {
|
||
|
for (var k in e) {
|
||
|
n[k] = e[k];
|
||
|
}
|
||
|
}
|
||
|
n["default"] = e;
|
||
|
return Object.freeze(n);
|
||
|
}
|
||
|
|
||
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
||
|
|
||
|
var contextKey = utilities.canUseSymbol ? Symbol.for("__APOLLO_CONTEXT__") : "__APOLLO_CONTEXT__";
|
||
|
function getApolloContext() {
|
||
|
globals.invariant("createContext" in React__namespace, 45);
|
||
|
var context = React__namespace.createContext[contextKey];
|
||
|
if (!context) {
|
||
|
Object.defineProperty(React__namespace.createContext, contextKey, {
|
||
|
value: (context = React__namespace.createContext({})),
|
||
|
enumerable: false,
|
||
|
writable: false,
|
||
|
configurable: true,
|
||
|
});
|
||
|
context.displayName = "ApolloContext";
|
||
|
}
|
||
|
return context;
|
||
|
}
|
||
|
var resetApolloContext = getApolloContext;
|
||
|
|
||
|
var ApolloConsumer = function (props) {
|
||
|
var ApolloContext = getApolloContext();
|
||
|
return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
|
||
|
globals.invariant(context && context.client, 44);
|
||
|
return props.children(context.client);
|
||
|
}));
|
||
|
};
|
||
|
|
||
|
var ApolloProvider = function (_a) {
|
||
|
var client = _a.client, children = _a.children;
|
||
|
var ApolloContext = getApolloContext();
|
||
|
var parentContext = React__namespace.useContext(ApolloContext);
|
||
|
var context = React__namespace.useMemo(function () {
|
||
|
return tslib.__assign(tslib.__assign({}, parentContext), { client: client || parentContext.client });
|
||
|
}, [parentContext, client]);
|
||
|
globals.invariant(context.client, 46);
|
||
|
return (React__namespace.createElement(ApolloContext.Provider, { value: context }, children));
|
||
|
};
|
||
|
|
||
|
exports.ApolloConsumer = ApolloConsumer;
|
||
|
exports.ApolloProvider = ApolloProvider;
|
||
|
exports.getApolloContext = getApolloContext;
|
||
|
exports.resetApolloContext = resetApolloContext;
|
||
|
//# sourceMappingURL=context.cjs.map
|