UNPKG

omnipay-savings-sdk

Version:

Omnipay Savings SDK

28 lines (27 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useSDKConfig = exports.SDKConfigProvider = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const services_1 = require("../services"); const SDKConfigContext = (0, react_1.createContext)(null); const SDKConfigProvider = ({ config, children, }) => { (0, react_1.useEffect)(() => { // Set the global token expiry handler when the provider mounts (0, services_1.setTokenExpiryHandler)(config.onTokenExpired || null); // Cleanup when the provider unmounts return () => { (0, services_1.setTokenExpiryHandler)(null); }; }, [config.onTokenExpired]); return ((0, jsx_runtime_1.jsx)(SDKConfigContext.Provider, Object.assign({ value: config }, { children: children }))); }; exports.SDKConfigProvider = SDKConfigProvider; const useSDKConfig = () => { const context = (0, react_1.useContext)(SDKConfigContext); if (!context) { throw new Error('useSDKConfig must be used within an SDKConfigProvider'); } return context; }; exports.useSDKConfig = useSDKConfig;