@deuna/react-native-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +15 -0
- package/lib/module/DeunaLogs.js +18 -0
- package/lib/module/DeunaLogs.js.map +1 -0
- package/lib/module/DeunaSDK.js +207 -0
- package/lib/module/DeunaSDK.js.map +1 -0
- package/lib/module/components/DeunaWebView.js +37 -0
- package/lib/module/components/DeunaWebView.js.map +1 -0
- package/lib/module/components/DeunaWidget.js +82 -0
- package/lib/module/components/DeunaWidget.js.map +1 -0
- package/lib/module/components/NewTabWebView.js +55 -0
- package/lib/module/components/NewTabWebView.js.map +1 -0
- package/lib/module/components/WebViewLoader.js +25 -0
- package/lib/module/components/WebViewLoader.js.map +1 -0
- package/lib/module/controllers/BaseWebViewController.js +252 -0
- package/lib/module/controllers/BaseWebViewController.js.map +1 -0
- package/lib/module/controllers/ElementsWidgetController.js +64 -0
- package/lib/module/controllers/ElementsWidgetController.js.map +1 -0
- package/lib/module/controllers/OpenInNewTabController.js +34 -0
- package/lib/module/controllers/OpenInNewTabController.js.map +1 -0
- package/lib/module/controllers/PaymentWidgetController.js +98 -0
- package/lib/module/controllers/PaymentWidgetController.js.map +1 -0
- package/lib/module/helpers/Completer.js +30 -0
- package/lib/module/helpers/Completer.js.map +1 -0
- package/lib/module/helpers/getController.js +48 -0
- package/lib/module/helpers/getController.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/interfaces/constants.js +8 -0
- package/lib/module/interfaces/constants.js.map +1 -0
- package/lib/module/interfaces/errors.js +36 -0
- package/lib/module/interfaces/errors.js.map +1 -0
- package/lib/module/interfaces/events/checkout.js +45 -0
- package/lib/module/interfaces/events/checkout.js.map +1 -0
- package/lib/module/interfaces/events/elements.js +28 -0
- package/lib/module/interfaces/events/elements.js.map +1 -0
- package/lib/module/interfaces/index.js +6 -0
- package/lib/module/interfaces/index.js.map +1 -0
- package/lib/module/interfaces/types.js +13 -0
- package/lib/module/interfaces/types.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types/base.js +24 -0
- package/lib/module/types/base.js.map +1 -0
- package/lib/module/types/env.js +48 -0
- package/lib/module/types/env.js.map +1 -0
- package/lib/module/types/helpers/buildElementsLink.js +75 -0
- package/lib/module/types/helpers/buildElementsLink.js.map +1 -0
- package/lib/module/types/helpers/buildNextActionLink.js +33 -0
- package/lib/module/types/helpers/buildNextActionLink.js.map +1 -0
- package/lib/module/types/helpers/buildPaymentLink.js +54 -0
- package/lib/module/types/helpers/buildPaymentLink.js.map +1 -0
- package/lib/module/types/helpers/buildVoucherLink.js +48 -0
- package/lib/module/types/helpers/buildVoucherLink.js.map +1 -0
- package/lib/module/types/helpers/index.js +13 -0
- package/lib/module/types/helpers/index.js.map +1 -0
- package/lib/module/types/helpers/urlConfig.js +19 -0
- package/lib/module/types/helpers/urlConfig.js.map +1 -0
- package/lib/module/types/index.js +7 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/interfaces/callbacks.js +2 -0
- package/lib/module/types/interfaces/callbacks.js.map +1 -0
- package/lib/module/types/interfaces/customStyle.js +2 -0
- package/lib/module/types/interfaces/customStyle.js.map +1 -0
- package/lib/module/types/interfaces/index.js +9 -0
- package/lib/module/types/interfaces/index.js.map +1 -0
- package/lib/module/types/interfaces/initWidgetBase.js +4 -0
- package/lib/module/types/interfaces/initWidgetBase.js.map +1 -0
- package/lib/module/types/interfaces/merchant.js +2 -0
- package/lib/module/types/interfaces/merchant.js.map +1 -0
- package/lib/module/types/interfaces/order.js +2 -0
- package/lib/module/types/interfaces/order.js.map +1 -0
- package/lib/module/types/interfaces/user.js +2 -0
- package/lib/module/types/interfaces/user.js.map +1 -0
- package/lib/module/types/utils/hasKey.js +8 -0
- package/lib/module/types/utils/hasKey.js.map +1 -0
- package/lib/module/types/utils/index.js +4 -0
- package/lib/module/types/utils/index.js.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaLogs.d.ts +6 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaLogs.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +88 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.d.ts +11 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/WebViewLoader.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/WebViewLoader.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +83 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts +9 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts +12 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts +12 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/Completer.d.ts +12 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/Completer.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts +22 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/index.d.ts +5 -0
- package/lib/typescript/deuna-sdk-react-native/src/index.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +6 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/errors.d.ts +32 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/errors.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/events/checkout.d.ts +46 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/events/checkout.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/events/elements.d.ts +29 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/events/elements.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/index.d.ts +4 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/index.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +15 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +91 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/env.d.ts +45 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/env.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +3 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildNextActionLink.d.ts +3 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildNextActionLink.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts +8 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts +8 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/index.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/index.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts +34 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/index.d.ts +5 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/index.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts +38 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/customStyle.d.ts +156 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/customStyle.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/index.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/index.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts +78 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/merchant.d.ts +76 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/merchant.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/order.d.ts +3 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/order.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/user.d.ts +23 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/user.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/hasKey.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/hasKey.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/index.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/index.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/package.json +159 -0
- package/src/DeunaLogs.ts +17 -0
- package/src/DeunaSDK.ts +269 -0
- package/src/components/DeunaWebView.tsx +38 -0
- package/src/components/DeunaWidget.tsx +92 -0
- package/src/components/NewTabWebView.tsx +61 -0
- package/src/components/WebViewLoader.tsx +22 -0
- package/src/controllers/BaseWebViewController.ts +289 -0
- package/src/controllers/ElementsWidgetController.ts +78 -0
- package/src/controllers/OpenInNewTabController.ts +39 -0
- package/src/controllers/PaymentWidgetController.ts +118 -0
- package/src/helpers/Completer.ts +33 -0
- package/src/helpers/getController.ts +83 -0
- package/src/index.tsx +4 -0
- package/src/interfaces/constants.ts +5 -0
- package/src/interfaces/errors.ts +34 -0
- package/src/interfaces/events/checkout.ts +46 -0
- package/src/interfaces/events/elements.ts +29 -0
- package/src/interfaces/index.ts +3 -0
- package/src/interfaces/types.ts +13 -0
- package/src/types/base.ts +126 -0
- package/src/types/env.ts +51 -0
- package/src/types/helpers/buildElementsLink.ts +87 -0
- package/src/types/helpers/buildNextActionLink.ts +42 -0
- package/src/types/helpers/buildPaymentLink.ts +63 -0
- package/src/types/helpers/buildVoucherLink.ts +53 -0
- package/src/types/helpers/index.ts +11 -0
- package/src/types/helpers/urlConfig.ts +80 -0
- package/src/types/index.ts +4 -0
- package/src/types/interfaces/callbacks.ts +43 -0
- package/src/types/interfaces/customStyle.ts +189 -0
- package/src/types/interfaces/index.ts +6 -0
- package/src/types/interfaces/initWidgetBase.ts +97 -0
- package/src/types/interfaces/merchant.ts +79 -0
- package/src/types/interfaces/order.ts +1 -0
- package/src/types/interfaces/user.ts +22 -0
- package/src/types/utils/hasKey.ts +5 -0
- package/src/types/utils/index.ts +1 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DeunaLogs } from "../DeunaLogs.js";
|
|
4
|
+
import { submitError } from "../interfaces/index.js";
|
|
5
|
+
export let WebViewEventType = /*#__PURE__*/function (WebViewEventType) {
|
|
6
|
+
WebViewEventType["consoleLog"] = "consoleLog";
|
|
7
|
+
WebViewEventType["eventDispatch"] = "eventDispatch";
|
|
8
|
+
WebViewEventType["jsExecutor"] = "jsExecutor";
|
|
9
|
+
WebViewEventType["openInNewTab"] = "openInNewTab";
|
|
10
|
+
WebViewEventType["redirect"] = "redirect";
|
|
11
|
+
return WebViewEventType;
|
|
12
|
+
}({});
|
|
13
|
+
export class BaseWebViewController {
|
|
14
|
+
webView = null;
|
|
15
|
+
url = null;
|
|
16
|
+
delegate = null;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Called when the web view url is loaded successfully
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Called when the web view fails to load a URL
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Release the web view resources
|
|
28
|
+
*/
|
|
29
|
+
dispose() {
|
|
30
|
+
this.webView?.stopLoading();
|
|
31
|
+
this.webView = null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class DeunaWebViewController extends BaseWebViewController {
|
|
35
|
+
hidePayButton = false;
|
|
36
|
+
redirectUrl = null;
|
|
37
|
+
closedAction = 'systemAction';
|
|
38
|
+
jsExecutor = new JsExecutor();
|
|
39
|
+
setWebView = webView => {
|
|
40
|
+
this.webView = webView;
|
|
41
|
+
this.jsExecutor.webView = webView;
|
|
42
|
+
};
|
|
43
|
+
onLoad = () => {
|
|
44
|
+
this.setXprops();
|
|
45
|
+
};
|
|
46
|
+
onMessage = event => {
|
|
47
|
+
const eventData = JSON.parse(event.nativeEvent.data);
|
|
48
|
+
const mapper = {
|
|
49
|
+
[WebViewEventType.consoleLog]: () => {
|
|
50
|
+
DeunaLogs.info(`CONSOLE LOG`, JSON.stringify(eventData.message, null, 2));
|
|
51
|
+
},
|
|
52
|
+
[WebViewEventType.eventDispatch]: () => {
|
|
53
|
+
this.onEventDispatch(eventData.event);
|
|
54
|
+
},
|
|
55
|
+
[WebViewEventType.jsExecutor]: () => {
|
|
56
|
+
const {
|
|
57
|
+
data,
|
|
58
|
+
requestId
|
|
59
|
+
} = eventData;
|
|
60
|
+
this.jsExecutor.requests.get(requestId)?.(data);
|
|
61
|
+
this.jsExecutor.requests.delete(requestId);
|
|
62
|
+
},
|
|
63
|
+
[WebViewEventType.openInNewTab]: () => {
|
|
64
|
+
this.delegate?.onOpenInNewTab?.(eventData.url);
|
|
65
|
+
},
|
|
66
|
+
[WebViewEventType.redirect]: () => {
|
|
67
|
+
if (this.redirectUrl) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.redirectUrl = eventData.url;
|
|
71
|
+
this.delegate?.onOpenInNewTab?.(eventData.url);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
mapper[eventData.type]?.();
|
|
75
|
+
};
|
|
76
|
+
setXprops = () => {
|
|
77
|
+
this.webView?.injectJavaScript(`
|
|
78
|
+
document.addEventListener('click', function(event) {
|
|
79
|
+
if (event.target.tagName === 'A' && event.target.href) {
|
|
80
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.redirect}', url: event.target.href }));
|
|
81
|
+
event.preventDefault(); // Prevent default navigation
|
|
82
|
+
event.stopPropagation();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
console.log = function(message) {
|
|
86
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
87
|
+
};
|
|
88
|
+
window.open = function(url, target, features) {
|
|
89
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
|
|
90
|
+
};
|
|
91
|
+
window.xprops = {
|
|
92
|
+
hidePayButton: ${this.hidePayButton},
|
|
93
|
+
onEventDispatch: function (event) {
|
|
94
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.eventDispatch}', event }));
|
|
95
|
+
},
|
|
96
|
+
onCustomStyleSubscribe: function (fn) {
|
|
97
|
+
window.setCustomStyle = fn;
|
|
98
|
+
},
|
|
99
|
+
onRefetchOrderSubscribe: function (fn) {
|
|
100
|
+
window.deunaRefetchOrder = fn;
|
|
101
|
+
},
|
|
102
|
+
onGetStateSubscribe: function (state){
|
|
103
|
+
window.deunaWidgetState = state;
|
|
104
|
+
},
|
|
105
|
+
isValid: function(fn){
|
|
106
|
+
window.isValid = fn;
|
|
107
|
+
},
|
|
108
|
+
onSubmit: function (fn) {
|
|
109
|
+
window.submit = fn;
|
|
110
|
+
},
|
|
111
|
+
}
|
|
112
|
+
`);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Gets the current widget state
|
|
117
|
+
* @returns The widget state
|
|
118
|
+
*/
|
|
119
|
+
getWidgetState = async () => {
|
|
120
|
+
const result = await this.jsExecutor.execute(`
|
|
121
|
+
if(!window.deunaWidgetState){
|
|
122
|
+
sendResult({ deunaWidgetState: null });
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
sendResult({ deunaWidgetState: window.deunaWidgetState });
|
|
126
|
+
`);
|
|
127
|
+
return result?.deunaWidgetState;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Refetches the order
|
|
132
|
+
* @returns The order data | returns null if the order is not found or an error occurs
|
|
133
|
+
*/
|
|
134
|
+
refetchOrder = async () => {
|
|
135
|
+
const result = await this.jsExecutor.execute(`
|
|
136
|
+
if(typeof window.deunaRefetchOrder !== 'function'){
|
|
137
|
+
sendResult({order: null});
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
window.deunaRefetchOrder()
|
|
141
|
+
.then((order) => {
|
|
142
|
+
sendResult({order});
|
|
143
|
+
})
|
|
144
|
+
.catch(() => {
|
|
145
|
+
sendResult({data: null});
|
|
146
|
+
});
|
|
147
|
+
`);
|
|
148
|
+
return result?.order ?? null;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Sets the custom style for the widget
|
|
153
|
+
* @param style - The custom style to set
|
|
154
|
+
*/
|
|
155
|
+
setCustomStyle = async style => {
|
|
156
|
+
await this.jsExecutor.execute(`
|
|
157
|
+
window.setCustomStyle(${JSON.stringify(style)});
|
|
158
|
+
`);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Checks if the widget form data is valid
|
|
163
|
+
*/
|
|
164
|
+
isValid = async () => {
|
|
165
|
+
const data = await this.jsExecutor.execute(`
|
|
166
|
+
if(typeof window.isValid !== 'function'){
|
|
167
|
+
console.log('❌ window.isValid is not a function');
|
|
168
|
+
sendResult({isValid:false});
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
sendResult( {isValid: window.isValid() });
|
|
172
|
+
`);
|
|
173
|
+
return data?.isValid ?? false;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Submits the form data to the server
|
|
178
|
+
* @returns The result of the submission
|
|
179
|
+
*/
|
|
180
|
+
submit = async () => {
|
|
181
|
+
const data = await this.jsExecutor.execute(`
|
|
182
|
+
if(typeof window.submit !== 'function'){
|
|
183
|
+
console.log('❌ window.submit is not a function');
|
|
184
|
+
sendResult({status:"${submitError.status}", code:"${submitError.code}", message:"${submitError.message}" });
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
window.submit()
|
|
188
|
+
.then((data) => {
|
|
189
|
+
sendResult(data);
|
|
190
|
+
})
|
|
191
|
+
.catch((error) => {
|
|
192
|
+
sendResult({status:"${submitError.status}", code:"${submitError.code}", message: error.message ?? "${submitError.message}" });
|
|
193
|
+
});
|
|
194
|
+
`);
|
|
195
|
+
return data;
|
|
196
|
+
};
|
|
197
|
+
takeScreenshot = async () => {
|
|
198
|
+
const data = await this.jsExecutor.execute(`
|
|
199
|
+
function takeScreenshot() {
|
|
200
|
+
html2canvas(document.body, { allowTaint: true, useCORS: true })
|
|
201
|
+
.then((canvas) => {
|
|
202
|
+
// Convert the canvas to a base64 image
|
|
203
|
+
var imgData = canvas.toDataURL("image/png");
|
|
204
|
+
sendResult({imgData: imgData});
|
|
205
|
+
})
|
|
206
|
+
.catch((error) => {
|
|
207
|
+
sendResult({imgData: null});
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// If html2canvas is not added
|
|
212
|
+
if (typeof html2canvas === "undefined") {
|
|
213
|
+
var script = document.createElement("script");
|
|
214
|
+
script.src = "https://html2canvas.hertzen.com/dist/html2canvas.min.js";
|
|
215
|
+
script.onload = function() {
|
|
216
|
+
takeScreenshot();
|
|
217
|
+
};
|
|
218
|
+
document.head.appendChild(script);
|
|
219
|
+
} else {
|
|
220
|
+
takeScreenshot();
|
|
221
|
+
}
|
|
222
|
+
`);
|
|
223
|
+
return data?.imgData ?? null;
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
class JsExecutor {
|
|
227
|
+
requestId = 0;
|
|
228
|
+
webView = null;
|
|
229
|
+
requests = new Map();
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Executes javascript code in the web view
|
|
233
|
+
* @param jsCode - The javascript code to execute
|
|
234
|
+
* @returns The result of the javascript code
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
execute = jsCode => {
|
|
238
|
+
this.requestId++;
|
|
239
|
+
this.webView?.injectJavaScript(`
|
|
240
|
+
(function() {
|
|
241
|
+
function sendResult(data){
|
|
242
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.jsExecutor}', data: data, requestId: ${this.requestId} }));
|
|
243
|
+
}
|
|
244
|
+
${jsCode}
|
|
245
|
+
})();
|
|
246
|
+
`);
|
|
247
|
+
return new Promise(resolve => {
|
|
248
|
+
this.requests.set(this.requestId, resolve);
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=BaseWebViewController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeunaLogs","submitError","WebViewEventType","BaseWebViewController","webView","url","delegate","dispose","stopLoading","DeunaWebViewController","hidePayButton","redirectUrl","closedAction","jsExecutor","JsExecutor","setWebView","onLoad","setXprops","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","eventDispatch","onEventDispatch","requestId","requests","get","delete","openInNewTab","onOpenInNewTab","redirect","type","injectJavaScript","getWidgetState","result","execute","deunaWidgetState","refetchOrder","order","setCustomStyle","style","isValid","submit","status","code","takeScreenshot","imgData","Map","jsCode","Promise","resolve","set"],"sourceRoot":"../../../src","sources":["controllers/BaseWebViewController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DeunaWebViewController } from "./BaseWebViewController.js";
|
|
4
|
+
import { ElementsEventType } from "../interfaces/events/elements.js";
|
|
5
|
+
import { ElementsErrorType } from "../interfaces/index.js";
|
|
6
|
+
export class ElementsWidgetController extends DeunaWebViewController {
|
|
7
|
+
constructor(callbacks) {
|
|
8
|
+
super();
|
|
9
|
+
this.callbacks = callbacks;
|
|
10
|
+
}
|
|
11
|
+
onError = event => {
|
|
12
|
+
this.callbacks.onError?.({
|
|
13
|
+
type: ElementsErrorType.errorWhileLoadingTheURL,
|
|
14
|
+
metadata: {
|
|
15
|
+
code: ElementsErrorType.errorWhileLoadingTheURL,
|
|
16
|
+
message: event.message ?? 'Error while loading the URL'
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
onEventDispatch = event => {
|
|
21
|
+
const elementsEvent = event;
|
|
22
|
+
if (this.callbacks.onEventDispatch) {
|
|
23
|
+
this.callbacks.onEventDispatch(elementsEvent.type, elementsEvent.data);
|
|
24
|
+
}
|
|
25
|
+
const mapper = {
|
|
26
|
+
[ElementsEventType.vaultClosed]: () => {
|
|
27
|
+
this.closedAction = 'userAction';
|
|
28
|
+
this.delegate?.onCloseButtonPressed?.();
|
|
29
|
+
},
|
|
30
|
+
[ElementsEventType.vaultSaveSuccess]: () => {
|
|
31
|
+
this.delegate?.onCloseSubWebView?.();
|
|
32
|
+
this.callbacks.onSuccess?.(event.data);
|
|
33
|
+
},
|
|
34
|
+
[ElementsEventType.vaultSaveError]: () => {
|
|
35
|
+
this.delegate?.onCloseSubWebView?.();
|
|
36
|
+
this.delegate?.onCloseSubWebView?.();
|
|
37
|
+
const {
|
|
38
|
+
metadata
|
|
39
|
+
} = elementsEvent.data;
|
|
40
|
+
if (metadata) {
|
|
41
|
+
const errorCode = metadata.code ?? metadata.errorCode ?? ElementsErrorType.unknownError;
|
|
42
|
+
const errorMessage = metadata.message ?? metadata.errorMessage ?? metadata.reason ?? 'unknown error';
|
|
43
|
+
this.callbacks.onError?.({
|
|
44
|
+
type: ElementsErrorType.vaultSaveError,
|
|
45
|
+
metadata: {
|
|
46
|
+
code: errorCode,
|
|
47
|
+
message: errorMessage
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
this.callbacks.onError?.({
|
|
52
|
+
type: ElementsErrorType.unknownError,
|
|
53
|
+
metadata: {
|
|
54
|
+
code: ElementsErrorType.unknownError,
|
|
55
|
+
message: 'unknown error'
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
mapper[elementsEvent.type]?.();
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ElementsWidgetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeunaWebViewController","ElementsEventType","ElementsErrorType","ElementsWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","elementsEvent","data","mapper","vaultClosed","closedAction","delegate","onCloseButtonPressed","vaultSaveSuccess","onCloseSubWebView","onSuccess","vaultSaveError","errorCode","unknownError","errorMessage","reason"],"sourceRoot":"../../../src","sources":["controllers/ElementsWidgetController.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAAyB;AAChE,SAEEC,iBAAiB,QACZ,kCAA+B;AAEtC,SAASC,iBAAiB,QAAQ,wBAAe;AAEjD,OAAO,MAAMC,wBAAwB,SAASH,sBAAsB,CAAC;EACnEI,WAAWA,CAAUC,SAAkC,EAAE;IACvD,KAAK,CAAC,CAAC;IAAC,KADWA,SAAkC,GAAlCA,SAAkC;EAEvD;EAEAC,OAAO,GAAIC,KAAU,IAAK;IACxB,IAAI,CAACF,SAAS,CAACC,OAAO,GAAG;MACvBE,IAAI,EAAEN,iBAAiB,CAACO,uBAAuB;MAC/CC,QAAQ,EAAE;QACRC,IAAI,EAAET,iBAAiB,CAACO,uBAAuB;QAC/CG,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,GAAIN,KAA0B,IAAK;IAChD,MAAMO,aAAa,GAAGP,KAAsB;IAE5C,IAAI,IAAI,CAACF,SAAS,CAACQ,eAAe,EAAE;MAClC,IAAI,CAACR,SAAS,CAACQ,eAAe,CAACC,aAAa,CAACN,IAAI,EAAEM,aAAa,CAACC,IAAI,CAAC;IACxE;IAEA,MAAMC,MAAsD,GAAG;MAC7D,CAACf,iBAAiB,CAACgB,WAAW,GAAG,MAAM;QACrC,IAAI,CAACC,YAAY,GAAG,YAAY;QAChC,IAAI,CAACC,QAAQ,EAAEC,oBAAoB,GAAG,CAAC;MACzC,CAAC;MACD,CAACnB,iBAAiB,CAACoB,gBAAgB,GAAG,MAAM;QAC1C,IAAI,CAACF,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAACjB,SAAS,CAACkB,SAAS,GAAGhB,KAAK,CAACQ,IAAI,CAAC;MACxC,CAAC;MACD,CAACd,iBAAiB,CAACuB,cAAc,GAAG,MAAM;QACxC,IAAI,CAACL,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAACH,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,MAAM;UAAEZ;QAAS,CAAC,GAAGI,aAAa,CAACC,IAAI;QAEvC,IAAIL,QAAQ,EAAE;UACZ,MAAMe,SAAS,GACbf,QAAQ,CAACC,IAAI,IACbD,QAAQ,CAACe,SAAS,IAClBvB,iBAAiB,CAACwB,YAAY;UAEhC,MAAMC,YAAY,GAChBjB,QAAQ,CAACE,OAAO,IAChBF,QAAQ,CAACiB,YAAY,IACrBjB,QAAQ,CAACkB,MAAM,IACf,eAAe;UAEjB,IAAI,CAACvB,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAEN,iBAAiB,CAACsB,cAAc;YACtCd,QAAQ,EAAE;cACRC,IAAI,EAAEc,SAAS;cACfb,OAAO,EAAEe;YACX;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACtB,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAEN,iBAAiB,CAACwB,YAAY;YACpChB,QAAQ,EAAE;cACRC,IAAI,EAAET,iBAAiB,CAACwB,YAAY;cACpCd,OAAO,EAAE;YACX;UACF,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAEDI,MAAM,CAACF,aAAa,CAACN,IAAI,CAAC,GAAG,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { BaseWebViewController } from "./BaseWebViewController.js";
|
|
4
|
+
import { DeunaLogs } from "../DeunaLogs.js";
|
|
5
|
+
export class OpenInNewTabController extends BaseWebViewController {
|
|
6
|
+
constructor(url) {
|
|
7
|
+
super();
|
|
8
|
+
this.url = url;
|
|
9
|
+
this.url = url;
|
|
10
|
+
}
|
|
11
|
+
setWebView = webView => {
|
|
12
|
+
this.webView = webView;
|
|
13
|
+
};
|
|
14
|
+
onLoad = () => {
|
|
15
|
+
this.setXprops();
|
|
16
|
+
};
|
|
17
|
+
onError = event => {
|
|
18
|
+
console.warn(event);
|
|
19
|
+
};
|
|
20
|
+
onMessage = event => {
|
|
21
|
+
const eventData = JSON.parse(event.nativeEvent.data);
|
|
22
|
+
if (eventData.type === 'console_log') {
|
|
23
|
+
DeunaLogs.info(`CONSOLE LOG`, eventData.message);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
setXprops = () => {
|
|
27
|
+
this.webView?.injectJavaScript(`
|
|
28
|
+
console.log = function(message) {
|
|
29
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'console_log', message }));
|
|
30
|
+
};
|
|
31
|
+
`);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=OpenInNewTabController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseWebViewController","DeunaLogs","OpenInNewTabController","constructor","url","setWebView","webView","onLoad","setXprops","onError","event","console","warn","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","injectJavaScript"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,sBAAsB,SAASF,qBAAqB,CAAC;EAChEG,WAAWA,CAAUC,GAAW,EAAE;IAChC,KAAK,CAAC,CAAC;IAAC,KADWA,GAAW,GAAXA,GAAW;IAE9B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAC,UAAU,GAAIC,OAAgB,IAAK;IACjC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB,CAAC;EAEDC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,SAAS,CAAC,CAAC;EAClB,CAAC;EAEDC,OAAO,GAAIC,KAAU,IAAK;IACxBC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;EACrB,CAAC;EAEDG,SAAS,GAAIH,KAA0B,IAAK;IAC1C,MAAMI,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACN,KAAK,CAACO,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpClB,SAAS,CAACmB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDb,SAAS,GAAGA,CAAA,KAAM;IAChB,IAAI,CAACF,OAAO,EAAEgB,gBAAgB,CAC5B;AACN;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { CheckoutEventType, PaymentErrorType } from "../interfaces/index.js";
|
|
4
|
+
import { constants } from "../interfaces/constants.js";
|
|
5
|
+
import { DownloadType } from "../interfaces/types.js";
|
|
6
|
+
import { DeunaWebViewController } from "./BaseWebViewController.js";
|
|
7
|
+
export class PaymentWidgetController extends DeunaWebViewController {
|
|
8
|
+
constructor(callbacks) {
|
|
9
|
+
super();
|
|
10
|
+
this.callbacks = callbacks;
|
|
11
|
+
}
|
|
12
|
+
onError = event => {
|
|
13
|
+
this.callbacks.onError?.({
|
|
14
|
+
type: PaymentErrorType.errorWhileLoadingTheURL,
|
|
15
|
+
metadata: {
|
|
16
|
+
code: PaymentErrorType.errorWhileLoadingTheURL,
|
|
17
|
+
message: event.message ?? 'Error while loading the URL'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
onEventDispatch = async event => {
|
|
22
|
+
const checkoutEvent = event;
|
|
23
|
+
|
|
24
|
+
// This event is used to listen when a voucher save request is made
|
|
25
|
+
if (checkoutEvent.type === constants.apmSaveId) {
|
|
26
|
+
const {
|
|
27
|
+
voucherPdfDownloadUrl
|
|
28
|
+
} = checkoutEvent.data.metadata;
|
|
29
|
+
|
|
30
|
+
// If the file url is provided, download the file and save it to the device
|
|
31
|
+
if (voucherPdfDownloadUrl) {
|
|
32
|
+
this.callbacks.onDownloadFile?.({
|
|
33
|
+
type: DownloadType.URL,
|
|
34
|
+
data: voucherPdfDownloadUrl
|
|
35
|
+
});
|
|
36
|
+
} else {
|
|
37
|
+
// Take a screenshot of current content in the webview
|
|
38
|
+
const base64Image = await this.takeScreenshot();
|
|
39
|
+
if (base64Image) {
|
|
40
|
+
this.callbacks.onDownloadFile?.({
|
|
41
|
+
type: DownloadType.BASE64,
|
|
42
|
+
data: base64Image
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (this.callbacks.onEventDispatch) {
|
|
49
|
+
this.callbacks.onEventDispatch(checkoutEvent.type, checkoutEvent.data);
|
|
50
|
+
}
|
|
51
|
+
const mapper = {
|
|
52
|
+
[CheckoutEventType.linkClose]: () => {
|
|
53
|
+
this.closedAction = 'userAction';
|
|
54
|
+
this.delegate?.onCloseButtonPressed?.();
|
|
55
|
+
},
|
|
56
|
+
[CheckoutEventType.onBinDetected]: () => {
|
|
57
|
+
this.callbacks.onCardBinDetected?.(checkoutEvent.data.metadata);
|
|
58
|
+
},
|
|
59
|
+
[CheckoutEventType.onInstallmentSelected]: () => {
|
|
60
|
+
this.callbacks.onInstallmentSelected?.(checkoutEvent.data.metadata);
|
|
61
|
+
},
|
|
62
|
+
[CheckoutEventType.paymentProcessing]: () => {
|
|
63
|
+
this.callbacks.onPaymentProcessing?.();
|
|
64
|
+
},
|
|
65
|
+
[CheckoutEventType.purchase]: () => {
|
|
66
|
+
this.delegate?.onCloseSubWebView?.();
|
|
67
|
+
this.callbacks.onSuccess?.(checkoutEvent.data.order);
|
|
68
|
+
},
|
|
69
|
+
[CheckoutEventType.purchaseError]: () => {
|
|
70
|
+
this.delegate?.onCloseSubWebView?.();
|
|
71
|
+
const {
|
|
72
|
+
metadata
|
|
73
|
+
} = checkoutEvent.data;
|
|
74
|
+
if (metadata) {
|
|
75
|
+
const errorCode = metadata.code ?? metadata.errorCode ?? PaymentErrorType.unknownError;
|
|
76
|
+
const errorMessage = metadata.message ?? metadata.errorMessage ?? metadata.reason ?? 'unknown error';
|
|
77
|
+
this.callbacks.onError?.({
|
|
78
|
+
type: PaymentErrorType.paymentError,
|
|
79
|
+
metadata: {
|
|
80
|
+
code: errorCode,
|
|
81
|
+
message: errorMessage
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
} else {
|
|
85
|
+
this.callbacks.onError?.({
|
|
86
|
+
type: PaymentErrorType.unknownError,
|
|
87
|
+
metadata: {
|
|
88
|
+
code: PaymentErrorType.unknownError,
|
|
89
|
+
message: 'unknown error'
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
mapper[checkoutEvent.type]?.();
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=PaymentWidgetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CheckoutEventType","PaymentErrorType","constants","DownloadType","DeunaWebViewController","PaymentWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","checkoutEvent","apmSaveId","voucherPdfDownloadUrl","data","onDownloadFile","URL","base64Image","takeScreenshot","BASE64","mapper","linkClose","closedAction","delegate","onCloseButtonPressed","onBinDetected","onCardBinDetected","onInstallmentSelected","paymentProcessing","onPaymentProcessing","purchase","onCloseSubWebView","onSuccess","order","purchaseError","errorCode","unknownError","errorMessage","reason","paymentError"],"sourceRoot":"../../../src","sources":["controllers/PaymentWidgetController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class Completer {
|
|
4
|
+
resolvePromise = null;
|
|
5
|
+
rejectPromise = null;
|
|
6
|
+
completed = false;
|
|
7
|
+
constructor() {
|
|
8
|
+
this.promise = new Promise((resolve, reject) => {
|
|
9
|
+
this.resolvePromise = resolve;
|
|
10
|
+
this.rejectPromise = reject;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
get wait() {
|
|
14
|
+
return this.promise;
|
|
15
|
+
}
|
|
16
|
+
complete(value) {
|
|
17
|
+
if (this.completed) return;
|
|
18
|
+
this.completed = true;
|
|
19
|
+
this.resolvePromise?.(value);
|
|
20
|
+
}
|
|
21
|
+
completeError(error) {
|
|
22
|
+
if (this.completed) return;
|
|
23
|
+
this.completed = true;
|
|
24
|
+
this.rejectPromise?.(error);
|
|
25
|
+
}
|
|
26
|
+
isCompleted() {
|
|
27
|
+
return this.completed;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Completer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Completer","resolvePromise","rejectPromise","completed","constructor","promise","Promise","resolve","reject","wait","complete","value","completeError","error","isCompleted"],"sourceRoot":"../../../src","sources":["helpers/Completer.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,CAAI;EAEhBC,cAAc,GAAiD,IAAI;EACnEC,aAAa,GAAoC,IAAI;EACrDC,SAAS,GAAG,KAAK;EAEzBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;MACjD,IAAI,CAACP,cAAc,GAAGM,OAAO;MAC7B,IAAI,CAACL,aAAa,GAAGM,MAAM;IAC7B,CAAC,CAAC;EACJ;EAEA,IAAIC,IAAIA,CAAA,EAAe;IACrB,OAAO,IAAI,CAACJ,OAAO;EACrB;EAEAK,QAAQA,CAACC,KAAQ,EAAQ;IACvB,IAAI,IAAI,CAACR,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACF,cAAc,GAAGU,KAAK,CAAC;EAC9B;EAEAC,aAAaA,CAACC,KAAU,EAAQ;IAC9B,IAAI,IAAI,CAACV,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACD,aAAa,GAAGW,KAAK,CAAC;EAC7B;EAEAC,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACX,SAAS;EACvB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { PaymentWidgetController } from "../controllers/PaymentWidgetController.js";
|
|
4
|
+
import { ElementsWidgetController } from "../controllers/ElementsWidgetController.js";
|
|
5
|
+
import { linkBuilders } from "../types/helpers/index.js";
|
|
6
|
+
import { Mode } from "../interfaces/types.js";
|
|
7
|
+
import { DeunaLogs } from "../DeunaLogs.js";
|
|
8
|
+
export const getWidgetController = (config, props) => {
|
|
9
|
+
const {
|
|
10
|
+
widget,
|
|
11
|
+
mode,
|
|
12
|
+
callbacks,
|
|
13
|
+
...rest
|
|
14
|
+
} = props;
|
|
15
|
+
const baseParams = {
|
|
16
|
+
env: config.environment,
|
|
17
|
+
publicApiKey: config.publicApiKey,
|
|
18
|
+
orderToken: rest.orderToken ?? '',
|
|
19
|
+
userToken: rest.userToken ?? '',
|
|
20
|
+
language: rest.language ?? 'es',
|
|
21
|
+
sessionId: rest.sessionId ?? '',
|
|
22
|
+
mode: mode ?? Mode.MODAL
|
|
23
|
+
};
|
|
24
|
+
const widgetMappers = {
|
|
25
|
+
elements: () => ({
|
|
26
|
+
...baseParams,
|
|
27
|
+
userInfo: rest.userInfo,
|
|
28
|
+
styleFile: rest.styleFile,
|
|
29
|
+
behavior: rest.behavior,
|
|
30
|
+
widgetExperience: rest.widgetExperience,
|
|
31
|
+
types: props.types
|
|
32
|
+
}),
|
|
33
|
+
payment: () => ({
|
|
34
|
+
...baseParams,
|
|
35
|
+
behavior: rest.behavior,
|
|
36
|
+
paymentMethods: props.paymentMethods,
|
|
37
|
+
styleFile: rest.styleFile
|
|
38
|
+
}),
|
|
39
|
+
nextAction: () => baseParams,
|
|
40
|
+
voucher: () => baseParams
|
|
41
|
+
};
|
|
42
|
+
const controller = widget === 'elements' ? new ElementsWidgetController(callbacks) : new PaymentWidgetController(callbacks);
|
|
43
|
+
controller.url = linkBuilders[widget](widgetMappers[widget]());
|
|
44
|
+
controller.hidePayButton = rest.hidePayButton ?? false;
|
|
45
|
+
DeunaLogs.info('👀 loading link', controller.url);
|
|
46
|
+
return controller;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=getController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","getWidgetController","config","props","widget","mode","callbacks","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentMethods","nextAction","voucher","controller","url","hidePayButton","info"],"sourceRoot":"../../../src","sources":["helpers/getController.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,wBAAwB,QAAQ,4CAAyC;AAQlF,SAASC,YAAY,QAAQ,2BAAkB;AAC/C,SAASC,IAAI,QAAQ,wBAAqB;AAC1C,SAASC,SAAS,QAAQ,iBAAc;AAwBxC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,MAAwB,EACxBC,KAA4D,KACjC;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAElD,MAAMK,UAAU,GAAG;IACjBC,GAAG,EAAEP,MAAM,CAACQ,WAAY;IACxBC,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCC,UAAU,EAAEL,IAAI,CAACK,UAAU,IAAI,EAAE;IACjCC,SAAS,EAAEN,IAAI,CAACM,SAAS,IAAI,EAAE;IAC/BC,QAAQ,EAAEP,IAAI,CAACO,QAAQ,IAAI,IAAI;IAC/BC,SAAS,EAAER,IAAI,CAACQ,SAAS,IAAI,EAAE;IAC/BV,IAAI,EAAEA,IAAI,IAAIN,IAAI,CAACiB;EACrB,CAAC;EAED,MAAMC,aAAa,GAAG;IACpBC,QAAQ,EAAEA,CAAA,MAAO;MACf,GAAGV,UAAU;MACbW,QAAQ,EAAEZ,IAAI,CAACY,QAAQ;MACvBC,SAAS,EAAEb,IAAI,CAACa,SAAS;MACzBC,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBC,gBAAgB,EAAEf,IAAI,CAACe,gBAAgB;MACvCC,KAAK,EAAGpB,KAAK,CAAmCoB;IAClD,CAAC,CAAC;IACFC,OAAO,EAAEA,CAAA,MAAO;MACd,GAAGhB,UAAU;MACba,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBI,cAAc,EAAGtB,KAAK,CAAkCsB,cAAc;MACtEL,SAAS,EAAEb,IAAI,CAACa;IAClB,CAAC,CAAC;IACFM,UAAU,EAAEA,CAAA,KAAMlB,UAAU;IAC5BmB,OAAO,EAAEA,CAAA,KAAMnB;EACjB,CAAC;EAED,MAAMoB,UAAU,GACdxB,MAAM,KAAK,UAAU,GACjB,IAAIP,wBAAwB,CAACS,SAAS,CAAC,GACvC,IAAIV,uBAAuB,CAACU,SAAS,CAAC;EAE5CsB,UAAU,CAACC,GAAG,GAAG/B,YAAY,CAACM,MAAM,CAAC,CAACa,aAAa,CAACb,MAAM,CAAC,CAAC,CAAC,CAAC;EAC9DwB,UAAU,CAACE,aAAa,GAAGvB,IAAI,CAACuB,aAAa,IAAI,KAAK;EAEtD9B,SAAS,CAAC+B,IAAI,CAAC,iBAAiB,EAAEH,UAAU,CAACC,GAAG,CAAC;EAEjD,OAAOD,UAAU;AACnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,eAAY;AAC1B,cAAc,6BAA0B;AACxC,cAAc,kBAAS;AACvB,cAAc,uBAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl"],"sourceRoot":"../../../src","sources":["interfaces/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const initializationError = {
|
|
4
|
+
type: 'INITIALIZATION_ERROR',
|
|
5
|
+
code: 'INITIALIZATION_ERROR',
|
|
6
|
+
message: 'Failed to initialize the widget'
|
|
7
|
+
};
|
|
8
|
+
export const submitError = {
|
|
9
|
+
status: 'error',
|
|
10
|
+
code: 'error',
|
|
11
|
+
message: 'Error al procesar la solicitud.'
|
|
12
|
+
};
|
|
13
|
+
export let PaymentErrorType = /*#__PURE__*/function (PaymentErrorType) {
|
|
14
|
+
PaymentErrorType["noInternetConnection"] = "noInternetConnection";
|
|
15
|
+
PaymentErrorType["invalidOrderToken"] = "invalidOrderToken";
|
|
16
|
+
PaymentErrorType["initializationFailed"] = "initializationFailed";
|
|
17
|
+
PaymentErrorType["errorWhileLoadingTheURL"] = "errorWhileLoadingTheURL";
|
|
18
|
+
PaymentErrorType["orderNotFound"] = "orderNotFound";
|
|
19
|
+
PaymentErrorType["orderCouldNotBeRetrieved"] = "orderCouldNotBeRetrieved";
|
|
20
|
+
PaymentErrorType["paymentError"] = "paymentError";
|
|
21
|
+
PaymentErrorType["userError"] = "userError";
|
|
22
|
+
PaymentErrorType["unknownError"] = "unknownError";
|
|
23
|
+
return PaymentErrorType;
|
|
24
|
+
}({});
|
|
25
|
+
export let ElementsErrorType = /*#__PURE__*/function (ElementsErrorType) {
|
|
26
|
+
ElementsErrorType["noInternetConnection"] = "noInternetConnection";
|
|
27
|
+
ElementsErrorType["initializationFailed"] = "initializationFailed";
|
|
28
|
+
ElementsErrorType["errorWhileLoadingTheURL"] = "errorWhileLoadingTheURL";
|
|
29
|
+
ElementsErrorType["userError"] = "userError";
|
|
30
|
+
ElementsErrorType["invalidUserToken"] = "invalidUserToken";
|
|
31
|
+
ElementsErrorType["unknownError"] = "unknownError";
|
|
32
|
+
ElementsErrorType["vaultSaveError"] = "vaultSaveError";
|
|
33
|
+
ElementsErrorType["vaultFailed"] = "vaultFailed";
|
|
34
|
+
return ElementsErrorType;
|
|
35
|
+
}({});
|
|
36
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["initializationError","type","code","message","submitError","status","PaymentErrorType","ElementsErrorType"],"sourceRoot":"../../../src","sources":["interfaces/errors.ts"],"mappings":";;AAAA,OAAO,MAAMA,mBAAmB,GAAG;EACjCC,IAAI,EAAE,sBAAsB;EAC5BC,IAAI,EAAE,sBAAsB;EAC5BC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG;EACzBC,MAAM,EAAE,OAAO;EACfH,IAAI,EAAE,OAAO;EACbC,OAAO,EAAE;AACX,CAAC;AAED,WAAYG,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAY5B,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|