@adyen/adyen-web
Version:
[](https://www.npmjs.com/package/@adyen/adyen-web)
3 lines (2 loc) • 1.85 kB
JavaScript
import e from"./createCardVariantSwitcher.js";import{BRAND_ICON_UI_EXCLUSION_LIST as n}from"../lib/constants.js";import{requiresDualBrandSelection as r}from"../../../Card/components/CardInput/utils.js";import{DUAL_BRANDS_THAT_NEED_SELECTION_MECHANISM as s}from"../../../Card/constants.js";const t=(e,n)=>e.reduce((e,r)=>e||n.includes(r.brand),!1),o=e=>e.map(e=>({...e})),d=(e,n="mc",r="visa")=>{const s=o(e);return s[0].brand!==n&&s[0].brand!==r&&s.reverse(),s.length=1,s};function u(u,a,c,p={}){const{type:i,cvcPolicy:l}=u,{sfp:C}=a,{dualBrandSelectElements:B,setDualBrandSelectElements:g,setSelectedBrandValue:m,issuingCountryCode:b,setIssuingCountryCode:y}=c;return{processBinLookup:(u,a)=>{const c=u?.issuingCountryCode?u.issuingCountryCode.toLowerCase():null;if(y(c),!u||!Object.keys(u).length){g([]),m("");const e=a&&"card"!==i?i:null;return C.current.processBinLookupResponse(u,{brand:e,cvcPolicy:l}),void(p.current=0)}if(u.supportedBrands?.length){const a=t(u.supportedBrands,n),c=a?d(u.supportedBrands):o(u.supportedBrands);if(c.length>1){const n=r(s,c,"brand"),t=e(c,n);g(t.dualBrandSelectElements),m(t.selectedBrandValue),C.current.processBinLookupResponse({issuingCountryCode:u.issuingCountryCode,supportedBrands:[t.leadBrand]}),t.leadBrand.panLength>0&&(p.current=t.leadBrand.panLength)}else g([]),m(""),a||m(c[0].brand),C.current.processBinLookupResponse({issuingCountryCode:u.issuingCountryCode,supportedBrands:c}),c[0].panLength>0&&(p.current=c[0].panLength)}},handleDualBrandSelection:e=>{let n=[];e&&(n=B.reduce((n,r)=>(r.brandObject.brand===e&&n.push(r.brandObject),n),[]),n.length&&(m(e),C.current.processBinLookupResponse({issuingCountryCode:b,supportedBrands:n,isDualBrandSelection:!0})))}}}export{o as cloneBrandsArr,t as containsExcludedBrand,u as default,d as removeExcludedBrand};
//# sourceMappingURL=extensions.js.map