``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
import React from 'react';
|
|
var defaultContext = /*#__PURE__*/React.createContext(undefined);
|
|
var QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one
|
|
// instance of the context across the window
|
|
// to ensure that if React Query is used across
|
|
// different bundles or microfrontends they will
|
|
// all use the same **instance** of context, regardless
|
|
// of module scoping.
|
|
|
|
function getQueryClientContext(contextSharing) {
|
|
if (contextSharing && typeof window !== 'undefined') {
|
|
if (!window.ReactQueryClientContext) {
|
|
window.ReactQueryClientContext = defaultContext;
|
|
}
|
|
|
|
return window.ReactQueryClientContext;
|
|
}
|
|
|
|
return defaultContext;
|
|
}
|
|
|
|
export var useQueryClient = function useQueryClient() {
|
|
var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));
|
|
|
|
if (!queryClient) {
|
|
throw new Error('No QueryClient set, use QueryClientProvider to set one');
|
|
}
|
|
|
|
return queryClient;
|
|
};
|
|
export var QueryClientProvider = function QueryClientProvider(_ref) {
|
|
var client = _ref.client,
|
|
_ref$contextSharing = _ref.contextSharing,
|
|
contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,
|
|
children = _ref.children;
|
|
React.useEffect(function () {
|
|
client.mount();
|
|
return function () {
|
|
client.unmount();
|
|
};
|
|
}, [client]);
|
|
var Context = getQueryClientContext(contextSharing);
|
|
return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {
|
|
value: contextSharing
|
|
}, /*#__PURE__*/React.createElement(Context.Provider, {
|
|
value: client
|
|
}, children));
|
|
}; |