New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@basis-theory/3ds-web

Package Overview
Dependencies
Maintainers
11
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@basis-theory/3ds-web - npm Package Compare versions

Comparing version 1.0.8 to 1.0.9

2

bundle/index.js

@@ -1,1 +0,1 @@

!function(){var e,t,r,n,o,i,a,c,s,u,l,d,f={FRAME_CONTAINER_ID:"methodFrameContainer",IFRAME_NAME:"methodIframe",FORM_NAME:"threeDSMethodForm",INPUT_NAME:"threeDSMethodData"},p={FRAME_CONTAINER_ID:"challengeFrameContainer",IFRAME_NAME:"challengeIframe",FORM_NAME:"threeDSCReqForm",INPUT_NAME:"threeDSSessionData"};function h(e,t,r,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){r(e);return}c.done?t(s):Promise.resolve(s).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){h(i,n,o,a,c,"next",e)}function c(e){h(i,n,o,a,c,"throw",e)}a(void 0)})}}function y(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function g(e,t){if(e){if("string"==typeof e)return E(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return E(e,t)}}"function"==typeof SuppressedError&&SuppressedError;var b=(e=m(function(e,t,r){var n,o=arguments;return y(this,function(i){switch(i.label){case 0:var a,c;a=function(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){v(e,t,r[t])})}return e}({application:"3ds-web",ddsource:"3ds-web",service:"3DS Web"},o.length>3&&void 0!==o[3]?o[3]:{}),c=c={level:t,message:"error"===t&&r?"".concat(e,": ").concat(r.message):e},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(c)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(c,e))}),n=a,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat("pubb96b84a13912504f4354f2d794ea4fab"),{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}})];case 2:if(!i.sent().ok)throw Error("Network response was not ok");return[3,4];case 3:return i.sent(),[3,4];case 4:return[2]}})}),t=function(t,r,n){return e.apply(this,arguments)},{log:{error:function(e,r,n){return t(e,"error",r,n)},info:function(e,r){return t(e,"info",void 0,r)},warn:function(e,r){return t(e,"warn",void 0,r)}}});(r=l||(l={})).ONE="01",r.TWO="02",r.THREE="03",r.FOUR="04",r.FIVE="05";var w=function(e){return null==e?"":JSON.stringify(e)},T=function(){var e,t=[1,4,8,15,16,24,32,48],r=window.screen.colorDepth,n=t.filter(function(e){return e<=r});return 0===n.length?t[0]:(e=Math).max.apply(e,function(e){if(Array.isArray(e))return E(e)}(n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||g(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())},A=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"05",r=(v(e={},"01",["250px","400px"]),v(e,"02",["390px","400px"]),v(e,"03",["500px","600px"]),v(e,"04",["600px","400px"]),v(e,"05",["100%","100%"]),e)[t];if(r)return r;var n=Error("Window size ".concat(t," is not supported"));throw b.log.error("Unsupported window size",n),n},O=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"0",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"0",i=arguments.length>5?arguments[5]:void 0;if(!(!e||e instanceof HTMLElement)||!t||!r){var a="Unable to create iframe. Container must be a HTML element ".concat(JSON.stringify(e)," ").concat(t," ").concat(r);throw b.log.error("Unable to create iframe",Error()),Error(a)}var c=document.createElement("iframe");return c.name=t,c.width=n,c.height=o,c.setAttribute("id",r),c.setAttribute("frameborder","0"),c.setAttribute("border","0"),i&&"function"==typeof i&&c.addEventListener("onload",i),e.appendChild(c),c},M=function(e,t,r){var n=document.createElement("form");return n.name=e,n.action=t,n.method="POST",n.target=r,n},I=function(e,t){var r=document.createElement("input");return r.name=e,r.value=t,r},S=function(e,t){var r=document.createElement(e);return r.appendChild(t),r},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=document.createElement("div");r.id=e,t&&r.setAttribute("style","display:none;"),document.body.appendChild(r)},N=function(e){return null==e?void 0:e.map(function(e){var t;return null===(t=document.getElementById(e))||void 0===t?void 0:t.remove()})},R=function(e,t){var r=function(e){return"string"==typeof e?t(e):"object"!=typeof e||null===e?e:Array.isArray(e)?e.map(r):Object.fromEntries(Object.entries(e).map(function(e){var n=function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(r=o.next()).done)&&(i.push(r.value),2!==i.length);a=!0);}catch(e){c=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw n}}return i}}(e,2)||g(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),o=n[0],i=n[1];return[t(o),"object"==typeof i||Array.isArray(i)?r(i):i]}))};return r(e)},D=function(e){return R(e,function(e){return e.replace(/_./g,function(e){return e[1].toUpperCase()})})},C=function(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},j={client:(n=m(function(e,t,r){var n;return y(this,function(a){switch(a.label){case 0:if(!o)throw Error("Missing api key");return i&&b.log.info("Using custom api base url in 3DS SDK ".concat(i)),[4,fetch("".concat(null!=i?i:"https://api.basistheory.com","/3ds").concat(t),{method:e,body:JSON.stringify(r),headers:(v(n={},"BT-API-KEY",o),v(n,"Content-Type","application/json"),n)})];case 1:return[2,a.sent()]}})}),function(e,t,r){return n.apply(this,arguments)}),init:function(e,t){o=e,i=t}};(a=d||(d={})).METHOD="method",a.CHALLENGE="challenge",a.METHOD_TIME_OUT="methodTimeout",a.START_METHOD_TIME_OUT="startMethodTimeout",a.ERROR="error";var U=function(e){return window.postMessage(e,"*")},F=function(e){return"object"==typeof e&&null!==e&&"isCompleted"in e&&"boolean"==typeof e.isCompleted&&"id"in e&&"string"==typeof e.id&&"type"in e&&Object.values(d).includes(e.type)},P=function(e){var t,r;return null===(t=(v(r={},d.CHALLENGE,p.IFRAME_NAME),v(r,d.METHOD,f.IFRAME_NAME),v(r,d.METHOD_TIME_OUT,f.IFRAME_NAME),v(r,d.ERROR,"".concat(f.IFRAME_NAME,",").concat(p.IFRAME_NAME)),v(r,d.START_METHOD_TIME_OUT,""),r)[e])||void 0===t?void 0:t.split(",")},H=function(e){var t;return new Promise(function(r,n){var o=function(i){if(F(i.data)&&(null===(c=i.data)||void 0===c?void 0:c.type)===d.START_METHOD_TIME_OUT)t=setTimeout(function(){U({id:i.data.id,type:d.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(F(i.data)&&i.data.type!==d.ERROR&&i.data.type!==d.CHALLENGE){window.removeEventListener("message",o);var a,c,s,u={id:i.data.id,cardBrand:e.cardBrand};b.log.info("".concat(i.data.type," notification received for session: ").concat(u.id)),r(u),N(P(null===(s=i.data)||void 0===s?void 0:s.type)),clearTimeout(t)}else i.isTrusted&&(n("Something happened during session creation, please try again."),N(P(null===(a=i.data)||void 0===a?void 0:a.type)),clearTimeout(t))};window.addEventListener("message",o)})},L=function(e,t,r){var n=C({threeDSServerTransID:t,threeDSMethodNotificationURL:r}),o=O(document.getElementById(f.FRAME_CONTAINER_ID),f.IFRAME_NAME,f.IFRAME_NAME,"0","0"),i=M(f.FORM_NAME,e,o.name);i.appendChild(I(f.INPUT_NAME,n)),o.appendChild(S("html",S("body",i))),i.submit()},x=(c=m(function(e){var t,r,n,o,i;return y(this,function(a){switch(a.label){case 0:return t=e.pan,r={browserColorDepth:w(T()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:window.navigator.language,browserScreenHeight:w(window.screen.height),browserScreenWidth:w(window.screen.width),browserTZ:w(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent},[4,j.client("POST","/sessions",R({pan:t,device:"browser",deviceInfo:r},function(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}))];case 1:if(!(n=a.sent()).ok)throw o="HTTP error! Status: ".concat(n.status),b.log.error(o),Error(o);return[4,n.json()];case 2:return i=D.apply(void 0,[a.sent()]),b.log.info("3DS session response received with ID ".concat(i.id)),i.methodUrl&&(U({isCompleted:!1,id:i.id,type:d.START_METHOD_TIME_OUT}),L(i.methodUrl,i.id,i.methodNotificationUrl)),[2,i]}})}),function(e){return c.apply(this,arguments)}),k=(s=m(function(e){var t;return y(this,function(r){switch(r.label){case 0:return[4,x({pan:e.pan}).catch(function(e){return Promise.reject(e.message)})];case 1:if(!(t=r.sent()).methodUrl)return[2,{id:t.id,cardBrand:t.cardBrand}];return[4,H(t)];case 2:return[2,r.sent()]}})}),function(e){return s.apply(this,arguments)}),z=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=document.getElementById(p.FRAME_CONTAINER_ID),o=A(t.challengeWindowSize),i=C(t),a=C(r),c=p.IFRAME_NAME,s=document.createElement("html"),u=document.createElement("body"),l=O(n,c,c,o[0],o[1]),d=M(p.FORM_NAME,e,l.name),f=I("creq",i),h=I(p.INPUT_NAME,a);d.appendChild(f),d.appendChild(h),u.appendChild(d),s.appendChild(u),l.appendChild(s),d.submit()},B=function(e){var t,r,n,o,i,a=e.sessionId,c=e.acsTransactionId,s=e.acsChallengeUrl,u=e.threeDSVersion,d=e.windowSize;if(!a)throw Error("Session ID is required");var f={messageType:"CReq",messageVersion:u,threeDSServerTransID:a,acsTransID:c,challengeWindowSize:null!=d?d:l.THREE};if(t=f.messageType,r=f.messageVersion,n=f.threeDSServerTransID,o=f.acsTransID,i=f.challengeWindowSize,null!==f&&"string"==typeof t&&"string"==typeof r&&"string"==typeof n&&"string"==typeof o&&Object.values(l).includes(i))z(s,f);else{var p="Invalid challenge request payload for session: ".concat(a);return b.log.error(p),Promise.reject(Error(p))}return Promise.resolve({id:a})},J=(u=m(function(e){var t,r;return y(this,function(n){switch(n.label){case 0:return t=e.sessionId,r=e.acsTransactionId,[4,B({sessionId:t,acsTransactionId:r,acsChallengeUrl:e.acsChallengeUrl,threeDSVersion:e.threeDSVersion,windowSize:e.windowSize}).catch(function(e){return Promise.reject(e.message)})];case 1:return n.sent(),[2,new Promise(function(e,t){var r=function(n){if(F(n.data)&&n.data.type===d.CHALLENGE){window.removeEventListener("message",r);var o={id:n.data.id};b.log.info("".concat(n.data.type," notification received for session: ").concat(o.id)),e(o),N([p.IFRAME_NAME])}else n.isTrusted&&(t("Something happened during a challenge, please try again."),N([p.IFRAME_NAME]))};window.addEventListener("message",r)})]}})}),function(e){return u.apply(this,arguments)});window.BasisTheory3ds=function(e,t){try{var r,n;_(f.FRAME_CONTAINER_ID,!0),_(null!==(n=null==t?void 0:null===(r=t.challengeContainerOptions)||void 0===r?void 0:r.id)&&void 0!==n?n:p.FRAME_CONTAINER_ID)}catch(e){b.log.error("Unable to create iframe container",e)}return j.init(e,null==t?void 0:t.apiBaseUrl),{createSession:k,startChallenge:J}}}();
!function(){var e,t,n,r,o,i,a,c,s,u,l,d,f={FRAME_CONTAINER_ID:"methodFrameContainer",IFRAME_NAME:"methodIframe",FORM_NAME:"threeDSMethodForm",INPUT_NAME:"threeDSMethodData"},p={FRAME_CONTAINER_ID:"challengeFrameContainer",IFRAME_NAME:"challengeIframe",FORM_NAME:"threeDSCReqForm",INPUT_NAME:"threeDSSessionData"};function h(e,t,n,r,o,i,a){try{var c=e[i](a),s=c.value}catch(e){n(e);return}c.done?t(s):Promise.resolve(s).then(r,o)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){h(i,r,o,a,c,"next",e)}function c(e){h(i,r,o,a,c,"throw",e)}a(void 0)})}}function y(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}}"function"==typeof SuppressedError&&SuppressedError;var b=(e=m(function(e,t,n){var r,o=arguments;return y(this,function(i){switch(i.label){case 0:var a,c;a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){v(e,t,n[t])})}return e}({application:"3ds-web",ddsource:"3ds-web",service:"3DS Web"},o.length>3&&void 0!==o[3]?o[3]:{}),c=c={level:t,message:"error"===t&&n?"".concat(e,": ").concat(n.message):e},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(c)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(c,e))}),r=a,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat("pubb96b84a13912504f4354f2d794ea4fab"),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}})];case 2:if(!i.sent().ok)throw Error("Network response was not ok");return[3,4];case 3:return i.sent(),[3,4];case 4:return[2]}})}),t=function(t,n,r){return e.apply(this,arguments)},{log:{error:function(e,n,r){return t(e,"error",n,r)},info:function(e,n){return t(e,"info",void 0,n)},warn:function(e,n){return t(e,"warn",void 0,n)}}});(n=l||(l={})).ONE="01",n.TWO="02",n.THREE="03",n.FOUR="04",n.FIVE="05";var w=function(e){return null==e?"":JSON.stringify(e)},T=function(){var e,t=[1,4,8,15,16,24,32,48],n=window.screen.colorDepth,r=t.filter(function(e){return e<=n});return 0===r.length?t[0]:(e=Math).max.apply(e,function(e){if(Array.isArray(e))return E(e)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||g(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())},A=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"05",n=(v(e={},"01",["250px","400px"]),v(e,"02",["390px","400px"]),v(e,"03",["500px","600px"]),v(e,"04",["600px","400px"]),v(e,"05",["100%","100%"]),e)[t];if(n)return n;var r=Error("Window size ".concat(t," is not supported"));throw b.log.error("Unsupported window size",r),r},O=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"0",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"0",i=arguments.length>5?arguments[5]:void 0;if(!(!e||e instanceof HTMLElement)||!t||!n){var a="Unable to create iframe. Container must be a HTML element ".concat(JSON.stringify(e)," ").concat(t," ").concat(n);throw b.log.error("Unable to create iframe",Error()),Error(a)}var c=document.createElement("iframe");return c.name=t,c.width=r,c.height=o,c.setAttribute("id",n),c.setAttribute("frameborder","0"),c.setAttribute("border","0"),i&&"function"==typeof i&&c.addEventListener("onload",i),e.appendChild(c),c},M=function(e,t,n){var r=document.createElement("form");return r.name=e,r.action=t,r.method="POST",r.target=n,r},I=function(e,t){var n=document.createElement("input");return n.name=e,n.value=t,n},S=function(e,t){var n=document.createElement(e);return n.appendChild(t),n},_=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t=document.getElementById(e)){t.innerHTML="",n&&t.setAttribute("style","display:none;");return}(t=document.createElement("div")).id=e,n&&t.setAttribute("style","display:none;"),document.body.appendChild(t)},N=function(e){return null==e?void 0:e.map(function(e){var t;return null===(t=document.getElementById(e))||void 0===t?void 0:t.remove()})},R=function(e,t){var n=function(e){return"string"==typeof e?t(e):"object"!=typeof e||null===e?e:Array.isArray(e)?e.map(n):Object.fromEntries(Object.entries(e).map(function(e){var r=function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),2!==i.length);a=!0);}catch(e){c=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw r}}return i}}(e,2)||g(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),o=r[0],i=r[1];return[t(o),"object"==typeof i||Array.isArray(i)?n(i):i]}))};return n(e)},D=function(e){return R(e,function(e){return e.replace(/_./g,function(e){return e[1].toUpperCase()})})},C=function(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},j={client:(r=m(function(e,t,n){var r;return y(this,function(a){switch(a.label){case 0:if(!o)throw Error("Missing api key");return i&&b.log.info("Using custom api base url in 3DS SDK ".concat(i)),[4,fetch("".concat(null!=i?i:"https://api.basistheory.com","/3ds").concat(t),{method:e,body:JSON.stringify(n),headers:(v(r={},"BT-API-KEY",o),v(r,"Content-Type","application/json"),r)})];case 1:return[2,a.sent()]}})}),function(e,t,n){return r.apply(this,arguments)}),init:function(e,t){o=e,i=t}};(a=d||(d={})).METHOD="method",a.CHALLENGE="challenge",a.METHOD_TIME_OUT="methodTimeout",a.START_METHOD_TIME_OUT="startMethodTimeout",a.ERROR="error";var U=function(e){return window.postMessage(e,"*")},F=function(e){return"object"==typeof e&&null!==e&&"isCompleted"in e&&"boolean"==typeof e.isCompleted&&"id"in e&&"string"==typeof e.id&&"type"in e&&Object.values(d).includes(e.type)},P=function(e){var t,n;return null===(t=(v(n={},d.CHALLENGE,p.IFRAME_NAME),v(n,d.METHOD,f.IFRAME_NAME),v(n,d.METHOD_TIME_OUT,f.IFRAME_NAME),v(n,d.ERROR,"".concat(f.IFRAME_NAME,",").concat(p.IFRAME_NAME)),v(n,d.START_METHOD_TIME_OUT,""),n)[e])||void 0===t?void 0:t.split(",")},H=function(e){var t;return new Promise(function(n,r){var o=function(i){if(F(i.data)&&(null===(c=i.data)||void 0===c?void 0:c.type)===d.START_METHOD_TIME_OUT)t=setTimeout(function(){U({id:i.data.id,type:d.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(F(i.data)&&i.data.type!==d.ERROR&&i.data.type!==d.CHALLENGE){window.removeEventListener("message",o);var a,c,s,u={id:i.data.id,cardBrand:e.cardBrand};b.log.info("".concat(i.data.type," notification received for session: ").concat(u.id)),n(u),N(P(null===(s=i.data)||void 0===s?void 0:s.type)),clearTimeout(t)}else i.isTrusted&&(r("Something happened during session creation, please try again."),N(P(null===(a=i.data)||void 0===a?void 0:a.type)),clearTimeout(t))};window.addEventListener("message",o)})},L=function(e,t,n){var r=C({threeDSServerTransID:t,threeDSMethodNotificationURL:n}),o=O(document.getElementById(f.FRAME_CONTAINER_ID),f.IFRAME_NAME,f.IFRAME_NAME,"0","0"),i=M(f.FORM_NAME,e,o.name);i.appendChild(I(f.INPUT_NAME,r)),o.appendChild(S("html",S("body",i))),i.submit()},x=(c=m(function(e){var t,n,r,o,i;return y(this,function(a){switch(a.label){case 0:return t=e.pan,n={browserColorDepth:w(T()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:window.navigator.language,browserScreenHeight:w(window.screen.height),browserScreenWidth:w(window.screen.width),browserTZ:w(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent},[4,j.client("POST","/sessions",R({pan:t,device:"browser",deviceInfo:n},function(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}))];case 1:if(!(r=a.sent()).ok)throw o="HTTP error! Status: ".concat(r.status),b.log.error(o),Error(o);return[4,r.json()];case 2:return i=D.apply(void 0,[a.sent()]),b.log.info("3DS session response received with ID ".concat(i.id)),i.methodUrl&&(U({isCompleted:!1,id:i.id,type:d.START_METHOD_TIME_OUT}),L(i.methodUrl,i.id,i.methodNotificationUrl)),[2,i]}})}),function(e){return c.apply(this,arguments)}),k=(s=m(function(e){var t;return y(this,function(n){switch(n.label){case 0:return[4,x({pan:e.pan}).catch(function(e){return Promise.reject(e.message)})];case 1:if(!(t=n.sent()).methodUrl)return[2,{id:t.id,cardBrand:t.cardBrand}];return[4,H(t)];case 2:return[2,n.sent()]}})}),function(e){return s.apply(this,arguments)}),B=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=document.getElementById(p.FRAME_CONTAINER_ID),o=A(t.challengeWindowSize),i=C(t),a=C(n),c=p.IFRAME_NAME,s=document.createElement("html"),u=document.createElement("body"),l=O(r,c,c,o[0],o[1]),d=M(p.FORM_NAME,e,l.name),f=I("creq",i),h=I(p.INPUT_NAME,a);d.appendChild(f),d.appendChild(h),u.appendChild(d),s.appendChild(u),l.appendChild(s),d.submit()},z=function(e){var t,n,r,o,i,a=e.sessionId,c=e.acsTransactionId,s=e.acsChallengeUrl,u=e.threeDSVersion,d=e.windowSize;if(!a)throw Error("Session ID is required");var f={messageType:"CReq",messageVersion:u,threeDSServerTransID:a,acsTransID:c,challengeWindowSize:null!=d?d:l.THREE};if(t=f.messageType,n=f.messageVersion,r=f.threeDSServerTransID,o=f.acsTransID,i=f.challengeWindowSize,null!==f&&"string"==typeof t&&"string"==typeof n&&"string"==typeof r&&"string"==typeof o&&Object.values(l).includes(i))B(s,f);else{var p="Invalid challenge request payload for session: ".concat(a);return b.log.error(p),Promise.reject(Error(p))}return Promise.resolve({id:a})},J=(u=m(function(e){var t,n;return y(this,function(r){switch(r.label){case 0:return t=e.sessionId,n=e.acsTransactionId,[4,z({sessionId:t,acsTransactionId:n,acsChallengeUrl:e.acsChallengeUrl,threeDSVersion:e.threeDSVersion,windowSize:e.windowSize}).catch(function(e){return Promise.reject(e.message)})];case 1:return r.sent(),[2,new Promise(function(e,t){var n=function(r){if(F(r.data)&&r.data.type===d.CHALLENGE){window.removeEventListener("message",n);var o={id:r.data.id};b.log.info("".concat(r.data.type," notification received for session: ").concat(o.id)),e(o),N([p.IFRAME_NAME])}else r.isTrusted&&(t("Something happened during a challenge, please try again."),N([p.IFRAME_NAME]))};window.addEventListener("message",n)})]}})}),function(e){return u.apply(this,arguments)});window.BasisTheory3ds=function(e,t){try{var n,r;_(f.FRAME_CONTAINER_ID,!0),_(null!==(r=null==t?void 0:null===(n=t.challengeContainerOptions)||void 0===n?void 0:n.id)&&void 0!==r?r:p.FRAME_CONTAINER_ID)}catch(e){b.log.error("Unable to create iframe container",e)}return j.init(e,null==t?void 0:t.apiBaseUrl),{createSession:k,startChallenge:J}}}();

@@ -170,3 +170,11 @@

*/ hidden = false)=>{
const container = document.createElement("div");
let container;
// check if container exists and just wipe content
container = document.getElementById(id);
if (container) {
container.innerHTML = "";
if (hidden) container.setAttribute("style", "display:none;");
return;
}
container = document.createElement("div");
container.id = id;

@@ -173,0 +181,0 @@ if (hidden) container.setAttribute("style", "display:none;");

@@ -164,3 +164,11 @@ const $ede1e6694b13a411$export$3f521420530811cf = {

*/ hidden = false)=>{
const container = document.createElement("div");
let container;
// check if container exists and just wipe content
container = document.getElementById(id);
if (container) {
container.innerHTML = "";
if (hidden) container.setAttribute("style", "display:none;");
return;
}
container = document.createElement("div");
container.id = id;

@@ -167,0 +175,0 @@ if (hidden) container.setAttribute("style", "display:none;");

{
"name": "@basis-theory/3ds-web",
"version": "1.0.8",
"version": "1.0.9",
"repository": "https://github.com/Basis-Theory/3ds-web",

@@ -5,0 +5,0 @@ "license": "Apache-2.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc