@@ -103,11 +103,16 @@ type wallets = {
103103 style : style ,
104104}
105105type business = {name : string }
106+ type mergeSavedMethods = {
107+ maxSavedItems : int ,
108+ isMergedSavedMethodsList : bool ,
109+ }
106110type layoutConfig = {
107111 defaultCollapsed : bool ,
108112 radios : bool ,
109113 spacedAccordionItems : bool ,
110114 maxAccordionItems : int ,
115+ mergeSavedMethods : mergeSavedMethods ,
111116 \"type" : layout ,
112117}
113118
@@ -202,7 +207,6 @@ type options = {
202207 displayBillingDetails : bool ,
203208 customMessageForCardTerms : string ,
204209 showShortSurchargeMessage : bool ,
205- enableUnifiedView : bool ,
206210}
207211
208212type payerDetails = {
@@ -250,11 +254,16 @@ let defaultCustomerMethods = {
250254 recurringEnabled : false ,
251255 billing : defaultDisplayBillingDetails ,
252256}
257+ let defaultMergeSavedMethods = {
258+ maxSavedItems : 2 ,
259+ isMergedSavedMethodsList : false ,
260+ }
253261let defaultLayout = {
254262 defaultCollapsed : false ,
255263 radios : false ,
256264 spacedAccordionItems : false ,
257265 maxAccordionItems : 4 ,
266+ mergeSavedMethods : defaultMergeSavedMethods ,
258267 \"type" : Tabs ,
259268}
260269let defaultAddress : address = {
@@ -374,7 +383,6 @@ let defaultOptions = {
374383 displayBillingDetails : false ,
375384 customMessageForCardTerms : "" ,
376385 showShortSurchargeMessage : false ,
377- enableUnifiedView : false ,
378386}
379387
380388let getLayout = str => {
@@ -661,14 +669,33 @@ let getFields: (Dict.t<JSON.t>, string, 'a) => fields = (dict, str, logger) => {
661669 })
662670 -> Option .getOr (defaultFields )
663671}
672+ let getMergedViewValues = (json , logger ) => {
673+ let dict = json -> Utils .getDictFromDict ("mergeSavedMethods" )
674+ unknownKeysWarning (
675+ ["maxSavedItems" , "isMergedSavedMethodsList" ],
676+ dict ,
677+ "options.layout.mergedSavedMethods" ,
678+ )
679+ {
680+ maxSavedItems : getNumberWithWarning (dict , "maxSavedItems" , 2 , ~logger ),
681+ isMergedSavedMethodsList : getBoolWithWarning (dict , "isMergedSavedMethodsList" , false , ~logger ),
682+ }
683+ }
664684let getLayoutValues = (val , logger ) => {
665685 switch val -> JSON .Classify .classify {
666686 | String (str ) => StringLayout (str -> getLayout )
667687 | Object (json ) =>
668688 ObjectLayout ({
669689 let layoutType = getWarningString (json , "type" , "tabs" , ~logger )
670690 unknownKeysWarning (
671- ["defaultCollapsed" , "radios" , "spacedAccordionItems" , "type" , "maxAccordionItems" ],
691+ [
692+ "defaultCollapsed" ,
693+ "radios" ,
694+ "spacedAccordionItems" ,
695+ "type" ,
696+ "maxAccordionItems" ,
697+ "mergeSavedMethods" ,
698+ ],
672699 json ,
673700 "options.layout" ,
674701 )
@@ -677,6 +704,7 @@ let getLayoutValues = (val, logger) => {
677704 radios : getBoolWithWarning (json , "radios" , false , ~logger ),
678705 spacedAccordionItems : getBoolWithWarning (json , "spacedAccordionItems" , false , ~logger ),
679706 maxAccordionItems : getNumberWithWarning (json , "maxAccordionItems" , 4 , ~logger ),
707+ mergeSavedMethods : getMergedViewValues (json , logger ),
680708 \"type" : layoutType -> getLayout ,
681709 }
682710 })
@@ -1066,7 +1094,6 @@ let itemToObjMapper = (dict, logger) => {
10661094 "displayBillingDetails" ,
10671095 "customMessageForCardTerms" ,
10681096 "showShortSurchargeMessage" ,
1069- "enableUnifiedView" ,
10701097 ],
10711098 dict ,
10721099 "options" ,
@@ -1112,7 +1139,6 @@ let itemToObjMapper = (dict, logger) => {
11121139 displayBillingDetails : getBool (dict , "displayBillingDetails" , false ),
11131140 customMessageForCardTerms : getString (dict , "customMessageForCardTerms" , "" ),
11141141 showShortSurchargeMessage : getBool (dict , "showShortSurchargeMessage" , false ),
1115- enableUnifiedView : getBool (dict , "enableUnifiedView" , false ),
11161142 }
11171143}
11181144
0 commit comments