@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,6 +1,11 @@
1
1
  package com.primerioreactnative.components.manager.raw
2
2
 
3
- import com.facebook.react.bridge.*
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
7
+ import com.facebook.react.bridge.ReactMethod
8
+ import com.facebook.react.bridge.WritableMap
4
9
  import com.facebook.react.modules.core.DeviceEventManagerModule
5
10
  import com.primerioreactnative.Keys
6
11
  import com.primerioreactnative.components.datamodels.core.PrimerRawPaymentMethodType
@@ -14,193 +19,213 @@ import com.primerioreactnative.datamodels.ErrorTypeRN
14
19
  import com.primerioreactnative.datamodels.PrimerErrorRN
15
20
  import com.primerioreactnative.utils.errorTo
16
21
  import com.primerioreactnative.utils.toWritableMap
17
- import io.primer.android.core.ExperimentalPrimerApi
22
+ import io.primer.android.RetailOutletsList
18
23
  import io.primer.android.components.SdkUninitializedException
19
24
  import io.primer.android.components.domain.exception.UnsupportedPaymentMethodManagerException
20
25
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManager
21
26
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerInterface
22
- import io.primer.android.RetailOutletsList
27
+ import io.primer.android.core.ExperimentalPrimerApi
23
28
  import kotlinx.serialization.decodeFromString
24
29
  import kotlinx.serialization.encodeToString
25
30
  import kotlinx.serialization.json.Json
26
31
  import org.json.JSONArray
27
32
  import org.json.JSONObject
28
33
 
29
-
34
+ @Suppress("TooManyFunctions")
30
35
  @ExperimentalPrimerApi
31
36
  internal class PrimerRNHeadlessUniversalCheckoutRawManager(
32
- reactContext: ReactApplicationContext,
33
- private val json: Json,
37
+ reactContext: ReactApplicationContext,
38
+ private val json: Json,
34
39
  ) : ReactContextBaseJavaModule(reactContext) {
40
+ private val listener = PrimerRNHeadlessUniversalCheckoutRawManagerListener()
41
+ private lateinit var rawManager: PrimerHeadlessUniversalCheckoutRawDataManagerInterface
42
+ private var paymentMethodTypeStr: String? = null
35
43
 
36
- private val listener = PrimerRNHeadlessUniversalCheckoutRawManagerListener()
37
- private lateinit var rawManager: PrimerHeadlessUniversalCheckoutRawDataManagerInterface
38
- private var paymentMethodTypeStr: String? = null
39
-
40
- init {
41
- listener.sendEvent = { eventName, paramsJson -> sendEvent(eventName, paramsJson) }
42
- }
43
-
44
- override fun getName() = "RNTPrimerHeadlessUniversalCheckoutRawDataManager"
45
-
46
- @ReactMethod
47
- fun configure(paymentMethodTypeStr: String, promise: Promise) {
48
- try {
49
- rawManager = PrimerHeadlessUniversalCheckoutRawDataManager.newInstance(
50
- paymentMethodTypeStr
51
- )
52
- this.paymentMethodTypeStr = paymentMethodTypeStr
53
- rawManager.setListener(listener)
54
- rawManager.configure { primerInitializationData, error ->
55
- if (error == null) {
56
- when (primerInitializationData) {
57
- is RetailOutletsList -> {
58
- promise.resolve(
59
- prepareData(
60
- JSONObject().apply {
61
- put(
62
- "initializationData", JSONObject(
63
- Json.encodeToString(
64
- primerInitializationData.toRNRetailOutletsList()
65
- )
66
- )
67
- )
68
- }
44
+ init {
45
+ listener.sendEvent = { eventName, paramsJson -> sendEvent(eventName, paramsJson) }
46
+ }
47
+
48
+ override fun getName() = "RNTPrimerHeadlessUniversalCheckoutRawDataManager"
49
+
50
+ @ReactMethod
51
+ fun configure(
52
+ paymentMethodTypeStr: String,
53
+ promise: Promise,
54
+ ) {
55
+ try {
56
+ rawManager =
57
+ PrimerHeadlessUniversalCheckoutRawDataManager.newInstance(
58
+ paymentMethodTypeStr,
69
59
  )
70
- )
60
+ this.paymentMethodTypeStr = paymentMethodTypeStr
61
+ rawManager.setListener(listener)
62
+ rawManager.configure { primerInitializationData, error ->
63
+ if (error == null) {
64
+ when (primerInitializationData) {
65
+ is RetailOutletsList -> {
66
+ promise.resolve(
67
+ prepareData(
68
+ JSONObject().apply {
69
+ put(
70
+ "initializationData",
71
+ JSONObject(
72
+ Json.encodeToString(
73
+ primerInitializationData.toRNRetailOutletsList(),
74
+ ),
75
+ ),
76
+ )
77
+ },
78
+ ),
79
+ )
80
+ }
81
+
82
+ else -> promise.resolve(null)
83
+ }
84
+ } else {
85
+ promise.reject(error.errorId, error.description)
86
+ }
71
87
  }
72
- else -> promise.resolve(null)
73
- }
74
- } else promise.reject(error.errorId, error.description)
75
- }
76
- } catch (e: SdkUninitializedException) {
77
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
78
- } catch (e: UnsupportedPaymentMethodManagerException) {
79
- promise.reject(ErrorTypeRN.UnsupportedPaymentMethod.errorId, e.message, e)
80
- } catch (e: Exception) {
81
- val exception =
82
- ErrorTypeRN.NativeBridgeFailed errorTo e.message.orEmpty()
83
- promise.reject(exception.errorId, exception.description, e)
88
+ } catch (e: SdkUninitializedException) {
89
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
90
+ } catch (e: UnsupportedPaymentMethodManagerException) {
91
+ promise.reject(ErrorTypeRN.UnsupportedPaymentMethod.errorId, e.message, e)
92
+ } catch (e: Exception) {
93
+ val exception =
94
+ ErrorTypeRN.NativeBridgeFailed errorTo e.message.orEmpty()
95
+ promise.reject(exception.errorId, exception.description, e)
96
+ }
84
97
  }
85
- }
86
-
87
- @ReactMethod
88
- fun listRequiredInputElementTypes(
89
- promise: Promise
90
- ) {
91
- if (::rawManager.isInitialized.not()) {
92
- val exception =
93
- ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
94
- promise.reject(exception.errorId, exception.description)
95
- } else {
96
- promise.resolve(
97
- prepareData(
98
- JSONObject().apply {
99
- put(
100
- "inputElementTypes",
101
- JSONArray(rawManager.getRequiredInputElementTypes().map { it.name })
98
+
99
+ @ReactMethod
100
+ fun listRequiredInputElementTypes(promise: Promise) {
101
+ if (::rawManager.isInitialized.not()) {
102
+ val exception =
103
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
104
+ promise.reject(exception.errorId, exception.description)
105
+ } else {
106
+ promise.resolve(
107
+ prepareData(
108
+ JSONObject().apply {
109
+ put(
110
+ "inputElementTypes",
111
+ JSONArray(rawManager.getRequiredInputElementTypes().map { it.name }),
112
+ )
113
+ },
114
+ ),
102
115
  )
103
- }
104
- )
105
- )
116
+ }
106
117
  }
107
- }
108
-
109
- @ReactMethod
110
- fun setRawData(rawDataStr: String, promise: Promise) {
111
- if (::rawManager.isInitialized.not()) {
112
- val exception =
113
- ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
114
- promise.reject(exception.errorId, exception.description)
115
- } else {
116
- try {
117
- val rawData = when (PrimerRawPaymentMethodType.valueOf(paymentMethodTypeStr.toString())) {
118
- PrimerRawPaymentMethodType.PAYMENT_CARD -> json.decodeFromString<PrimerRNCardData>(
119
- rawDataStr
120
- ).toPrimerCardData()
121
- PrimerRawPaymentMethodType.XENDIT_OVO,
122
- PrimerRawPaymentMethodType.ADYEN_MBWAY ->
123
- json.decodeFromString<PrimerRNPhoneNumberData>(rawDataStr)
124
- .toPrimerPhoneNumberData()
125
- PrimerRawPaymentMethodType.ADYEN_BANCONTACT_CARD ->
126
- json.decodeFromString<PrimerRNBancontactCardData>(rawDataStr)
127
- .toPrimerBancontactCardData()
128
- PrimerRawPaymentMethodType.XENDIT_RETAIL_OUTLETS ->
129
- json.decodeFromString<PrimerRNRetailOutletData>(rawDataStr)
130
- .toPrimerRetailOutletData()
118
+
119
+ @ReactMethod
120
+ fun setRawData(
121
+ rawDataStr: String,
122
+ promise: Promise,
123
+ ) {
124
+ if (::rawManager.isInitialized.not()) {
125
+ val exception =
126
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
127
+ promise.reject(exception.errorId, exception.description)
128
+ } else {
129
+ try {
130
+ val rawData =
131
+ when (PrimerRawPaymentMethodType.valueOf(paymentMethodTypeStr.toString())) {
132
+ PrimerRawPaymentMethodType.PAYMENT_CARD ->
133
+ json.decodeFromString<PrimerRNCardData>(
134
+ rawDataStr,
135
+ ).toPrimerCardData()
136
+
137
+ PrimerRawPaymentMethodType.XENDIT_OVO,
138
+ PrimerRawPaymentMethodType.ADYEN_MBWAY,
139
+ ->
140
+ json.decodeFromString<PrimerRNPhoneNumberData>(rawDataStr)
141
+ .toPrimerPhoneNumberData()
142
+
143
+ PrimerRawPaymentMethodType.ADYEN_BANCONTACT_CARD ->
144
+ json.decodeFromString<PrimerRNBancontactCardData>(rawDataStr)
145
+ .toPrimerBancontactCardData()
146
+
147
+ PrimerRawPaymentMethodType.XENDIT_RETAIL_OUTLETS ->
148
+ json.decodeFromString<PrimerRNRetailOutletData>(rawDataStr)
149
+ .toPrimerRetailOutletData()
150
+ }
151
+ rawManager.setRawData(rawData)
152
+ promise.resolve(null)
153
+ } catch (e: Exception) {
154
+ val exception =
155
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to decode $rawDataStr on Android." +
156
+ " Make sure you're providing a valid 'RawData' (or any inherited) object."
157
+ onError(exception)
158
+ promise.reject(exception.errorId, exception.description, e)
159
+ }
131
160
  }
132
- rawManager.setRawData(rawData)
133
- promise.resolve(null)
134
- } catch (e: Exception) {
135
- val exception =
136
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to decode $rawDataStr on Android." +
137
- " Make sure you're providing a valid 'RawData' (or any inherited) object."
138
- onError(exception)
139
- promise.reject(exception.errorId, exception.description, e)
140
- }
141
161
  }
142
- }
143
-
144
- @ReactMethod
145
- fun submit(promise: Promise) {
146
- if (::rawManager.isInitialized.not()) {
147
- val exception =
148
- ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
149
- promise.reject(exception.errorId, exception.description)
150
- } else {
151
- rawManager.submit()
152
- promise.resolve(null)
162
+
163
+ @ReactMethod
164
+ fun submit(promise: Promise) {
165
+ if (::rawManager.isInitialized.not()) {
166
+ val exception =
167
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
168
+ promise.reject(exception.errorId, exception.description)
169
+ } else {
170
+ rawManager.submit()
171
+ promise.resolve(null)
172
+ }
153
173
  }
154
- }
155
-
156
- @ReactMethod
157
- fun cleanUp(promise: Promise) {
158
- if (::rawManager.isInitialized.not()) {
159
- val exception =
160
- ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
161
- promise.reject(exception.errorId, exception.description)
162
- } else {
163
- rawManager.cleanup()
164
- promise.resolve(null)
174
+
175
+ @ReactMethod
176
+ fun cleanUp(promise: Promise) {
177
+ if (::rawManager.isInitialized.not()) {
178
+ val exception =
179
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
180
+ promise.reject(exception.errorId, exception.description)
181
+ } else {
182
+ rawManager.cleanup()
183
+ promise.resolve(null)
184
+ }
165
185
  }
166
- }
167
-
168
- @ReactMethod
169
- fun addListener(eventName: String?) = Unit
170
-
171
- @ReactMethod
172
- fun removeListeners(count: Int?) = Unit
173
-
174
- private fun sendEvent(name: String, params: WritableMap) {
175
- reactApplicationContext.getJSModule(
176
- DeviceEventManagerModule.RCTDeviceEventEmitter::class.java
177
- ).emit(name, params)
178
- }
179
-
180
- private fun sendEvent(name: String, data: JSONObject?) {
181
- val params = prepareData(data)
182
- reactApplicationContext.getJSModule(
183
- DeviceEventManagerModule.RCTDeviceEventEmitter::class.java
184
- ).emit(name, params)
185
- }
186
-
187
- private fun prepareData(data: JSONObject?): WritableMap {
188
- return data.toWritableMap()
189
- }
190
-
191
- private fun onError(exception: PrimerErrorRN) {
192
- val params = Arguments.createMap()
193
- val errorJson = JSONObject(Json.encodeToString(exception))
194
- val errorData = prepareData(errorJson)
195
- params.putMap(Keys.ERROR, errorData)
196
- sendEvent(PrimerHeadlessUniversalCheckoutEvent.ON_ERROR.eventName, params)
197
- }
198
-
199
- private companion object {
200
- const val UNINITIALIZED_ERROR =
201
- """
186
+
187
+ @ReactMethod
188
+ fun addListener(eventName: String?) = Unit
189
+
190
+ @ReactMethod
191
+ fun removeListeners(count: Int?) = Unit
192
+
193
+ private fun sendEvent(
194
+ name: String,
195
+ params: WritableMap,
196
+ ) {
197
+ reactApplicationContext.getJSModule(
198
+ DeviceEventManagerModule.RCTDeviceEventEmitter::class.java,
199
+ ).emit(name, params)
200
+ }
201
+
202
+ private fun sendEvent(
203
+ name: String,
204
+ data: JSONObject?,
205
+ ) {
206
+ val params = prepareData(data)
207
+ reactApplicationContext.getJSModule(
208
+ DeviceEventManagerModule.RCTDeviceEventEmitter::class.java,
209
+ ).emit(name, params)
210
+ }
211
+
212
+ private fun prepareData(data: JSONObject?): WritableMap {
213
+ return data.toWritableMap()
214
+ }
215
+
216
+ private fun onError(exception: PrimerErrorRN) {
217
+ val params = Arguments.createMap()
218
+ val errorJson = JSONObject(Json.encodeToString(exception))
219
+ val errorData = prepareData(errorJson)
220
+ params.putMap(Keys.ERROR, errorData)
221
+ sendEvent(PrimerHeadlessUniversalCheckoutEvent.ON_ERROR.eventName, params)
222
+ }
223
+
224
+ private companion object {
225
+ const val UNINITIALIZED_ERROR =
226
+ """
202
227
  The RawDataManager has not been initialized.
203
228
  Make sure you have initialized the `RawDataManager' first.
204
229
  """
205
- }
230
+ }
206
231
  }
@@ -2,11 +2,11 @@ package com.primerioreactnative.components.manager.raw
2
2
 
3
3
  import com.primerioreactnative.components.events.PrimerHeadlessUniversalCheckoutRawDataManagerEvent
4
4
  import com.primerioreactnative.datamodels.PrimerInputValidationErrorRN
5
- import io.primer.android.core.ExperimentalPrimerApi
6
5
  import io.primer.android.components.domain.core.models.card.PrimerCardMetadata
7
6
  import io.primer.android.components.domain.core.models.metadata.PrimerPaymentMethodMetadata
8
7
  import io.primer.android.components.domain.error.PrimerInputValidationError
9
8
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerListener
9
+ import io.primer.android.core.ExperimentalPrimerApi
10
10
  import kotlinx.serialization.encodeToString
11
11
  import kotlinx.serialization.json.Json
12
12
  import org.json.JSONArray
@@ -14,44 +14,46 @@ import org.json.JSONObject
14
14
 
15
15
  @ExperimentalPrimerApi
16
16
  internal class PrimerRNHeadlessUniversalCheckoutRawManagerListener :
17
- PrimerHeadlessUniversalCheckoutRawDataManagerListener {
17
+ PrimerHeadlessUniversalCheckoutRawDataManagerListener {
18
+ var sendEvent: ((eventName: String, paramsJson: JSONObject?) -> Unit)? = null
18
19
 
19
- var sendEvent: ((eventName: String, paramsJson: JSONObject?) -> Unit)? = null
20
-
21
- override fun onValidationChanged(isValid: Boolean, errors: List<PrimerInputValidationError>) {
22
- sendEvent?.invoke(
23
- PrimerHeadlessUniversalCheckoutRawDataManagerEvent.ON_VALIDATION_CHANGED.eventName,
24
- JSONObject().apply {
25
- put("isValid", isValid)
26
- put(
27
- "errors",
28
- JSONArray(
29
- errors.map {
30
- JSONObject(
31
- Json.encodeToString(
32
- PrimerInputValidationErrorRN(
33
- it.errorId,
34
- it.description,
35
- it.inputElementType.name,
36
- it.diagnosticsId
37
- )
20
+ override fun onValidationChanged(
21
+ isValid: Boolean,
22
+ errors: List<PrimerInputValidationError>,
23
+ ) {
24
+ sendEvent?.invoke(
25
+ PrimerHeadlessUniversalCheckoutRawDataManagerEvent.ON_VALIDATION_CHANGED.eventName,
26
+ JSONObject().apply {
27
+ put("isValid", isValid)
28
+ put(
29
+ "errors",
30
+ JSONArray(
31
+ errors.map {
32
+ JSONObject(
33
+ Json.encodeToString(
34
+ PrimerInputValidationErrorRN(
35
+ it.errorId,
36
+ it.description,
37
+ it.inputElementType.name,
38
+ it.diagnosticsId,
39
+ ),
40
+ ),
41
+ )
42
+ },
43
+ ),
38
44
  )
39
- )
40
- }
41
- )
45
+ },
42
46
  )
43
- }
44
- )
45
- }
47
+ }
46
48
 
47
- override fun onMetadataChanged(metadata: PrimerPaymentMethodMetadata) {
48
- sendEvent?.invoke(
49
- PrimerHeadlessUniversalCheckoutRawDataManagerEvent.ON_METADATA_CHANGED.eventName,
50
- JSONObject().apply {
51
- if (metadata is PrimerCardMetadata) {
52
- put("cardNetwork", metadata.cardNetwork.name)
53
- }
54
- }
55
- )
56
- }
49
+ override fun onMetadataChanged(metadata: PrimerPaymentMethodMetadata) {
50
+ sendEvent?.invoke(
51
+ PrimerHeadlessUniversalCheckoutRawDataManagerEvent.ON_METADATA_CHANGED.eventName,
52
+ JSONObject().apply {
53
+ if (metadata is PrimerCardMetadata) {
54
+ put("cardNetwork", metadata.cardNetwork.name)
55
+ }
56
+ },
57
+ )
58
+ }
57
59
  }