UNPKG

@shopify/react-network

Version:

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

27 lines (26 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var react_effect_1 = require("@shopify/react-effect"); var context_1 = require("./context"); function useNetworkEffect(perform) { var network = react_1.useContext(context_1.NetworkContext); react_effect_1.useServerEffect(function () { if (network != null) { return perform(network); } }, network ? network.effect : undefined); } exports.useNetworkEffect = useNetworkEffect; function useCspDirective(directive, source) { useNetworkEffect(function (network) { return network.addCspDirective(directive, source); }); } exports.useCspDirective = useCspDirective; function useStatus(code) { useNetworkEffect(function (network) { return network.addStatusCode(code); }); } exports.useStatus = useStatus; function useRedirect(url, status) { useNetworkEffect(function (network) { return network.redirectTo(url, status); }); } exports.useRedirect = useRedirect;