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.
64 lines
2.2 KiB
64 lines
2.2 KiB
'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
|
|
|