@shopify/react-network
Version:
A collection of components that allow you to set common HTTP headers from within your React application
29 lines (26 loc) • 773 B
JavaScript
import React from 'react';
import { useLazyRef } from '@shopify/react-hooks';
import { useNetworkManager } from './hooks.mjs';
import { NetworkUniversalProvider as NetworkUniversalProvider$1 } from './context.mjs';
function NetworkUniversalProvider({
children,
headers: headerNames
}) {
const network = useNetworkManager();
const universalDetails = useLazyRef(() => {
if (!network) {
return null;
}
const result = {
headers: {}
};
headerNames.forEach(header => {
result.headers[header.toLowerCase()] = network.getHeader(header);
});
return result;
}).current;
return /*#__PURE__*/React.createElement(NetworkUniversalProvider$1, {
value: universalDetails
}, children);
}
export { NetworkUniversalProvider };