@primer-io/react-native 2.5.0 → 2.6.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 (24) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/{PrimerRNHeadlessCheckoutInputData.kt → card/PrimerRNPRawCardData.kt} +2 -2
  3. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +14 -0
  4. package/android/src/main/java/com/primerioreactnative/huc/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +33 -11
  5. package/ios/DataModels/RNTPrimerPhoneNumberData.swift +38 -0
  6. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift +11 -5
  7. package/ios/ReactNative-Bridging-Header.h +10 -0
  8. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +4 -0
  9. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  10. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +10 -0
  11. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  12. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +4 -0
  13. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  14. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +10 -0
  15. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  16. package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +1 -0
  17. package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +1 -0
  18. package/lib/typescript/src/models/PrimerRawData.d.ts +3 -0
  19. package/package.json +1 -1
  20. package/primer-io-react-native.podspec +1 -1
  21. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +4 -0
  22. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +11 -0
  23. package/src/models/PrimerRawData.ts +5 -1
  24. package/ios/Core/ReactNative-Bridging-Header.h +0 -14
@@ -137,5 +137,5 @@ dependencies {
137
137
  api 'com.facebook.react:react-native:+'
138
138
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
139
139
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3"
140
- implementation 'io.primer:android:2.5.0'
140
+ implementation 'io.primer:android:2.6.0'
141
141
  }
@@ -1,10 +1,10 @@
1
- package com.primerioreactnative.huc.datamodels.manager.raw
1
+ package com.primerioreactnative.huc.datamodels.manager.raw.card
2
2
 
3
3
  import io.primer.android.components.domain.core.models.card.PrimerRawCardData
4
4
  import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
- internal data class PrimerRNPrimerRawCardData(
7
+ internal data class PrimerRNPRawCardData(
8
8
  val cardNumber: String? = null,
9
9
  val cvv: String? = null,
10
10
  val expiryMonth: String? = null,
@@ -0,0 +1,14 @@
1
+ package com.primerioreactnative.huc.datamodels.manager.raw.phoneNumber
2
+
3
+ import io.primer.android.components.domain.core.models.phoneNumber.PrimerRawPhoneNumberData
4
+ import kotlinx.serialization.Serializable
5
+
6
+ @Serializable
7
+ internal data class PrimerRNRawPhoneNumberData(
8
+ val phoneNumber: String? = null,
9
+ ) {
10
+ fun toPrimerRawPhoneNumberData() =
11
+ PrimerRawPhoneNumberData(
12
+ phoneNumber.orEmpty()
13
+ )
14
+ }
@@ -5,7 +5,8 @@ import com.facebook.react.modules.core.DeviceEventManagerModule
5
5
  import com.primerioreactnative.Keys
6
6
  import com.primerioreactnative.datamodels.ErrorTypeRN
7
7
  import com.primerioreactnative.datamodels.PrimerErrorRN
8
- import com.primerioreactnative.huc.datamodels.manager.raw.PrimerRNPrimerRawCardData
8
+ import com.primerioreactnative.huc.datamodels.manager.raw.card.PrimerRNPRawCardData
9
+ import com.primerioreactnative.huc.datamodels.manager.raw.phoneNumber.PrimerRNRawPhoneNumberData
9
10
  import com.primerioreactnative.huc.events.PrimerHeadlessUniversalCheckoutEvent
10
11
  import com.primerioreactnative.utils.convertJsonToMap
11
12
  import com.primerioreactnative.utils.errorTo
@@ -20,12 +21,13 @@ import org.json.JSONObject
20
21
 
21
22
  @ExperimentalPrimerApi
22
23
  internal class PrimerRNHeadlessUniversalCheckoutRawManager(
23
- private val reactContext: ReactApplicationContext,
24
+ reactContext: ReactApplicationContext,
24
25
  private val json: Json,
25
26
  ) : ReactContextBaseJavaModule(reactContext) {
26
27
 
27
28
  private val listener = PrimerRNHeadlessUniversalCheckoutRawManagerListener()
28
29
  private lateinit var rawManager: PrimerHeadlessUniversalCheckoutRawDataManagerInterface
30
+ private var paymentMethodTypeStr: String? = null
29
31
 
30
32
  init {
31
33
  listener.sendEvent = { eventName, paramsJson -> sendEvent(eventName, paramsJson) }
@@ -39,6 +41,7 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
39
41
  rawManager = PrimerHeadlessUniversalCheckoutRawDataManager.newInstance(
40
42
  paymentMethodTypeStr
41
43
  )
44
+ this.paymentMethodTypeStr = paymentMethodTypeStr
42
45
  rawManager.setManagerListener(listener)
43
46
  promise.resolve(null)
44
47
  } catch (e: Exception) {
@@ -57,7 +60,7 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
57
60
  val exception =
58
61
  ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
59
62
  " has not been initialized. Make sure you have called the" +
60
- " PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."
63
+ " HeadlessUniversalCheckoutRawDataManager.configure function first."
61
64
  promise.reject(exception.errorId, exception.description)
62
65
  } else {
63
66
  promise.resolve(
@@ -79,20 +82,25 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
79
82
  val exception =
80
83
  ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
81
84
  " has not been initialized. Make sure you have called the" +
82
- " PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."
85
+ " HeadlessUniversalCheckoutRawDataManager.configure function first."
83
86
  promise.reject(exception.errorId, exception.description)
84
87
  } else {
85
88
  try {
86
- val rawData =
87
- json.decodeFromString<PrimerRNPrimerRawCardData>(
89
+ val rawData = when (paymentMethodTypeStr) {
90
+ "PAYMENT_CARD" -> json.decodeFromString<PrimerRNPRawCardData>(
88
91
  rawDataStr
89
- )
90
- rawManager.setRawData(rawData.toPrimerCardData())
92
+ ).toPrimerCardData()
93
+ "XENDIT_OVO" -> json.decodeFromString<PrimerRNRawPhoneNumberData>(
94
+ rawDataStr
95
+ ).toPrimerRawPhoneNumberData()
96
+ else -> throw IllegalArgumentException("")
97
+ }
98
+ rawManager.setRawData(rawData)
91
99
  promise.resolve(null)
92
100
  } catch (e: Exception) {
93
101
  val exception =
94
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to decode PrimerCardData on Android." +
95
- " Make sure you're providing a valid 'PrimerRawCardData' object"
102
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to decode $rawDataStr on Android." +
103
+ " Make sure you're providing a valid object"
96
104
  onError(exception)
97
105
  promise.reject(exception.errorId, exception.description, e)
98
106
  }
@@ -105,7 +113,7 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
105
113
  val exception =
106
114
  ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
107
115
  " has not been initialized. Make sure you have called the" +
108
- " PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."
116
+ " HeadlessUniversalCheckoutRawDataManager.configure function first."
109
117
  promise.reject(exception.errorId, exception.description)
110
118
  } else {
111
119
  rawManager.submit()
@@ -113,6 +121,20 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
113
121
  }
114
122
  }
115
123
 
124
+ @ReactMethod
125
+ fun disposeRawDataManager(promise: Promise) {
126
+ if (::rawManager.isInitialized.not()) {
127
+ val exception =
128
+ ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
129
+ " has not been initialized. Make sure you have called the" +
130
+ " HeadlessUniversalCheckoutRawDataManager.configure function first."
131
+ promise.reject(exception.errorId, exception.description)
132
+ } else {
133
+ rawManager.cleanup()
134
+ promise.resolve(null)
135
+ }
136
+ }
137
+
116
138
  private fun sendEvent(name: String, params: WritableMap) {
117
139
  reactApplicationContext.getJSModule(
118
140
  DeviceEventManagerModule.RCTDeviceEventEmitter::class.java
@@ -0,0 +1,38 @@
1
+ //
2
+ // RNTPrimerPhoneNumberData.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Dario Carlomagno on 18/8/22.
6
+ //
7
+
8
+ import Foundation
9
+ import PrimerSDK
10
+
11
+ extension PrimerPhoneNumberData {
12
+
13
+ convenience init?(phoneNumbeDatarStr: String) {
14
+ do {
15
+ guard let data = phoneNumbeDatarStr.data(using: .utf8) else {
16
+ return nil
17
+ }
18
+
19
+ let json = try JSONSerialization.jsonObject(with: data)
20
+
21
+ guard let dict = json as? [String: String] else {
22
+ return nil
23
+ }
24
+
25
+ if let phoneNumber = dict["phoneNumber"]
26
+ {
27
+ self.init(
28
+ phoneNumber: phoneNumber)
29
+ } else {
30
+ return nil
31
+ }
32
+
33
+ } catch {
34
+ return nil
35
+ }
36
+ }
37
+
38
+ }
@@ -88,14 +88,20 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
88
88
  return
89
89
  }
90
90
 
91
- guard let rawCardData = PrimerCardData(cardDataStr: rawDataStr) else {
92
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Failed to decode PrimerCardData on iOS. Make sure you're providing a valid 'PrimerRawCardData' object"])
93
- rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
91
+ if let rawCardData = PrimerCardData(cardDataStr: rawDataStr) {
92
+ rawDataManager.rawData = rawCardData
93
+ resolver(nil)
94
94
  return
95
95
  }
96
96
 
97
- rawDataManager.rawData = rawCardData
98
- resolver(nil)
97
+ if let rawPhoneNumberData = PrimerPhoneNumberData(phoneNumbeDatarStr: rawDataStr) {
98
+ rawDataManager.rawData = rawPhoneNumberData
99
+ resolver(nil)
100
+ return
101
+ }
102
+
103
+ let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Failed to decode RawData on iOS. Make sure you're providing a valid 'PrimerRawData' (or any inherited) object"])
104
+ rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
99
105
  }
100
106
 
101
107
  @objc
@@ -2,3 +2,13 @@
2
2
  #import <React/RCTEventEmitter.h>
3
3
  #import <React/RCTViewManager.h>
4
4
  #import <React/RCTUIManager.h>
5
+ #import <React/RCTView.h>
6
+
7
+ // for view controller implementation https://stackoverflow.com/questions/45741903/react-native-ios-how-can-i-navigate-to-a-non-react-native-view-native-ios-vie/46007680#46007680
8
+ //#import "React/RCTBridge.h"
9
+ //#import "React/RCTEventDispatcher.h"
10
+ //#import "React/RCTRootView.h"
11
+ //#import "React/RCTUtils.h"
12
+ //#import "React/RCTConvert.h"
13
+ //#import "React/RCTBundleURLProvider.h"
14
+ //#import "RCTViewManager.h"
@@ -99,6 +99,10 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
99
99
  return _RNPrimerHeadlessUniversalCheckoutRawDataManager.default.submit();
100
100
  }
101
101
 
102
+ disposeRawDataManager() {
103
+ return _RNPrimerHeadlessUniversalCheckoutRawDataManager.default.disposeRawDataManager();
104
+ }
105
+
102
106
  }
103
107
 
104
108
  const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();
@@ -1 +1 @@
1
- {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","RNPrimerHeadlessUniversalCheckoutRawDataManager","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","PrimerError","push","isValid","length","undefined","primerSettings","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
1
+ {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","RNPrimerHeadlessUniversalCheckoutRawDataManager","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","PrimerError","push","isValid","length","undefined","primerSettings","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;AAEA,IAAIA,oDAAJ;;AAEA,eAAeC,kBAAf,GAAmD;AAC/C,SAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,QAAI;AACAC,+DAAgDC,kBAAhD;;AAEAD,+DAAgDE,WAAhD,CAA4D,kBAA5D,EAAgFC,IAAI,IAAI;AACpF,YAAIR,oDAAoD,IAAIA,oDAAoD,CAACS,gBAAjH,EAAmI;AAC/HT,UAAAA,oDAAoD,CAACS,gBAArD,CAAsED,IAAtE;AACH;AACJ,OAJD;;AAMAH,+DAAgDE,WAAhD,CAA4D,cAA5D,EAA4EC,IAAI,IAAI;AAChF,YAAIR,oDAAoD,IAAIA,oDAAoD,CAACU,YAAjH,EAA+H;AAC3H,cAAIC,MAAqB,GAAG,EAA5B;;AACA,eAAK,MAAMC,OAAX,IAAuBJ,IAAI,CAACG,MAAL,IAAe,EAAtC,EAA2C;AACvC,kBAAME,OAAe,GAAGD,OAAO,CAACC,OAAhC;AACA,kBAAMC,WAA+B,GAAGF,OAAO,CAACE,WAAhD;AACA,kBAAMC,kBAAsC,GAAGH,OAAO,CAACG,kBAAvD;AACA,kBAAMC,WAAW,GAAG,IAAIC,wBAAJ,CAAgBJ,OAAhB,EAAyBC,WAAW,IAAI,eAAxC,EAAyDC,kBAAzD,CAApB;AACAJ,YAAAA,MAAM,CAACO,IAAP,CAAYF,WAAZ;AACH;;AAEDhB,UAAAA,oDAAoD,CAACU,YAArD,CAAkEF,IAAI,CAACW,OAAvE,EAAgFR,MAAM,CAACS,MAAP,KAAkB,CAAlB,GAAsBC,SAAtB,GAAkCV,MAAlH;AACH;AACJ,OAbD;;AAeAN,+DAAgDE,WAAhD,CAA4D,eAA5D,EAA6EC,IAAI,IAAI;AACjF,YAAIc,mDAAkBA,gDAAeC,OAArC,EAA8C;AAC1C,gBAAMV,OAAe,GAAGL,IAAI,CAACgB,KAAL,CAAWX,OAAnC;AACA,gBAAMC,WAA+B,GAAGN,IAAI,CAACgB,KAAL,CAAWV,WAAnD;AACA,gBAAMC,kBAAsC,GAAGP,IAAI,CAACgB,KAAL,CAAWT,kBAA1D;AACA,gBAAMC,WAAW,GAAG,IAAIC,wBAAJ,CAAgBJ,OAAhB,EAAyBC,WAAW,IAAI,eAAxC,EAAyDC,kBAAzD,CAApB;;AACAO,0DAAeC,OAAf,CAAuBP,WAAvB,EAAoC,IAApC,EAA0CK,SAA1C;AACH;AACJ,OARD;;AASAlB,MAAAA,OAAO;AAEV,KAnCD,CAmCE,OAAOsB,GAAP,EAAY;AACVrB,MAAAA,MAAM,CAACqB,GAAD,CAAN;AACH;AACJ,GAvCM,CAAP;AAwCH;;AAQD,MAAMC,kDAAN,CAAyD;AAErD;AACA;AACA;AACAC,EAAAA,WAAW,GAAG,CAEb,CAPoD,CASrD;AACA;AACA;;;AAEAC,EAAAA,SAAS,CAACC,OAAD,EAA+E;AACpF7B,IAAAA,oDAAoD,GAAG6B,OAAvD;AACA5B,IAAAA,kBAAkB;AAClB,WAAOI,yDAAgDyB,UAAhD,CAA2D9B,oDAAoD,CAAC+B,iBAAhH,CAAP;AACH;;AAEiC,QAA5BC,4BAA4B,GAAsB;AACpD,WAAO,IAAI9B,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UACIJ,oDAAoD,IACpDA,oDAAoD,CAAC+B,iBAFzD,EAGE;AACE,YAAI;AACA,gBAAME,iBAAiB,GAAG,MAAM5B,yDAAgD6B,iDAAhD,CAAkGlC,oDAAoD,CAAC+B,iBAAvJ,CAAhC;AACA5B,UAAAA,OAAO,CAAC8B,iBAAD,CAAP;AACH,SAHD,CAGE,OAAOR,GAAP,EAAY;AACVrB,UAAAA,MAAM,CAACqB,GAAD,CAAN;AACH;AACJ,OAVD,MAUO;AACH,cAAMA,GAAG,GAAG,IAAIR,wBAAJ,CAAgB,wBAAhB,EAA0C,iEAA1C,EAA6G,sFAA7G,CAAZ;AACAb,QAAAA,MAAM,CAACqB,GAAD,CAAN;AACH;AACJ,KAfM,CAAP;AAgBH;;AAEDU,EAAAA,UAAU,CAACC,OAAD,EAAwC;AAC9C,WAAO/B,yDAAgD8B,UAAhD,CAA2DE,IAAI,CAACC,SAAL,CAAeF,OAAf,CAA3D,CAAP;AACH;;AAEDG,EAAAA,MAAM,GAAkB;AACpB,WAAOlC,yDAAgDkC,MAAhD,EAAP;AACH;;AAEDC,EAAAA,qBAAqB,GAAkB;AAClC,WAAOnC,yDAAgDmC,qBAAhD,EAAP;AACJ;;AAhDoD;;AAmDlD,MAAMC,6CAA6C,GAAG,IAAIf,kDAAJ,EAAtD","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
@@ -78,6 +78,16 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
78
78
  reject(e);
79
79
  }
80
80
  });
81
+ },
82
+ disposeRawDataManager: () => {
83
+ return new Promise(async (resolve, reject) => {
84
+ try {
85
+ await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();
86
+ resolve();
87
+ } catch (e) {
88
+ reject(e);
89
+ }
90
+ });
81
91
  }
82
92
  };
83
93
  var _default = RNPrimerHeadlessUniversalCheckoutRawDataManager;
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["PrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit"],"mappings":";;;;;;;AAAA;;AAEA,MAAM;AAAEA,EAAAA;AAAF,IAAoDC,0BAA1D;AACA,MAAMC,YAAY,GAAG,IAAIC,+BAAJ,CAAuBH,6CAAvB,CAArB;AAOA,MAAMI,UAAuB,GAAG,CAC5B,kBAD4B,EAE5B,cAF4B,EAG5B,eAH4B,CAAhC;AAMA,MAAMC,+CAA+C,GAAG;AAEpD;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACtEN,IAAAA,YAAY,CAACI,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACH,GAPmD;AASpDC,EAAAA,cAAc,EAAE,CAACF,SAAD,EAAuBC,QAAvB,KAA6D;AACzEN,IAAAA,YAAY,CAACO,cAAb,CAA4BF,SAA5B,EAAuCC,QAAvC;AACH,GAXmD;;AAapDE,EAAAA,0BAA0B,CAACH,SAAD,EAAuB;AAC7CL,IAAAA,YAAY,CAACS,kBAAb,CAAgCJ,SAAhC;AACH,GAfmD;;AAiBpDI,EAAAA,kBAAkB,GAAG;AACjBP,IAAAA,UAAU,CAACQ,OAAX,CAAoBL,SAAD,IAAeF,+CAA+C,CAACK,0BAAhD,CAA2EH,SAA3E,CAAlC;AACH,GAnBmD;;AAqBpD;AACA;AACA;AAEAM,EAAAA,UAAU,EAAGC,iBAAD,IAA8C;AACtD,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMjB,6CAA6C,CAACa,UAA9C,CAAyDC,iBAAzD,CAAN;AACAE,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GAlCmD;AAoCpDC,EAAAA,iDAAiD,EAAGL,iBAAD,IAAkD;AACjG,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMG,GAAG,GAAG,MAAMpB,6CAA6C,CAACmB,iDAA9C,CAAgGL,iBAAhG,CAAlB;;AACA,YAAIM,GAAG,CAACC,iBAAR,EAA2B;AACvBL,UAAAA,OAAO,CAACI,GAAG,CAACC,iBAAL,CAAP;AACH,SAFD,MAEO;AACHL,UAAAA,OAAO,CAAC,EAAD,CAAP;AACH;AACJ,OAPD,CAOE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAXM,CAAP;AAYH,GAjDmD;AAmDpDI,EAAAA,UAAU,EAAGC,OAAD,IAAoC;AAC5C,WAAO,IAAIR,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMjB,6CAA6C,CAACsB,UAA9C,CAAyDC,OAAzD,CAAN;AACAP,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GA5DmD;AA8DpDM,EAAAA,MAAM,EAAE,MAAqB;AACzB,WAAO,IAAIT,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMjB,6CAA6C,CAACwB,MAA9C,EAAN;AACAR,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH;AAvEmD,CAAxD;eA0Eeb,+C","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
1
+ {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["PrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
@@ -82,6 +82,10 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
82
82
  return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();
83
83
  }
84
84
 
85
+ disposeRawDataManager() {
86
+ return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();
87
+ }
88
+
85
89
  }
86
90
 
87
91
  export const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();
@@ -1 +1 @@
1
- {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["RNPrimerHeadlessUniversalCheckoutRawDataManager","primerSettings","PrimerError","primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","push","isValid","length","undefined","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
1
+ {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["RNPrimerHeadlessUniversalCheckoutRawDataManager","primerSettings","PrimerError","primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","push","isValid","length","undefined","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
@@ -70,6 +70,16 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
70
70
  reject(e);
71
71
  }
72
72
  });
73
+ },
74
+ disposeRawDataManager: () => {
75
+ return new Promise(async (resolve, reject) => {
76
+ try {
77
+ await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();
78
+ resolve();
79
+ } catch (e) {
80
+ reject(e);
81
+ }
82
+ });
73
83
  }
74
84
  };
75
85
  export default RNPrimerHeadlessUniversalCheckoutRawDataManager;
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit"],"mappings":"AAAA,SAASA,kBAAT,EAA6BC,aAA7B,QAAkD,cAAlD;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAoDD,aAA1D;AACA,MAAME,YAAY,GAAG,IAAIH,kBAAJ,CAAuBE,6CAAvB,CAArB;AAOA,MAAME,UAAuB,GAAG,CAC5B,kBAD4B,EAE5B,cAF4B,EAG5B,eAH4B,CAAhC;AAMA,MAAMC,+CAA+C,GAAG;AAEpD;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACtEL,IAAAA,YAAY,CAACG,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACH,GAPmD;AASpDC,EAAAA,cAAc,EAAE,CAACF,SAAD,EAAuBC,QAAvB,KAA6D;AACzEL,IAAAA,YAAY,CAACM,cAAb,CAA4BF,SAA5B,EAAuCC,QAAvC;AACH,GAXmD;;AAapDE,EAAAA,0BAA0B,CAACH,SAAD,EAAuB;AAC7CJ,IAAAA,YAAY,CAACQ,kBAAb,CAAgCJ,SAAhC;AACH,GAfmD;;AAiBpDI,EAAAA,kBAAkB,GAAG;AACjBP,IAAAA,UAAU,CAACQ,OAAX,CAAoBL,SAAD,IAAeF,+CAA+C,CAACK,0BAAhD,CAA2EH,SAA3E,CAAlC;AACH,GAnBmD;;AAqBpD;AACA;AACA;AAEAM,EAAAA,UAAU,EAAGC,iBAAD,IAA8C;AACtD,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACW,UAA9C,CAAyDC,iBAAzD,CAAN;AACAE,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GAlCmD;AAoCpDC,EAAAA,iDAAiD,EAAGL,iBAAD,IAAkD;AACjG,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMG,GAAG,GAAG,MAAMlB,6CAA6C,CAACiB,iDAA9C,CAAgGL,iBAAhG,CAAlB;;AACA,YAAIM,GAAG,CAACC,iBAAR,EAA2B;AACvBL,UAAAA,OAAO,CAACI,GAAG,CAACC,iBAAL,CAAP;AACH,SAFD,MAEO;AACHL,UAAAA,OAAO,CAAC,EAAD,CAAP;AACH;AACJ,OAPD,CAOE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAXM,CAAP;AAYH,GAjDmD;AAmDpDI,EAAAA,UAAU,EAAGC,OAAD,IAAoC;AAC5C,WAAO,IAAIR,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACoB,UAA9C,CAAyDC,OAAzD,CAAN;AACAP,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GA5DmD;AA8DpDM,EAAAA,MAAM,EAAE,MAAqB;AACzB,WAAO,IAAIT,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACsB,MAA9C,EAAN;AACAR,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOE,CAAP,EAAU;AACRD,QAAAA,MAAM,CAACC,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH;AAvEmD,CAAxD;AA0EA,eAAeb,+CAAf","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
1
+ {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
@@ -11,6 +11,7 @@ declare class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
11
11
  getRequiredInputElementTypes(): Promise<string[]>;
12
12
  setRawData(rawData: PrimerRawData): Promise<void>;
13
13
  submit(): Promise<void>;
14
+ disposeRawDataManager(): Promise<void>;
14
15
  }
15
16
  export declare const PrimerHeadlessUniversalCheckoutRawDataManager: PrimerHeadlessUniversalCheckoutRawDataManagerClass;
16
17
  export {};
@@ -8,5 +8,6 @@ declare const RNPrimerHeadlessUniversalCheckoutRawDataManager: {
8
8
  listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string) => Promise<string[]>;
9
9
  setRawData: (rawData: string) => Promise<void>;
10
10
  submit: () => Promise<void>;
11
+ disposeRawDataManager: () => Promise<void>;
11
12
  };
12
13
  export default RNPrimerHeadlessUniversalCheckoutRawDataManager;
@@ -7,3 +7,6 @@ export interface PrimerRawCardData extends PrimerRawData {
7
7
  cvv: string;
8
8
  cardholderName?: string;
9
9
  }
10
+ export interface PrimerRawPhoneNumberData extends PrimerRawData {
11
+ phoneNumber: string;
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "2.5.0",
3
+ "version": "2.6.1",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,5 +17,5 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "PrimerSDK", "2.5.0"
20
+ s.dependency "PrimerSDK", "2.6.0"
21
21
  end
@@ -99,6 +99,10 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
99
99
  submit(): Promise<void> {
100
100
  return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();
101
101
  }
102
+
103
+ disposeRawDataManager(): Promise<void> {
104
+ return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();
105
+ }
102
106
  }
103
107
 
104
108
  export const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();
@@ -86,6 +86,17 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
86
86
  }
87
87
  });
88
88
  },
89
+
90
+ disposeRawDataManager: (): Promise<void> => {
91
+ return new Promise(async (resolve, reject) => {
92
+ try {
93
+ await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();
94
+ resolve();
95
+ } catch (e) {
96
+ reject(e);
97
+ }
98
+ });
99
+ },
89
100
  }
90
101
 
91
102
  export default RNPrimerHeadlessUniversalCheckoutRawDataManager;
@@ -6,4 +6,8 @@ export interface PrimerRawCardData extends PrimerRawData {
6
6
  expiryYear: string;
7
7
  cvv: string;
8
8
  cardholderName?: string;
9
- }
9
+ }
10
+
11
+ export interface PrimerRawPhoneNumberData extends PrimerRawData {
12
+ phoneNumber: string;
13
+ }
@@ -1,14 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
- #import <React/RCTEventEmitter.h>
3
- #import <React/RCTViewManager.h>
4
- #import <React/RCTUIManager.h>
5
- #import <React/RCTView.h>
6
-
7
- // for view controller implementation https://stackoverflow.com/questions/45741903/react-native-ios-how-can-i-navigate-to-a-non-react-native-view-native-ios-vie/46007680#46007680
8
- //#import "React/RCTBridge.h"
9
- //#import "React/RCTEventDispatcher.h"
10
- //#import "React/RCTRootView.h"
11
- //#import "React/RCTUtils.h"
12
- //#import "React/RCTConvert.h"
13
- //#import "React/RCTBundleURLProvider.h"
14
- //#import "RCTViewManager.h"