@primer-io/react-native 2.30.0 → 2.30.1

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,52 +1,51 @@
1
1
  package com.primerioreactnative.utils
2
2
 
3
- import com.facebook.react.bridge.*
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableArray
5
+ import com.facebook.react.bridge.WritableMap
4
6
  import org.json.JSONArray
5
-
6
7
  import org.json.JSONException
7
-
8
8
  import org.json.JSONObject
9
9
 
10
-
11
- internal fun JSONObject?.toWritableMap(): WritableMap =
12
- this?.let { convertJsonToMap(this) } ?: Arguments.createMap()
10
+ internal fun JSONObject?.toWritableMap(): WritableMap = this?.let { convertJsonToMap(this) } ?: Arguments.createMap()
13
11
 
14
12
  internal fun JSONArray?.toWritableArray(): WritableArray =
15
- this?.let { convertJsonToArray(this) } ?: Arguments.createArray()
13
+ this?.let {
14
+ convertJsonToArray(this)
15
+ } ?: Arguments.createArray()
16
16
 
17
17
  @Throws(JSONException::class)
18
18
  internal fun convertJsonToMap(jsonObject: JSONObject): WritableMap {
19
- val map = Arguments.createMap()
20
- val iterator = jsonObject.keys()
21
- while (iterator.hasNext()) {
22
- val key = iterator.next()
23
- when (val value = jsonObject[key]) {
24
- is JSONObject -> map.putMap(key, convertJsonToMap(value))
25
- is JSONArray -> map.putArray(key, convertJsonToArray(value))
26
- is Boolean -> map.putBoolean(key, value)
27
- is Int -> map.putInt(key, value)
28
- is Double -> map.putDouble(key, value)
29
- is String -> map.putString(key, value)
30
- else -> map.putString(key, value.toString())
19
+ val map = Arguments.createMap()
20
+ val iterator = jsonObject.keys()
21
+ while (iterator.hasNext()) {
22
+ val key = iterator.next()
23
+ when (val value = jsonObject[key]) {
24
+ is JSONObject -> map.putMap(key, convertJsonToMap(value))
25
+ is JSONArray -> map.putArray(key, convertJsonToArray(value))
26
+ is Boolean -> map.putBoolean(key, value)
27
+ is Int -> map.putInt(key, value)
28
+ is Double -> map.putDouble(key, value)
29
+ is String -> map.putString(key, value)
30
+ else -> map.putString(key, value.toString())
31
+ }
31
32
  }
32
- }
33
- return map
33
+ return map
34
34
  }
35
35
 
36
36
  @Throws(JSONException::class)
37
37
  internal fun convertJsonToArray(jsonArray: JSONArray): WritableArray {
38
- val array: WritableArray = Arguments.createArray()
39
- for (i in 0 until jsonArray.length()) {
40
- when (val value = jsonArray[i]) {
41
- is JSONObject -> array.pushMap(convertJsonToMap(value))
42
- is JSONArray -> array.pushArray(convertJsonToArray(value))
43
- is Boolean -> array.pushBoolean(value)
44
- is Int -> array.pushInt(value)
45
- is Double -> array.pushDouble(value)
46
- is String -> array.pushString(value)
47
- else -> array.pushString(value.toString())
48
-
38
+ val array: WritableArray = Arguments.createArray()
39
+ for (i in 0 until jsonArray.length()) {
40
+ when (val value = jsonArray[i]) {
41
+ is JSONObject -> array.pushMap(convertJsonToMap(value))
42
+ is JSONArray -> array.pushArray(convertJsonToArray(value))
43
+ is Boolean -> array.pushBoolean(value)
44
+ is Int -> array.pushInt(value)
45
+ is Double -> array.pushDouble(value)
46
+ is String -> array.pushString(value)
47
+ else -> array.pushString(value.toString())
48
+ }
49
49
  }
50
- }
51
- return array
50
+ return array
52
51
  }
@@ -5,30 +5,30 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  data class PrimerHeadlessUniversalCheckoutImplementedRNCallbacks(
8
- @SerialName("onCheckoutComplete")
9
- val isOnCheckoutCompleteImplemented: Boolean? = null,
10
- @SerialName("onBeforeClientSessionUpdate")
11
- val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
12
- @SerialName("onClientSessionUpdate")
13
- val isOnClientSessionUpdateImplemented: Boolean? = null,
14
- @SerialName("onBeforePaymentCreate")
15
- val isOnBeforePaymentCreateImplemented: Boolean? = null,
16
- @SerialName("onError")
17
- val isOnErrorImplemented: Boolean? = null,
18
- @SerialName("onTokenizationSuccess")
19
- val isOnTokenizeSuccessImplemented: Boolean? = null,
20
- @SerialName("onCheckoutResume")
21
- val isOnCheckoutResumeImplemented: Boolean? = null,
22
- @SerialName("onCheckoutPending")
23
- val isOnCheckoutPendingImplemented: Boolean? = null,
24
- @SerialName("onCheckoutAdditionalInfo")
25
- val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
26
- @SerialName("onTokenizationStart")
27
- val isOnTokenizationStartImplemented: Boolean? = null,
28
- @SerialName("onPreparationStart")
29
- val isOnPreparationStartImplemented: Boolean? = null,
30
- @SerialName("onAvailablePaymentMethodsLoad")
31
- val isOnAvailablePaymentMethodsLoadImplemented: Boolean? = null,
32
- @SerialName("onPaymentMethodShow")
33
- val isOnPaymentMethodShowImplemented: Boolean? = null,
8
+ @SerialName("onCheckoutComplete")
9
+ val isOnCheckoutCompleteImplemented: Boolean? = null,
10
+ @SerialName("onBeforeClientSessionUpdate")
11
+ val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
12
+ @SerialName("onClientSessionUpdate")
13
+ val isOnClientSessionUpdateImplemented: Boolean? = null,
14
+ @SerialName("onBeforePaymentCreate")
15
+ val isOnBeforePaymentCreateImplemented: Boolean? = null,
16
+ @SerialName("onError")
17
+ val isOnErrorImplemented: Boolean? = null,
18
+ @SerialName("onTokenizationSuccess")
19
+ val isOnTokenizeSuccessImplemented: Boolean? = null,
20
+ @SerialName("onCheckoutResume")
21
+ val isOnCheckoutResumeImplemented: Boolean? = null,
22
+ @SerialName("onCheckoutPending")
23
+ val isOnCheckoutPendingImplemented: Boolean? = null,
24
+ @SerialName("onCheckoutAdditionalInfo")
25
+ val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
26
+ @SerialName("onTokenizationStart")
27
+ val isOnTokenizationStartImplemented: Boolean? = null,
28
+ @SerialName("onPreparationStart")
29
+ val isOnPreparationStartImplemented: Boolean? = null,
30
+ @SerialName("onAvailablePaymentMethodsLoad")
31
+ val isOnAvailablePaymentMethodsLoadImplemented: Boolean? = null,
32
+ @SerialName("onPaymentMethodShow")
33
+ val isOnPaymentMethodShowImplemented: Boolean? = null,
34
34
  )
@@ -5,24 +5,24 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  data class PrimerImplementedRNCallbacks(
8
- @SerialName("onCheckoutComplete")
9
- val isOnCheckoutCompleteImplemented: Boolean? = null,
10
- @SerialName("onBeforeClientSessionUpdate")
11
- val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
12
- @SerialName("onClientSessionUpdate")
13
- val isOnClientSessionUpdateImplemented: Boolean? = null,
14
- @SerialName("onBeforePaymentCreate")
15
- val isOnBeforePaymentCreateImplemented: Boolean? = null,
16
- @SerialName("onError")
17
- val isOnErrorImplemented: Boolean? = null,
18
- @SerialName("onDismiss")
19
- val isOnDismissImplemented: Boolean? = null,
20
- @SerialName("onTokenizationSuccess")
21
- val isOnTokenizeSuccessImplemented: Boolean? = null,
22
- @SerialName("onCheckoutResume")
23
- val isOnCheckoutResumeImplemented: Boolean? = null,
24
- @SerialName("onCheckoutPending")
25
- val isOnCheckoutPendingImplemented: Boolean? = null,
26
- @SerialName("onCheckoutAdditionalInfo")
27
- val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
8
+ @SerialName("onCheckoutComplete")
9
+ val isOnCheckoutCompleteImplemented: Boolean? = null,
10
+ @SerialName("onBeforeClientSessionUpdate")
11
+ val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
12
+ @SerialName("onClientSessionUpdate")
13
+ val isOnClientSessionUpdateImplemented: Boolean? = null,
14
+ @SerialName("onBeforePaymentCreate")
15
+ val isOnBeforePaymentCreateImplemented: Boolean? = null,
16
+ @SerialName("onError")
17
+ val isOnErrorImplemented: Boolean? = null,
18
+ @SerialName("onDismiss")
19
+ val isOnDismissImplemented: Boolean? = null,
20
+ @SerialName("onTokenizationSuccess")
21
+ val isOnTokenizeSuccessImplemented: Boolean? = null,
22
+ @SerialName("onCheckoutResume")
23
+ val isOnCheckoutResumeImplemented: Boolean? = null,
24
+ @SerialName("onCheckoutPending")
25
+ val isOnCheckoutPendingImplemented: Boolean? = null,
26
+ @SerialName("onCheckoutAdditionalInfo")
27
+ val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
28
28
  )
@@ -5,20 +5,19 @@ import org.junit.jupiter.api.Assertions.assertEquals
5
5
  import org.junit.jupiter.api.Test
6
6
 
7
7
  internal class ErrorHelperTest {
8
+ // Create a mock ErrorTypeRN instance
9
+ private val errorType = ErrorTypeRN.InvalidVaultedPaymentMethodId
8
10
 
9
- // Create a mock ErrorTypeRN instance
10
- private val errorType = ErrorTypeRN.InvalidVaultedPaymentMethodId
11
+ @Test
12
+ fun `errorTo should create PrimerErrorRN with correct properties`() {
13
+ // Mock message
14
+ val errorMessage = "This is an error message"
11
15
 
12
- @Test
13
- fun `errorTo should create PrimerErrorRN with correct properties`() {
14
- // Mock message
15
- val errorMessage = "This is an error message"
16
+ // Call the infix function
17
+ val primerError = errorType errorTo errorMessage
16
18
 
17
- // Call the infix function
18
- val primerError = errorType errorTo errorMessage
19
-
20
- // Verify the errorId and message are set correctly in the PrimerErrorRN object
21
- assertEquals(errorType.errorId, primerError.errorId)
22
- assertEquals(errorMessage, primerError.description)
23
- }
19
+ // Verify the errorId and message are set correctly in the PrimerErrorRN object
20
+ assertEquals(errorType.errorId, primerError.errorId)
21
+ assertEquals(errorMessage, primerError.description)
22
+ }
24
23
  }
@@ -0,0 +1,68 @@
1
+ build:
2
+ maxIssues: 10
3
+ style:
4
+ MaxLineLength:
5
+ excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
6
+ excludeCommentStatements: true
7
+ maxLineLength: 120
8
+ complexity:
9
+ LongMethod:
10
+ excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
11
+ LargeClass:
12
+ excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
13
+ formatting:
14
+ android: true
15
+ autoCorrect: true
16
+ TrailingCommaOnCallSite:
17
+ active: true
18
+ autoCorrect: true
19
+ useTrailingCommaOnCallSite: true
20
+ TrailingCommaOnDeclarationSite:
21
+ active: true
22
+ autoCorrect: true
23
+ useTrailingCommaOnDeclarationSite: true
24
+ ArgumentListWrapping:
25
+ active: true
26
+ autoCorrect: true
27
+ indentSize: 4
28
+ maxLineLength: 120
29
+ ContextReceiverMapping:
30
+ active: true
31
+ autoCorrect: true
32
+ maxLineLength: 120
33
+ indentSize: 4
34
+ FunctionReturnTypeSpacing:
35
+ active: true
36
+ autoCorrect: true
37
+ maxLineLength: 120
38
+ FunctionSignature:
39
+ active: false
40
+ autoCorrect: true
41
+ MaximumLineLength:
42
+ active: true
43
+ maxLineLength: 120
44
+ ignoreBackTickedIdentifier: true
45
+ ParameterListSpacing:
46
+ active: true
47
+ autoCorrect: true
48
+ maxLineLength: 120
49
+ ParameterListWrapping:
50
+ active: true
51
+ autoCorrect: true
52
+ maxLineLength: 120
53
+ indentSize: 4
54
+ ParameterWrapping:
55
+ active: true
56
+ autoCorrect: true
57
+ indentSize: 4
58
+ maxLineLength: 120
59
+ PropertyWrapping:
60
+ active: true
61
+ autoCorrect: true
62
+ indentSize: 4
63
+ maxLineLength: 120
64
+ Wrapping:
65
+ active: true
66
+ autoCorrect: true
67
+ indentSize: 4
68
+ maxLineLength: 120
@@ -43,11 +43,11 @@ extension ACHUserDetailsCollectableData {
43
43
  func toFirstNameRN(value: String) -> FirstNameRN {
44
44
  return FirstNameRN(value: value)
45
45
  }
46
-
46
+
47
47
  func toLastNameRN(value: String) -> LastNameRN {
48
48
  return LastNameRN(value: value)
49
49
  }
50
-
50
+
51
51
  func toEmailAddressRN(value: String) -> EmailAddressRN {
52
52
  return EmailAddressRN(value: value)
53
53
  }
@@ -39,4 +39,3 @@ extension BanksCollectableData {
39
39
  return FilterRN(text: text)
40
40
  }
41
41
  }
42
-
@@ -9,67 +9,87 @@ import Foundation
9
9
 
10
10
  internal struct ImplementedRNCallbacks: Decodable {
11
11
 
12
- internal var isOnAvailablePaymentMethodsLoadImplemented = false
13
- internal var isOnTokenizationStartImplemented = false
14
- internal var isOnTokenizationSuccessImplemented = false
15
-
16
- internal var isOnCheckoutResumeImplemented = false
17
- internal var isOnCheckoutPendingImplemented = false
18
- internal var isOnCheckoutAdditionalInfoImplemented = false
19
-
20
- internal var isOnErrorImplemented = false
21
- internal var isOnCheckoutCompleteImplemented = false
22
- internal var isOnBeforeClientSessionUpdateImplemented = false
23
-
24
- internal var isOnClientSessionUpdateImplemented = false
25
- internal var isOnBeforePaymentCreateImplemented = false
26
- internal var isOnPreparationStartImplemented = false
27
-
28
- internal var isOnPaymentMethodShowImplemented = false
29
- internal var isOnDismissImplemented = false
30
-
31
- enum CodingKeys: String, CodingKey {
32
-
33
- case isOnAvailablePaymentMethodsLoadImplemented = "onAvailablePaymentMethodsLoad"
34
- case isOnTokenizationStartImplemented = "onTokenizationStart"
35
- case isOnTokenizationSuccessImplemented = "onTokenizationSuccess"
36
-
37
- case isOnCheckoutResumeImplemented = "onCheckoutResume"
38
- case isOnCheckoutPendingImplemented = "onCheckoutPending"
39
- case isOnCheckoutAdditionalInfoImplemented = "onCheckoutAdditionalInfo"
40
-
41
- case isOnErrorImplemented = "onError"
42
- case isOnCheckoutCompleteImplemented = "onCheckoutComplete"
43
- case isOnBeforeClientSessionUpdateImplemented = "onBeforeClientSessionUpdate"
44
-
45
- case isOnClientSessionUpdateImplemented = "onClientSessionUpdate"
46
- case isOnBeforePaymentCreateImplemented = "onBeforePaymentCreate"
47
- case isOnPreparationStartImplemented = "onPreparationStart"
48
-
49
- case isOnPaymentMethodShowImplemented = "onPaymentMethodShow"
50
- case isOnDismissImplemented = "onDismiss"
51
- }
52
-
53
- init(from decoder: Decoder) throws {
54
- let container = try decoder.container(keyedBy: CodingKeys.self)
55
-
56
- self.isOnAvailablePaymentMethodsLoadImplemented = (try? container.decode(Bool.self, forKey: .isOnAvailablePaymentMethodsLoadImplemented)) ?? false
57
- self.isOnTokenizationStartImplemented = (try? container.decode(Bool.self, forKey: .isOnTokenizationStartImplemented)) ?? false
58
- self.isOnTokenizationSuccessImplemented = (try? container.decode(Bool.self, forKey: .isOnTokenizationSuccessImplemented)) ?? false
59
-
60
- self.isOnCheckoutResumeImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutResumeImplemented)) ?? false
61
- self.isOnCheckoutPendingImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutPendingImplemented)) ?? false
62
- self.isOnCheckoutAdditionalInfoImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutAdditionalInfoImplemented)) ?? false
63
-
64
- self.isOnErrorImplemented = (try? container.decode(Bool.self, forKey: .isOnErrorImplemented)) ?? false
65
- self.isOnCheckoutCompleteImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutCompleteImplemented)) ?? false
66
- self.isOnBeforeClientSessionUpdateImplemented = (try? container.decode(Bool.self, forKey: .isOnBeforeClientSessionUpdateImplemented)) ?? false
67
-
68
- self.isOnClientSessionUpdateImplemented = (try? container.decode(Bool.self, forKey: .isOnClientSessionUpdateImplemented)) ?? false
69
- self.isOnBeforePaymentCreateImplemented = (try? container.decode(Bool.self, forKey: .isOnBeforePaymentCreateImplemented)) ?? false
70
- self.isOnPreparationStartImplemented = (try? container.decode(Bool.self, forKey: .isOnPreparationStartImplemented)) ?? false
71
-
72
- self.isOnPaymentMethodShowImplemented = (try? container.decode(Bool.self, forKey: .isOnPaymentMethodShowImplemented)) ?? false
73
- self.isOnDismissImplemented = (try? container.decode(Bool.self, forKey: .isOnDismissImplemented)) ?? false
74
- }
12
+ // swiftlint:disable identifier_name
13
+ internal var isOnAvailablePaymentMethodsLoadImplemented = false
14
+ // swiftlint:enable identifier_name
15
+
16
+ internal var isOnTokenizationStartImplemented = false
17
+ internal var isOnTokenizationSuccessImplemented = false
18
+
19
+ internal var isOnCheckoutResumeImplemented = false
20
+ internal var isOnCheckoutPendingImplemented = false
21
+ internal var isOnCheckoutAdditionalInfoImplemented = false
22
+
23
+ internal var isOnErrorImplemented = false
24
+ internal var isOnCheckoutCompleteImplemented = false
25
+ internal var isOnBeforeClientSessionUpdateImplemented = false
26
+
27
+ internal var isOnClientSessionUpdateImplemented = false
28
+ internal var isOnBeforePaymentCreateImplemented = false
29
+ internal var isOnPreparationStartImplemented = false
30
+
31
+ internal var isOnPaymentMethodShowImplemented = false
32
+ internal var isOnDismissImplemented = false
33
+
34
+ enum CodingKeys: String, CodingKey {
35
+ // swiftlint:disable identifier_name
36
+ case isOnAvailablePaymentMethodsLoadImplemented = "onAvailablePaymentMethodsLoad"
37
+ // swiftlint:enable identifier_name
38
+
39
+ case isOnTokenizationStartImplemented = "onTokenizationStart"
40
+ case isOnTokenizationSuccessImplemented = "onTokenizationSuccess"
41
+
42
+ case isOnCheckoutResumeImplemented = "onCheckoutResume"
43
+ case isOnCheckoutPendingImplemented = "onCheckoutPending"
44
+ case isOnCheckoutAdditionalInfoImplemented = "onCheckoutAdditionalInfo"
45
+
46
+ case isOnErrorImplemented = "onError"
47
+ case isOnCheckoutCompleteImplemented = "onCheckoutComplete"
48
+ case isOnBeforeClientSessionUpdateImplemented = "onBeforeClientSessionUpdate"
49
+
50
+ case isOnClientSessionUpdateImplemented = "onClientSessionUpdate"
51
+ case isOnBeforePaymentCreateImplemented = "onBeforePaymentCreate"
52
+ case isOnPreparationStartImplemented = "onPreparationStart"
53
+
54
+ case isOnPaymentMethodShowImplemented = "onPaymentMethodShow"
55
+ case isOnDismissImplemented = "onDismiss"
56
+ }
57
+
58
+ init(from decoder: Decoder) throws {
59
+ let container = try decoder.container(keyedBy: CodingKeys.self)
60
+
61
+ self.isOnAvailablePaymentMethodsLoadImplemented =
62
+ (try? container.decode(Bool.self, forKey: .isOnAvailablePaymentMethodsLoadImplemented))
63
+ ?? false
64
+ self.isOnTokenizationStartImplemented =
65
+ (try? container.decode(Bool.self, forKey: .isOnTokenizationStartImplemented)) ?? false
66
+ self.isOnTokenizationSuccessImplemented =
67
+ (try? container.decode(Bool.self, forKey: .isOnTokenizationSuccessImplemented)) ?? false
68
+
69
+ self.isOnCheckoutResumeImplemented =
70
+ (try? container.decode(Bool.self, forKey: .isOnCheckoutResumeImplemented)) ?? false
71
+ self.isOnCheckoutPendingImplemented =
72
+ (try? container.decode(Bool.self, forKey: .isOnCheckoutPendingImplemented)) ?? false
73
+ self.isOnCheckoutAdditionalInfoImplemented =
74
+ (try? container.decode(Bool.self, forKey: .isOnCheckoutAdditionalInfoImplemented)) ?? false
75
+
76
+ self.isOnErrorImplemented =
77
+ (try? container.decode(Bool.self, forKey: .isOnErrorImplemented)) ?? false
78
+ self.isOnCheckoutCompleteImplemented =
79
+ (try? container.decode(Bool.self, forKey: .isOnCheckoutCompleteImplemented)) ?? false
80
+ self.isOnBeforeClientSessionUpdateImplemented =
81
+ (try? container.decode(Bool.self, forKey: .isOnBeforeClientSessionUpdateImplemented)) ?? false
82
+
83
+ self.isOnClientSessionUpdateImplemented =
84
+ (try? container.decode(Bool.self, forKey: .isOnClientSessionUpdateImplemented)) ?? false
85
+ self.isOnBeforePaymentCreateImplemented =
86
+ (try? container.decode(Bool.self, forKey: .isOnBeforePaymentCreateImplemented)) ?? false
87
+ self.isOnPreparationStartImplemented =
88
+ (try? container.decode(Bool.self, forKey: .isOnPreparationStartImplemented)) ?? false
89
+
90
+ self.isOnPaymentMethodShowImplemented =
91
+ (try? container.decode(Bool.self, forKey: .isOnPaymentMethodShowImplemented)) ?? false
92
+ self.isOnDismissImplemented =
93
+ (try? container.decode(Bool.self, forKey: .isOnDismissImplemented)) ?? false
94
+ }
75
95
  }
@@ -7,8 +7,10 @@
7
7
 
8
8
  import Foundation
9
9
 
10
+ // swiftlint:disable type_name
10
11
  @objc
11
12
  enum PrimerHeadlessUniversalCheckoutComponentEvent: Int, CaseIterable {
13
+ // swiftlint:enable type_name
12
14
 
13
15
  case onStep
14
16
  case onError
@@ -16,7 +18,7 @@ enum PrimerHeadlessUniversalCheckoutComponentEvent: Int, CaseIterable {
16
18
  case onInvalid
17
19
  case onValidating
18
20
  case onValidationError
19
-
21
+
20
22
  var stringValue: String {
21
23
  switch self {
22
24
  case .onStep:
@@ -15,7 +15,7 @@ protocol KlarnaCollectableDataRN {
15
15
  class KlarnaPaymentOptionsRN: KlarnaCollectableDataRN, Encodable {
16
16
  var validatableDataName: String = "klarnaPaymentOptions"
17
17
  var paymentCategory: KlarnaPaymentCategoryRN
18
-
18
+
19
19
  init(paymentCategory: KlarnaPaymentCategory) {
20
20
  self.paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN()
21
21
  }
@@ -29,7 +29,7 @@ extension KlarnaCollectableData {
29
29
  func toKlarnaPaymentOptionsRN(category: KlarnaPaymentCategory) -> KlarnaPaymentOptionsRN {
30
30
  return KlarnaPaymentOptionsRN(paymentCategory: category)
31
31
  }
32
-
32
+
33
33
  func toFinalizePaymentRN() -> FinalizePaymentRN {
34
34
  return FinalizePaymentRN()
35
35
  }
@@ -14,7 +14,7 @@ class KlarnaPaymentCategoryRN: NSObject, Codable {
14
14
  var name: String
15
15
  var descriptiveAssetUrl: String
16
16
  var standardAssetUrl: String
17
-
17
+
18
18
  init(identifier: String, name: String, descriptiveAssetUrl: String, standardAssetUrl: String) {
19
19
  self.identifier = identifier
20
20
  self.name = name
@@ -16,7 +16,7 @@ protocol KlarnaStepRN {
16
16
  class PaymentSessionCreatedRN: KlarnaStepRN, Encodable {
17
17
  var stepName: String = "paymentSessionCreated"
18
18
  var paymentCategories: [KlarnaPaymentCategoryRN]
19
-
19
+
20
20
  init(paymentCategories: [KlarnaPaymentCategory]) {
21
21
  self.paymentCategories = paymentCategories.map { $0.toKlarnaPaymentCategoryRN() }
22
22
  }
@@ -26,7 +26,7 @@ class PaymentSessionCreatedRN: KlarnaStepRN, Encodable {
26
26
  class PaymentSessionAuthorizedRN: KlarnaStepRN, Encodable {
27
27
  var stepName: String = "paymentSessionAuthorized"
28
28
  var isFinalized: Bool
29
-
29
+
30
30
  init(isFinalized: Bool) {
31
31
  self.isFinalized = isFinalized
32
32
  }
@@ -46,15 +46,15 @@ extension KlarnaStep {
46
46
  func toPaymentSessionCreatedRN(categories: [KlarnaPaymentCategory]) -> PaymentSessionCreatedRN {
47
47
  return PaymentSessionCreatedRN(paymentCategories: categories)
48
48
  }
49
-
49
+
50
50
  func toPaymentSessionAuthorizedRN(isFinalized: Bool) -> PaymentSessionAuthorizedRN {
51
51
  return PaymentSessionAuthorizedRN(isFinalized: isFinalized)
52
52
  }
53
-
53
+
54
54
  func toPaymentSessionFinalizedRN() -> PaymentSessionFinalizedRN {
55
55
  return PaymentSessionFinalizedRN()
56
56
  }
57
-
57
+
58
58
  func toPaymentViewLoadedRN() -> PaymentViewLoadedRN {
59
59
  return PaymentViewLoadedRN()
60
60
  }
@@ -34,7 +34,7 @@ struct PrimerValidationErrorRN: Encodable {
34
34
  var errorId: String?
35
35
  var description: String?
36
36
  var diagnosticsId: String?
37
-
37
+
38
38
  init(errorId: String? = nil,
39
39
  description: String? = nil,
40
40
  diagnosticsId: String? = nil
@@ -17,8 +17,7 @@ extension PrimerBancontactCardData {
17
17
 
18
18
  if let cardNumber = dict["cardNumber"],
19
19
  let expiryDate = dict["expiryDate"],
20
- let cardholderName = dict["cardholderName"]
21
- {
20
+ let cardholderName = dict["cardholderName"] {
22
21
  self.init(
23
22
  cardNumber: cardNumber,
24
23
  expiryDate: expiryDate,
@@ -9,23 +9,22 @@ import Foundation
9
9
  import PrimerSDK
10
10
 
11
11
  extension PrimerCardData {
12
-
12
+
13
13
  convenience init?(cardDataStr: String) {
14
14
  do {
15
15
  guard let data = cardDataStr.data(using: .utf8) else {
16
16
  return nil
17
17
  }
18
-
18
+
19
19
  let json = try JSONSerialization.jsonObject(with: data)
20
-
20
+
21
21
  guard let dict = json as? [String: String] else {
22
22
  return nil
23
23
  }
24
-
24
+
25
25
  if let cardNumber = dict["cardNumber"],
26
26
  let cvv = dict["cvv"],
27
- let expiryDate = dict["expiryDate"]
28
- {
27
+ let expiryDate = dict["expiryDate"] {
29
28
  let cardholderName = dict["cardholderName"]
30
29
  self.init(
31
30
  cardNumber: cardNumber,
@@ -35,7 +34,7 @@ extension PrimerCardData {
35
34
  } else {
36
35
  return nil
37
36
  }
38
-
37
+
39
38
  } catch {
40
39
  return nil
41
40
  }
@@ -8,7 +8,6 @@
8
8
  import Foundation
9
9
  import PrimerSDK
10
10
 
11
-
12
11
  protocol PrimerCheckoutAdditionalInfoRN: Encodable {
13
12
  var additionalInfoName: String { get }
14
13
  }
@@ -18,7 +17,7 @@ class MultibancoCheckoutAdditionalInfoRN: PrimerCheckoutAdditionalInfoRN {
18
17
  let reference: String?
19
18
  let entity: String?
20
19
  let additionalInfoName: String = "MultibancoCheckoutAdditionalInfo"
21
-
20
+
22
21
  init(expiresAt: String?, reference: String?, entity: String?) {
23
22
  self.expiresAt = expiresAt
24
23
  self.reference = reference
@@ -33,11 +32,11 @@ class PromptPayCheckoutAdditionalInfoRN: PrimerCheckoutQRCodeInfoRN {
33
32
  let qrCodeUrl: String?
34
33
  let qrCodeBase64: String?
35
34
  var additionalInfoName: String = "PromptPayCheckoutAdditionalInfo"
36
-
35
+
37
36
  init(expiresAt: String, qrCodeUrl: String?, qrCodeBase64: String?) {
38
- self.expiresAt = expiresAt
39
- self.qrCodeUrl = qrCodeUrl
40
- self.qrCodeBase64 = qrCodeBase64
37
+ self.expiresAt = expiresAt
38
+ self.qrCodeUrl = qrCodeUrl
39
+ self.qrCodeBase64 = qrCodeBase64
41
40
  }
42
41
  }
43
42
 
@@ -48,7 +47,7 @@ class XenditCheckoutVoucherAdditionalInfoRN: PrimerCheckoutVoucherInfoRN {
48
47
  let couponCode: String
49
48
  let retailerName: String?
50
49
  var additionalInfoName: String = "XenditCheckoutVoucherAdditionalInfo"
51
-
50
+
52
51
  init(expiresAt: String, couponCode: String, retailerName: String?) {
53
52
  self.expiresAt = expiresAt
54
53
  self.couponCode = couponCode