UNPKG

@atlas-kitchen/adyen-web

Version:
3 lines (2 loc) 2.61 kB
import{createElement as e}from"../../external/preact/dist/preact.js";import t from"../../components/internal/BaseElement/BaseElement.js";import r from"./components/DeviceFingerprint/DeviceFingerprint.js";import n from"../../utils/base64.js";import{DEVICE_FINGERPRINT as o,RISK_DATA_VERSION as s}from"./constants.js";function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){i(e,t,r[t])}))}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class c extends t{formatProps(e){return p(a({},e),{risk:a({},c.defaultProps.risk,e.risk)})}get isValid(){return this.state.isValid}get data(){if(this.isValid){const e=a({version:s},this.state.data);return n.encode(JSON.stringify(e))}return!1}get enabled(){return this.props.risk.enabled}componentWillUnmount(){this.cleanUp()}render(){return e(r,p(a({},this.props),{loadingContext:this.props.loadingContext,onComplete:this.onComplete,onError:this.onError}))}constructor(e,t){super(e,t),i(this,"nodeRiskContainer",null),i(this,"onComplete",(e=>{const t=p(a({},this.state.data),{[e.type]:e.value,persistentCookie:e.persistentCookie,components:e.components});this.setState({data:t,isValid:!0}),this.props.risk.onComplete(this.data),this.cleanUp()})),i(this,"onError",(e=>{this.props.risk.onError(e),this.cleanUp()})),i(this,"cleanUp",(()=>{this.nodeRiskContainer&&this.nodeRiskContainer.parentNode&&this.nodeRiskContainer.parentNode.removeChild(this.nodeRiskContainer)}));const r={[o]:null};this.setState({data:r}),!0===this.props.risk.enabled&&(document.querySelector(this.props.risk.node)?(this.nodeRiskContainer=document.createElement("div"),document.querySelector(this.props.risk.node).appendChild(this.nodeRiskContainer),this.mount(this.nodeRiskContainer)):this.onError({message:"RiskModule node was not found"}))}}i(c,"type","risk"),i(c,"defaultProps",{risk:{enabled:!0,onComplete:()=>{},onError:()=>{},node:"body"}});export{c as default}; //# sourceMappingURL=RiskModule.js.map