@primer-io/react-native 0.12.5 → 0.13.0-beta.3

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 (70) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +83 -0
  3. package/android/src/main/java/com/primerioreactnative/PrimerHeadlessUniversalCheckout.kt +201 -0
  4. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +3 -3
  5. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +14 -3
  6. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +2 -0
  7. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +3 -4
  8. package/android/src/main/java/com/primerioreactnative/huc/assets/AssetsManager.kt +56 -0
  9. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +11 -0
  10. package/android/src/main/java/com/primerioreactnative/huc/extensions/Map.kt +10 -0
  11. package/ios/{PrimerRN+PrimerDelegate.swift → Core/PrimerRN+PrimerDelegate.swift} +4 -3
  12. package/ios/{ReactNative.m → Core/PrimerRN.m} +1 -1
  13. package/ios/{PrimerRN.swift → Core/PrimerRN.swift} +26 -24
  14. package/ios/{ReactNative-Bridging-Header.h → Core/ReactNative-Bridging-Header.h} +2 -0
  15. package/ios/DataModels/PrimerErrorRN.swift +32 -2
  16. package/ios/DataModels/PrimerSettingsRN.swift +1 -11
  17. package/ios/Headless Universal Checkout/RNTPrimerCardNumberInputElementManager.m +23 -0
  18. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +30 -0
  19. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +241 -0
  20. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +14 -0
  21. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +117 -0
  22. package/lib/commonjs/Primer.js +2 -1
  23. package/lib/commonjs/Primer.js.map +1 -1
  24. package/lib/commonjs/PrimerInput.js +80 -0
  25. package/lib/commonjs/PrimerInput.js.map +1 -0
  26. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +14 -0
  27. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
  28. package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +73 -0
  29. package/lib/commonjs/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +1 -0
  30. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +119 -0
  31. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  32. package/lib/commonjs/headless_checkout/types.js +2 -0
  33. package/lib/commonjs/headless_checkout/types.js.map +1 -0
  34. package/lib/commonjs/index.js +28 -0
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/module/Primer.js +1 -1
  37. package/lib/module/Primer.js.map +1 -1
  38. package/lib/module/PrimerInput.js +46 -0
  39. package/lib/module/PrimerInput.js.map +1 -0
  40. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +5 -0
  41. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -0
  42. package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js +64 -0
  43. package/lib/module/headless_checkout/NativePrimerHeadlessUniversalCheckout.js.map +1 -0
  44. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +104 -0
  45. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  46. package/lib/module/headless_checkout/types.js +2 -0
  47. package/lib/module/headless_checkout/types.js.map +1 -0
  48. package/lib/module/index.js +3 -1
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/typescript/PrimerInput.d.ts +15 -0
  51. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  52. package/lib/typescript/headless_checkout/NativePrimerHeadlessUniversalCheckout.d.ts +10 -0
  53. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckout.d.ts +14 -0
  54. package/lib/typescript/headless_checkout/types.d.ts +16 -0
  55. package/lib/typescript/index.d.ts +3 -1
  56. package/lib/typescript/models/primer-callbacks.d.ts +5 -6
  57. package/lib/typescript/models/primer-config.d.ts +2 -2
  58. package/lib/typescript/models/primer-settings.d.ts +1 -2
  59. package/package.json +1 -1
  60. package/primer-io-react-native.podspec +1 -1
  61. package/src/Primer.ts +3 -2
  62. package/src/PrimerInput.tsx +73 -0
  63. package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +2 -0
  64. package/src/headless_checkout/NativePrimerHeadlessUniversalCheckout.ts +94 -0
  65. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +136 -0
  66. package/src/headless_checkout/types.ts +18 -0
  67. package/src/index.tsx +3 -1
  68. package/src/models/primer-callbacks.ts +6 -11
  69. package/src/models/primer-config.ts +1 -2
  70. package/src/models/primer-settings.ts +1 -2
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ const {
11
+ PrimerHeadlessUniversalCheckout
12
+ } = _reactNative.NativeModules;
13
+ const eventEmitter = new _reactNative.NativeEventEmitter(PrimerHeadlessUniversalCheckout);
14
+ const NativePrimerHeadlessUniversalCheckout = {
15
+ ///////////////////////////////////////////
16
+ // Event Emitter
17
+ ///////////////////////////////////////////
18
+ addListener: (eventType, listener) => {
19
+ eventEmitter.addListener(eventType, listener);
20
+ },
21
+ ///////////////////////////////////////////
22
+ // Native API
23
+ ///////////////////////////////////////////
24
+ getAssetForPaymentMethod: (paymentMethodType, assetType) => {
25
+ return new Promise((resolve, reject) => {
26
+ try {
27
+ PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(paymentMethodType, assetType, err => {
28
+ reject(err);
29
+ }, url => {
30
+ resolve(url);
31
+ });
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ });
36
+ },
37
+ getAssetForCardNetwork: (cardNetwork, assetType) => {
38
+ return new Promise((resolve, reject) => {
39
+ try {
40
+ PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(cardNetwork, assetType, err => {
41
+ reject(err);
42
+ }, url => {
43
+ resolve(url);
44
+ });
45
+ } catch (e) {
46
+ reject(e);
47
+ }
48
+ });
49
+ },
50
+
51
+ startWithClientToken(clientToken, settings) {
52
+ return new Promise((resolve, reject) => {
53
+ PrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, JSON.stringify(settings), err => {
54
+ console.error(err);
55
+ reject(err);
56
+ }, paymentMethodTypes => {
57
+ resolve({
58
+ paymentMethodTypes
59
+ });
60
+ });
61
+ });
62
+ },
63
+
64
+ showPaymentMethod: paymentMethod => PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),
65
+
66
+ resumeWithClientToken(resumeToken) {
67
+ PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
68
+ }
69
+
70
+ };
71
+ var _default = NativePrimerHeadlessUniversalCheckout;
72
+ exports.default = _default;
73
+ //# sourceMappingURL=NativePrimerHeadlessUniversalCheckout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NativePrimerHeadlessUniversalCheckout.ts"],"names":["PrimerHeadlessUniversalCheckout","NativeModules","eventEmitter","NativeEventEmitter","NativePrimerHeadlessUniversalCheckout","addListener","eventType","listener","getAssetForPaymentMethod","paymentMethodType","assetType","Promise","resolve","reject","getAssetForPaymentMethodType","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","paymentMethod","resumeWithClientToken","resumeToken"],"mappings":";;;;;;;AAAA;;AAEA,MAAM;AAAEA,EAAAA;AAAF,IAAsCC,0BAA5C;AAEA,MAAMC,YAAY,GAAG,IAAIC,+BAAJ,CAAuBH,+BAAvB,CAArB;AAUA,MAAMI,qCAAqC,GAAG;AAC5C;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACxEL,IAAAA,YAAY,CAACG,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACD,GAN2C;AAQ5C;AACA;AACA;AACAC,EAAAA,wBAAwB,EAAE,CACxBC,iBADwB,EAExBC,SAFwB,KAGJ;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFb,QAAAA,+BAA+B,CAACc,4BAAhC,CACEL,iBADF,EAEEC,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GA/B2C;AAiC5CC,EAAAA,sBAAsB,EAAE,CACtBC,WADsB,EAEtBT,SAFsB,KAGF;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFb,QAAAA,+BAA+B,CAACc,4BAAhC,CACEK,WADF,EAEET,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GArD2C;;AAuD5CG,EAAAA,oBAAoB,CAACC,WAAD,EAAsBC,QAAtB,EAAmD;AACrE,WAAO,IAAIX,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCb,MAAAA,+BAA+B,CAACoB,oBAAhC,CACEC,WADF,EAEEE,IAAI,CAACC,SAAL,CAAeF,QAAf,CAFF,EAGGP,GAAD,IAAgB;AACdU,QAAAA,OAAO,CAACC,KAAR,CAAcX,GAAd;AACAF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OANH,EAOGY,kBAAD,IAAkC;AAChCf,QAAAA,OAAO,CAAC;AAAEe,UAAAA;AAAF,SAAD,CAAP;AACD,OATH;AAWD,KAZM,CAAP;AAaD,GArE2C;;AAuE5CC,EAAAA,iBAAiB,EAAGC,aAAD,IACjB7B,+BAA+B,CAAC4B,iBAAhC,CAAkDC,aAAlD,CAxE0C;;AA0E5CC,EAAAA,qBAAqB,CAACC,WAAD,EAAsB;AACzC/B,IAAAA,+BAA+B,CAAC8B,qBAAhC,CAAsDC,WAAtD;AACD;;AA5E2C,CAA9C;eA+Ee3B,qC","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'preparationStarted'\n | 'paymentMethodPresented'\n | 'tokenizationStarted'\n | 'tokenizationSucceeded'\n | 'resume'\n | 'error';\n\nconst NativePrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethod: (\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n paymentMethodType,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n getAssetForCardNetwork: (\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n cardNetwork,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n startWithClientToken(clientToken: string, settings: any): Promise<any> {\n return new Promise((resolve, reject) => {\n PrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n JSON.stringify(settings),\n (err: Error) => {\n console.error(err);\n reject(err);\n },\n (paymentMethodTypes: string[]) => {\n resolve({ paymentMethodTypes });\n }\n );\n });\n },\n\n showPaymentMethod: (paymentMethod: string) =>\n PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),\n\n resumeWithClientToken(resumeToken: string) {\n PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);\n },\n};\n\nexport default NativePrimerHeadlessUniversalCheckout;\n"]}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _NativePrimerHeadlessUniversalCheckout = _interopRequireDefault(require("./NativePrimerHeadlessUniversalCheckout"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
14
+ class PrimerHeadlessUniversalCheckoutClass {
15
+ ///////////////////////////////////////////
16
+ // Init
17
+ ///////////////////////////////////////////
18
+ constructor() {
19
+ _defineProperty(this, "callbacks", void 0);
20
+
21
+ this.callbacks = undefined;
22
+ this.configureListeners();
23
+ }
24
+
25
+ configureListeners() {
26
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('preparationStarted', () => {
27
+ var _this$callbacks, _this$callbacks$onPre;
28
+
29
+ console.log('preparationStarted');
30
+ (_this$callbacks = this.callbacks) === null || _this$callbacks === void 0 ? void 0 : (_this$callbacks$onPre = _this$callbacks.onPreparationStarted) === null || _this$callbacks$onPre === void 0 ? void 0 : _this$callbacks$onPre.call(_this$callbacks);
31
+ });
32
+
33
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('paymentMethodPresented', () => {
34
+ var _this$callbacks2, _this$callbacks2$onPa;
35
+
36
+ console.log('paymentMethodPresented');
37
+ (_this$callbacks2 = this.callbacks) === null || _this$callbacks2 === void 0 ? void 0 : (_this$callbacks2$onPa = _this$callbacks2.onPaymentMethodPresented) === null || _this$callbacks2$onPa === void 0 ? void 0 : _this$callbacks2$onPa.call(_this$callbacks2);
38
+ });
39
+
40
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('tokenizationStarted', () => {
41
+ var _this$callbacks3, _this$callbacks3$onTo;
42
+
43
+ console.log('tokenizationStarted');
44
+ (_this$callbacks3 = this.callbacks) === null || _this$callbacks3 === void 0 ? void 0 : (_this$callbacks3$onTo = _this$callbacks3.onTokenizeStart) === null || _this$callbacks3$onTo === void 0 ? void 0 : _this$callbacks3$onTo.call(_this$callbacks3);
45
+ });
46
+
47
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('tokenizationSucceeded', data => {
48
+ console.log('tokenizationSucceeded', data);
49
+
50
+ if (data.paymentMethodToken) {
51
+ var _this$callbacks4, _this$callbacks4$onTo;
52
+
53
+ const paymentMethodTokenObj = JSON.parse(data.paymentMethodToken);
54
+ (_this$callbacks4 = this.callbacks) === null || _this$callbacks4 === void 0 ? void 0 : (_this$callbacks4$onTo = _this$callbacks4.onTokenizeSuccess) === null || _this$callbacks4$onTo === void 0 ? void 0 : _this$callbacks4$onTo.call(_this$callbacks4, paymentMethodTokenObj);
55
+ } else {
56
+ var _this$callbacks5, _this$callbacks5$onFa;
57
+
58
+ const err = {
59
+ name: 'ParseJsonFailed',
60
+ description: 'Failed to parse payment method token'
61
+ }; //@ts-ignore
62
+
63
+ (_this$callbacks5 = this.callbacks) === null || _this$callbacks5 === void 0 ? void 0 : (_this$callbacks5$onFa = _this$callbacks5.onFailure) === null || _this$callbacks5$onFa === void 0 ? void 0 : _this$callbacks5$onFa.call(_this$callbacks5, err);
64
+ }
65
+ });
66
+
67
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('resume', data => {
68
+ var _this$callbacks6, _this$callbacks6$onRe;
69
+
70
+ console.log('resume', data);
71
+ (_this$callbacks6 = this.callbacks) === null || _this$callbacks6 === void 0 ? void 0 : (_this$callbacks6$onRe = _this$callbacks6.onResumeSuccess) === null || _this$callbacks6$onRe === void 0 ? void 0 : _this$callbacks6$onRe.call(_this$callbacks6, data.resumeToken);
72
+ });
73
+
74
+ _NativePrimerHeadlessUniversalCheckout.default.addListener('error', data => {
75
+ var _this$callbacks7, _this$callbacks7$onFa;
76
+
77
+ console.log('error', data);
78
+ (_this$callbacks7 = this.callbacks) === null || _this$callbacks7 === void 0 ? void 0 : (_this$callbacks7$onFa = _this$callbacks7.onFailure) === null || _this$callbacks7$onFa === void 0 ? void 0 : _this$callbacks7$onFa.call(_this$callbacks7, data.error);
79
+ });
80
+ } ///////////////////////////////////////////
81
+ // API
82
+ ///////////////////////////////////////////
83
+
84
+
85
+ startWithClientToken(clientToken, settings) {
86
+ // Copy callback
87
+ this.callbacks = {
88
+ onPreparationStarted: settings.onPreparationStarted,
89
+ onPaymentMethodPresented: settings.onPaymentMethodPresented,
90
+ onTokenizeStart: settings.onTokenizeStart,
91
+ onTokenizeSuccess: settings.onTokenizeSuccess,
92
+ onResumeSuccess: settings.onResumeSuccess,
93
+ onFailure: settings.onFailure
94
+ };
95
+ return _NativePrimerHeadlessUniversalCheckout.default.startWithClientToken(clientToken, settings);
96
+ }
97
+
98
+ showPaymentMethod(paymentMethod) {
99
+ return _NativePrimerHeadlessUniversalCheckout.default.showPaymentMethod(paymentMethod);
100
+ }
101
+
102
+ resumeWithClientToken(resumeToken) {
103
+ return _NativePrimerHeadlessUniversalCheckout.default.resumeWithClientToken(resumeToken);
104
+ }
105
+
106
+ getAssetForPaymentMethod(paymentMethodType, assetType) {
107
+ return _NativePrimerHeadlessUniversalCheckout.default.getAssetForPaymentMethod(paymentMethodType, assetType);
108
+ }
109
+
110
+ getAssetForCardNetwork(cardNetwork, assetType) {
111
+ return _NativePrimerHeadlessUniversalCheckout.default.getAssetForCardNetwork(cardNetwork, assetType);
112
+ }
113
+
114
+ }
115
+
116
+ const PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();
117
+ var _default = PrimerHeadlessUniversalCheckout;
118
+ exports.default = _default;
119
+ //# sourceMappingURL=PrimerHeadlessUniversalCheckout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PrimerHeadlessUniversalCheckout.ts"],"names":["PrimerHeadlessUniversalCheckoutClass","constructor","callbacks","undefined","configureListeners","NativePrimerHeadlessUniversalCheckout","addListener","console","log","onPreparationStarted","onPaymentMethodPresented","onTokenizeStart","data","paymentMethodToken","paymentMethodTokenObj","JSON","parse","onTokenizeSuccess","err","name","description","onFailure","onResumeSuccess","resumeToken","error","startWithClientToken","clientToken","settings","showPaymentMethod","paymentMethod","resumeWithClientToken","getAssetForPaymentMethod","paymentMethodType","assetType","getAssetForCardNetwork","cardNetwork","PrimerHeadlessUniversalCheckout"],"mappings":"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","sourcesContent":["import type { PaymentInstrumentToken } from 'src/models/payment-instrument-token';\nimport type { PrimerError } from 'src/models/primer-error';\nimport type { PrimerSettings } from 'src/models/primer-settings';\nimport NativePrimerHeadlessUniversalCheckout from './NativePrimerHeadlessUniversalCheckout';\nimport type {\n PrimerHeadlessUniversalCheckoutStartResponse,\n PrimerHeadlessUniversalCheckoutCallbacks,\n} from './types';\n\nclass PrimerHeadlessUniversalCheckoutClass {\n private callbacks: PrimerHeadlessUniversalCheckoutCallbacks | undefined;\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n this.callbacks = undefined;\n this.configureListeners();\n }\n\n private configureListeners() {\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'preparationStarted',\n () => {\n console.log('preparationStarted');\n this.callbacks?.onPreparationStarted?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'paymentMethodPresented',\n () => {\n console.log('paymentMethodPresented');\n this.callbacks?.onPaymentMethodPresented?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'tokenizationStarted',\n () => {\n console.log('tokenizationStarted');\n this.callbacks?.onTokenizeStart?.();\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener(\n 'tokenizationSucceeded',\n (data) => {\n console.log('tokenizationSucceeded', data);\n\n if (data.paymentMethodToken) {\n const paymentMethodTokenObj: PaymentInstrumentToken = JSON.parse(\n data.paymentMethodToken\n );\n this.callbacks?.onTokenizeSuccess?.(paymentMethodTokenObj);\n } else {\n const err: PrimerError = {\n name: 'ParseJsonFailed',\n description: 'Failed to parse payment method token',\n };\n //@ts-ignore\n this.callbacks?.onFailure?.(err);\n }\n }\n );\n\n NativePrimerHeadlessUniversalCheckout.addListener('resume', (data) => {\n console.log('resume', data);\n this.callbacks?.onResumeSuccess?.(data.resumeToken);\n });\n\n NativePrimerHeadlessUniversalCheckout.addListener('error', (data) => {\n console.log('error', data);\n this.callbacks?.onFailure?.(data.error);\n });\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n startWithClientToken(\n clientToken: string,\n settings: PrimerSettings & PrimerHeadlessUniversalCheckoutCallbacks\n ): Promise<PrimerHeadlessUniversalCheckoutStartResponse> {\n // Copy callback\n this.callbacks = {\n onPreparationStarted: settings.onPreparationStarted,\n onPaymentMethodPresented: settings.onPaymentMethodPresented,\n onTokenizeStart: settings.onTokenizeStart,\n onTokenizeSuccess: settings.onTokenizeSuccess,\n onResumeSuccess: settings.onResumeSuccess,\n onFailure: settings.onFailure,\n };\n\n return NativePrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n settings\n );\n }\n\n showPaymentMethod(paymentMethod: string) {\n return NativePrimerHeadlessUniversalCheckout.showPaymentMethod(\n paymentMethod\n );\n }\n\n resumeWithClientToken(resumeToken: string) {\n return NativePrimerHeadlessUniversalCheckout.resumeWithClientToken(\n resumeToken\n );\n }\n\n getAssetForPaymentMethod(\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> {\n return NativePrimerHeadlessUniversalCheckout.getAssetForPaymentMethod(\n paymentMethodType,\n assetType\n );\n }\n\n getAssetForCardNetwork(\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> {\n return NativePrimerHeadlessUniversalCheckout.getAssetForCardNetwork(\n cardNetwork,\n assetType\n );\n }\n}\n\nconst PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();\n\nexport default PrimerHeadlessUniversalCheckout;\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -3,10 +3,38 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ Primer: true,
8
+ HeadlessUniversalCheckout: true
9
+ };
10
+ Object.defineProperty(exports, "HeadlessUniversalCheckout", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _PrimerHeadlessUniversalCheckout.default;
14
+ }
15
+ });
6
16
  exports.Primer = void 0;
7
17
 
18
+ var _PrimerHeadlessUniversalCheckout = _interopRequireDefault(require("./headless_checkout/PrimerHeadlessUniversalCheckout"));
19
+
8
20
  var _Primer = require("./Primer");
9
21
 
22
+ var _PrimerInput = require("./PrimerInput");
23
+
24
+ Object.keys(_PrimerInput).forEach(function (key) {
25
+ if (key === "default" || key === "__esModule") return;
26
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
+ if (key in exports && exports[key] === _PrimerInput[key]) return;
28
+ Object.defineProperty(exports, key, {
29
+ enumerable: true,
30
+ get: function () {
31
+ return _PrimerInput[key];
32
+ }
33
+ });
34
+ });
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
+
10
38
  const Primer = _Primer.PrimerNativeMapping;
11
39
  exports.Primer = Primer;
12
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["Primer","PrimerNativeMapping"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,MAAe,GAAGC,2BAAxB","sourcesContent":["import type { IPrimer } from './models/primer';\nimport { PrimerNativeMapping } from './Primer';\n\nconst Primer: IPrimer = PrimerNativeMapping;\n\nexport { Primer };\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["Primer","PrimerNativeMapping"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAEA,MAAMA,MAAe,GAAGC,2BAAxB","sourcesContent":["import PrimerHeadlessUniversalCheckout from './headless_checkout/PrimerHeadlessUniversalCheckout';\nimport type { IPrimer } from './models/primer';\nimport { PrimerNativeMapping } from './Primer';\nexport * from './PrimerInput';\n\nconst Primer: IPrimer = PrimerNativeMapping;\n\nexport { Primer, PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout };\n"]}
@@ -37,7 +37,7 @@ export const PrimerNativeMapping = {
37
37
  NativeModule.dispose();
38
38
  }
39
39
 
40
- };
40
+ }; //
41
41
 
42
42
  function configure(config) {
43
43
  configureTheme(config.theme);
@@ -1 +1 @@
1
- {"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnResumeSuccessCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n // todo: refactor\n // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n // configure(config);\n // NativeModule.fetchSavedPaymentInstruments(token);\n // },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\n/**\n * Call @method configureOnClientSessionActions on the native bridge, passing\n * in a callback that the native side will call every time a client session\n * action is triggered.\n */\nfunction configureOnClientSessionActions(\n callback?: OnClientSessionActionsCallback // defined by integrating developer.\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n // parse the client session action JSON string.\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n\n if (!callback) {\n /**\n * if @param callback is undefined immediately call the native bridge\n * and resume with null values. This will resume the SDK flow without\n * triggering extra configuration API fetch calls.\n */\n actionResume({ error: null, token: null });\n } else {\n /**\n * send the parsed data back to the developer through the defined callback.\n * The developer will determine how to resume the flow using one of the provided\n * resume handlers.\n */\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated, remove in next major version update.\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n }\n\n // reset the client session action callback (native bridge callbacks are disposed once they're invoked).\n configureOnClientSessionActions(callback);\n } catch (e) {\n // log error if the client session action JSON string cannot be parsed (this should never happen!).\n console.error('[OnClientSessionActions]', 'failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnResumeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n // todo: refactor\n // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n // configure(config);\n // NativeModule.fetchSavedPaymentInstruments(token);\n // },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\n//\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\n/**\n * Call @method configureOnClientSessionActions on the native bridge, passing\n * in a callback that the native side will call every time a client session\n * action is triggered.\n */\nfunction configureOnClientSessionActions(\n callback?: OnClientSessionActionsCallback // defined by integrating developer.\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n // parse the client session action JSON string.\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n\n if (!callback) {\n /**\n * if @param callback is undefined immediately call the native bridge\n * and resume with null values. This will resume the SDK flow without\n * triggering extra configuration API fetch calls.\n */\n actionResume({ error: null, token: null });\n } else {\n /**\n * send the parsed data back to the developer through the defined callback.\n * The developer will determine how to resume the flow using one of the provided\n * resume handlers.\n */\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated, remove in next major version update.\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n }\n\n // reset the client session action callback (native bridge callbacks are disposed once they're invoked).\n configureOnClientSessionActions(callback);\n } catch (e) {\n // log error if the client session action JSON string cannot be parsed (this should never happen!).\n console.error('[OnClientSessionActions]', 'failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
@@ -0,0 +1,46 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import { PrimerHeadlessUniversalCheckoutCardFormUIManager } from './RNTPrimerHeadlessUniversalCheckoutCardFormUIManager';
4
+ import React, { useEffect, useRef } from 'react';
5
+ import { NativeModules, requireNativeComponent } from 'react-native'; // PrimerCardNumberEditText
6
+
7
+ export const PrimerCardNumberEditTextRaw = requireNativeComponent('PrimerCardNumberEditText');
8
+ const {
9
+ PrimerRN
10
+ } = NativeModules;
11
+ export const PrimerCardNumberEditText = props => {
12
+ const ref = useRef( /*#__PURE__*/React.createRef());
13
+ useEffect(() => {
14
+ const tag = ref.current.current._nativeTag;
15
+ PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);
16
+ return () => PrimerRN.removeInput(tag);
17
+ }, []);
18
+ const rawComponent = /*#__PURE__*/React.createElement(PrimerCardNumberEditTextRaw, _extends({
19
+ ref: ref.current
20
+ }, props));
21
+ return rawComponent;
22
+ }; // PrimerCardholderNameEditText
23
+
24
+ export const PrimerCardholderNameEditTextRaw = requireNativeComponent('PrimerCardholderNameEditText');
25
+ export const PrimerCardholderNameEditText = props => {
26
+ const ref = useRef( /*#__PURE__*/React.createRef());
27
+ useEffect(() => {
28
+ const tag = ref.current.current._nativeTag;
29
+ PrimerRN.addInput(tag);
30
+ return () => PrimerRN.removeInput(tag);
31
+ }, []);
32
+ return /*#__PURE__*/React.createElement(PrimerCardholderNameEditTextRaw, _extends({
33
+ ref: ref.current
34
+ }, props));
35
+ }; // PrimerExpiryEditText
36
+
37
+ export const PrimerExpiryEditTextRaw = requireNativeComponent('PrimerExpiryEditText');
38
+ export const PrimerExpiryEditText = props => {
39
+ return /*#__PURE__*/React.createElement(PrimerExpiryEditTextRaw, props);
40
+ }; // cvv
41
+
42
+ export const PrimerCvvEditTextRaw = requireNativeComponent('PrimerCvvEditText');
43
+ export const PrimerCvvEditText = props => {
44
+ return /*#__PURE__*/React.createElement(PrimerCvvEditTextRaw, props);
45
+ };
46
+ //# sourceMappingURL=PrimerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PrimerInput.tsx"],"names":["PrimerHeadlessUniversalCheckoutCardFormUIManager","React","useEffect","useRef","NativeModules","requireNativeComponent","PrimerCardNumberEditTextRaw","PrimerRN","PrimerCardNumberEditText","props","ref","createRef","tag","current","_nativeTag","addInput","removeInput","rawComponent","PrimerCardholderNameEditTextRaw","PrimerCardholderNameEditText","PrimerExpiryEditTextRaw","PrimerExpiryEditText","PrimerCvvEditTextRaw","PrimerCvvEditText"],"mappings":";;AAAA,SAASA,gDAAT,QAAiE,uDAAjE;AACA,OAAOC,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,QAAyC,OAAzC;AACA,SAASC,aAAT,EAAwBC,sBAAxB,QAAiE,cAAjE,C,CAGA;;AACA,OAAO,MAAMC,2BAA2B,GAAGD,sBAAsB,CAC/D,0BAD+D,CAA1D;AAMP,MAAM;AAAEE,EAAAA;AAAF,IAAeH,aAArB;AAEA,OAAO,MAAMI,wBAAiE,GAAIC,KAAD,IAAW;AAC1F,QAAMC,GAAG,GAAGP,MAAM,eAACF,KAAK,CAACU,SAAN,EAAD,CAAlB;AAEAT,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMU,GAAG,GAAGF,GAAG,CAACG,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;AACAd,IAAAA,gDAAgD,CAACe,QAAjD,CAA0DH,GAA1D;AACA,WAAO,MAAML,QAAQ,CAACS,WAAT,CAAqBJ,GAArB,CAAb;AACD,GAJQ,EAIN,EAJM,CAAT;AAMA,QAAMK,YAAY,gBAChB,oBAAC,2BAAD;AAA6B,IAAA,GAAG,EAAEP,GAAG,CAACG;AAAtC,KAAmDJ,KAAnD,EADF;AAIA,SAAOQ,YAAP;AACD,CAdM,C,CAgBP;;AACA,OAAO,MAAMC,+BAA+B,GAAGb,sBAAsB,CACnE,8BADmE,CAA9D;AAMP,OAAO,MAAMc,4BAAyE,GACpFV,KADuF,IAEpF;AACH,QAAMC,GAAG,GAAGP,MAAM,eAACF,KAAK,CAACU,SAAN,EAAD,CAAlB;AAEAT,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMU,GAAG,GAAGF,GAAG,CAACG,OAAJ,CAAYA,OAAZ,CAAoBC,UAAhC;AACAP,IAAAA,QAAQ,CAACQ,QAAT,CAAkBH,GAAlB;AACA,WAAO,MAAML,QAAQ,CAACS,WAAT,CAAqBJ,GAArB,CAAb;AACD,GAJQ,EAIN,EAJM,CAAT;AAKA,sBAAO,oBAAC,+BAAD;AAAiC,IAAA,GAAG,EAAEF,GAAG,CAACG;AAA1C,KAAuDJ,KAAvD,EAAP;AACD,CAXM,C,CAaP;;AACA,OAAO,MAAMW,uBAAuB,GAAGf,sBAAsB,CAC3D,sBAD2D,CAAtD;AAMP,OAAO,MAAMgB,oBAAyD,GACpEZ,KADuE,IAEpE;AACH,sBAAO,oBAAC,uBAAD,EAA6BA,KAA7B,CAAP;AACD,CAJM,C,CAMP;;AACA,OAAO,MAAMa,oBAAoB,GAAGjB,sBAAsB,CACxD,mBADwD,CAAnD;AAMP,OAAO,MAAMkB,iBAAmD,GAAId,KAAD,IAAW;AAC5E,sBAAO,oBAAC,oBAAD,EAA0BA,KAA1B,CAAP;AACD,CAFM","sourcesContent":["import { PrimerHeadlessUniversalCheckoutCardFormUIManager } from './RNTPrimerHeadlessUniversalCheckoutCardFormUIManager';\nimport React, { useEffect, useRef } from 'react';\nimport { NativeModules, requireNativeComponent, ViewProps } from 'react-native';\n\n\n// PrimerCardNumberEditText\nexport const PrimerCardNumberEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardNumberEditText'\n);\n\ntype PrimerCardNumberEditTextProps = ViewProps;\n\nconst { PrimerRN } = NativeModules;\n\nexport const PrimerCardNumberEditText: React.FC<PrimerCardNumberEditTextProps> = (props) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerHeadlessUniversalCheckoutCardFormUIManager.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n\n const rawComponent = (\n <PrimerCardNumberEditTextRaw ref={ref.current} {...props} />\n );\n\n return rawComponent;\n};\n\n// PrimerCardholderNameEditText\nexport const PrimerCardholderNameEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCardholderNameEditText'\n);\n\ntype PrimerCardholderNameEditTextProps = ViewProps;\n\nexport const PrimerCardholderNameEditText: React.FC<PrimerCardholderNameEditTextProps> = (\n props\n) => {\n const ref = useRef(React.createRef<any>());\n\n useEffect(() => {\n const tag = ref.current.current._nativeTag;\n PrimerRN.addInput(tag);\n return () => PrimerRN.removeInput(tag);\n }, []);\n return <PrimerCardholderNameEditTextRaw ref={ref.current} {...props} />;\n};\n\n// PrimerExpiryEditText\nexport const PrimerExpiryEditTextRaw = requireNativeComponent<{}>(\n 'PrimerExpiryEditText'\n);\n\ntype PrimerExpiryEditTextProps = ViewProps;\n\nexport const PrimerExpiryEditText: React.FC<PrimerExpiryEditTextProps> = (\n props\n) => {\n return <PrimerExpiryEditTextRaw {...props} />;\n};\n\n// cvv\nexport const PrimerCvvEditTextRaw = requireNativeComponent<{}>(\n 'PrimerCvvEditText'\n);\n\ntype PrimerCvvEditTextProps = ViewProps;\n\nexport const PrimerCvvEditText: React.FC<PrimerCvvEditTextProps> = (props) => {\n return <PrimerCvvEditTextRaw {...props} />;\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { NativeModules } from 'react-native';
2
+ export const {
3
+ PrimerHeadlessUniversalCheckoutCardFormUIManager
4
+ } = NativeModules;
5
+ //# sourceMappingURL=RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx"],"names":["NativeModules","PrimerHeadlessUniversalCheckoutCardFormUIManager"],"mappings":"AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,OAAO,MAAM;AAAEC,EAAAA;AAAF,IAAuDD,aAA7D","sourcesContent":["import { NativeModules } from 'react-native';\nexport const { PrimerHeadlessUniversalCheckoutCardFormUIManager } = NativeModules;"]}
@@ -0,0 +1,64 @@
1
+ import { NativeEventEmitter, NativeModules } from 'react-native';
2
+ const {
3
+ PrimerHeadlessUniversalCheckout
4
+ } = NativeModules;
5
+ const eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);
6
+ const NativePrimerHeadlessUniversalCheckout = {
7
+ ///////////////////////////////////////////
8
+ // Event Emitter
9
+ ///////////////////////////////////////////
10
+ addListener: (eventType, listener) => {
11
+ eventEmitter.addListener(eventType, listener);
12
+ },
13
+ ///////////////////////////////////////////
14
+ // Native API
15
+ ///////////////////////////////////////////
16
+ getAssetForPaymentMethod: (paymentMethodType, assetType) => {
17
+ return new Promise((resolve, reject) => {
18
+ try {
19
+ PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(paymentMethodType, assetType, err => {
20
+ reject(err);
21
+ }, url => {
22
+ resolve(url);
23
+ });
24
+ } catch (e) {
25
+ reject(e);
26
+ }
27
+ });
28
+ },
29
+ getAssetForCardNetwork: (cardNetwork, assetType) => {
30
+ return new Promise((resolve, reject) => {
31
+ try {
32
+ PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(cardNetwork, assetType, err => {
33
+ reject(err);
34
+ }, url => {
35
+ resolve(url);
36
+ });
37
+ } catch (e) {
38
+ reject(e);
39
+ }
40
+ });
41
+ },
42
+
43
+ startWithClientToken(clientToken, settings) {
44
+ return new Promise((resolve, reject) => {
45
+ PrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, JSON.stringify(settings), err => {
46
+ console.error(err);
47
+ reject(err);
48
+ }, paymentMethodTypes => {
49
+ resolve({
50
+ paymentMethodTypes
51
+ });
52
+ });
53
+ });
54
+ },
55
+
56
+ showPaymentMethod: paymentMethod => PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),
57
+
58
+ resumeWithClientToken(resumeToken) {
59
+ PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
60
+ }
61
+
62
+ };
63
+ export default NativePrimerHeadlessUniversalCheckout;
64
+ //# sourceMappingURL=NativePrimerHeadlessUniversalCheckout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NativePrimerHeadlessUniversalCheckout.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckout","eventEmitter","NativePrimerHeadlessUniversalCheckout","addListener","eventType","listener","getAssetForPaymentMethod","paymentMethodType","assetType","Promise","resolve","reject","getAssetForPaymentMethodType","err","url","e","getAssetForCardNetwork","cardNetwork","startWithClientToken","clientToken","settings","JSON","stringify","console","error","paymentMethodTypes","showPaymentMethod","paymentMethod","resumeWithClientToken","resumeToken"],"mappings":"AAAA,SAASA,kBAAT,EAA6BC,aAA7B,QAAkD,cAAlD;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAsCD,aAA5C;AAEA,MAAME,YAAY,GAAG,IAAIH,kBAAJ,CAAuBE,+BAAvB,CAArB;AAUA,MAAME,qCAAqC,GAAG;AAC5C;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACxEJ,IAAAA,YAAY,CAACE,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACD,GAN2C;AAQ5C;AACA;AACA;AACAC,EAAAA,wBAAwB,EAAE,CACxBC,iBADwB,EAExBC,SAFwB,KAGJ;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFX,QAAAA,+BAA+B,CAACY,4BAAhC,CACEL,iBADF,EAEEC,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GA/B2C;AAiC5CC,EAAAA,sBAAsB,EAAE,CACtBC,WADsB,EAEtBT,SAFsB,KAGF;AACpB,WAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAI;AACFX,QAAAA,+BAA+B,CAACY,4BAAhC,CACEK,WADF,EAEET,SAFF,EAGGK,GAAD,IAAgB;AACdF,UAAAA,MAAM,CAACE,GAAD,CAAN;AACD,SALH,EAMGC,GAAD,IAAiB;AACfJ,UAAAA,OAAO,CAACI,GAAD,CAAP;AACD,SARH;AAUD,OAXD,CAWE,OAAOC,CAAP,EAAU;AACVJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AACD;AACF,KAfM,CAAP;AAgBD,GArD2C;;AAuD5CG,EAAAA,oBAAoB,CAACC,WAAD,EAAsBC,QAAtB,EAAmD;AACrE,WAAO,IAAIX,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCX,MAAAA,+BAA+B,CAACkB,oBAAhC,CACEC,WADF,EAEEE,IAAI,CAACC,SAAL,CAAeF,QAAf,CAFF,EAGGP,GAAD,IAAgB;AACdU,QAAAA,OAAO,CAACC,KAAR,CAAcX,GAAd;AACAF,QAAAA,MAAM,CAACE,GAAD,CAAN;AACD,OANH,EAOGY,kBAAD,IAAkC;AAChCf,QAAAA,OAAO,CAAC;AAAEe,UAAAA;AAAF,SAAD,CAAP;AACD,OATH;AAWD,KAZM,CAAP;AAaD,GArE2C;;AAuE5CC,EAAAA,iBAAiB,EAAGC,aAAD,IACjB3B,+BAA+B,CAAC0B,iBAAhC,CAAkDC,aAAlD,CAxE0C;;AA0E5CC,EAAAA,qBAAqB,CAACC,WAAD,EAAsB;AACzC7B,IAAAA,+BAA+B,CAAC4B,qBAAhC,CAAsDC,WAAtD;AACD;;AA5E2C,CAA9C;AA+EA,eAAe3B,qCAAf","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckout } = NativeModules;\n\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);\n\ntype EventType =\n | 'preparationStarted'\n | 'paymentMethodPresented'\n | 'tokenizationStarted'\n | 'tokenizationSucceeded'\n | 'resume'\n | 'error';\n\nconst NativePrimerHeadlessUniversalCheckout = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n getAssetForPaymentMethod: (\n paymentMethodType: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n paymentMethodType,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n getAssetForCardNetwork: (\n cardNetwork: string,\n assetType: 'logo' | 'icon'\n ): Promise<string> => {\n return new Promise((resolve, reject) => {\n try {\n PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(\n cardNetwork,\n assetType,\n (err: Error) => {\n reject(err);\n },\n (url: string) => {\n resolve(url);\n }\n );\n } catch (e) {\n reject(e);\n }\n });\n },\n\n startWithClientToken(clientToken: string, settings: any): Promise<any> {\n return new Promise((resolve, reject) => {\n PrimerHeadlessUniversalCheckout.startWithClientToken(\n clientToken,\n JSON.stringify(settings),\n (err: Error) => {\n console.error(err);\n reject(err);\n },\n (paymentMethodTypes: string[]) => {\n resolve({ paymentMethodTypes });\n }\n );\n });\n },\n\n showPaymentMethod: (paymentMethod: string) =>\n PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod),\n\n resumeWithClientToken(resumeToken: string) {\n PrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);\n },\n};\n\nexport default NativePrimerHeadlessUniversalCheckout;\n"]}
@@ -0,0 +1,104 @@
1
+ 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; }
2
+
3
+ import NativePrimerHeadlessUniversalCheckout from './NativePrimerHeadlessUniversalCheckout';
4
+
5
+ class PrimerHeadlessUniversalCheckoutClass {
6
+ ///////////////////////////////////////////
7
+ // Init
8
+ ///////////////////////////////////////////
9
+ constructor() {
10
+ _defineProperty(this, "callbacks", void 0);
11
+
12
+ this.callbacks = undefined;
13
+ this.configureListeners();
14
+ }
15
+
16
+ configureListeners() {
17
+ NativePrimerHeadlessUniversalCheckout.addListener('preparationStarted', () => {
18
+ var _this$callbacks, _this$callbacks$onPre;
19
+
20
+ console.log('preparationStarted');
21
+ (_this$callbacks = this.callbacks) === null || _this$callbacks === void 0 ? void 0 : (_this$callbacks$onPre = _this$callbacks.onPreparationStarted) === null || _this$callbacks$onPre === void 0 ? void 0 : _this$callbacks$onPre.call(_this$callbacks);
22
+ });
23
+ NativePrimerHeadlessUniversalCheckout.addListener('paymentMethodPresented', () => {
24
+ var _this$callbacks2, _this$callbacks2$onPa;
25
+
26
+ console.log('paymentMethodPresented');
27
+ (_this$callbacks2 = this.callbacks) === null || _this$callbacks2 === void 0 ? void 0 : (_this$callbacks2$onPa = _this$callbacks2.onPaymentMethodPresented) === null || _this$callbacks2$onPa === void 0 ? void 0 : _this$callbacks2$onPa.call(_this$callbacks2);
28
+ });
29
+ NativePrimerHeadlessUniversalCheckout.addListener('tokenizationStarted', () => {
30
+ var _this$callbacks3, _this$callbacks3$onTo;
31
+
32
+ console.log('tokenizationStarted');
33
+ (_this$callbacks3 = this.callbacks) === null || _this$callbacks3 === void 0 ? void 0 : (_this$callbacks3$onTo = _this$callbacks3.onTokenizeStart) === null || _this$callbacks3$onTo === void 0 ? void 0 : _this$callbacks3$onTo.call(_this$callbacks3);
34
+ });
35
+ NativePrimerHeadlessUniversalCheckout.addListener('tokenizationSucceeded', data => {
36
+ console.log('tokenizationSucceeded', data);
37
+
38
+ if (data.paymentMethodToken) {
39
+ var _this$callbacks4, _this$callbacks4$onTo;
40
+
41
+ const paymentMethodTokenObj = JSON.parse(data.paymentMethodToken);
42
+ (_this$callbacks4 = this.callbacks) === null || _this$callbacks4 === void 0 ? void 0 : (_this$callbacks4$onTo = _this$callbacks4.onTokenizeSuccess) === null || _this$callbacks4$onTo === void 0 ? void 0 : _this$callbacks4$onTo.call(_this$callbacks4, paymentMethodTokenObj);
43
+ } else {
44
+ var _this$callbacks5, _this$callbacks5$onFa;
45
+
46
+ const err = {
47
+ name: 'ParseJsonFailed',
48
+ description: 'Failed to parse payment method token'
49
+ }; //@ts-ignore
50
+
51
+ (_this$callbacks5 = this.callbacks) === null || _this$callbacks5 === void 0 ? void 0 : (_this$callbacks5$onFa = _this$callbacks5.onFailure) === null || _this$callbacks5$onFa === void 0 ? void 0 : _this$callbacks5$onFa.call(_this$callbacks5, err);
52
+ }
53
+ });
54
+ NativePrimerHeadlessUniversalCheckout.addListener('resume', data => {
55
+ var _this$callbacks6, _this$callbacks6$onRe;
56
+
57
+ console.log('resume', data);
58
+ (_this$callbacks6 = this.callbacks) === null || _this$callbacks6 === void 0 ? void 0 : (_this$callbacks6$onRe = _this$callbacks6.onResumeSuccess) === null || _this$callbacks6$onRe === void 0 ? void 0 : _this$callbacks6$onRe.call(_this$callbacks6, data.resumeToken);
59
+ });
60
+ NativePrimerHeadlessUniversalCheckout.addListener('error', data => {
61
+ var _this$callbacks7, _this$callbacks7$onFa;
62
+
63
+ console.log('error', data);
64
+ (_this$callbacks7 = this.callbacks) === null || _this$callbacks7 === void 0 ? void 0 : (_this$callbacks7$onFa = _this$callbacks7.onFailure) === null || _this$callbacks7$onFa === void 0 ? void 0 : _this$callbacks7$onFa.call(_this$callbacks7, data.error);
65
+ });
66
+ } ///////////////////////////////////////////
67
+ // API
68
+ ///////////////////////////////////////////
69
+
70
+
71
+ startWithClientToken(clientToken, settings) {
72
+ // Copy callback
73
+ this.callbacks = {
74
+ onPreparationStarted: settings.onPreparationStarted,
75
+ onPaymentMethodPresented: settings.onPaymentMethodPresented,
76
+ onTokenizeStart: settings.onTokenizeStart,
77
+ onTokenizeSuccess: settings.onTokenizeSuccess,
78
+ onResumeSuccess: settings.onResumeSuccess,
79
+ onFailure: settings.onFailure
80
+ };
81
+ return NativePrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, settings);
82
+ }
83
+
84
+ showPaymentMethod(paymentMethod) {
85
+ return NativePrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethod);
86
+ }
87
+
88
+ resumeWithClientToken(resumeToken) {
89
+ return NativePrimerHeadlessUniversalCheckout.resumeWithClientToken(resumeToken);
90
+ }
91
+
92
+ getAssetForPaymentMethod(paymentMethodType, assetType) {
93
+ return NativePrimerHeadlessUniversalCheckout.getAssetForPaymentMethod(paymentMethodType, assetType);
94
+ }
95
+
96
+ getAssetForCardNetwork(cardNetwork, assetType) {
97
+ return NativePrimerHeadlessUniversalCheckout.getAssetForCardNetwork(cardNetwork, assetType);
98
+ }
99
+
100
+ }
101
+
102
+ const PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();
103
+ export default PrimerHeadlessUniversalCheckout;
104
+ //# sourceMappingURL=PrimerHeadlessUniversalCheckout.js.map