UNPKG

@axa-fr/react-oidc-context-fetch

Version:

Inject authentification behavior to fetch using react High Order Component

33 lines (32 loc) 1.56 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = __importDefault(require("react")); var react_oidc_core_1 = require("@axa-fr/react-oidc-core"); var react_oidc_context_1 = require("@axa-fr/react-oidc-context"); var react_oidc_fetch_core_1 = require("@axa-fr/react-oidc-fetch-core"); var withUser = function (WrappedComponent) { return function (props) { var oidcUser = react_oidc_context_1.useReactOidc().oidcUser; return react_1.default.createElement(WrappedComponent, __assign({}, props, { user: oidcUser })); }; }; var withTokenFromFetchToken = function (fetch) { return function (WrappedComponent) { return function (props) { var fetchWithToken = react_oidc_fetch_core_1.fetchToken(fetch)(props).fetch; return react_1.default.createElement(WrappedComponent, __assign({}, props, { fetch: fetchWithToken })); }; }; }; var withfetchToken = function (fetch) { return react_oidc_core_1.compose(withUser, withTokenFromFetchToken(fetch)); }; exports.default = withfetchToken;