@primer-io/react-native 2.30.0 → 2.30.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/android/.editorconfig +2 -0
  2. package/android/build.gradle +29 -1
  3. package/android/detekt-baseline.xml +24 -0
  4. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +248 -195
  5. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +261 -253
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +177 -143
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +298 -291
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +2 -3
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +33 -36
  10. package/android/src/main/java/com/primerioreactnative/components/assets/AssetsManager.kt +29 -30
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +15 -15
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +16 -16
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +9 -9
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +5 -5
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/Resources.kt +143 -0
  16. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +11 -11
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNBancontactCardData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +5 -5
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +2 -3
  20. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +15 -14
  21. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNValidationError.kt +10 -10
  22. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethod.kt +15 -16
  23. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethodAdditionalData.kt +4 -2
  24. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +6 -6
  25. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +13 -13
  26. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +2 -2
  27. package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +9 -8
  28. package/android/src/main/java/com/primerioreactnative/components/manager/ach/{AchMandateManager.kt → PrimerRNAchMandateManager.kt} +20 -17
  29. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +227 -212
  30. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +178 -163
  31. package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +207 -194
  32. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +23 -26
  33. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +25 -23
  34. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +24 -23
  35. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +111 -87
  36. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +68 -63
  37. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +189 -164
  38. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +39 -37
  39. package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +128 -118
  40. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentStepRN.kt → NamedComponentStep.kt} +0 -2
  41. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentValidatableDataRN.kt → NamedComponentValidatableData.kt} +1 -3
  42. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +14 -14
  43. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -4
  44. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +34 -35
  45. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +14 -14
  46. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +10 -11
  47. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +4 -4
  48. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +1 -1
  49. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +66 -67
  50. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +128 -119
  51. package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +2 -3
  52. package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +3 -3
  53. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -6
  54. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
  55. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +2 -2
  56. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +8 -4
  57. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +2 -2
  58. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +2 -3
  59. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +6 -6
  60. package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +26 -26
  61. package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +5 -5
  62. package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +37 -31
  63. package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +11 -10
  64. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +19 -14
  65. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
  66. package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +9 -9
  67. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +9 -8
  68. package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +1 -2
  69. package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +3 -3
  70. package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -2
  71. package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +10 -3
  72. package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -3
  73. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +4 -1
  74. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +69 -54
  75. package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +16 -16
  76. package/android/src/main/java/com/primerioreactnative/extensions/ThreeDsAuthenticationData.kt +7 -7
  77. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
  78. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
  79. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +4 -4
  80. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +8 -7
  81. package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +6 -5
  82. package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +33 -34
  83. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +26 -26
  84. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +20 -20
  85. package/android/src/test/java/com/primerioreactnative/utils/ErrorHelperTest.kt +12 -13
  86. package/android/tooling/code-analysis/detekt.yml +68 -0
  87. package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +2 -2
  88. package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +0 -1
  89. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +83 -63
  90. package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +3 -1
  91. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +2 -2
  92. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +1 -1
  93. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +5 -5
  94. package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +1 -1
  95. package/ios/Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift +1 -2
  96. package/ios/Sources/DataModels/PrimerCardData+Extension.swift +6 -7
  97. package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +6 -7
  98. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +10 -7
  99. package/ios/Sources/DataModels/PrimerPhoneNumberData+Extension.swift +1 -2
  100. package/ios/Sources/DataModels/PrimerRawRetailerData+Extension.swift +1 -2
  101. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +91 -50
  102. package/ios/Sources/DataModels/PrimerThemeRN.swift +6 -6
  103. package/ios/Sources/DataModels/RNTNativeError.swift +3 -4
  104. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +54 -48
  105. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +225 -202
  106. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +6 -6
  107. package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +163 -161
  108. package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +268 -250
  109. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +88 -66
  110. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +51 -43
  111. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +181 -158
  112. package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +165 -156
  113. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +526 -459
  114. package/ios/Sources/Helpers/Encodable+Extension.swift +5 -1
  115. package/ios/Sources/Helpers/Error+Extensions.swift +5 -5
  116. package/ios/Sources/Helpers/UIColor+Extensions.swift +23 -20
  117. package/ios/Sources/RNTPrimer.swift +135 -48
  118. package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  119. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  120. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  121. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  122. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  123. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  124. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  125. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  126. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  127. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  128. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  129. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  130. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  131. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  132. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  133. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  134. package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  135. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  136. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  137. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  138. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  139. package/lib/commonjs/HeadlessUniversalCheckout/types.js +5 -5
  140. package/lib/commonjs/Primer.js +2 -2
  141. package/lib/commonjs/Primer.js.map +1 -1
  142. package/lib/commonjs/RNPrimer.js +5 -5
  143. package/lib/commonjs/RNPrimer.js.map +1 -1
  144. package/lib/commonjs/index.js.map +1 -1
  145. package/lib/commonjs/models/PrimerError.js.map +1 -1
  146. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +3 -3
  147. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  148. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +1 -1
  149. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  150. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +1 -1
  151. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  152. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  153. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  154. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  155. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  156. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  157. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  158. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  159. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  160. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  161. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  162. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  163. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  164. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  165. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  166. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  167. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  168. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  169. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  170. package/lib/module/HeadlessUniversalCheckout/types.js +5 -5
  171. package/lib/module/Primer.js +2 -2
  172. package/lib/module/Primer.js.map +1 -1
  173. package/lib/module/RNPrimer.js +5 -5
  174. package/lib/module/RNPrimer.js.map +1 -1
  175. package/lib/module/index.js.map +1 -1
  176. package/lib/module/models/PrimerError.js.map +1 -1
  177. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +2 -2
  178. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -1
  179. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +1 -1
  180. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -1
  181. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -1
  182. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +4 -4
  183. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
  184. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -1
  185. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -1
  186. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
  187. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
  188. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -1
  189. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
  190. package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
  191. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  192. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  193. package/lib/typescript/Primer.d.ts.map +1 -1
  194. package/lib/typescript/RNPrimer.d.ts.map +1 -1
  195. package/lib/typescript/index.d.ts +4 -4
  196. package/lib/typescript/index.d.ts.map +1 -1
  197. package/lib/typescript/models/IssuingBank.d.ts.map +1 -1
  198. package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -1
  199. package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -1
  200. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +4 -4
  201. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
  202. package/lib/typescript/models/PrimerCheckoutData.d.ts +1 -1
  203. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -1
  204. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
  205. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
  206. package/lib/typescript/models/PrimerComponentDataValidation.d.ts +5 -5
  207. package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -1
  208. package/lib/typescript/models/PrimerCountryCode.d.ts +1 -1
  209. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -1
  210. package/lib/typescript/models/PrimerCurrencyCode.d.ts +1 -1
  211. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -1
  212. package/lib/typescript/models/PrimerError.d.ts.map +1 -1
  213. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -1
  214. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +2 -2
  215. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
  216. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -1
  217. package/lib/typescript/models/PrimerInitializationData.d.ts +1 -1
  218. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -1
  219. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -1
  220. package/lib/typescript/models/PrimerInterfaces.d.ts +1 -1
  221. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -1
  222. package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -1
  223. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -1
  224. package/lib/typescript/models/PrimerSettings.d.ts +10 -10
  225. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
  226. package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
  227. package/lib/typescript/models/PrimerValidationErrorResult.d.ts +1 -1
  228. package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +1 -1
  229. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts +1 -1
  230. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +1 -1
  231. package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -1
  232. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts +1 -1
  233. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -1
  234. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -1
  235. package/lib/typescript/models/ach/AchCollectableData.d.ts +4 -4
  236. package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -1
  237. package/lib/typescript/models/ach/AchSteps.d.ts +3 -3
  238. package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -1
  239. package/lib/typescript/models/banks/BanksCollectableData.d.ts +3 -3
  240. package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -1
  241. package/lib/typescript/models/banks/BanksSteps.d.ts +6 -6
  242. package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -1
  243. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +2 -2
  244. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -1
  245. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +4 -4
  246. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -1
  247. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +6 -6
  248. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -1
  249. package/lib/typescript/utils/index.d.ts +1 -1
  250. package/package.json +5 -4
  251. package/primer-io-react-native.podspec +1 -1
  252. package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +17 -21
  253. package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +3 -6
  254. package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +2 -4
  255. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +68 -69
  256. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +127 -131
  257. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +23 -25
  258. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +21 -30
  259. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +137 -141
  260. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +17 -18
  261. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +158 -142
  262. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +7 -7
  263. package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +96 -87
  264. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +159 -170
  265. package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -6
  266. package/src/HeadlessUniversalCheckout/types.ts +5 -5
  267. package/src/Primer.ts +60 -57
  268. package/src/RNPrimer.ts +53 -54
  269. package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +1 -1
  270. package/src/index.tsx +73 -36
  271. package/src/models/IssuingBank.ts +5 -5
  272. package/src/models/NamedComponentStep.ts +5 -5
  273. package/src/models/NamedComponentValidatableData.ts +5 -5
  274. package/src/models/PrimerCheckoutAdditionalInfo.ts +18 -23
  275. package/src/models/PrimerCheckoutData.ts +8 -8
  276. package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -6
  277. package/src/models/PrimerClientSession.ts +34 -34
  278. package/src/models/PrimerComponentDataValidation.ts +33 -33
  279. package/src/models/PrimerCountryCode.ts +1 -1
  280. package/src/models/PrimerCurrencyCode.ts +1 -1
  281. package/src/models/PrimerError.ts +7 -1
  282. package/src/models/PrimerHandlers.ts +24 -24
  283. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +4 -4
  284. package/src/models/PrimerImplementedRNCallbacks.ts +15 -15
  285. package/src/models/PrimerInitializationData.ts +3 -3
  286. package/src/models/PrimerInputElementType.ts +9 -9
  287. package/src/models/PrimerInterfaces.ts +1 -1
  288. package/src/models/PrimerPaymentMethodManagerCategory.ts +4 -4
  289. package/src/models/PrimerPaymentMethodResource.ts +11 -11
  290. package/src/models/PrimerRawData.ts +9 -9
  291. package/src/models/PrimerSessionIntent.ts +1 -1
  292. package/src/models/PrimerSettings.ts +37 -21
  293. package/src/models/PrimerValidationError.ts +3 -3
  294. package/src/models/PrimerValidationErrorResult.ts +2 -2
  295. package/src/models/PrimerVaultedPaymentMethod.ts +7 -7
  296. package/src/models/PrimerVaultedPaymentMethodAdditionalData.ts +1 -1
  297. package/src/models/PrimerVaultedPaymentMethodResult.ts +3 -3
  298. package/src/models/RetailOutletsRetail.ts +5 -5
  299. package/src/models/ach/AchCollectableData.ts +12 -12
  300. package/src/models/ach/AchSteps.ts +18 -18
  301. package/src/models/banks/BanksCollectableData.ts +14 -14
  302. package/src/models/banks/BanksSteps.ts +13 -13
  303. package/src/models/klarna/KlarnaPaymentCategory.ts +16 -16
  304. package/src/models/klarna/KlarnaPaymentCollectableData.ts +16 -15
  305. package/src/models/klarna/KlarnaPaymentSteps.ts +21 -17
  306. package/src/utils/index.ts +1 -1
  307. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +0 -19
  308. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/resource/Resources.kt +0 -138
@@ -1,41 +1,41 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
- import org.json.JSONObject
4
- import org.json.JSONArray
5
- import io.primer.android.domain.error.models.PrimerError
6
- import io.primer.android.components.domain.error.PrimerValidationError
7
- import kotlinx.serialization.json.Json
8
3
  import com.primerioreactnative.datamodels.PrimerValidationErrorRN
4
+ import io.primer.android.components.domain.error.PrimerValidationError
5
+ import io.primer.android.domain.error.models.PrimerError
9
6
  import kotlinx.serialization.encodeToString
7
+ import kotlinx.serialization.json.Json
8
+ import org.json.JSONArray
9
+ import org.json.JSONObject
10
10
 
11
11
  private val json = Json { encodeDefaults = true }
12
12
 
13
13
  fun JSONObject.putErrors(error: PrimerError) {
14
- put(
15
- "errors",
16
- JSONArray().apply { put(JSONObject(json.encodeToString(error.toPrimerErrorRN()))) }
14
+ put(
15
+ "errors",
16
+ JSONArray().apply { put(JSONObject(json.encodeToString(error.toPrimerErrorRN()))) },
17
17
  )
18
- }
18
+ }
19
19
 
20
20
  fun JSONObject.putValidationErrors(errors: List<PrimerValidationError>) {
21
- put(
22
- "errors",
23
- JSONArray(
24
- errors.map {
25
- JSONObject(
26
- json.encodeToString(
27
- PrimerValidationErrorRN(
28
- it.errorId,
29
- it.description,
30
- it.diagnosticsId,
31
- )
21
+ put(
22
+ "errors",
23
+ JSONArray(
24
+ errors.map {
25
+ JSONObject(
26
+ json.encodeToString(
27
+ PrimerValidationErrorRN(
28
+ it.errorId,
29
+ it.description,
30
+ it.diagnosticsId,
31
+ ),
32
+ ),
32
33
  )
33
- )
34
- }
35
- )
36
- )
34
+ },
35
+ ),
36
+ )
37
37
  }
38
38
 
39
39
  fun JSONObject.removeType() {
40
- remove("type")
41
- }
40
+ remove("type")
41
+ }
@@ -4,9 +4,9 @@ import com.primerioreactnative.datamodels.LocaleSettingsRN
4
4
  import java.util.Locale
5
5
 
6
6
  internal fun LocaleSettingsRN.toLocale(): Locale {
7
- return when {
8
- languageCode == null -> Locale.getDefault()
9
- localeCode == null -> Locale(languageCode)
10
- else -> Locale(languageCode, localeCode)
11
- }
7
+ return when {
8
+ languageCode == null -> Locale.getDefault()
9
+ localeCode == null -> Locale(languageCode)
10
+ else -> Locale(languageCode, localeCode)
11
+ }
12
12
  }
@@ -4,34 +4,40 @@ import com.primerioreactnative.datamodels.PrimerPaymentInstrumentTokenRN
4
4
  import io.primer.android.data.tokenization.models.PaymentInstrumentData
5
5
 
6
6
  internal fun PaymentInstrumentData.toPaymentInstrumentDataRN() =
7
- PrimerPaymentInstrumentTokenRN.PaymentInstrumentData(
8
- network = network,
9
- cardholderName = cardholderName,
10
- first6Digits = first6Digits,
11
- last4Digits = last4Digits,
12
- accountNumberLast4Digits = accountNumberLast4Digits,
13
- expirationMonth = expirationMonth,
14
- expirationYear = expirationYear,
15
- externalPayerInfo = externalPayerInfo?.let {
16
- PrimerPaymentInstrumentTokenRN.ExternalPayerInfo(
17
- email = it.email,
18
- externalPayerId = it.externalPayerId,
19
- firstName = it.firstName,
20
- lastName = it.lastName
21
- )
22
- },
23
- klarnaCustomerToken = klarnaCustomerToken,
24
- sessionData = sessionData?.let {
25
- PrimerPaymentInstrumentTokenRN.SessionData(
26
- recurringDescription = it.recurringDescription,
27
- billingAddress = it.billingAddress?.let {
28
- PrimerPaymentInstrumentTokenRN.BillingAddress(email = it.email)
29
- }
30
- )
31
- },
32
- paymentMethodType = paymentMethodType,
33
- binData = binData?.let {
34
- PrimerPaymentInstrumentTokenRN.BinData(network = it.network)
35
- },
36
- bankName = bankName
37
- )
7
+ PrimerPaymentInstrumentTokenRN.PaymentInstrumentData(
8
+ network = network,
9
+ cardholderName = cardholderName,
10
+ first6Digits = first6Digits,
11
+ last4Digits = last4Digits,
12
+ accountNumberLast4Digits = accountNumberLast4Digits,
13
+ expirationMonth = expirationMonth,
14
+ expirationYear = expirationYear,
15
+ externalPayerInfo =
16
+ externalPayerInfo?.let {
17
+ PrimerPaymentInstrumentTokenRN.ExternalPayerInfo(
18
+ email = it.email,
19
+ externalPayerId = it.externalPayerId,
20
+ firstName = it.firstName,
21
+ lastName = it.lastName,
22
+ )
23
+ },
24
+ klarnaCustomerToken = klarnaCustomerToken,
25
+ sessionData =
26
+ sessionData?.let {
27
+ PrimerPaymentInstrumentTokenRN.SessionData(
28
+ recurringDescription = it.recurringDescription,
29
+ billingAddress =
30
+ it.billingAddress?.let {
31
+ PrimerPaymentInstrumentTokenRN.BillingAddress(
32
+ email = it.email,
33
+ )
34
+ },
35
+ )
36
+ },
37
+ paymentMethodType = paymentMethodType,
38
+ binData =
39
+ binData?.let {
40
+ PrimerPaymentInstrumentTokenRN.BinData(network = it.network)
41
+ },
42
+ bankName = bankName,
43
+ )
@@ -3,13 +3,14 @@ package com.primerioreactnative.extensions
3
3
  import com.primerioreactnative.datamodels.PrimerAddressRN
4
4
  import io.primer.android.domain.action.models.PrimerAddress
5
5
 
6
- internal fun PrimerAddress.toPrimerAddressRN() = PrimerAddressRN(
7
- firstName,
8
- lastName,
9
- addressLine1,
10
- addressLine2,
11
- postalCode,
12
- city,
13
- state,
14
- countryCode
15
- )
6
+ internal fun PrimerAddress.toPrimerAddressRN() =
7
+ PrimerAddressRN(
8
+ firstName,
9
+ lastName,
10
+ addressLine1,
11
+ addressLine2,
12
+ postalCode,
13
+ city,
14
+ state,
15
+ countryCode,
16
+ )
@@ -1,23 +1,28 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
+ import com.primerioreactnative.datamodels.AchAdditionalInfoDisplayMandateRN
3
4
  import com.primerioreactnative.datamodels.MultibancoCheckoutAdditionalInfoRN
4
5
  import com.primerioreactnative.datamodels.PromptPayCheckoutAdditionalInfoRN
5
6
  import com.primerioreactnative.datamodels.XenditCheckoutVoucherAdditionalInfoRN
6
- import com.primerioreactnative.datamodels.AchAdditionalInfoDisplayMandateRN
7
- import io.primer.android.vouchers.multibanco.MultibancoCheckoutAdditionalInfo
8
7
  import io.primer.android.payments.core.additionalInfo.PrimerCheckoutAdditionalInfo
9
8
  import io.primer.android.qrcode.QrCodeCheckoutAdditionalInfo
10
- import io.primer.android.vouchers.retailOutlets.XenditCheckoutVoucherAdditionalInfo
11
9
  import io.primer.android.stripe.ach.api.additionalInfo.AchAdditionalInfo
10
+ import io.primer.android.vouchers.multibanco.MultibancoCheckoutAdditionalInfo
11
+ import io.primer.android.vouchers.retailOutlets.XenditCheckoutVoucherAdditionalInfo
12
+
13
+ internal fun PrimerCheckoutAdditionalInfo.toCheckoutAdditionalInfoRN() =
14
+ when (this) {
15
+ is MultibancoCheckoutAdditionalInfo ->
16
+ MultibancoCheckoutAdditionalInfoRN(expiresAt, reference, entity)
17
+
18
+ is QrCodeCheckoutAdditionalInfo ->
19
+ PromptPayCheckoutAdditionalInfoRN(expiresAt.orEmpty(), qrCodeUrl, qrCodeBase64)
20
+
21
+ is XenditCheckoutVoucherAdditionalInfo ->
22
+ XenditCheckoutVoucherAdditionalInfoRN(expiresAt, couponCode, retailerName)
23
+
24
+ is AchAdditionalInfo.DisplayMandate ->
25
+ AchAdditionalInfoDisplayMandateRN()
12
26
 
13
- internal fun PrimerCheckoutAdditionalInfo.toCheckoutAdditionalInfoRN() = when (this) {
14
- is MultibancoCheckoutAdditionalInfo ->
15
- MultibancoCheckoutAdditionalInfoRN(expiresAt, reference, entity)
16
- is QrCodeCheckoutAdditionalInfo ->
17
- PromptPayCheckoutAdditionalInfoRN(expiresAt.orEmpty(), qrCodeUrl, qrCodeBase64)
18
- is XenditCheckoutVoucherAdditionalInfo ->
19
- XenditCheckoutVoucherAdditionalInfoRN(expiresAt, couponCode, retailerName)
20
- is AchAdditionalInfo.DisplayMandate ->
21
- AchAdditionalInfoDisplayMandateRN()
22
- else -> null
23
- }
27
+ else -> null
28
+ }
@@ -4,4 +4,4 @@ import com.primerioreactnative.datamodels.PrimerCheckoutDataRN
4
4
  import io.primer.android.domain.PrimerCheckoutData
5
5
 
6
6
  internal fun PrimerCheckoutData.toPrimerCheckoutDataRN() =
7
- PrimerCheckoutDataRN(payment.toPrimerPaymentRN(), additionalInfo?.toCheckoutAdditionalInfoRN())
7
+ PrimerCheckoutDataRN(payment.toPrimerPaymentRN(), additionalInfo?.toCheckoutAdditionalInfoRN())
@@ -4,12 +4,12 @@ import com.primerioreactnative.datamodels.PrimerClientSessionRN
4
4
  import io.primer.android.domain.action.models.PrimerClientSession
5
5
 
6
6
  internal fun PrimerClientSession.toPrimerClientSessionRN() =
7
- PrimerClientSessionRN(
8
- customerId,
9
- orderId,
10
- currencyCode,
11
- totalAmount,
12
- lineItems?.map { it.toPrimerLineItemRN() },
13
- orderDetails?.toPrimerOrderRN(),
14
- customer?.toPrimerCustomerRN()
15
- )
7
+ PrimerClientSessionRN(
8
+ customerId,
9
+ orderId,
10
+ currencyCode,
11
+ totalAmount,
12
+ lineItems?.map { it.toPrimerLineItemRN() },
13
+ orderDetails?.toPrimerOrderRN(),
14
+ customer?.toPrimerCustomerRN(),
15
+ )
@@ -3,11 +3,12 @@ package com.primerioreactnative.extensions
3
3
  import com.primerioreactnative.datamodels.PrimerCustomerRN
4
4
  import io.primer.android.domain.action.models.PrimerCustomer
5
5
 
6
- internal fun PrimerCustomer.toPrimerCustomerRN() = PrimerCustomerRN(
7
- emailAddress,
8
- mobileNumber,
9
- firstName,
10
- lastName,
11
- billingAddress?.toPrimerAddressRN(),
12
- shippingAddress?.toPrimerAddressRN()
13
- )
6
+ internal fun PrimerCustomer.toPrimerCustomerRN() =
7
+ PrimerCustomerRN(
8
+ emailAddress,
9
+ mobileNumber,
10
+ firstName,
11
+ lastName,
12
+ billingAddress?.toPrimerAddressRN(),
13
+ shippingAddress?.toPrimerAddressRN(),
14
+ )
@@ -3,5 +3,4 @@ package com.primerioreactnative.extensions
3
3
  import com.primerioreactnative.datamodels.PrimerDebugOptionsRN
4
4
  import io.primer.android.data.settings.PrimerDebugOptions
5
5
 
6
- internal fun PrimerDebugOptionsRN.toPrimerDebugOptions() =
7
- PrimerDebugOptions(is3DSSanityCheckEnabled)
6
+ internal fun PrimerDebugOptionsRN.toPrimerDebugOptions() = PrimerDebugOptions(is3DSSanityCheckEnabled)
@@ -1,7 +1,7 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
- import io.primer.android.domain.error.models.PrimerError
4
3
  import com.primerioreactnative.datamodels.PrimerErrorRN
4
+ import io.primer.android.domain.error.models.PrimerError
5
5
 
6
6
  fun PrimerError.toPrimerErrorRN(): PrimerErrorRN =
7
7
  PrimerErrorRN(
@@ -9,5 +9,5 @@ fun PrimerError.toPrimerErrorRN(): PrimerErrorRN =
9
9
  errorCode = errorCode,
10
10
  description = description,
11
11
  diagnosticsId = diagnosticsId,
12
- recoverySuggestion = recoverySuggestion
13
- )
12
+ recoverySuggestion = recoverySuggestion,
13
+ )
@@ -3,5 +3,4 @@ package com.primerioreactnative.extensions
3
3
  import com.primerioreactnative.datamodels.PrimerIssuingBankRN
4
4
  import io.primer.android.banks.implementation.rpc.domain.models.IssuingBank
5
5
 
6
- internal fun IssuingBank.toPrimerIssuingBankRN() =
7
- PrimerIssuingBankRN(id, name, disabled, iconUrl)
6
+ internal fun IssuingBank.toPrimerIssuingBankRN() = PrimerIssuingBankRN(id, name, disabled, iconUrl)
@@ -3,6 +3,13 @@ package com.primerioreactnative.extensions
3
3
  import com.primerioreactnative.datamodels.PrimerLineItemRN
4
4
  import io.primer.android.domain.action.models.PrimerLineItem
5
5
 
6
- internal fun PrimerLineItem.toPrimerLineItemRN() = PrimerLineItemRN(
7
- itemId, itemDescription, amount, discountAmount, quantity, taxCode, taxAmount
8
- )
6
+ internal fun PrimerLineItem.toPrimerLineItemRN() =
7
+ PrimerLineItemRN(
8
+ itemId,
9
+ itemDescription,
10
+ amount,
11
+ discountAmount,
12
+ quantity,
13
+ taxCode,
14
+ taxAmount,
15
+ )
@@ -6,7 +6,9 @@ import io.primer.android.domain.action.models.PrimerOrder
6
6
  import io.primer.android.domain.action.models.PrimerShipping
7
7
 
8
8
  internal fun PrimerOrder.toPrimerOrderRN() =
9
- PrimerOrderRN(countryCode = countryCode, shipping = shipping?.toPrimerShippingRN())
9
+ PrimerOrderRN(
10
+ countryCode = countryCode,
11
+ shipping = shipping?.toPrimerShippingRN(),
12
+ )
10
13
 
11
- internal fun PrimerShipping.toPrimerShippingRN() =
12
- PrimerShippingRN(amount, methodId, methodName, methodDescription)
14
+ internal fun PrimerShipping.toPrimerShippingRN() = PrimerShippingRN(amount, methodId, methodName, methodDescription)
@@ -4,4 +4,7 @@ import com.primerioreactnative.datamodels.PrimerPaymentMethodDataRN
4
4
  import io.primer.android.domain.tokenization.models.PrimerPaymentMethodData
5
5
 
6
6
  internal fun PrimerPaymentMethodData.toPrimerPaymentMethodDataRN() =
7
- PrimerPaymentMethodDataRN(paymentMethodType, paymentMethodType)
7
+ PrimerPaymentMethodDataRN(
8
+ paymentMethodType,
9
+ paymentMethodType,
10
+ )
@@ -1,72 +1,87 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
- import com.primerioreactnative.datamodels.*
4
- import io.primer.android.data.settings.*
5
- import io.primer.android.data.settings.PrimerStripeOptions.MandateData.TemplateMandateData
6
- import io.primer.android.data.settings.PrimerStripeOptions.MandateData.FullMandateData
7
- import io.primer.android.data.settings.PrimerStripeOptions.MandateData.FullMandateStringData
8
3
  import android.content.Context
9
4
  import com.google.android.gms.wallet.button.ButtonConstants
10
- import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonOptionsMapping
5
+ import com.primerioreactnative.datamodels.PrimerGooglePayButtonOptionsRN
6
+ import com.primerioreactnative.datamodels.PrimerGooglePayOptionsRN
7
+ import com.primerioreactnative.datamodels.PrimerGoogleShippingAddressParametersRN
8
+ import com.primerioreactnative.datamodels.PrimerKlarnaOptionsRN
9
+ import com.primerioreactnative.datamodels.PrimerPaymentMethodOptionsRN
10
+ import com.primerioreactnative.datamodels.PrimerStripeOptionsRN
11
+ import com.primerioreactnative.datamodels.PrimerThreeDsOptionsRN
12
+ import io.primer.android.data.settings.GooglePayButtonOptions
13
+ import io.primer.android.data.settings.PrimerGooglePayOptions
14
+ import io.primer.android.data.settings.PrimerGoogleShippingAddressParameters
15
+ import io.primer.android.data.settings.PrimerKlarnaOptions
16
+ import io.primer.android.data.settings.PrimerPaymentMethodOptions
17
+ import io.primer.android.data.settings.PrimerStripeOptions
18
+ import io.primer.android.data.settings.PrimerStripeOptions.MandateData.FullMandateData
19
+ import io.primer.android.data.settings.PrimerStripeOptions.MandateData.FullMandateStringData
20
+ import io.primer.android.data.settings.PrimerStripeOptions.MandateData.TemplateMandateData
21
+ import io.primer.android.data.settings.PrimerThreeDsOptions
11
22
 
12
23
  fun PrimerPaymentMethodOptionsRN.toPrimerPaymentMethodOptions(context: Context) =
13
- PrimerPaymentMethodOptions(
14
- androidSettingsRN.redirectScheme,
15
- googlePayOptions.toPrimerGooglePayOptions(),
16
- klarnaOptions.toPrimerKlarnaOptions(),
17
- threeDsOptions.toPrimerThreeDsOptions(),
18
- stripeOptions.toPrimerStripeOptions(context),
19
- )
24
+ PrimerPaymentMethodOptions(
25
+ androidSettingsRN.redirectScheme,
26
+ googlePayOptions.toPrimerGooglePayOptions(),
27
+ klarnaOptions.toPrimerKlarnaOptions(),
28
+ threeDsOptions.toPrimerThreeDsOptions(),
29
+ stripeOptions.toPrimerStripeOptions(context),
30
+ )
20
31
 
21
32
  fun PrimerGooglePayOptionsRN.toPrimerGooglePayOptions() =
22
- PrimerGooglePayOptions(
23
- merchantName = merchantName,
24
- allowedCardNetworks = allowedCardNetworks,
25
- buttonStyle = buttonStyle,
26
- captureBillingAddress = captureBillingAddress,
27
- existingPaymentMethodRequired = existingPaymentMethodRequired,
28
- shippingAddressParameters = shippingAddressParameters?.toPrimerGoogleShippingAddressParameters(),
29
- requireShippingMethod = requireShippingMethod,
30
- emailAddressRequired = emailAddressRequired,
31
- buttonOptions = buttonOptions?.toPrimerGooglePayButtonOptions() ?: GooglePayButtonOptions()
32
- )
33
+ PrimerGooglePayOptions(
34
+ merchantName = merchantName,
35
+ allowedCardNetworks = allowedCardNetworks,
36
+ buttonStyle = buttonStyle,
37
+ captureBillingAddress = captureBillingAddress,
38
+ existingPaymentMethodRequired = existingPaymentMethodRequired,
39
+ shippingAddressParameters = shippingAddressParameters?.toPrimerGoogleShippingAddressParameters(),
40
+ requireShippingMethod = requireShippingMethod,
41
+ emailAddressRequired = emailAddressRequired,
42
+ buttonOptions = buttonOptions?.toPrimerGooglePayButtonOptions() ?: GooglePayButtonOptions(),
43
+ )
33
44
 
34
45
  fun PrimerGoogleShippingAddressParametersRN.toPrimerGoogleShippingAddressParameters() =
35
- PrimerGoogleShippingAddressParameters(phoneNumberRequired)
46
+ PrimerGoogleShippingAddressParameters(phoneNumberRequired)
36
47
 
37
- fun PrimerGooglePayButtonOptionsRN.toPrimerGooglePayButtonOptions() = GooglePayButtonOptions(
38
- buttonType = buttonType ?: ButtonConstants.ButtonType.PAY,
39
- buttonTheme = buttonTheme ?: ButtonConstants.ButtonTheme.DARK,
40
- )
48
+ fun PrimerGooglePayButtonOptionsRN.toPrimerGooglePayButtonOptions() =
49
+ GooglePayButtonOptions(
50
+ buttonType = buttonType ?: ButtonConstants.ButtonType.PAY,
51
+ buttonTheme = buttonTheme ?: ButtonConstants.ButtonTheme.DARK,
52
+ )
41
53
 
42
- fun PrimerKlarnaOptionsRN.toPrimerKlarnaOptions() =
43
- PrimerKlarnaOptions(recurringPaymentDescription, webViewTitle)
54
+ fun PrimerKlarnaOptionsRN.toPrimerKlarnaOptions() = PrimerKlarnaOptions(recurringPaymentDescription, webViewTitle)
44
55
 
45
56
  fun PrimerThreeDsOptionsRN.toPrimerThreeDsOptions() =
46
- PrimerThreeDsOptions(threeDsOptionsAndroid?.threeDsAppRequestorUrl)
57
+ PrimerThreeDsOptions(
58
+ threeDsOptionsAndroid?.threeDsAppRequestorUrl,
59
+ )
47
60
 
48
61
  fun PrimerStripeOptionsRN.toPrimerStripeOptions(context: Context) =
49
- PrimerStripeOptions(
50
- mandateData = mandateData?.toMandateData(context),
51
- publishableKey = publishableKey
52
- )
62
+ PrimerStripeOptions(
63
+ mandateData = mandateData?.toMandateData(context),
64
+ publishableKey = publishableKey,
65
+ )
53
66
 
54
- private fun PrimerStripeOptionsRN.MandateDataRN.toMandateData(context: Context) = when {
55
- merchantName != null -> TemplateMandateData(merchantName)
56
- fullMandateStringResName != null -> {
57
- val stringId = context.getResources()
58
- .getIdentifier(fullMandateStringResName, "string", context.getPackageName())
59
- if (stringId != 0) {
60
- FullMandateData(stringId)
61
- } else {
62
- if (fullMandateText != null) {
63
- FullMandateStringData(fullMandateText)
64
- } else {
65
- error("Missing mandate data")
66
- }
67
- }
68
- }
67
+ private fun PrimerStripeOptionsRN.MandateDataRN.toMandateData(context: Context) =
68
+ when {
69
+ merchantName != null -> TemplateMandateData(merchantName)
70
+ fullMandateStringResName != null -> {
71
+ val stringId =
72
+ context.getResources()
73
+ .getIdentifier(fullMandateStringResName, "string", context.getPackageName())
74
+ if (stringId != 0) {
75
+ FullMandateData(stringId)
76
+ } else {
77
+ if (fullMandateText != null) {
78
+ FullMandateStringData(fullMandateText)
79
+ } else {
80
+ error("Missing mandate data")
81
+ }
82
+ }
83
+ }
69
84
 
70
- fullMandateText != null -> FullMandateStringData(fullMandateText)
71
- else -> error("Missing mandate data")
72
- }
85
+ fullMandateText != null -> FullMandateStringData(fullMandateText)
86
+ else -> error("Missing mandate data")
87
+ }
@@ -1,23 +1,23 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
3
  import com.primerioreactnative.datamodels.PrimerUIOptionsRN
4
- import io.primer.android.ui.settings.PrimerUIOptions
5
4
  import io.primer.android.data.settings.DismissalMechanism
5
+ import io.primer.android.ui.settings.PrimerUIOptions
6
6
 
7
7
  @OptIn(kotlin.ExperimentalStdlibApi::class)
8
8
  internal fun PrimerUIOptionsRN.toPrimerUIOptions() =
9
- PrimerUIOptions(
10
- isInitScreenEnabled,
11
- isSuccessScreenEnabled,
12
- isErrorScreenEnabled,
13
- buildSet {
14
- for (it in dismissalMechanism.orEmpty()) {
15
- when (it) {
16
- "gestures" -> add(DismissalMechanism.GESTURES)
17
- "closeButton" -> add(DismissalMechanism.CLOSE_BUTTON)
18
- else -> { /* no-op */ }
19
- }
20
- }
21
- }.toList().takeIf { it.isNotEmpty() } ?: listOf(DismissalMechanism.GESTURES),
22
- theme.toPrimerTheme()
23
- )
9
+ PrimerUIOptions(
10
+ isInitScreenEnabled,
11
+ isSuccessScreenEnabled,
12
+ isErrorScreenEnabled,
13
+ buildSet {
14
+ for (it in dismissalMechanism.orEmpty()) {
15
+ when (it) {
16
+ "gestures" -> add(DismissalMechanism.GESTURES)
17
+ "closeButton" -> add(DismissalMechanism.CLOSE_BUTTON)
18
+ else -> { /* no-op */ }
19
+ }
20
+ }
21
+ }.toList().takeIf { it.isNotEmpty() } ?: listOf(DismissalMechanism.GESTURES),
22
+ theme.toPrimerTheme()
23
+ )
@@ -4,10 +4,10 @@ import com.primerioreactnative.datamodels.PrimerPaymentInstrumentTokenRN
4
4
  import io.primer.android.domain.tokenization.models.PrimerVaultedPaymentMethod.AuthenticationDetails
5
5
 
6
6
  internal fun AuthenticationDetails.toThreeDsAuthenticationDataRN() =
7
- PrimerPaymentInstrumentTokenRN.ThreeDSAuthenticationData(
8
- responseCode.name,
9
- reasonCode,
10
- reasonText,
11
- protocolVersion,
12
- challengeIssued
13
- )
7
+ PrimerPaymentInstrumentTokenRN.ThreeDSAuthenticationData(
8
+ responseCode.name,
9
+ reasonCode,
10
+ reasonText,
11
+ protocolVersion,
12
+ challengeIssued,
13
+ )
@@ -8,5 +8,5 @@ internal fun KlarnaPaymentCategory.toKlarnaPaymentCategoryRN() =
8
8
  identifier = identifier,
9
9
  name = name,
10
10
  descriptiveAssetUrl = descriptiveAssetUrl,
11
- standardAssetUrl = standardAssetUrl
11
+ standardAssetUrl = standardAssetUrl,
12
12
  )
@@ -8,5 +8,5 @@ internal fun KlarnaPaymentCategoryRN.toKlarnaPaymentCategory() =
8
8
  identifier = identifier,
9
9
  name = name,
10
10
  descriptiveAssetUrl = descriptiveAssetUrl,
11
- standardAssetUrl = standardAssetUrl
11
+ standardAssetUrl = standardAssetUrl,
12
12
  )
@@ -1,14 +1,14 @@
1
1
  package com.primerioreactnative.extensions.klarna
2
2
 
3
- import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCollectableDataRN.PaymentOptionsRN
4
3
  import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCollectableDataRN.FinalizePaymentRN
5
- import io.primer.android.klarna.api.composable.KlarnaPaymentCollectableData.PaymentOptions
4
+ import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCollectableDataRN.PaymentOptionsRN
6
5
  import io.primer.android.klarna.api.composable.KlarnaPaymentCollectableData.FinalizePayment
6
+ import io.primer.android.klarna.api.composable.KlarnaPaymentCollectableData.PaymentOptions
7
7
 
8
8
  internal fun PaymentOptions.toPaymentOptionsRN() =
9
9
  PaymentOptionsRN(
10
10
  returnIntentUrl = returnIntentUrl,
11
- paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN()
11
+ paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN(),
12
12
  )
13
13
 
14
- internal fun FinalizePayment.toFinalizePaymentRN() = FinalizePaymentRN()
14
+ internal fun FinalizePayment.toFinalizePaymentRN() = FinalizePaymentRN()
@@ -1,14 +1,13 @@
1
1
  package com.primerioreactnative.extensions.klarna
2
2
 
3
- import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionCreatedRN
4
- import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentViewLoadedRN
5
3
  import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionAuthorizedRN
4
+ import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionCreatedRN
6
5
  import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionFinalizedRN
7
- import com.primerioreactnative.extensions.klarna.toKlarnaPaymentCategoryRN
8
- import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentSessionCreated
9
- import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentViewLoaded
6
+ import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentViewLoadedRN
10
7
  import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentSessionAuthorized
8
+ import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentSessionCreated
11
9
  import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentSessionFinalized
10
+ import io.primer.android.klarna.api.composable.KlarnaPaymentStep.PaymentViewLoaded
12
11
 
13
12
  internal fun PaymentSessionCreated.toPaymentSessionCreatedRN() =
14
13
  PaymentSessionCreatedRN(paymentCategories = paymentCategories.map { it.toKlarnaPaymentCategoryRN() })
@@ -16,6 +15,8 @@ internal fun PaymentSessionCreated.toPaymentSessionCreatedRN() =
16
15
  internal fun PaymentViewLoaded.toPaymentViewLoadedRN() = PaymentViewLoadedRN()
17
16
 
18
17
  internal fun PaymentSessionAuthorized.toPaymentSessionAuthorizedRN() =
19
- PaymentSessionAuthorizedRN(isFinalized = isFinalized)
18
+ PaymentSessionAuthorizedRN(
19
+ isFinalized = isFinalized,
20
+ )
20
21
 
21
- internal fun PaymentSessionFinalized.toPaymentSessionFinalizedRN() = PaymentSessionFinalizedRN()
22
+ internal fun PaymentSessionFinalized.toPaymentSessionFinalizedRN() = PaymentSessionFinalizedRN()
@@ -3,8 +3,9 @@ package com.primerioreactnative.utils
3
3
  import com.primerioreactnative.datamodels.ErrorTypeRN
4
4
  import com.primerioreactnative.datamodels.PrimerErrorRN
5
5
 
6
- infix fun ErrorTypeRN.errorTo(message: String) = PrimerErrorRN(
7
- errorId = errorId,
8
- errorCode = null,
9
- description = message
10
- )
6
+ infix fun ErrorTypeRN.errorTo(message: String) =
7
+ PrimerErrorRN(
8
+ errorId = errorId,
9
+ errorCode = null,
10
+ description = message,
11
+ )