Grabbed dndbeyond's source code
``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
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));
|
||||
};
|
||||
Reference in New Issue
Block a user