@stripe/stripe-react-native
Version:
Stripe SDK for React Native
2 lines • 3.37 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useConnectComponents=exports.loadConnectAndInitialize=exports.ConnectComponentsProvider=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _react=_interopRequireWildcard(require("react"));var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/Users/tianzhao/stripe/stripe-react-native/src/connect/ConnectComponentsProvider.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var ConnectInstance=function(){function ConnectInstance(initParams){(0,_classCallCheck2.default)(this,ConnectInstance);this.initParams=initParams;}return(0,_createClass2.default)(ConnectInstance,[{key:"update",value:function update(options){var _this$onUpdate;(_this$onUpdate=this.onUpdate)==null||_this$onUpdate.call(this,options);}}]);}();var loadConnectAndInitialize=exports.loadConnectAndInitialize=function loadConnectAndInitialize(initParams){return new ConnectInstance(initParams);};var ConnectComponentsContext=_react.default.createContext(null);ConnectComponentsContext.displayName='ConnectComponents';var ConnectComponentsProvider=exports.ConnectComponentsProvider=function ConnectComponentsProvider(_ref){var children=_ref.children,connectInstance=_ref.connectInstance;if(!(connectInstance instanceof ConnectInstance)){throw new Error('connectInstance must be an instance of ConnectInstance created via loadConnectAndInitialize');}var _useState=(0,_react.useState)(connectInstance.initParams.appearance),_useState2=(0,_slicedToArray2.default)(_useState,2),appearance=_useState2[0],setAppearance=_useState2[1];var _useState3=(0,_react.useState)(connectInstance.initParams.locale),_useState4=(0,_slicedToArray2.default)(_useState3,2),locale=_useState4[0],setLocale=_useState4[1];if(!connectInstance.onUpdate){connectInstance.onUpdate=function(options){if(options.appearance){setAppearance(options.appearance);}if(options.locale){setLocale(options.locale);}};}var value=(0,_react.useMemo)(function(){return{connectInstance:connectInstance,locale:locale,appearance:appearance};},[connectInstance,locale,appearance]);return(0,_jsxRuntime.jsx)(ConnectComponentsContext.Provider,{value:value,children:children});};var useConnectComponents=exports.useConnectComponents=function useConnectComponents(){var context=_react.default.useContext(ConnectComponentsContext);if(!context){throw new Error(`Could not find a ConnectComponentsContext; You need to wrap your components in an <ConnectComponentsProvider> provider.`);}return context;};
//# sourceMappingURL=ConnectComponentsProvider.js.map