@primer-io/react-native 2.16.7 → 2.17.0-rc.10
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.
- package/android/.project +2 -2
- package/android/build.gradle +2 -3
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +0 -15
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +15 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -8
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +20 -120
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +61 -69
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +6 -2
- package/android/src/main/java/com/primerioreactnative/{huc → components}/assets/AssetsManager.kt +5 -14
- package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +23 -0
- package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +24 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +25 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +9 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/PrimerRNAsset.kt +106 -0
- package/android/src/main/java/com/primerioreactnative/{huc/datamodels/manager/raw/card/PrimerRNRawCardData.kt → components/datamodels/manager/raw/card/PrimerRNCardData.kt} +6 -8
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +19 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +14 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +12 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +17 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +131 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +87 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +72 -68
- package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +13 -5
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +5 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +13 -9
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +15 -15
- package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +7 -7
- package/ios/Podfile.lock +1 -1
- package/ios/ReactNative.xcodeproj/project.pbxproj +20 -20
- package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +75 -0
- package/ios/{DataModels/RNTPrimerCardRedirectData.swift → Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift} +5 -8
- package/ios/{DataModels/RNTPrimerCardData.swift → Sources/DataModels/PrimerCardData+Extension.swift} +2 -5
- package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +20 -0
- package/ios/{DataModels/RNTPrimerPhoneNumberData.swift → Sources/DataModels/PrimerPhoneNumberData+Extension.swift} +0 -1
- package/ios/{DataModels/RNTPrimerRetailerData.swift → Sources/DataModels/PrimerRawRetailerData+Extension.swift} +3 -4
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +94 -0
- package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
- package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +67 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
- package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
- package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
- package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
- package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
- package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
- package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
- package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
- package/ios/Sources/RNTPrimer.m +86 -0
- package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +37 -28
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
- package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
- package/lib/commonjs/Primer.js +24 -23
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/PrimerInput.js.map +1 -1
- package/lib/commonjs/RNPrimer.js +4 -4
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
- package/lib/commonjs/index.js +63 -71
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerAsset.js +2 -0
- package/lib/commonjs/models/PrimerAsset.js.map +1 -0
- package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
- package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
- package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
- package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
- package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
- package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
- package/lib/commonjs/models/PrimerError.js +4 -4
- package/lib/commonjs/models/PrimerError.js.map +1 -1
- package/lib/commonjs/models/PrimerHandlers.js +2 -0
- package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
- package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
- package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
- package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
- package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
- package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
- package/lib/commonjs/models/PrimerInputElementType.js +20 -0
- package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
- package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
- package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
- package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
- package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
- package/lib/commonjs/models/PrimerRawData.js.map +1 -1
- package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
- package/lib/commonjs/models/PrimerSettings.js.map +1 -1
- package/lib/commonjs/models/PrimerTheme.js.map +1 -1
- package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
- package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
- package/lib/module/Primer.js +24 -23
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/PrimerInput.js.map +1 -1
- package/lib/module/RNPrimer.js +4 -4
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
- package/lib/module/index.js +15 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerAsset.js +2 -0
- package/lib/module/models/PrimerAsset.js.map +1 -0
- package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
- package/lib/module/models/PrimerCheckoutData.js.map +1 -1
- package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
- package/lib/module/models/PrimerClientSession.js.map +1 -1
- package/lib/module/models/PrimerCountryCode.js.map +1 -1
- package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
- package/lib/module/models/PrimerError.js +4 -4
- package/lib/module/models/PrimerError.js.map +1 -1
- package/lib/module/models/PrimerHandlers.js +2 -0
- package/lib/module/models/PrimerHandlers.js.map +1 -0
- package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
- package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
- package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
- package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
- package/lib/module/models/PrimerInitializationData.js.map +1 -1
- package/lib/module/models/PrimerInputElementType.js +13 -0
- package/lib/module/models/PrimerInputElementType.js.map +1 -0
- package/lib/module/models/PrimerInterfaces.js.map +1 -1
- package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
- package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
- package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
- package/lib/module/models/PrimerRawData.js.map +1 -1
- package/lib/module/models/PrimerSessionIntent.js.map +1 -1
- package/lib/module/models/PrimerSettings.js.map +1 -1
- package/lib/module/models/PrimerTheme.js.map +1 -1
- package/lib/module/models/RetailOutletsRetail.js.map +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
- package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
- package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
- package/lib/typescript/Primer.d.ts +1 -0
- package/lib/typescript/Primer.d.ts.map +1 -0
- package/lib/typescript/PrimerInput.d.ts +5 -4
- package/lib/typescript/PrimerInput.d.ts.map +1 -0
- package/lib/typescript/RNPrimer.d.ts +4 -4
- package/lib/typescript/RNPrimer.d.ts.map +1 -0
- package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
- package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +18 -9
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/models/PrimerAsset.d.ts +15 -0
- package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
- package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
- package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
- package/lib/typescript/models/PrimerError.d.ts +3 -1
- package/lib/typescript/models/PrimerError.d.ts.map +1 -0
- package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
- package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
- package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
- package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInterfaces.d.ts +3 -20
- package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerRawData.d.ts +7 -10
- package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
- package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
- package/lib/typescript/models/PrimerSettings.d.ts +28 -6
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
- package/lib/typescript/models/PrimerTheme.d.ts +3 -2
- package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
- package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
- package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +1 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/package.json +8 -7
- package/primer-io-react-native.podspec +1 -2
- package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
- package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
- package/src/HeadlessUniversalCheckout/types.ts +32 -0
- package/src/Primer.ts +32 -31
- package/src/RNPrimer.ts +4 -9
- package/src/index.tsx +43 -29
- package/src/models/PrimerAsset.ts +14 -0
- package/src/models/PrimerError.ts +3 -1
- package/src/models/PrimerHandlers.ts +25 -0
- package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
- package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
- package/src/models/PrimerInputElementType.ts +11 -0
- package/src/models/PrimerInterfaces.ts +2 -28
- package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
- package/src/models/PrimerRawData.ts +6 -10
- package/src/models/PrimerSettings.ts +42 -16
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
- package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
- package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
- package/ios/DataModels/PrimerErrorRN.swift +0 -35
- package/ios/DataModels/PrimerSettingsRN.swift +0 -84
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
- package/ios/RNTPrimer.m +0 -59
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/commonjs/headless_checkout/types.js +0 -6
- package/lib/commonjs/headless_checkout/types.js.map +0 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/module/headless_checkout/types.js +0 -2
- package/lib/module/headless_checkout/types.js.map +0 -1
- package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
- package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
- package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
- package/lib/typescript/headless_checkout/types.d.ts +0 -22
- package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
- package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
- package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
- package/src/headless_checkout/types.ts +0 -32
- /package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
- /package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Error+Extensions.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Evangelos on 7/10/22.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
internal extension Error {
|
|
12
|
+
var rnError: [String: String] {
|
|
13
|
+
var json: [String: String] = [
|
|
14
|
+
"description": localizedDescription
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
if let primerValidationErr = self as? PrimerValidationError {
|
|
18
|
+
json["errorId"] = primerValidationErr.errorId
|
|
19
|
+
json["diagnosticsId"] = primerValidationErr.diagnosticsId
|
|
20
|
+
|
|
21
|
+
} else if let primerErr = self as? PrimerError {
|
|
22
|
+
json["errorId"] = primerErr.errorId
|
|
23
|
+
json["diagnosticsId"] = primerErr.diagnosticsId
|
|
24
|
+
|
|
25
|
+
} else {
|
|
26
|
+
json["errorId"] = (self as NSError).domain
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if let inputElementType = (self as NSError).userInfo["inputElementType"] as? String {
|
|
30
|
+
json["inputElementType"] = inputElementType
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if let recoverySuggestion = (self as NSError).localizedRecoverySuggestion {
|
|
34
|
+
json["recoverySuggestion"] = recoverySuggestion
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return json
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// UIColor+Extensions.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Evangelos on 6/10/22.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
extension UIColor {
|
|
11
|
+
|
|
12
|
+
func toHex(alpha: Bool = false) -> String? {
|
|
13
|
+
guard let components = cgColor.components, components.count >= 3 else {
|
|
14
|
+
return nil
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let r = Float(components[0])
|
|
18
|
+
let g = Float(components[1])
|
|
19
|
+
let b = Float(components[2])
|
|
20
|
+
var a = Float(1.0)
|
|
21
|
+
|
|
22
|
+
if components.count >= 4 {
|
|
23
|
+
a = Float(components[3])
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if alpha {
|
|
27
|
+
return String(format: "%02lX%02lX%02lX%02lX", lroundf(r * 255), lroundf(g * 255), lroundf(b * 255), lroundf(a * 255))
|
|
28
|
+
} else {
|
|
29
|
+
return String(format: "%02lX%02lX%02lX", lroundf(r * 255), lroundf(g * 255), lroundf(b * 255))
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// UIImage+Extensions.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Evangelos on 6/10/22.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UIKit
|
|
9
|
+
|
|
10
|
+
extension UIImage {
|
|
11
|
+
|
|
12
|
+
func store(withName name: String) throws -> URL {
|
|
13
|
+
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("\(name).png") else {
|
|
14
|
+
let err = RNTNativeError(
|
|
15
|
+
errorId: "native-ios",
|
|
16
|
+
errorDescription: "Failed to create URL for asset",
|
|
17
|
+
recoverySuggestion: nil)
|
|
18
|
+
throw err
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
guard let pngData = self.pngData() else {
|
|
22
|
+
let err = RNTNativeError(
|
|
23
|
+
errorId: "native-ios",
|
|
24
|
+
errorDescription: "Failed to get image's PNG data",
|
|
25
|
+
recoverySuggestion: nil)
|
|
26
|
+
throw err
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
try pngData.write(to: imageURL)
|
|
30
|
+
return imageURL
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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(showPaymentMethod:(NSString *)paymentMethod
|
|
28
|
+
intent:(NSString *)intent
|
|
29
|
+
clientToken:(NSString *)clientToken
|
|
30
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
31
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
32
|
+
|
|
33
|
+
RCT_EXTERN_METHOD(dismiss)
|
|
34
|
+
|
|
35
|
+
RCT_EXTERN_METHOD(cleanUp)
|
|
36
|
+
|
|
37
|
+
// MARK: - HELPERS
|
|
38
|
+
|
|
39
|
+
RCT_EXTERN_METHOD(setImplementedRNCallbacks:(NSString *)implementedRNCallbacksStr
|
|
40
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
41
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
42
|
+
|
|
43
|
+
// MARK: - DECISION HANDLERS
|
|
44
|
+
|
|
45
|
+
// MARK: Tokenization Handlers
|
|
46
|
+
|
|
47
|
+
RCT_EXTERN_METHOD(handleTokenizationNewClientToken:(NSString *)newClientToken
|
|
48
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
49
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
50
|
+
|
|
51
|
+
RCT_EXTERN_METHOD(handleTokenizationSuccess:(RCTPromiseResolveBlock)resolver
|
|
52
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
53
|
+
|
|
54
|
+
RCT_EXTERN_METHOD(handleTokenizationFailure:(NSString *)errorMessage
|
|
55
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
56
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
57
|
+
|
|
58
|
+
// MARK: Resume Handlers
|
|
59
|
+
|
|
60
|
+
RCT_EXTERN_METHOD(handleResumeWithNewClientToken:(NSString *)newClientToken
|
|
61
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
62
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
63
|
+
|
|
64
|
+
RCT_EXTERN_METHOD(handleResumeSuccess:(RCTPromiseResolveBlock)resolver
|
|
65
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
66
|
+
|
|
67
|
+
RCT_EXTERN_METHOD(handleResumeFailure:(NSString *)errorMessage
|
|
68
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
69
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
70
|
+
|
|
71
|
+
// MARK: Payment Creation Handlers
|
|
72
|
+
|
|
73
|
+
RCT_EXTERN_METHOD(handlePaymentCreationAbort:(NSString *)errorMessage
|
|
74
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
75
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
76
|
+
|
|
77
|
+
RCT_EXTERN_METHOD(handlePaymentCreationContinue:(RCTPromiseResolveBlock)resolver
|
|
78
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
79
|
+
|
|
80
|
+
// MARK: Error Handler
|
|
81
|
+
|
|
82
|
+
RCT_EXTERN_METHOD(showErrorMessage:(NSString *)errorMessage
|
|
83
|
+
resolver:(RCTPromiseResolveBlock)resolver
|
|
84
|
+
rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
85
|
+
|
|
86
|
+
@end
|
|
@@ -124,27 +124,26 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
|
|
127
|
+
|
|
128
128
|
@objc
|
|
129
|
-
public func showPaymentMethod(_
|
|
129
|
+
public func showPaymentMethod(_ paymentMethod: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
130
130
|
DispatchQueue.main.async {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
131
|
+
guard let primerIntent = PrimerSessionIntent(rawValue: intent.uppercased()) else {
|
|
132
|
+
let err = PrimerError.invalidValue(
|
|
133
|
+
key: "intent",
|
|
134
|
+
value: intent,
|
|
135
|
+
userInfo: nil,
|
|
136
|
+
diagnosticsId: UUID().uuidString)
|
|
137
|
+
rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
|
|
138
|
+
return
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
PrimerSDK.Primer.shared.showPaymentMethod(paymentMethod, intent: primerIntent, clientToken: clientToken) { err in
|
|
142
|
+
if let err = err {
|
|
143
|
+
rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
|
|
144
|
+
} else {
|
|
145
|
+
resolver(nil)
|
|
145
146
|
}
|
|
146
|
-
} catch {
|
|
147
|
-
rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
|
|
148
147
|
}
|
|
149
148
|
}
|
|
150
149
|
}
|
|
@@ -155,7 +154,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
155
154
|
}
|
|
156
155
|
|
|
157
156
|
@objc
|
|
158
|
-
public func
|
|
157
|
+
public func cleanUp() {
|
|
159
158
|
Primer.shared.dismiss()
|
|
160
159
|
}
|
|
161
160
|
|
|
@@ -253,7 +252,7 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
253
252
|
// MARK: Helpers
|
|
254
253
|
|
|
255
254
|
private func configure(settingsStr: String? = nil) throws {
|
|
256
|
-
try PrimerSDK.Primer.shared.configure(settings: PrimerSettings
|
|
255
|
+
try PrimerSDK.Primer.shared.configure(settings: PrimerSettings(settingsStr: settingsStr), delegate: self)
|
|
257
256
|
}
|
|
258
257
|
|
|
259
258
|
private func detectImplemetedCallbacks() {
|
|
@@ -265,9 +264,13 @@ class RNTPrimer: RCTEventEmitter {
|
|
|
265
264
|
DispatchQueue.main.async {
|
|
266
265
|
do {
|
|
267
266
|
guard let implementedRNCallbacksData = implementedRNCallbacksStr.data(using: .utf8) else {
|
|
268
|
-
let err =
|
|
267
|
+
let err = RNTNativeError(
|
|
268
|
+
errorId: "native-ios",
|
|
269
|
+
errorDescription: "Failed to convert string to data",
|
|
270
|
+
recoverySuggestion: nil)
|
|
269
271
|
throw err
|
|
270
272
|
}
|
|
273
|
+
|
|
271
274
|
self.implementedRNCallbacks = try JSONDecoder().decode(ImplementedRNCallbacks.self, from: implementedRNCallbacksData)
|
|
272
275
|
resolver(nil)
|
|
273
276
|
} catch {
|
|
@@ -312,7 +315,10 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
312
315
|
self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: true)
|
|
313
316
|
}
|
|
314
317
|
} else {
|
|
315
|
-
let err =
|
|
318
|
+
let err = RNTNativeError(
|
|
319
|
+
errorId: "native-ios",
|
|
320
|
+
errorDescription: "Callback [onCheckoutComplete] should be implemented.",
|
|
321
|
+
recoverySuggestion: nil)
|
|
316
322
|
self.handleRNBridgeError(err, checkoutData: data, stopOnDebug: false)
|
|
317
323
|
}
|
|
318
324
|
}
|
|
@@ -320,17 +326,20 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
320
326
|
|
|
321
327
|
func primerDidEnterResumePendingWithPaymentAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
|
|
322
328
|
DispatchQueue.main.async {
|
|
323
|
-
if self.implementedRNCallbacks?.
|
|
329
|
+
if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
|
|
324
330
|
do {
|
|
325
331
|
let checkoutAdditionalInfo = try JSONEncoder().encode(additionalInfo)
|
|
326
332
|
let checkoutAdditionalInfoJson = try JSONSerialization.jsonObject(with: checkoutAdditionalInfo, options: .allowFragments)
|
|
327
|
-
self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.
|
|
333
|
+
self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onCheckoutPending.stringValue, body: checkoutAdditionalInfoJson)
|
|
328
334
|
} catch {
|
|
329
335
|
let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
|
|
330
336
|
self.handleRNBridgeError(error, checkoutData: checkoutData, stopOnDebug: true)
|
|
331
337
|
}
|
|
332
338
|
} else {
|
|
333
|
-
let err =
|
|
339
|
+
let err = RNTNativeError(
|
|
340
|
+
errorId: "native-ios",
|
|
341
|
+
errorDescription: "Callback [onResumePending] should be implemented.",
|
|
342
|
+
recoverySuggestion: nil)
|
|
334
343
|
let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
|
|
335
344
|
self.handleRNBridgeError(err, checkoutData: checkoutData, stopOnDebug: false)
|
|
336
345
|
}
|
|
@@ -394,7 +403,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
394
403
|
}
|
|
395
404
|
|
|
396
405
|
func primerDidTokenizePaymentMethod(_ paymentMethodTokenData: PrimerPaymentMethodTokenData, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
|
|
397
|
-
if self.implementedRNCallbacks?.
|
|
406
|
+
if self.implementedRNCallbacks?.isOnTokenizationSuccessImplemented == true {
|
|
398
407
|
self.primerDidTokenizePaymentMethodDecisionHandler = { (newClientToken, errorMessage) in
|
|
399
408
|
DispatchQueue.main.async {
|
|
400
409
|
if let errorMessage = errorMessage {
|
|
@@ -424,7 +433,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
424
433
|
}
|
|
425
434
|
|
|
426
435
|
func primerDidResumeWith(_ resumeToken: String, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
|
|
427
|
-
if self.implementedRNCallbacks?.
|
|
436
|
+
if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
|
|
428
437
|
self.primerDidResumeWithDecisionHandler = { (resumeToken, errorMessage) in
|
|
429
438
|
DispatchQueue.main.async {
|
|
430
439
|
if let errorMessage = errorMessage {
|
|
@@ -469,7 +478,7 @@ extension RNTPrimer: PrimerDelegate {
|
|
|
469
478
|
}
|
|
470
479
|
|
|
471
480
|
// Send the error message to the RN bridge.
|
|
472
|
-
self.handleRNBridgeError(error, checkoutData:
|
|
481
|
+
self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: false)
|
|
473
482
|
|
|
474
483
|
} else {
|
|
475
484
|
// 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"}
|
package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js
ADDED
|
@@ -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
|
package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map
ADDED
|
@@ -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"}
|
package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js
ADDED
|
@@ -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
|
package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map
ADDED
|
@@ -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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"}
|