@shopify/react-server
Version:
Utilities for React server-side rendering.
20 lines (19 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var react_network_1 = require("@shopify/react-network");
var react_csrf_universal_provider_1 = require("@shopify/react-csrf-universal-provider");
var react_cookie_1 = require("@shopify/react-cookie");
var ConditionalProvider_1 = require("./ConditionalProvider");
function createCombinedProvider(options) {
var _a = (options || {}).csrf, csrf = _a === void 0 ? true : _a;
return function CombinedProvider(_a) {
var children = _a.children;
var csrfToken = react_network_1.useRequestHeader('x-csrf-token') || '';
return (react_1.default.createElement(react_cookie_1.CookieUniversalProvider, null,
react_1.default.createElement(ConditionalProvider_1.ConditionalProvider, { provider: react_csrf_universal_provider_1.CsrfUniversalProvider, condition: csrf, props: { value: csrfToken } }, children)));
};
}
exports.createCombinedProvider = createCombinedProvider;
exports.DefaultProvider = createCombinedProvider();