@primer-io/react-native 2.16.0 → 2.17.0-rc.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 (283) hide show
  1. package/android/.project +2 -2
  2. package/android/build.gradle +2 -3
  3. package/android/gradle.properties +1 -1
  4. package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +0 -15
  5. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +13 -34
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -8
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +20 -120
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +61 -69
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +6 -2
  10. package/android/src/main/java/com/primerioreactnative/{huc → components}/assets/AssetsManager.kt +5 -14
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +23 -0
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +24 -0
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +25 -0
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +9 -0
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/PrimerRNAsset.kt +99 -0
  16. package/android/src/main/java/com/primerioreactnative/{huc/datamodels/manager/raw/card/PrimerRNRawCardData.kt → components/datamodels/manager/raw/card/PrimerRNCardData.kt} +6 -8
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +14 -0
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +12 -0
  20. package/android/src/main/java/com/primerioreactnative/{huc → components}/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
  21. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +17 -0
  22. package/android/src/main/java/com/primerioreactnative/{huc → components}/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -2
  23. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +131 -0
  24. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +87 -0
  25. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +72 -68
  26. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +13 -5
  27. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +5 -4
  28. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +11 -0
  29. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +0 -8
  30. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +0 -4
  31. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +15 -15
  32. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +7 -7
  33. package/ios/Podfile.lock +1 -1
  34. package/ios/ReactNative.xcodeproj/project.pbxproj +20 -20
  35. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +75 -0
  36. package/ios/{DataModels/RNTPrimerCardRedirectData.swift → Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift} +5 -8
  37. package/ios/{DataModels/RNTPrimerCardData.swift → Sources/DataModels/PrimerCardData+Extension.swift} +2 -5
  38. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +20 -0
  39. package/ios/{DataModels/RNTPrimerPhoneNumberData.swift → Sources/DataModels/PrimerPhoneNumberData+Extension.swift} +0 -1
  40. package/ios/{DataModels/RNTPrimerRetailerData.swift → Sources/DataModels/PrimerRawRetailerData+Extension.swift} +3 -4
  41. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +82 -0
  42. package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
  43. package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
  44. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +65 -0
  45. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
  46. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
  47. package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
  48. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
  49. package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
  50. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
  51. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
  52. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
  53. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
  54. package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
  55. package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
  56. package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
  57. package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
  58. package/ios/Sources/RNTPrimer.m +80 -0
  59. package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +20 -34
  60. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
  61. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  62. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
  63. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  64. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
  65. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  66. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
  67. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  68. package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  69. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  70. package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
  71. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
  72. package/lib/commonjs/Primer.js +52 -52
  73. package/lib/commonjs/Primer.js.map +1 -1
  74. package/lib/commonjs/PrimerInput.js.map +1 -1
  75. package/lib/commonjs/RNPrimer.js +2 -12
  76. package/lib/commonjs/RNPrimer.js.map +1 -1
  77. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  78. package/lib/commonjs/index.js +63 -71
  79. package/lib/commonjs/index.js.map +1 -1
  80. package/lib/commonjs/models/PrimerAsset.js +2 -0
  81. package/lib/commonjs/models/PrimerAsset.js.map +1 -0
  82. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  83. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  84. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  85. package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
  86. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
  87. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
  88. package/lib/commonjs/models/PrimerError.js +4 -4
  89. package/lib/commonjs/models/PrimerError.js.map +1 -1
  90. package/lib/commonjs/models/PrimerHandlers.js +2 -0
  91. package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
  92. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  93. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  94. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
  95. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
  96. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
  97. package/lib/commonjs/models/PrimerInputElementType.js +20 -0
  98. package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
  99. package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
  100. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
  101. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  102. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
  103. package/lib/commonjs/models/PrimerRawData.js.map +1 -1
  104. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
  105. package/lib/commonjs/models/PrimerSettings.js.map +1 -1
  106. package/lib/commonjs/models/PrimerTheme.js.map +1 -1
  107. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
  108. package/lib/commonjs/utils/index.js.map +1 -1
  109. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
  110. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  111. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
  112. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  113. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
  114. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  115. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
  116. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  117. package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  118. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  119. package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
  120. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
  121. package/lib/module/Primer.js +52 -52
  122. package/lib/module/Primer.js.map +1 -1
  123. package/lib/module/PrimerInput.js.map +1 -1
  124. package/lib/module/RNPrimer.js +2 -12
  125. package/lib/module/RNPrimer.js.map +1 -1
  126. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  127. package/lib/module/index.js +15 -9
  128. package/lib/module/index.js.map +1 -1
  129. package/lib/module/models/PrimerAsset.js +2 -0
  130. package/lib/module/models/PrimerAsset.js.map +1 -0
  131. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  132. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  133. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  134. package/lib/module/models/PrimerClientSession.js.map +1 -1
  135. package/lib/module/models/PrimerCountryCode.js.map +1 -1
  136. package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
  137. package/lib/module/models/PrimerError.js +4 -4
  138. package/lib/module/models/PrimerError.js.map +1 -1
  139. package/lib/module/models/PrimerHandlers.js +2 -0
  140. package/lib/module/models/PrimerHandlers.js.map +1 -0
  141. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  142. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  143. package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
  144. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
  145. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  146. package/lib/module/models/PrimerInputElementType.js +13 -0
  147. package/lib/module/models/PrimerInputElementType.js.map +1 -0
  148. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  149. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
  150. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  151. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  152. package/lib/module/models/PrimerRawData.js.map +1 -1
  153. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  154. package/lib/module/models/PrimerSettings.js.map +1 -1
  155. package/lib/module/models/PrimerTheme.js.map +1 -1
  156. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  157. package/lib/module/utils/index.js.map +1 -1
  158. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
  159. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  160. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
  161. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  162. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
  163. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  164. package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
  165. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  166. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
  167. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  168. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
  169. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  170. package/lib/typescript/Primer.d.ts +1 -0
  171. package/lib/typescript/Primer.d.ts.map +1 -0
  172. package/lib/typescript/PrimerInput.d.ts +5 -4
  173. package/lib/typescript/PrimerInput.d.ts.map +1 -0
  174. package/lib/typescript/RNPrimer.d.ts +3 -4
  175. package/lib/typescript/RNPrimer.d.ts.map +1 -0
  176. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  177. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  178. package/lib/typescript/index.d.ts +18 -9
  179. package/lib/typescript/index.d.ts.map +1 -0
  180. package/lib/typescript/models/PrimerAsset.d.ts +14 -0
  181. package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
  182. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
  183. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  184. package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
  185. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
  186. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
  187. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  188. package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
  189. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
  190. package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
  191. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
  192. package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
  193. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
  194. package/lib/typescript/models/PrimerError.d.ts +3 -1
  195. package/lib/typescript/models/PrimerError.d.ts.map +1 -0
  196. package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
  197. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
  198. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
  199. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  200. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
  201. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  202. package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
  203. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
  204. package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
  205. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
  206. package/lib/typescript/models/PrimerInterfaces.d.ts +2 -20
  207. package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
  208. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
  209. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  210. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
  211. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  212. package/lib/typescript/models/PrimerRawData.d.ts +7 -10
  213. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
  214. package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
  215. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
  216. package/lib/typescript/models/PrimerSettings.d.ts +30 -16
  217. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
  218. package/lib/typescript/models/PrimerTheme.d.ts +3 -2
  219. package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
  220. package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
  221. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
  222. package/lib/typescript/utils/index.d.ts +1 -0
  223. package/lib/typescript/utils/index.d.ts.map +1 -0
  224. package/package.json +8 -7
  225. package/primer-io-react-native.podspec +1 -2
  226. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
  227. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
  228. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
  229. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
  230. package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
  231. package/src/HeadlessUniversalCheckout/types.ts +32 -0
  232. package/src/Primer.ts +49 -60
  233. package/src/RNPrimer.ts +2 -18
  234. package/src/index.tsx +43 -29
  235. package/src/models/PrimerAsset.ts +13 -0
  236. package/src/models/PrimerError.ts +3 -1
  237. package/src/models/PrimerHandlers.ts +25 -0
  238. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
  239. package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
  240. package/src/models/PrimerInputElementType.ts +11 -0
  241. package/src/models/PrimerInterfaces.ts +1 -28
  242. package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
  243. package/src/models/PrimerRawData.ts +6 -10
  244. package/src/models/PrimerSettings.ts +40 -26
  245. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
  246. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
  247. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
  248. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
  249. package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
  250. package/ios/DataModels/PrimerErrorRN.swift +0 -35
  251. package/ios/DataModels/PrimerSettingsRN.swift +0 -84
  252. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
  253. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
  254. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
  255. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
  256. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
  257. package/ios/RNTPrimer.m +0 -59
  258. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
  259. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  260. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  261. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  262. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  263. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  264. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  265. package/lib/commonjs/headless_checkout/types.js +0 -6
  266. package/lib/commonjs/headless_checkout/types.js.map +0 -1
  267. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
  268. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  269. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
  270. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  271. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  272. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
  273. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  274. package/lib/module/headless_checkout/types.js +0 -2
  275. package/lib/module/headless_checkout/types.js.map +0 -1
  276. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
  277. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
  278. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
  279. package/lib/typescript/headless_checkout/types.d.ts +0 -22
  280. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
  281. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
  282. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
  283. package/src/headless_checkout/types.ts +0 -32
@@ -0,0 +1,80 @@
1
+ //
2
+ // RNTPrimer.m
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 15/3/22.
6
+ //
7
+
8
+ #import <React/RCTBridgeModule.h>
9
+ #import <React/RCTEventEmitter.h>
10
+
11
+ @interface RCT_EXTERN_MODULE(NativePrimer, RCTEventEmitter)
12
+
13
+ // MARK: - PRIMER SDK API
14
+
15
+ RCT_EXTERN_METHOD(configure:(NSString *)settingsStr
16
+ resolver:(RCTPromiseResolveBlock)resolver
17
+ rejecter:(RCTPromiseRejectBlock)rejecter)
18
+
19
+ RCT_EXTERN_METHOD(showUniversalCheckoutWithClientToken:(NSString *)clientToken
20
+ resolver:(RCTPromiseResolveBlock)resolver
21
+ rejecter:(RCTPromiseRejectBlock)rejecter)
22
+
23
+ RCT_EXTERN_METHOD(showVaultManagerWithClientToken:(NSString *)clientToken
24
+ resolver:(RCTPromiseResolveBlock)resolver
25
+ rejecter:(RCTPromiseRejectBlock)rejecter)
26
+
27
+ RCT_EXTERN_METHOD(dismiss)
28
+
29
+ RCT_EXTERN_METHOD(cleanUp)
30
+
31
+ // MARK: - HELPERS
32
+
33
+ RCT_EXTERN_METHOD(setImplementedRNCallbacks:(NSString *)implementedRNCallbacksStr
34
+ resolver:(RCTPromiseResolveBlock)resolver
35
+ rejecter:(RCTPromiseRejectBlock)rejecter)
36
+
37
+ // MARK: - DECISION HANDLERS
38
+
39
+ // MARK: Tokenization Handlers
40
+
41
+ RCT_EXTERN_METHOD(handleTokenizationNewClientToken:(NSString *)newClientToken
42
+ resolver:(RCTPromiseResolveBlock)resolver
43
+ rejecter:(RCTPromiseRejectBlock)rejecter)
44
+
45
+ RCT_EXTERN_METHOD(handleTokenizationSuccess:(RCTPromiseResolveBlock)resolver
46
+ rejecter:(RCTPromiseRejectBlock)rejecter)
47
+
48
+ RCT_EXTERN_METHOD(handleTokenizationFailure:(NSString *)errorMessage
49
+ resolver:(RCTPromiseResolveBlock)resolver
50
+ rejecter:(RCTPromiseRejectBlock)rejecter)
51
+
52
+ // MARK: Resume Handlers
53
+
54
+ RCT_EXTERN_METHOD(handleResumeWithNewClientToken:(NSString *)newClientToken
55
+ resolver:(RCTPromiseResolveBlock)resolver
56
+ rejecter:(RCTPromiseRejectBlock)rejecter)
57
+
58
+ RCT_EXTERN_METHOD(handleResumeSuccess:(RCTPromiseResolveBlock)resolver
59
+ rejecter:(RCTPromiseRejectBlock)rejecter)
60
+
61
+ RCT_EXTERN_METHOD(handleResumeFailure:(NSString *)errorMessage
62
+ resolver:(RCTPromiseResolveBlock)resolver
63
+ rejecter:(RCTPromiseRejectBlock)rejecter)
64
+
65
+ // MARK: Payment Creation Handlers
66
+
67
+ RCT_EXTERN_METHOD(handlePaymentCreationAbort:(NSString *)errorMessage
68
+ resolver:(RCTPromiseResolveBlock)resolver
69
+ rejecter:(RCTPromiseRejectBlock)rejecter)
70
+
71
+ RCT_EXTERN_METHOD(handlePaymentCreationContinue:(RCTPromiseResolveBlock)resolver
72
+ rejecter:(RCTPromiseRejectBlock)rejecter)
73
+
74
+ // MARK: Error Handler
75
+
76
+ RCT_EXTERN_METHOD(showErrorMessage:(NSString *)errorMessage
77
+ resolver:(RCTPromiseResolveBlock)resolver
78
+ rejecter:(RCTPromiseRejectBlock)rejecter)
79
+
80
+ @end
@@ -125,37 +125,13 @@ class RNTPrimer: RCTEventEmitter {
125
125
  }
126
126
  }
127
127
 
128
- @objc
129
- public func showPaymentMethod(_ paymentMethodTypeStr: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
130
- DispatchQueue.main.async {
131
- do {
132
- guard let primerIntent = PrimerSessionIntent(rawValue: intent) else {
133
- let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Intent \(intent) is not valid."])
134
- throw err
135
- }
136
-
137
- PrimerSDK.Primer.shared.showPaymentMethod(paymentMethodTypeStr, withIntent: primerIntent, andClientToken: clientToken) { err in
138
- DispatchQueue.main.async {
139
- if let err = err {
140
- rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
141
- } else {
142
- resolver(nil)
143
- }
144
- }
145
- }
146
- } catch {
147
- rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
148
- }
149
- }
150
- }
151
-
152
128
  @objc
153
129
  public func dismiss() {
154
130
  Primer.shared.dismiss()
155
131
  }
156
132
 
157
133
  @objc
158
- public func dispose() {
134
+ public func cleanUp() {
159
135
  Primer.shared.dismiss()
160
136
  }
161
137
 
@@ -253,7 +229,7 @@ class RNTPrimer: RCTEventEmitter {
253
229
  // MARK: Helpers
254
230
 
255
231
  private func configure(settingsStr: String? = nil) throws {
256
- try PrimerSDK.Primer.shared.configure(settings: PrimerSettings.initialize(with: settingsStr), delegate: self)
232
+ try PrimerSDK.Primer.shared.configure(settings: PrimerSettings(settingsStr: settingsStr), delegate: self)
257
233
  }
258
234
 
259
235
  private func detectImplemetedCallbacks() {
@@ -265,9 +241,13 @@ class RNTPrimer: RCTEventEmitter {
265
241
  DispatchQueue.main.async {
266
242
  do {
267
243
  guard let implementedRNCallbacksData = implementedRNCallbacksStr.data(using: .utf8) else {
268
- let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Failed to convert string to data"])
244
+ let err = RNTNativeError(
245
+ errorId: "native-ios",
246
+ errorDescription: "Failed to convert string to data",
247
+ recoverySuggestion: nil)
269
248
  throw err
270
249
  }
250
+
271
251
  self.implementedRNCallbacks = try JSONDecoder().decode(ImplementedRNCallbacks.self, from: implementedRNCallbacksData)
272
252
  resolver(nil)
273
253
  } catch {
@@ -312,7 +292,10 @@ extension RNTPrimer: PrimerDelegate {
312
292
  self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: true)
313
293
  }
314
294
  } else {
315
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onCheckoutComplete] should be implemented."])
295
+ let err = RNTNativeError(
296
+ errorId: "native-ios",
297
+ errorDescription: "Callback [onCheckoutComplete] should be implemented.",
298
+ recoverySuggestion: nil)
316
299
  self.handleRNBridgeError(err, checkoutData: data, stopOnDebug: false)
317
300
  }
318
301
  }
@@ -320,17 +303,20 @@ extension RNTPrimer: PrimerDelegate {
320
303
 
321
304
  func primerDidEnterResumePendingWithPaymentAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
322
305
  DispatchQueue.main.async {
323
- if self.implementedRNCallbacks?.isOnResumePendingImplemented == true {
306
+ if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
324
307
  do {
325
308
  let checkoutAdditionalInfo = try JSONEncoder().encode(additionalInfo)
326
309
  let checkoutAdditionalInfoJson = try JSONSerialization.jsonObject(with: checkoutAdditionalInfo, options: .allowFragments)
327
- self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onResumePending.stringValue, body: checkoutAdditionalInfoJson)
310
+ self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onCheckoutPending.stringValue, body: checkoutAdditionalInfoJson)
328
311
  } catch {
329
312
  let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
330
313
  self.handleRNBridgeError(error, checkoutData: checkoutData, stopOnDebug: true)
331
314
  }
332
315
  } else {
333
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onResumePending] should be implemented."])
316
+ let err = RNTNativeError(
317
+ errorId: "native-ios",
318
+ errorDescription: "Callback [onResumePending] should be implemented.",
319
+ recoverySuggestion: nil)
334
320
  let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
335
321
  self.handleRNBridgeError(err, checkoutData: checkoutData, stopOnDebug: false)
336
322
  }
@@ -394,7 +380,7 @@ extension RNTPrimer: PrimerDelegate {
394
380
  }
395
381
 
396
382
  func primerDidTokenizePaymentMethod(_ paymentMethodTokenData: PrimerPaymentMethodTokenData, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
397
- if self.implementedRNCallbacks?.isOnTokenizeSuccessImplemented == true {
383
+ if self.implementedRNCallbacks?.isOnTokenizationSuccessImplemented == true {
398
384
  self.primerDidTokenizePaymentMethodDecisionHandler = { (newClientToken, errorMessage) in
399
385
  DispatchQueue.main.async {
400
386
  if let errorMessage = errorMessage {
@@ -424,7 +410,7 @@ extension RNTPrimer: PrimerDelegate {
424
410
  }
425
411
 
426
412
  func primerDidResumeWith(_ resumeToken: String, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
427
- if self.implementedRNCallbacks?.isOnResumeSuccessImplemented == true {
413
+ if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
428
414
  self.primerDidResumeWithDecisionHandler = { (resumeToken, errorMessage) in
429
415
  DispatchQueue.main.async {
430
416
  if let errorMessage = errorMessage {
@@ -469,7 +455,7 @@ extension RNTPrimer: PrimerDelegate {
469
455
  }
470
456
 
471
457
  // Send the error message to the RN bridge.
472
- self.handleRNBridgeError(error, checkoutData: nil, stopOnDebug: false)
458
+ self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: false)
473
459
 
474
460
  } else {
475
461
  // RN dev hasn't opted in on listening SDK dismiss.
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ RNTPrimerHeadlessUniversalCheckoutAssetsManager
10
+ } = _reactNative.NativeModules;
11
+ class PrimerHeadlessUniversalCheckoutAssetsManager {
12
+ ///////////////////////////////////////////
13
+ // Init
14
+ ///////////////////////////////////////////
15
+ constructor() {}
16
+
17
+ ///////////////////////////////////////////
18
+ // Native API
19
+ ///////////////////////////////////////////
20
+
21
+ async getCardNetworkImageURL(cardNetwork) {
22
+ return new Promise(async (resolve, reject) => {
23
+ try {
24
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getCardNetworkImage(cardNetwork);
25
+ resolve(data.cardNetworkImageURL);
26
+ } catch (err) {
27
+ console.error(err);
28
+ reject(err);
29
+ }
30
+ });
31
+ }
32
+ async getPaymentMethodAsset(paymentMethodType) {
33
+ return new Promise(async (resolve, reject) => {
34
+ try {
35
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAsset(paymentMethodType);
36
+ const paymentMethodAsset = data.paymentMethodAsset;
37
+ resolve(paymentMethodAsset);
38
+ } catch (err) {
39
+ console.error(err);
40
+ reject(err);
41
+ }
42
+ });
43
+ }
44
+ async getPaymentMethodAssets() {
45
+ return new Promise(async (resolve, reject) => {
46
+ try {
47
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAssets();
48
+ const paymentMethodAssets = data.paymentMethodAssets;
49
+ resolve(paymentMethodAssets);
50
+ } catch (err) {
51
+ console.error(err);
52
+ reject(err);
53
+ }
54
+ });
55
+ }
56
+ }
57
+ var _default = PrimerHeadlessUniversalCheckoutAssetsManager;
58
+ exports.default = _default;
59
+ //# sourceMappingURL=AssetsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalCheckoutAssetsManager","NativeModules","PrimerHeadlessUniversalCheckoutAssetsManager","constructor","getCardNetworkImageURL","cardNetwork","Promise","resolve","reject","data","getCardNetworkImage","cardNetworkImageURL","err","console","error","getPaymentMethodAsset","paymentMethodType","paymentMethodAsset","getPaymentMethodAssets","paymentMethodAssets"],"sourceRoot":"../../src","sources":["AssetsManager.ts"],"mappings":";;;;;;AACA;AAEA,MAAM;EAAEA;AAAgD,CAAC,GAAGC,0BAAa;AAEzE,MAAMC,4CAA4C,CAAC;EAE/C;EACA;EACA;EACAC,WAAW,GAAG,CAAC;;EAEf;EACA;EACA;;EAEA,MAAMC,sBAAsB,CAACC,WAAmB,EAAmB;IAC/D,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACU,mBAAmB,CAACL,WAAW,CAAC;QACnGE,OAAO,CAACE,IAAI,CAACE,mBAAmB,CAAC;MACrC,CAAC,CAAC,OAAOC,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;EAEA,MAAMG,qBAAqB,CAACC,iBAAyB,EAAkB;IACnE,OAAO,IAAIV,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACe,qBAAqB,CAACC,iBAAiB,CAAC;QAC3G,MAAMC,kBAAyB,GAAGR,IAAI,CAACQ,kBAAkB;QACzDV,OAAO,CAACU,kBAAkB,CAAC;MAC/B,CAAC,CAAC,OAAOL,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;EAEA,MAAMM,sBAAsB,GAAqB;IAC7C,OAAO,IAAIZ,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACkB,sBAAsB,EAAE;QAC3F,MAAMC,mBAA4B,GAAGV,IAAI,CAACU,mBAAmB;QAC7DZ,OAAO,CAACY,mBAAmB,CAAC;MAChC,CAAC,CAAC,OAAOP,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;AACJ;AAAC,eAEcV,4CAA4C;AAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager
10
+ } = _reactNative.NativeModules;
11
+ class PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager {
12
+ ///////////////////////////////////////////
13
+ // Init
14
+ ///////////////////////////////////////////
15
+ constructor() {}
16
+
17
+ ///////////////////////////////////////////
18
+ // Native API
19
+ ///////////////////////////////////////////
20
+
21
+ async configure(paymentMethodType) {
22
+ try {
23
+ await RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager.configure(paymentMethodType);
24
+ } catch (err) {
25
+ console.error(err);
26
+ throw err;
27
+ }
28
+ }
29
+ async showPaymentMethod(intent) {
30
+ return RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager.showPaymentMethod(intent);
31
+ }
32
+ }
33
+ var _default = PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager;
34
+ exports.default = _default;
35
+ //# sourceMappingURL=NativeUIManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager","NativeModules","PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager","constructor","configure","paymentMethodType","err","console","error","showPaymentMethod","intent"],"sourceRoot":"../../src","sources":["NativeUIManager.ts"],"mappings":";;;;;;AAAA;AAGA,MAAM;EAAEA;AAAuD,CAAC,GAAGC,0BAAa;AAEhF,MAAMC,2DAA2D,CAAC;EAE9D;EACA;EACA;EACAC,WAAW,GAAG,CAAC;;EAEf;EACA;EACA;;EAEA,MAAMC,SAAS,CAACC,iBAAyB,EAAiB;IACtD,IAAI;MACA,MAAML,sDAAsD,CAACI,SAAS,CAACC,iBAAiB,CAAC;IAC7F,CAAC,CAAC,OAAOC,GAAG,EAAE;MACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;MAClB,MAAMA,GAAG;IACb;EACJ;EAEA,MAAMG,iBAAiB,CAACC,MAA2B,EAAiB;IAChE,OAAOV,sDAAsD,CAACS,iBAAiB,CAACC,MAAM,CAAC;EAC3F;AACJ;AAAC,eAEcR,2DAA2D;AAAA"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _PrimerError = require("../../../models/PrimerError");
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+ const {
11
+ RNTPrimerHeadlessUniversalCheckoutRawDataManager
12
+ } = _reactNative.NativeModules;
13
+ const eventEmitter = new _reactNative.NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutRawDataManager);
14
+ const eventTypes = ['onMetadataChange', 'onValidation'];
15
+ class PrimerHeadlessUniversalCheckoutRawDataManager {
16
+ ///////////////////////////////////////////
17
+ // Init
18
+ ///////////////////////////////////////////
19
+ constructor() {
20
+ _defineProperty(this, "options", void 0);
21
+ }
22
+
23
+ ///////////////////////////////////////////
24
+ // API
25
+ ///////////////////////////////////////////
26
+
27
+ async configure(options) {
28
+ return new Promise(async (resolve, reject) => {
29
+ try {
30
+ this.options = options;
31
+ await this.configureListeners();
32
+ const data = await RNTPrimerHeadlessUniversalCheckoutRawDataManager.configure(options.paymentMethodType);
33
+ if (data) {
34
+ resolve(data);
35
+ } else {
36
+ resolve();
37
+ }
38
+ } catch (err) {
39
+ reject(err);
40
+ }
41
+ });
42
+ }
43
+ async configureListeners() {
44
+ //@ts-ignore
45
+ return new Promise(async (resolve, reject) => {
46
+ var _this$options, _this$options3;
47
+ if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.onMetadataChange) {
48
+ this.addListener("onMetadataChange", data => {
49
+ var _this$options2;
50
+ if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.onMetadataChange) {
51
+ this.options.onMetadataChange(data);
52
+ }
53
+ });
54
+ }
55
+ if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.onValidation) {
56
+ this.addListener("onValidation", data => {
57
+ var _this$options4;
58
+ if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.onValidation) {
59
+ this.options.onValidation(data.isValid, data.errors);
60
+ }
61
+ });
62
+ }
63
+ resolve();
64
+ });
65
+ }
66
+ async getRequiredInputElementTypes() {
67
+ return new Promise(async (resolve, reject) => {
68
+ var _this$options5;
69
+ if ((_this$options5 = this.options) !== null && _this$options5 !== void 0 && _this$options5.paymentMethodType) {
70
+ try {
71
+ const data = await RNTPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypes();
72
+ const inputElementTypes = data.inputElementTypes;
73
+ resolve(inputElementTypes);
74
+ } catch (err) {
75
+ reject(err);
76
+ }
77
+ } else {
78
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
79
+ reject(err);
80
+ }
81
+ });
82
+ }
83
+ setRawData(rawData) {
84
+ return new Promise(async (resolve, reject) => {
85
+ var _this$options6;
86
+ if ((_this$options6 = this.options) !== null && _this$options6 !== void 0 && _this$options6.paymentMethodType) {
87
+ try {
88
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));
89
+ resolve();
90
+ } catch (err) {
91
+ reject(err);
92
+ }
93
+ } else {
94
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
95
+ reject(err);
96
+ }
97
+ });
98
+ }
99
+ submit() {
100
+ return new Promise(async (resolve, reject) => {
101
+ var _this$options7;
102
+ if ((_this$options7 = this.options) !== null && _this$options7 !== void 0 && _this$options7.paymentMethodType) {
103
+ try {
104
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.submit();
105
+ resolve();
106
+ } catch (err) {
107
+ reject(err);
108
+ }
109
+ } else {
110
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
111
+ reject(err);
112
+ }
113
+ });
114
+ }
115
+ cleanUp() {
116
+ return new Promise(async (resolve, reject) => {
117
+ var _this$options8;
118
+ if ((_this$options8 = this.options) !== null && _this$options8 !== void 0 && _this$options8.paymentMethodType) {
119
+ try {
120
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.cleanUp();
121
+ resolve();
122
+ } catch (err) {
123
+ reject(err);
124
+ }
125
+ } else {
126
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
127
+ reject(err);
128
+ }
129
+ });
130
+ }
131
+
132
+ ///////////////////////////////////////////
133
+ // HELPERS
134
+ ///////////////////////////////////////////
135
+
136
+ async addListener(eventType, listener) {
137
+ return eventEmitter.addListener(eventType, listener);
138
+ }
139
+ removeListener(eventType, listener) {
140
+ return eventEmitter.removeListener(eventType, listener);
141
+ }
142
+ removeAllListenersForEvent(eventType) {
143
+ eventEmitter.removeAllListeners(eventType);
144
+ }
145
+ removeAllListeners() {
146
+ eventTypes.forEach(eventType => this.removeAllListenersForEvent(eventType));
147
+ }
148
+ }
149
+ var _default = PrimerHeadlessUniversalCheckoutRawDataManager;
150
+ exports.default = _default;
151
+ //# sourceMappingURL=RawDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","PrimerHeadlessUniversalCheckoutRawDataManager","constructor","configure","options","Promise","resolve","reject","configureListeners","data","paymentMethodType","err","onMetadataChange","addListener","onValidation","isValid","errors","getRequiredInputElementTypes","listRequiredInputElementTypes","inputElementTypes","PrimerError","undefined","setRawData","rawData","JSON","stringify","submit","cleanUp","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach"],"sourceRoot":"../../src","sources":["RawDataManager.ts"],"mappings":"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"}