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
0
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.6.0 to 1.6.1

2

dist/bundle/index.js

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

!function(){var e,t,r,n,o,i,a,c,s,l,u,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"},h={IFRAME:"iframe",REDIRECT:"redirect"};function m(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 v(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){m(i,n,o,a,c,"next",e)}function c(e){m(i,n,o,a,c,"throw",e)}a(void 0)})}}function y(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){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(s){return function(c){if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)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 i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}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 b(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 b(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 b(e,t)}}"function"==typeof SuppressedError&&SuppressedError;var w=(e=v(function(e,t,r){var n,o=arguments;return E(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){y(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=u||(u={})).ONE="01",r.TWO="02",r.THREE="03",r.FOUR="04",r.FIVE="05";var I=function(e){return null==e?"":JSON.stringify(e)},M=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 b(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.")}())},T=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"05",r=(y(e={},"01",["250px","400px"]),y(e,"02",["390px","400px"]),y(e,"03",["500px","600px"]),y(e,"04",["600px","400px"]),y(e,"05",["100%","100%"]),e)[t];if(r)return r;var n=Error("Window size ".concat(t," is not supported"));throw w.log.error("Unsupported window size",n),n},A=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 w.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},O=function(e,t,r){var n=document.createElement("form");return n.name=e,n.action=t,n.method="POST",n.target=r,n},S=function(e,t){var r=document.createElement("input");return r.name=e,r.value=t,r},R=function(e,t){var r=document.createElement(e);return r.appendChild(t),r},D=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t=document.getElementById(e)){t.innerHTML="",r&&t.setAttribute("style","display:none;");return}(t=document.createElement("div")).id=e,r&&t.setAttribute("style","display:none;"),document.body.appendChild(t)},_=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()})},N=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)},C=function(e){return N(e,function(e){return e.replace(/_./g,function(e){return e[1].toUpperCase()})})},j=function(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},F={client:(n=v(function(e,t,r){var n;return E(this,function(a){switch(a.label){case 0:if(!o)throw Error("Missing api key");return i&&w.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:(y(n={},"BT-API-KEY",o),y(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 k=function(e){return window.postMessage(e,"*")},U=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=(y(r={},d.CHALLENGE,p.IFRAME_NAME),y(r,d.METHOD,f.IFRAME_NAME),y(r,d.METHOD_TIME_OUT,f.IFRAME_NAME),y(r,d.ERROR,"".concat(f.IFRAME_NAME,",").concat(p.IFRAME_NAME)),y(r,d.START_METHOD_TIME_OUT,""),r)[e])||void 0===t?void 0:t.split(",")},L=function(e){var t;return new Promise(function(r,n){var o=function(i){if(U(i.data)&&(null===(c=i.data)||void 0===c?void 0:c.type)===d.START_METHOD_TIME_OUT)t=setTimeout(function(){k({id:i.data.id,type:d.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(U(i.data)&&i.data.type!==d.ERROR&&i.data.type!==d.CHALLENGE){window.removeEventListener("message",o);var a,c,s,l={id:i.data.id,cardBrand:e.cardBrand};w.log.info("".concat(i.data.type," notification received for session: ").concat(l.id)),r(l),_(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."),_(P(null===(a=i.data)||void 0===a?void 0:a.type)),clearTimeout(t))};window.addEventListener("message",o)})},H={},x={"The card was not supported by any card schemes":"3DS is not supported for the provided card"},q=function(e){var t=!0,r=!1,n=void 0;if("errors"in e&&void 0!==e.errors&&"object"==typeof e.errors&&null!==e.errors)try{for(var o,i=Object.keys(e.errors)[Symbol.iterator]();!(t=(o=i.next()).done);t=!0){var a=o.value;if(x[a])throw Error(x[a])}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}else if(e.title&&H[e.title])throw Error(H[e.title]);throw Error(e.title||"An unknown error occurred")},z=function(e,t,r){var n=j({threeDSServerTransID:t,threeDSMethodNotificationURL:"".concat(r,"?mode=redirect")}),o=window.open("","threeDSMethodForm");if(!o){console.error("Popup blocked or unable to open the window.");return}var i=O(f.FORM_NAME,e,"threeDSMethodForm");i.appendChild(S(f.INPUT_NAME,n)),document.body.appendChild(i),i.submit();var a=window.setInterval(function(){o.closed&&(clearInterval(a),k({isCompleted:!0,id:t,type:d.METHOD}))},500)},B=function(e,t,r){var n=j({threeDSServerTransID:t,threeDSMethodNotificationURL:r}),o=A(document.getElementById(f.FRAME_CONTAINER_ID),f.IFRAME_NAME,f.IFRAME_NAME,"0","0"),i=O(f.FORM_NAME,e,o.name);i.appendChild(S(f.INPUT_NAME,n)),o.appendChild(R("html",R("body",i))),i.submit()},J=(c=v(function(e){var t,r,n,o,i,a,c,s,l,u,f,p,m,v,b,g,T;return E(this,function(E){switch(E.label){case 0:if(t=e.tokenId,r=e.tokenIntentId,n=e.pan,i=void 0!==(o=e.skipMethodRequest)&&o,a=e.methodRequestMode,c=e.challengeMode,0===(s=[n,t,r].filter(function(e){return void 0!==e})).length)throw Error("One of pan, tokenId, or tokenIntentId is required.");if(s.length>1)throw Error("Only one of pan, tokenId, or tokenIntentId should be provided.");return l=n?"pan":t?"tokenId":"tokenIntentId",u=n||t||r,f={browserColorDepth:I(M()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:window.navigator.language,browserScreenHeight:I(window.screen.height),browserScreenWidth:I(window.screen.width),browserTZ:I(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent},[4,F.client("POST","/sessions",N((y(p={},l,u),y(p,"device","browser"),y(p,"deviceInfo",f),y(p,"webChallengeMode",c),p),function(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}))];case 1:if((m=E.sent()).ok)return[3,6];E.label=2;case 2:return E.trys.push([2,4,,5]),[4,m.json()];case 3:return v=E.sent(),[3,5];case 4:throw E.sent(),b="Failed to parse error response. HTTP Status: ".concat(m.status),w.log.error(b),Error(b);case 5:var A;if("object"==typeof(A=v)&&null!==A&&("title"in A||"status"in A||"detail"in A))q(v);else throw g="An unknown error occurred while creating session. Status: ".concat(m.status,"."),w.log.error("".concat(g," Response: ").concat(JSON.stringify(v,null,2))),Error(g);E.label=6;case 6:return[4,m.json()];case 7:return T=C.apply(void 0,[E.sent()]),w.log.info("3DS session response received with ID ".concat(T.id)),T.methodUrl&&!i&&(k({isCompleted:!1,id:T.id,type:d.START_METHOD_TIME_OUT}),a===h.REDIRECT?z(T.methodUrl,T.id,T.methodNotificationUrl):B(T.methodUrl,T.id,T.methodNotificationUrl)),[2,T]}})}),function(e){return c.apply(this,arguments)}),W=(s=v(function(e){var t,r,n,o,i,a,c,s,l,u;return E(this,function(d){switch(d.label){case 0:return t=e.tokenId,r=e.tokenIntentId,n=e.pan,i=void 0!==(o=e.skipMethodRequest)&&o,c=void 0===(a=e.methodRequestMode)?h.IFRAME:a,l=void 0===(s=e.challengeMode)?h.IFRAME:s,[4,J({tokenId:t,tokenIntentId:r,pan:n,skipMethodRequest:i,methodRequestMode:c,challengeMode:l}).catch(function(e){return Promise.reject(e.message)})];case 1:if(!(u=d.sent()).methodUrl||i)return[2,{id:u.id,cardBrand:u.cardBrand}];return[4,L(u)];case 2:return[2,d.sent()]}})}),function(e){return s.apply(this,arguments)}),G=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4;return new Promise(function(r,n){var o=function(t){if(U(t.data)&&t.data.type===d.CHALLENGE){clearTimeout(e),window.removeEventListener("message",o);var n={id:t.data.id};w.log.info("".concat(t.data.type," notification received for session: ").concat(n.id)),r(n),_([p.IFRAME_NAME])}else t.isTrusted};window.addEventListener("message",o),e=setTimeout(function(){window.removeEventListener("message",o),n("Timed out waiting for a challenge response. Please try again."),_([p.IFRAME_NAME])},t)})},V=function(e,t){var r=document.getElementById(p.FRAME_CONTAINER_ID),n=T(t.challengeWindowSize),o=j(t),i=p.IFRAME_NAME,a=document.createElement("html"),c=document.createElement("body"),s=A(r,i,i,n[0],n[1]),l=O(p.FORM_NAME,e,s.name),u=S("creq",o);l.appendChild(u),c.appendChild(l),a.appendChild(c),s.appendChild(a),l.submit()},$=function(e,t){var r=T(t.challengeWindowSize),n=window.open("","threeDSChallenge","width=".concat(r[0],",height=").concat(r[1]));if(!n){console.error("Popup blocked or unable to open the window.");return}var o=j(t),i=O(p.FORM_NAME,e,"threeDSChallenge"),a=S("creq",o);i.appendChild(a),document.body.appendChild(i),i.submit();var c=window.setInterval(function(){n.closed&&(clearInterval(c),k({isCompleted:!0,id:t.threeDSServerTransID,type:d.CHALLENGE}))},500)},K=function(e){var t,r,n,o,i,a=e.sessionId,c=e.acsTransactionId,s=e.acsChallengeUrl,l=e.threeDSVersion,d=e.windowSize,f=e.mode;if(!a)throw Error("Session ID is required");var p={messageType:"CReq",messageVersion:l,threeDSServerTransID:a,acsTransID:c,challengeWindowSize:null!=d?d:u.THREE};if(t=p.messageType,r=p.messageVersion,n=p.threeDSServerTransID,o=p.acsTransID,i=p.challengeWindowSize,null!==p&&"string"==typeof t&&"string"==typeof r&&"string"==typeof n&&"string"==typeof o&&Object.values(u).includes(i))f===h.REDIRECT?$(s,p):V(s,p);else{var m="Invalid challenge request payload for session: ".concat(a);return w.log.error(m),Promise.reject(Error(m))}return Promise.resolve({id:a})},Z=(l=v(function(e){var t,r,n,o,i,a,c,s,l;return E(this,function(u){switch(u.label){case 0:return t=e.sessionId,r=e.acsTransactionId,n=e.acsChallengeUrl,o=e.threeDSVersion,i=e.windowSize,c=void 0===(a=e.mode)?"iframe":a,l=void 0===(s=e.timeout)?6e4:s,[4,K({sessionId:t,acsTransactionId:r,acsChallengeUrl:n,threeDSVersion:o,windowSize:i,mode:c}).catch(function(e){return Promise.reject(e.message)})];case 1:return u.sent(),[2,G(l)]}})}),function(e){return l.apply(this,arguments)});window.BasisTheory3ds=function(e,t){try{var r,n;D(f.FRAME_CONTAINER_ID,!0),D(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){w.log.error("Unable to create iframe container",e)}return F.init(e,null==t?void 0:t.apiBaseUrl),{createSession:W,startChallenge:Z}}}();
!function(){var e,t,r,n,o,i,a,c,s,l,u,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"},h={IFRAME:"iframe",REDIRECT:"redirect"};function m(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 v(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){m(i,n,o,a,c,"next",e)}function c(e){m(i,n,o,a,c,"throw",e)}a(void 0)})}}function y(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){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(s){return function(c){if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)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 i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}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 b(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 b(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 b(e,t)}}"function"==typeof SuppressedError&&SuppressedError;var w=!1,I=function(e){w=e.disableTelemetry},T=(e=v(function(e,t,r){var n,o,i=arguments;return E(this,function(a){switch(a.label){case 0:var c,s;if(n=i.length>3&&void 0!==i[3]?i[3]:{},w)return[2];c=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){y(e,t,r[t])})}return e}({application:"3ds-web",ddsource:"3ds-web",service:"3ds-web"},n),s=s={level:t,message:"error"===t&&r?"".concat(e,": ").concat(r.message):e},Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(s)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(s)).forEach(function(e){Object.defineProperty(c,e,Object.getOwnPropertyDescriptor(s,e))}),o=c,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat("pubb96b84a13912504f4354f2d794ea4fab"),{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json"}})];case 2:if(!a.sent().ok)throw Error("Network response was not ok");return[3,4];case 3:return a.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=u||(u={})).ONE="01",r.TWO="02",r.THREE="03",r.FOUR="04",r.FIVE="05";var M=function(e){return null==e?"":JSON.stringify(e)},A=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 b(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.")}())},O=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"05",r=(y(e={},"01",["250px","400px"]),y(e,"02",["390px","400px"]),y(e,"03",["500px","600px"]),y(e,"04",["600px","400px"]),y(e,"05",["100%","100%"]),e)[t];if(r)return r;var n=Error("Window size ".concat(t," is not supported"));throw T.log.error("Unsupported window size",n),n},S=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 T.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},R=function(e,t,r){var n=document.createElement("form");return n.name=e,n.action=t,n.method="POST",n.target=r,n},D=function(e,t){var r=document.createElement("input");return r.name=e,r.value=t,r},_=function(e,t){var r=document.createElement(e);return r.appendChild(t),r},N=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t=document.getElementById(e)){t.innerHTML="",r&&t.setAttribute("style","display:none;");return}(t=document.createElement("div")).id=e,r&&t.setAttribute("style","display:none;"),document.body.appendChild(t)},C=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()})},j=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)},F=function(e){return j(e,function(e){return e.replace(/_./g,function(e){return e[1].toUpperCase()})})},k=function(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},U={client:(n=v(function(e,t,r){var n;return E(this,function(a){switch(a.label){case 0:if(!o)throw Error("Missing api key");return i&&T.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:(y(n={},"BT-API-KEY",o),y(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 P=function(e){return window.postMessage(e,"*")},L=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)},H=function(e){var t,r;return null===(t=(y(r={},d.CHALLENGE,p.IFRAME_NAME),y(r,d.METHOD,f.IFRAME_NAME),y(r,d.METHOD_TIME_OUT,f.IFRAME_NAME),y(r,d.ERROR,"".concat(f.IFRAME_NAME,",").concat(p.IFRAME_NAME)),y(r,d.START_METHOD_TIME_OUT,""),r)[e])||void 0===t?void 0:t.split(",")},x=function(e){var t;return new Promise(function(r,n){var o=function(i){if(L(i.data)&&(null===(c=i.data)||void 0===c?void 0:c.type)===d.START_METHOD_TIME_OUT)t=setTimeout(function(){P({id:i.data.id,type:d.METHOD_TIME_OUT,isCompleted:!1})},1e4);else if(L(i.data)&&i.data.type!==d.ERROR&&i.data.type!==d.CHALLENGE){window.removeEventListener("message",o);var a,c,s,l={id:i.data.id,cardBrand:e.cardBrand};T.log.info("".concat(i.data.type," notification received for session: ").concat(l.id)),r(l),C(H(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."),C(H(null===(a=i.data)||void 0===a?void 0:a.type)),clearTimeout(t))};window.addEventListener("message",o)})},q={},z={"The card was not supported by any card schemes":"3DS is not supported for the provided card"},B=function(e){var t=!0,r=!1,n=void 0;if("errors"in e&&void 0!==e.errors&&"object"==typeof e.errors&&null!==e.errors)try{for(var o,i=Object.keys(e.errors)[Symbol.iterator]();!(t=(o=i.next()).done);t=!0){var a=o.value;if(z[a])throw Error(z[a])}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}else if(e.title&&q[e.title])throw Error(q[e.title]);throw Error(e.title||"An unknown error occurred")},J=function(e,t,r){var n=k({threeDSServerTransID:t,threeDSMethodNotificationURL:"".concat(r,"?mode=redirect")}),o=window.open("","threeDSMethodForm");if(!o){console.error("Popup blocked or unable to open the window.");return}var i=R(f.FORM_NAME,e,"threeDSMethodForm");i.appendChild(D(f.INPUT_NAME,n)),document.body.appendChild(i),i.submit();var a=window.setInterval(function(){o.closed&&(clearInterval(a),P({isCompleted:!0,id:t,type:d.METHOD}))},500)},W=function(e,t,r){var n=k({threeDSServerTransID:t,threeDSMethodNotificationURL:r}),o=S(document.getElementById(f.FRAME_CONTAINER_ID),f.IFRAME_NAME,f.IFRAME_NAME,"0","0"),i=R(f.FORM_NAME,e,o.name);i.appendChild(D(f.INPUT_NAME,n)),o.appendChild(_("html",_("body",i))),i.submit()},G=(c=v(function(e){var t,r,n,o,i,a,c,s,l,u,f,p,m,v,b,g,w;return E(this,function(E){switch(E.label){case 0:if(t=e.tokenId,r=e.tokenIntentId,n=e.pan,i=void 0!==(o=e.skipMethodRequest)&&o,a=e.methodRequestMode,c=e.challengeMode,0===(s=[n,t,r].filter(function(e){return void 0!==e})).length)throw Error("One of pan, tokenId, or tokenIntentId is required.");if(s.length>1)throw Error("Only one of pan, tokenId, or tokenIntentId should be provided.");return l=n?"pan":t?"tokenId":"tokenIntentId",u=n||t||r,f={browserColorDepth:M(A()),browserJavascriptEnabled:!0,browserJavaEnabled:window.navigator.javaEnabled(),browserLanguage:window.navigator.language,browserScreenHeight:M(window.screen.height),browserScreenWidth:M(window.screen.width),browserTZ:M(new Date().getTimezoneOffset()),browserUserAgent:window.navigator.userAgent},[4,U.client("POST","/sessions",j((y(p={},l,u),y(p,"device","browser"),y(p,"deviceInfo",f),y(p,"webChallengeMode",c),p),function(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}))];case 1:if((m=E.sent()).ok)return[3,6];E.label=2;case 2:return E.trys.push([2,4,,5]),[4,m.json()];case 3:return v=E.sent(),[3,5];case 4:throw E.sent(),b="Failed to parse error response. HTTP Status: ".concat(m.status),T.log.error(b),Error(b);case 5:var I;if("object"==typeof(I=v)&&null!==I&&("title"in I||"status"in I||"detail"in I))B(v);else throw g="An unknown error occurred while creating session. Status: ".concat(m.status,"."),T.log.error("".concat(g," Response: ").concat(JSON.stringify(v,null,2))),Error(g);E.label=6;case 6:return[4,m.json()];case 7:return w=F.apply(void 0,[E.sent()]),T.log.info("3DS session response received with ID ".concat(w.id)),w.methodUrl&&!i&&(P({isCompleted:!1,id:w.id,type:d.START_METHOD_TIME_OUT}),a===h.REDIRECT?J(w.methodUrl,w.id,w.methodNotificationUrl):W(w.methodUrl,w.id,w.methodNotificationUrl)),[2,w]}})}),function(e){return c.apply(this,arguments)}),V=(s=v(function(e){var t,r,n,o,i,a,c,s,l,u;return E(this,function(d){switch(d.label){case 0:return t=e.tokenId,r=e.tokenIntentId,n=e.pan,i=void 0!==(o=e.skipMethodRequest)&&o,c=void 0===(a=e.methodRequestMode)?h.IFRAME:a,l=void 0===(s=e.challengeMode)?h.IFRAME:s,[4,G({tokenId:t,tokenIntentId:r,pan:n,skipMethodRequest:i,methodRequestMode:c,challengeMode:l}).catch(function(e){return Promise.reject(e.message)})];case 1:if(!(u=d.sent()).methodUrl||i)return[2,{id:u.id,cardBrand:u.cardBrand}];return[4,x(u)];case 2:return[2,d.sent()]}})}),function(e){return s.apply(this,arguments)}),$=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4;return new Promise(function(r,n){var o=function(t){if(L(t.data)&&t.data.type===d.CHALLENGE){clearTimeout(e),window.removeEventListener("message",o);var n={id:t.data.id};T.log.info("".concat(t.data.type," notification received for session: ").concat(n.id)),r(n),C([p.IFRAME_NAME])}else t.isTrusted};window.addEventListener("message",o),e=setTimeout(function(){window.removeEventListener("message",o),n("Timed out waiting for a challenge response. Please try again."),C([p.IFRAME_NAME])},t)})},K=function(e,t){var r=document.getElementById(p.FRAME_CONTAINER_ID),n=O(t.challengeWindowSize),o=k(t),i=p.IFRAME_NAME,a=document.createElement("html"),c=document.createElement("body"),s=S(r,i,i,n[0],n[1]),l=R(p.FORM_NAME,e,s.name),u=D("creq",o);l.appendChild(u),c.appendChild(l),a.appendChild(c),s.appendChild(a),l.submit()},Z=function(e,t){var r=O(t.challengeWindowSize),n=window.open("","threeDSChallenge","width=".concat(r[0],",height=").concat(r[1]));if(!n){console.error("Popup blocked or unable to open the window.");return}var o=k(t),i=R(p.FORM_NAME,e,"threeDSChallenge"),a=D("creq",o);i.appendChild(a),document.body.appendChild(i),i.submit();var c=window.setInterval(function(){n.closed&&(clearInterval(c),P({isCompleted:!0,id:t.threeDSServerTransID,type:d.CHALLENGE}))},500)},Y=function(e){var t,r,n,o,i,a=e.sessionId,c=e.acsTransactionId,s=e.acsChallengeUrl,l=e.threeDSVersion,d=e.windowSize,f=e.mode;if(!a)throw Error("Session ID is required");var p={messageType:"CReq",messageVersion:l,threeDSServerTransID:a,acsTransID:c,challengeWindowSize:null!=d?d:u.THREE};if(t=p.messageType,r=p.messageVersion,n=p.threeDSServerTransID,o=p.acsTransID,i=p.challengeWindowSize,null!==p&&"string"==typeof t&&"string"==typeof r&&"string"==typeof n&&"string"==typeof o&&Object.values(u).includes(i))f===h.REDIRECT?Z(s,p):K(s,p);else{var m="Invalid challenge request payload for session: ".concat(a);return T.log.error(m),Promise.reject(Error(m))}return Promise.resolve({id:a})},Q=(l=v(function(e){var t,r,n,o,i,a,c,s,l;return E(this,function(u){switch(u.label){case 0:return t=e.sessionId,r=e.acsTransactionId,n=e.acsChallengeUrl,o=e.threeDSVersion,i=e.windowSize,c=void 0===(a=e.mode)?"iframe":a,l=void 0===(s=e.timeout)?6e4:s,[4,Y({sessionId:t,acsTransactionId:r,acsChallengeUrl:n,threeDSVersion:o,windowSize:i,mode:c}).catch(function(e){return Promise.reject(e.message)})];case 1:return u.sent(),[2,$(l)]}})}),function(e){return l.apply(this,arguments)});window.BasisTheory3ds=function(e,t){try{var r,n,o;I({disableTelemetry:null!==(n=null==t?void 0:t.disableTelemetry)&&void 0!==n&&n}),N(f.FRAME_CONTAINER_ID,!0),N(null!==(o=null==t?void 0:null===(r=t.challengeContainerOptions)||void 0===r?void 0:r.id)&&void 0!==o?o:p.FRAME_CONTAINER_ID)}catch(e){T.log.error("Unable to create iframe container",e)}return U.init(e,null==t?void 0:t.apiBaseUrl),{createSession:V,startChallenge:Q}}}();

@@ -27,5 +27,10 @@

let $7eeff694ab6fbf78$var$disableTelemetry = false;
const $7eeff694ab6fbf78$export$bfcc8eb13073c803 = ({ disableTelemetry: disableTelemetryArg })=>{
$7eeff694ab6fbf78$var$disableTelemetry = disableTelemetryArg;
};
const $7eeff694ab6fbf78$export$af88d00dbe7f521 = (()=>{
const ddTok = "pubb96b84a13912504f4354f2d794ea4fab";
const log = async (message, level, error, attributes = {})=>{
if ($7eeff694ab6fbf78$var$disableTelemetry) return;
const payload = {

@@ -551,2 +556,5 @@ application: "3ds-web",

try {
(0, $7eeff694ab6fbf78$export$bfcc8eb13073c803)({
disableTelemetry: configOptions?.disableTelemetry ?? false
});
(0, $56c0ab67849851da$export$b824392d62597b74)((0, $d7d24f50044f5db6$export$3f521420530811cf).FRAME_CONTAINER_ID, true);

@@ -553,0 +561,0 @@ (0, $56c0ab67849851da$export$b824392d62597b74)(configOptions?.challengeContainerOptions?.id ?? (0, $d7d24f50044f5db6$export$9aef2de9a9febd46).FRAME_CONTAINER_ID);

@@ -21,5 +21,10 @@ const $ede1e6694b13a411$export$3f521420530811cf = {

let $9baa5c7531c09ef3$var$disableTelemetry = false;
const $9baa5c7531c09ef3$export$bfcc8eb13073c803 = ({ disableTelemetry: disableTelemetryArg })=>{
$9baa5c7531c09ef3$var$disableTelemetry = disableTelemetryArg;
};
const $9baa5c7531c09ef3$export$af88d00dbe7f521 = (()=>{
const ddTok = "pubb96b84a13912504f4354f2d794ea4fab";
const log = async (message, level, error, attributes = {})=>{
if ($9baa5c7531c09ef3$var$disableTelemetry) return;
const payload = {

@@ -545,2 +550,5 @@ application: "3ds-web",

try {
(0, $9baa5c7531c09ef3$export$bfcc8eb13073c803)({
disableTelemetry: configOptions?.disableTelemetry ?? false
});
(0, $c64965f72f06da5e$export$b824392d62597b74)((0, $ede1e6694b13a411$export$3f521420530811cf).FRAME_CONTAINER_ID, true);

@@ -547,0 +555,0 @@ (0, $c64965f72f06da5e$export$b824392d62597b74)(configOptions?.challengeContainerOptions?.id ?? (0, $ede1e6694b13a411$export$9aef2de9a9febd46).FRAME_CONTAINER_ID);

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

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

@@ -11,2 +11,6 @@ declare global {

apiBaseUrl?: string;
/**
* Disables telemetry
*/
disableTelemetry?: boolean;
challengeContainerOptions?: {

@@ -13,0 +17,0 @@ /**

type AttributeMap = Record<string, string>;
export declare const configureLogger: ({ disableTelemetry: disableTelemetryArg }: {
disableTelemetry: boolean;
}) => void;
export declare const logger: {

@@ -3,0 +6,0 @@ log: {

{
"name": "@basis-theory/3ds-web",
"version": "1.6.0",
"version": "1.6.1",
"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