UNPKG

@shopify/react-network

Version:

A collection of components that allow you to set common HTTP headers from within your React application

37 lines (30 loc) 1.04 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var reactHooks = require('@shopify/react-hooks'); var hooks = require('./hooks.js'); var context = require('./context.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function NetworkUniversalProvider({ children, headers: headerNames }) { const network = hooks.useNetworkManager(); const universalDetails = reactHooks.useLazyRef(() => { if (!network) { return null; } const result = { headers: {} }; headerNames.forEach(header => { result.headers[header.toLowerCase()] = network.getHeader(header); }); return result; }).current; return /*#__PURE__*/React__default["default"].createElement(context.NetworkUniversalProvider, { value: universalDetails }, children); } exports.NetworkUniversalProvider = NetworkUniversalProvider;