react-native-smallcase-gateway 2.1.1 → 2.2.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/CHANGELOG.md +34 -0
- package/android/build.gradle +17 -1
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradle.properties +4 -0
- package/android/gradlew +234 -0
- package/android/gradlew.bat +89 -0
- package/android/src/main/java/com/reactnativesmallcasegateway/SmallcaseGatewayModule.kt +106 -1
- package/ios/SmallcaseGateway.m +202 -39
- package/lib/commonjs/ScLoan.js +75 -0
- package/lib/commonjs/ScLoan.js.map +1 -0
- package/lib/commonjs/SmallcaseGateway.js +19 -18
- package/lib/commonjs/SmallcaseGateway.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/ScLoan.js +68 -0
- package/lib/module/ScLoan.js.map +1 -0
- package/lib/module/SmallcaseGateway.js +23 -22
- package/lib/module/SmallcaseGateway.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/package.json +2 -1
- package/react-native-smallcase-gateway.podspec +2 -2
- package/src/ScLoan.js +72 -0
- package/src/SmallcaseGateway.js +73 -57
- package/src/index.js +2 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -3,8 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ScLoan", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _ScLoan.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
exports.default = void 0;
|
|
7
13
|
var _SmallcaseGateway = _interopRequireDefault(require("./SmallcaseGateway"));
|
|
14
|
+
var _ScLoan = _interopRequireDefault(require("./ScLoan"));
|
|
8
15
|
var _constants = require("./constants");
|
|
9
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
17
|
var _default = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SmallcaseGateway","_interopRequireDefault","require","_constants","obj","__esModule","default","_default","SmallcaseGateway","ENV","ERROR_MSG","TRANSACTION_TYPE","exports"],"sources":["index.js"],"sourcesContent":["import SmallcaseGateway from \"./SmallcaseGateway\";\nimport { ENV, TRANSACTION_TYPE, ERROR_MSG } from \"./constants\";\n\nexport default { ...SmallcaseGateway, ENV, ERROR_MSG, TRANSACTION_TYPE };\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_SmallcaseGateway","_interopRequireDefault","require","_ScLoan","_constants","obj","__esModule","default","_default","SmallcaseGateway","ENV","ERROR_MSG","TRANSACTION_TYPE","exports"],"sources":["index.js"],"sourcesContent":["import SmallcaseGateway from \"./SmallcaseGateway\";\nimport ScLoan from \"./ScLoan\";\nimport { ENV, TRANSACTION_TYPE, ERROR_MSG } from \"./constants\";\n\nexport { ScLoan }\nexport default { ...SmallcaseGateway, ENV, ERROR_MSG, TRANSACTION_TYPE };\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAA+D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAGhD;EAAE,GAAGC,yBAAgB;EAAEC,GAAG,EAAHA,cAAG;EAAEC,SAAS,EAATA,oBAAS;EAAEC,gBAAgB,EAAhBA;AAAiB,CAAC;AAAAC,OAAA,CAAAN,OAAA,GAAAC,QAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { NativeModules } from 'react-native';
|
|
2
|
+
import { safeObject } from './util';
|
|
3
|
+
import { ENV } from './constants';
|
|
4
|
+
const {
|
|
5
|
+
SmallcaseGateway: SmallcaseGatewayNative
|
|
6
|
+
} = NativeModules;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {Object} ScLoanConfig
|
|
10
|
+
* @property {String} gatewayName
|
|
11
|
+
* @property {'production' | 'staging' | 'development'} environment - environment
|
|
12
|
+
*
|
|
13
|
+
* @typedef {Object} LoanInfo
|
|
14
|
+
* @property {String} interactionToken
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Setup ScLoans
|
|
19
|
+
*
|
|
20
|
+
* @param {ScLoanConfig} config
|
|
21
|
+
* @returns {Promise<String>}
|
|
22
|
+
*/
|
|
23
|
+
const setup = async config => {
|
|
24
|
+
const safeConfig = safeObject(config);
|
|
25
|
+
if (safeConfig.environment === undefined || safeConfig.environment === null) safeConfig.environment = ENV.PROD;
|
|
26
|
+
return SmallcaseGatewayNative.setupLoans(safeConfig);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Triggers the LOS Journey
|
|
31
|
+
*
|
|
32
|
+
* @param {LoanInfo} loanInfo
|
|
33
|
+
* @returns {Promise<String>}
|
|
34
|
+
*/
|
|
35
|
+
const apply = async loanInfo => {
|
|
36
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
37
|
+
return SmallcaseGatewayNative.apply(safeLoanInfo);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Triggers the Repayment Journey
|
|
42
|
+
*
|
|
43
|
+
* @param {LoanInfo} loanInfo
|
|
44
|
+
* @returns {Promise<String>}
|
|
45
|
+
*/
|
|
46
|
+
const pay = async loanInfo => {
|
|
47
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
48
|
+
return SmallcaseGatewayNative.pay(safeLoanInfo);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Triggers the Withdraw Journey
|
|
53
|
+
*
|
|
54
|
+
* @param {LoanInfo} loanInfo
|
|
55
|
+
* @returns {Promise<String>}
|
|
56
|
+
*/
|
|
57
|
+
const withdraw = async loanInfo => {
|
|
58
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
59
|
+
return SmallcaseGatewayNative.withdraw(safeLoanInfo);
|
|
60
|
+
};
|
|
61
|
+
const ScLoan = {
|
|
62
|
+
setup,
|
|
63
|
+
apply,
|
|
64
|
+
pay,
|
|
65
|
+
withdraw
|
|
66
|
+
};
|
|
67
|
+
export default ScLoan;
|
|
68
|
+
//# sourceMappingURL=ScLoan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","safeObject","ENV","SmallcaseGateway","SmallcaseGatewayNative","setup","config","safeConfig","environment","undefined","PROD","setupLoans","apply","loanInfo","safeLoanInfo","pay","withdraw","ScLoan"],"sources":["ScLoan.js"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { safeObject } from './util';\nimport { ENV } from './constants';\n\nconst { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;\n\n/**\n * @typedef {Object} ScLoanConfig\n * @property {String} gatewayName\n * @property {'production' | 'staging' | 'development'} environment - environment\n *\n * @typedef {Object} LoanInfo\n * @property {String} interactionToken\n */\n\n/**\n * Setup ScLoans\n *\n * @param {ScLoanConfig} config\n * @returns {Promise<String>}\n */\nconst setup = async (config) => {\n const safeConfig = safeObject(config);\n if(safeConfig.environment === undefined || safeConfig.environment === null) safeConfig.environment = ENV.PROD\n\n return SmallcaseGatewayNative.setupLoans(safeConfig);\n };\n\n/**\n * Triggers the LOS Journey\n *\n * @param {LoanInfo} loanInfo\n * @returns {Promise<String>}\n */\nconst apply = async (loanInfo) => {\n const safeLoanInfo = safeObject(loanInfo);\n\n return SmallcaseGatewayNative.apply(safeLoanInfo);\n };\n\n/**\n * Triggers the Repayment Journey\n *\n * @param {LoanInfo} loanInfo\n * @returns {Promise<String>}\n */\nconst pay = async (loanInfo) => {\n const safeLoanInfo = safeObject(loanInfo);\n\n return SmallcaseGatewayNative.pay(safeLoanInfo);\n };\n\n/**\n * Triggers the Withdraw Journey\n *\n * @param {LoanInfo} loanInfo\n * @returns {Promise<String>}\n */\nconst withdraw = async (loanInfo) => {\n const safeLoanInfo = safeObject(loanInfo);\n\n return SmallcaseGatewayNative.withdraw(safeLoanInfo);\n };\n\nconst ScLoan = {\n setup,\n apply,\n pay,\n withdraw\n}\n\nexport default ScLoan;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,UAAU,QAAQ,QAAQ;AACnC,SAASC,GAAG,QAAQ,aAAa;AAEjC,MAAM;EAAEC,gBAAgB,EAAEC;AAAuB,CAAC,GAAGJ,aAAa;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,KAAK,GAAG,MAAOC,MAAM,IAAK;EAC5B,MAAMC,UAAU,GAAGN,UAAU,CAACK,MAAM,CAAC;EACrC,IAAGC,UAAU,CAACC,WAAW,KAAKC,SAAS,IAAIF,UAAU,CAACC,WAAW,KAAK,IAAI,EAAED,UAAU,CAACC,WAAW,GAAGN,GAAG,CAACQ,IAAI;EAE7G,OAAON,sBAAsB,CAACO,UAAU,CAACJ,UAAU,CAAC;AACtD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,KAAK,GAAG,MAAOC,QAAQ,IAAK;EAC9B,MAAMC,YAAY,GAAGb,UAAU,CAACY,QAAQ,CAAC;EAEzC,OAAOT,sBAAsB,CAACQ,KAAK,CAACE,YAAY,CAAC;AACnD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,GAAG,GAAG,MAAOF,QAAQ,IAAK;EAC5B,MAAMC,YAAY,GAAGb,UAAU,CAACY,QAAQ,CAAC;EAEzC,OAAOT,sBAAsB,CAACW,GAAG,CAACD,YAAY,CAAC;AACjD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,QAAQ,GAAG,MAAOH,QAAQ,IAAK;EACjC,MAAMC,YAAY,GAAGb,UAAU,CAACY,QAAQ,CAAC;EAEzC,OAAOT,sBAAsB,CAACY,QAAQ,CAACF,YAAY,CAAC;AACtD,CAAC;AAEH,MAAMG,MAAM,GAAG;EACXZ,KAAK;EACLO,KAAK;EACLG,GAAG;EACHC;AACJ,CAAC;AAED,eAAeC,MAAM"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NativeModules, Platform } from
|
|
2
|
-
import { ENV } from
|
|
3
|
-
import { safeObject, platformSpecificColorHex } from
|
|
4
|
-
import { version } from
|
|
1
|
+
import { NativeModules, Platform } from 'react-native';
|
|
2
|
+
import { ENV } from './constants';
|
|
3
|
+
import { safeObject, platformSpecificColorHex } from './util';
|
|
4
|
+
import { version } from '../package.json';
|
|
5
5
|
const {
|
|
6
6
|
SmallcaseGateway: SmallcaseGatewayNative
|
|
7
7
|
} = NativeModules;
|
|
@@ -26,12 +26,13 @@ const {
|
|
|
26
26
|
* @property {String} email - email of user
|
|
27
27
|
* @property {String} contact - contact of user
|
|
28
28
|
* @property {String} pinCode - pin-code of user
|
|
29
|
-
*
|
|
29
|
+
*
|
|
30
30
|
* @typedef {Object} SmallplugUiConfig
|
|
31
31
|
* @property {String} headerColor - color of the header background
|
|
32
32
|
* @property {Number} headerOpacity - opacity of the header background
|
|
33
33
|
* @property {String} backIconColor - color of the back icon
|
|
34
34
|
* @property {Number} backIconOpacity - opacity of the back icon
|
|
35
|
+
*
|
|
35
36
|
*/
|
|
36
37
|
|
|
37
38
|
let defaultBrokerList = [];
|
|
@@ -53,8 +54,8 @@ const setConfigEnvironment = async envConfig => {
|
|
|
53
54
|
const safeIsLeprechaun = Boolean(isLeprechaun);
|
|
54
55
|
const safeIsAmoEnabled = Boolean(isAmoEnabled);
|
|
55
56
|
const safeBrokerList = Array.isArray(brokerList) ? brokerList : [];
|
|
56
|
-
const safeGatewayName = typeof gatewayName ===
|
|
57
|
-
const safeEnvName = typeof environmentName ===
|
|
57
|
+
const safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';
|
|
58
|
+
const safeEnvName = typeof environmentName === 'string' ? environmentName : ENV.PROD;
|
|
58
59
|
defaultBrokerList = safeBrokerList;
|
|
59
60
|
await SmallcaseGatewayNative.setConfigEnvironment(safeEnvName, safeGatewayName, safeIsLeprechaun, safeIsAmoEnabled, safeBrokerList);
|
|
60
61
|
};
|
|
@@ -80,7 +81,7 @@ const init = async sdkToken => {
|
|
|
80
81
|
*/
|
|
81
82
|
const triggerTransaction = async (transactionId, utmParams, brokerList) => {
|
|
82
83
|
const safeUtm = safeObject(utmParams);
|
|
83
|
-
const safeId = typeof transactionId ===
|
|
84
|
+
const safeId = typeof transactionId === 'string' ? transactionId : '';
|
|
84
85
|
const safeBrokerList = Array.isArray(brokerList) && brokerList.length ? brokerList : defaultBrokerList;
|
|
85
86
|
return SmallcaseGatewayNative.triggerTransaction(safeId, safeUtm, safeBrokerList);
|
|
86
87
|
};
|
|
@@ -92,25 +93,25 @@ const triggerTransaction = async (transactionId, utmParams, brokerList) => {
|
|
|
92
93
|
* @returns {Promise<transactionRes>}
|
|
93
94
|
*/
|
|
94
95
|
const triggerMfTransaction = async transactionId => {
|
|
95
|
-
const safeTransactionId = typeof transactionId ===
|
|
96
|
+
const safeTransactionId = typeof transactionId === 'string' ? transactionId : '';
|
|
96
97
|
return SmallcaseGatewayNative.triggerMfTransaction(safeTransactionId);
|
|
97
98
|
};
|
|
98
99
|
|
|
99
100
|
/**
|
|
100
101
|
* launches smallcases module
|
|
101
|
-
*
|
|
102
|
+
*
|
|
102
103
|
* @param {string} targetEndpoint
|
|
103
104
|
* @param {string} params
|
|
104
105
|
*/
|
|
105
106
|
const launchSmallplug = async (targetEndpoint, params) => {
|
|
106
|
-
const safeEndpoint = typeof targetEndpoint ===
|
|
107
|
-
const safeParams = typeof params ===
|
|
107
|
+
const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';
|
|
108
|
+
const safeParams = typeof params === 'string' ? params : '';
|
|
108
109
|
return SmallcaseGatewayNative.launchSmallplug(safeEndpoint, safeParams);
|
|
109
110
|
};
|
|
110
|
-
const safeGatewayName = typeof gatewayName ===
|
|
111
|
+
const safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';
|
|
111
112
|
/**
|
|
112
113
|
* launches smallcases module
|
|
113
|
-
*
|
|
114
|
+
*
|
|
114
115
|
* @param {string} targetEndpoint
|
|
115
116
|
* @param {string} params
|
|
116
117
|
* @param {string} headerColor
|
|
@@ -119,12 +120,12 @@ const safeGatewayName = typeof gatewayName === "string" ? gatewayName : "";
|
|
|
119
120
|
* @param {number} backIconOpacity
|
|
120
121
|
*/
|
|
121
122
|
const launchSmallplugWithBranding = async (targetEndpoint, params, headerColor, headerOpacity, backIconColor, backIconOpacity) => {
|
|
122
|
-
const safeEndpoint = typeof targetEndpoint ===
|
|
123
|
-
const safeParams = typeof params ===
|
|
124
|
-
const safeHeaderColor = typeof headerColor ===
|
|
125
|
-
const safeHeaderOpacity = typeof headerOpacity ===
|
|
126
|
-
const safeBackIconColor = typeof backIconColor ===
|
|
127
|
-
const safeBackIconOpacity = typeof backIconOpacity ===
|
|
123
|
+
const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';
|
|
124
|
+
const safeParams = typeof params === 'string' ? params : '';
|
|
125
|
+
const safeHeaderColor = typeof headerColor === 'string' ? headerColor : platformSpecificColorHex('2F363F');
|
|
126
|
+
const safeHeaderOpacity = typeof headerOpacity === 'number' ? headerOpacity : 1;
|
|
127
|
+
const safeBackIconColor = typeof backIconColor === 'string' ? backIconColor : platformSpecificColorHex('FFFFFF');
|
|
128
|
+
const safeBackIconOpacity = typeof backIconOpacity === 'number' ? backIconOpacity : 1;
|
|
128
129
|
return Platform.OS === 'android' ? SmallcaseGatewayNative.launchSmallplugWithBranding(safeEndpoint, safeParams, {
|
|
129
130
|
headerColor: safeHeaderColor,
|
|
130
131
|
headerOpacity: safeHeaderOpacity,
|
|
@@ -147,7 +148,7 @@ const logoutUser = async () => {
|
|
|
147
148
|
/**
|
|
148
149
|
* This will display a list of all the orders that a user recently placed.
|
|
149
150
|
* This includes pending, successful, and failed orders.
|
|
150
|
-
* @returns
|
|
151
|
+
* @returns
|
|
151
152
|
*/
|
|
152
153
|
const showOrders = async () => {
|
|
153
154
|
return SmallcaseGatewayNative.showOrders();
|
|
@@ -197,7 +198,7 @@ const triggerLeadGenWithLoginCta = async (userDetails, utmParams, showLoginCta)
|
|
|
197
198
|
* @param {String} iscid
|
|
198
199
|
*/
|
|
199
200
|
const archiveSmallcase = async iscid => {
|
|
200
|
-
const safeIscid = typeof iscid ===
|
|
201
|
+
const safeIscid = typeof iscid === 'string' ? iscid : '';
|
|
201
202
|
return SmallcaseGatewayNative.archiveSmallcase(safeIscid);
|
|
202
203
|
};
|
|
203
204
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","ENV","safeObject","platformSpecificColorHex","version","SmallcaseGateway","SmallcaseGatewayNative","defaultBrokerList","setConfigEnvironment","envConfig","safeConfig","setHybridSdkVersion","brokerList","gatewayName","isLeprechaun","isAmoEnabled","environmentName","safeIsLeprechaun","Boolean","safeIsAmoEnabled","safeBrokerList","Array","isArray","safeGatewayName","safeEnvName","PROD","init","sdkToken","safeToken","triggerTransaction","transactionId","utmParams","safeUtm","safeId","length","triggerMfTransaction","safeTransactionId","launchSmallplug","targetEndpoint","params","safeEndpoint","safeParams","launchSmallplugWithBranding","headerColor","headerOpacity","backIconColor","backIconOpacity","safeHeaderColor","safeHeaderOpacity","safeBackIconColor","safeBackIconOpacity","OS","logoutUser","showOrders","triggerLeadGen","userDetails","triggerLeadGenWithStatus","triggerLeadGenWithLoginCta","showLoginCta","safeShowLoginCta","archiveSmallcase","iscid","safeIscid","getSdkVersion"],"sources":["SmallcaseGateway.js"],"sourcesContent":["import { NativeModules, Platform } from \"react-native\";\nimport { ENV } from \"./constants\";\nimport { safeObject, platformSpecificColorHex } from \"./util\";\nimport { version } from \"../package.json\";\nconst { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;\n\n/**\n *\n * @typedef {Object} envConfig\n * @property {string} gatewayName - unique name on consumer\n * @property {boolean} isLeprechaun - leprechaun mode toggle\n * @property {boolean} isAmoEnabled - support AMO (subject to broker support)\n * @property {Array<string>} brokerList - list of broker names\n * @property {'production' | 'staging' | 'development'} environmentName - environment name\n *\n * @typedef {Object} transactionRes\n * @property {string} data - response data\n * @property {boolean} success - success flag\n * @property {Number} [errorCode] - error code\n * @property {string} transaction - transaction name\n *\n * @typedef {Object} userDetails\n * @property {String} name - name of user\n * @property {String} email - email of user\n * @property {String} contact - contact of user\n * @property {String} pinCode - pin-code of user\n * \n * @typedef {Object} SmallplugUiConfig\n * @property {String} headerColor - color of the header background\n * @property {Number} headerOpacity - opacity of the header background\n * @property {String} backIconColor - color of the back icon\n * @property {Number} backIconOpacity - opacity of the back icon\n */\n\nlet defaultBrokerList = [];\n\n/**\n * configure the sdk with\n * @param {envConfig} envConfig\n */\nconst setConfigEnvironment = async (envConfig) => {\n const safeConfig = safeObject(envConfig);\n\n await SmallcaseGatewayNative.setHybridSdkVersion(version);\n\n const {\n brokerList,\n gatewayName,\n isLeprechaun,\n isAmoEnabled,\n environmentName,\n } = safeConfig;\n\n const safeIsLeprechaun = Boolean(isLeprechaun);\n const safeIsAmoEnabled = Boolean(isAmoEnabled);\n const safeBrokerList = Array.isArray(brokerList) ? brokerList : [];\n const safeGatewayName = typeof gatewayName === \"string\" ? gatewayName : \"\";\n const safeEnvName =\n typeof environmentName === \"string\" ? environmentName : ENV.PROD;\n\n defaultBrokerList = safeBrokerList;\n\n await SmallcaseGatewayNative.setConfigEnvironment(\n safeEnvName,\n safeGatewayName,\n safeIsLeprechaun,\n safeIsAmoEnabled,\n safeBrokerList\n );\n};\n\n/**\n * initialize sdk with a session\n *\n * note: this must be called after `setConfigEnvironment()`\n * @param {string} sdkToken\n */\nconst init = async (sdkToken) => {\n const safeToken = typeof sdkToken === \"string\" ? sdkToken : \"\";\n return SmallcaseGatewayNative.init(safeToken);\n};\n\n/**\n * triggers a transaction with a transaction id\n *\n * @param {string} transactionId\n * @param {Object} [utmParams]\n * @param {Array<string>} [brokerList]\n * @returns {Promise<transactionRes>}\n */\nconst triggerTransaction = async (transactionId, utmParams, brokerList) => {\n const safeUtm = safeObject(utmParams);\n const safeId = typeof transactionId === \"string\" ? transactionId : \"\";\n\n const safeBrokerList =\n Array.isArray(brokerList) && brokerList.length\n ? brokerList\n : defaultBrokerList;\n\n return SmallcaseGatewayNative.triggerTransaction(\n safeId,\n safeUtm,\n safeBrokerList\n );\n};\n\n/**\n * triggers a transaction with a transaction id\n *\n * @param {string} transactionId\n * @returns {Promise<transactionRes>}\n */\nconst triggerMfTransaction = async (transactionId) => {\n const safeTransactionId = typeof transactionId === \"string\" ? transactionId : \"\";\n\n return SmallcaseGatewayNative.triggerMfTransaction(\n safeTransactionId\n );\n}\n\n/**\n * launches smallcases module\n * \n * @param {string} targetEndpoint\n * @param {string} params\n */\n const launchSmallplug = async (targetEndpoint, params) => {\n const safeEndpoint = typeof targetEndpoint === \"string\" ? targetEndpoint : \"\"\n const safeParams = typeof params === \"string\" ? params : \"\"\n\n return SmallcaseGatewayNative.launchSmallplug(\n safeEndpoint,\n safeParams\n );\n\n}\n\nconst safeGatewayName = typeof gatewayName === \"string\" ? gatewayName : \"\";\n/**\n * launches smallcases module\n * \n * @param {string} targetEndpoint\n * @param {string} params\n * @param {string} headerColor\n * @param {number} headerOpacity\n * @param {string} backIconColor\n * @param {number} backIconOpacity\n */\nconst launchSmallplugWithBranding = async (targetEndpoint, params, headerColor, headerOpacity, backIconColor, backIconOpacity) => {\n const safeEndpoint = typeof targetEndpoint === \"string\" ? targetEndpoint : \"\"\n const safeParams = typeof params === \"string\" ? params : \"\"\n const safeHeaderColor = typeof headerColor === \"string\" ? headerColor : platformSpecificColorHex(\"2F363F\") \n const safeHeaderOpacity = typeof headerOpacity === \"number\" ? headerOpacity : 1\n const safeBackIconColor = typeof backIconColor === \"string\" ? backIconColor : platformSpecificColorHex(\"FFFFFF\")\n const safeBackIconOpacity = typeof backIconOpacity === \"number\" ? backIconOpacity : 1\n\n return Platform.OS === 'android' ?\n SmallcaseGatewayNative.launchSmallplugWithBranding(\n safeEndpoint, safeParams,\n {\n headerColor: safeHeaderColor,\n headerOpacity: safeHeaderOpacity,\n backIconColor: safeBackIconColor,\n backIconOpacity: safeBackIconOpacity\n })\n : SmallcaseGatewayNative.launchSmallplugWithBranding(\n safeEndpoint,\n safeParams,\n safeHeaderColor,\n safeHeaderOpacity,\n safeBackIconColor,\n safeBackIconOpacity\n );\n\n}\n\n/**\n * Logs the user out and removes the web session.\n *\n * This promise will be rejected if logout was unsuccessful\n *\n * @returns {Promise}\n */\nconst logoutUser = async () => {\n return SmallcaseGatewayNative.logoutUser();\n};\n\n/**\n * This will display a list of all the orders that a user recently placed.\n * This includes pending, successful, and failed orders.\n * @returns \n */\nconst showOrders = async () => {\n return SmallcaseGatewayNative.showOrders();\n};\n\n/**\n * triggers the lead gen flow\n *\n * @param {userDetails} [userDetails]\n * @param {Object} [utmParams]\n */\nconst triggerLeadGen = (userDetails, utmParams) => {\n const safeParams = safeObject(userDetails);\n const safeUtm = safeObject(utmParams);\n\n return SmallcaseGatewayNative.triggerLeadGen(safeParams, safeUtm);\n};\n\n/**\n * triggers the lead gen flow\n *\n * @param {userDetails} [userDetails]\n * * @returns {Promise}\n */\nconst triggerLeadGenWithStatus = async (userDetails) => {\n const safeParams = safeObject(userDetails);\n\n return SmallcaseGatewayNative.triggerLeadGenWithStatus(safeParams);\n}\n\n/**\n * triggers the lead gen flow with an option of \"login here\" cta\n *\n * @param {userDetails} [userDetails]\n * @param {Object} [utmParams]\n * @param {boolean} [showLoginCta]\n * @returns {Promise}\n */\nconst triggerLeadGenWithLoginCta = async (userDetails, utmParams, showLoginCta) => {\n const safeParams = safeObject(userDetails);\n const safeUtm = safeObject(utmParams);\n const safeShowLoginCta = Boolean(showLoginCta);\n\n return SmallcaseGatewayNative.triggerLeadGenWithLoginCta(\n safeParams,\n safeUtm,\n safeShowLoginCta\n );\n}\n\n/**\n * Marks a smallcase as archived\n *\n * @param {String} iscid\n */\nconst archiveSmallcase = async (iscid) => {\n const safeIscid = typeof iscid === \"string\" ? iscid : \"\";\n\n return SmallcaseGatewayNative.archiveSmallcase(safeIscid);\n};\n\n/**\n * Returns the native android/ios and react-native sdk version\n * (internal-tracking)\n * @returns {Promise}\n */\nconst getSdkVersion = async () => {\n return SmallcaseGatewayNative.getSdkVersion(version);\n}\n\nconst SmallcaseGateway = {\n init,\n logoutUser,\n triggerLeadGen,\n triggerLeadGenWithStatus,\n triggerLeadGenWithLoginCta,\n archiveSmallcase,\n triggerTransaction,\n triggerMfTransaction,\n setConfigEnvironment,\n launchSmallplug,\n launchSmallplugWithBranding,\n getSdkVersion,\n showOrders\n};\n\nexport default SmallcaseGateway;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","ENV","safeObject","platformSpecificColorHex","version","SmallcaseGateway","SmallcaseGatewayNative","defaultBrokerList","setConfigEnvironment","envConfig","safeConfig","setHybridSdkVersion","brokerList","gatewayName","isLeprechaun","isAmoEnabled","environmentName","safeIsLeprechaun","Boolean","safeIsAmoEnabled","safeBrokerList","Array","isArray","safeGatewayName","safeEnvName","PROD","init","sdkToken","safeToken","triggerTransaction","transactionId","utmParams","safeUtm","safeId","length","triggerMfTransaction","safeTransactionId","launchSmallplug","targetEndpoint","params","safeEndpoint","safeParams","launchSmallplugWithBranding","headerColor","headerOpacity","backIconColor","backIconOpacity","safeHeaderColor","safeHeaderOpacity","safeBackIconColor","safeBackIconOpacity","OS","logoutUser","showOrders","triggerLeadGen","userDetails","triggerLeadGenWithStatus","triggerLeadGenWithLoginCta","showLoginCta","safeShowLoginCta","archiveSmallcase","iscid","safeIscid","getSdkVersion"],"sources":["SmallcaseGateway.js"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport { ENV } from './constants';\nimport { safeObject, platformSpecificColorHex } from './util';\nimport { version } from '../package.json';\nconst { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;\n\n/**\n *\n * @typedef {Object} envConfig\n * @property {string} gatewayName - unique name on consumer\n * @property {boolean} isLeprechaun - leprechaun mode toggle\n * @property {boolean} isAmoEnabled - support AMO (subject to broker support)\n * @property {Array<string>} brokerList - list of broker names\n * @property {'production' | 'staging' | 'development'} environmentName - environment name\n *\n * @typedef {Object} transactionRes\n * @property {string} data - response data\n * @property {boolean} success - success flag\n * @property {Number} [errorCode] - error code\n * @property {string} transaction - transaction name\n *\n * @typedef {Object} userDetails\n * @property {String} name - name of user\n * @property {String} email - email of user\n * @property {String} contact - contact of user\n * @property {String} pinCode - pin-code of user\n *\n * @typedef {Object} SmallplugUiConfig\n * @property {String} headerColor - color of the header background\n * @property {Number} headerOpacity - opacity of the header background\n * @property {String} backIconColor - color of the back icon\n * @property {Number} backIconOpacity - opacity of the back icon\n *\n */\n\nlet defaultBrokerList = [];\n\n/**\n * configure the sdk with\n * @param {envConfig} envConfig\n */\nconst setConfigEnvironment = async (envConfig) => {\n const safeConfig = safeObject(envConfig);\n\n await SmallcaseGatewayNative.setHybridSdkVersion(version);\n\n const {\n brokerList,\n gatewayName,\n isLeprechaun,\n isAmoEnabled,\n environmentName,\n } = safeConfig;\n\n const safeIsLeprechaun = Boolean(isLeprechaun);\n const safeIsAmoEnabled = Boolean(isAmoEnabled);\n const safeBrokerList = Array.isArray(brokerList) ? brokerList : [];\n const safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';\n const safeEnvName =\n typeof environmentName === 'string' ? environmentName : ENV.PROD;\n\n defaultBrokerList = safeBrokerList;\n\n await SmallcaseGatewayNative.setConfigEnvironment(\n safeEnvName,\n safeGatewayName,\n safeIsLeprechaun,\n safeIsAmoEnabled,\n safeBrokerList\n );\n};\n\n/**\n * initialize sdk with a session\n *\n * note: this must be called after `setConfigEnvironment()`\n * @param {string} sdkToken\n */\nconst init = async (sdkToken) => {\n const safeToken = typeof sdkToken === \"string\" ? sdkToken : \"\";\n return SmallcaseGatewayNative.init(safeToken);\n};\n\n/**\n * triggers a transaction with a transaction id\n *\n * @param {string} transactionId\n * @param {Object} [utmParams]\n * @param {Array<string>} [brokerList]\n * @returns {Promise<transactionRes>}\n */\nconst triggerTransaction = async (transactionId, utmParams, brokerList) => {\n const safeUtm = safeObject(utmParams);\n const safeId = typeof transactionId === 'string' ? transactionId : '';\n\n const safeBrokerList =\n Array.isArray(brokerList) && brokerList.length\n ? brokerList\n : defaultBrokerList;\n\n return SmallcaseGatewayNative.triggerTransaction(\n safeId,\n safeUtm,\n safeBrokerList\n );\n};\n\n/**\n * triggers a transaction with a transaction id\n *\n * @param {string} transactionId\n * @returns {Promise<transactionRes>}\n */\nconst triggerMfTransaction = async (transactionId) => {\n const safeTransactionId =\n typeof transactionId === 'string' ? transactionId : '';\n\n return SmallcaseGatewayNative.triggerMfTransaction(safeTransactionId);\n};\n\n/**\n * launches smallcases module\n *\n * @param {string} targetEndpoint\n * @param {string} params\n */\nconst launchSmallplug = async (targetEndpoint, params) => {\n const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';\n const safeParams = typeof params === 'string' ? params : '';\n\n return SmallcaseGatewayNative.launchSmallplug(safeEndpoint, safeParams);\n};\n\nconst safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';\n/**\n * launches smallcases module\n *\n * @param {string} targetEndpoint\n * @param {string} params\n * @param {string} headerColor\n * @param {number} headerOpacity\n * @param {string} backIconColor\n * @param {number} backIconOpacity\n */\nconst launchSmallplugWithBranding = async (\n targetEndpoint,\n params,\n headerColor,\n headerOpacity,\n backIconColor,\n backIconOpacity\n) => {\n const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';\n const safeParams = typeof params === 'string' ? params : '';\n const safeHeaderColor =\n typeof headerColor === 'string'\n ? headerColor\n : platformSpecificColorHex('2F363F');\n const safeHeaderOpacity =\n typeof headerOpacity === 'number' ? headerOpacity : 1;\n const safeBackIconColor =\n typeof backIconColor === 'string'\n ? backIconColor\n : platformSpecificColorHex('FFFFFF');\n const safeBackIconOpacity =\n typeof backIconOpacity === 'number' ? backIconOpacity : 1;\n\n return Platform.OS === 'android'\n ? SmallcaseGatewayNative.launchSmallplugWithBranding(\n safeEndpoint,\n safeParams,\n {\n headerColor: safeHeaderColor,\n headerOpacity: safeHeaderOpacity,\n backIconColor: safeBackIconColor,\n backIconOpacity: safeBackIconOpacity,\n }\n )\n : SmallcaseGatewayNative.launchSmallplugWithBranding(\n safeEndpoint,\n safeParams,\n safeHeaderColor,\n safeHeaderOpacity,\n safeBackIconColor,\n safeBackIconOpacity\n );\n};\n\n/**\n * Logs the user out and removes the web session.\n *\n * This promise will be rejected if logout was unsuccessful\n *\n * @returns {Promise}\n */\nconst logoutUser = async () => {\n return SmallcaseGatewayNative.logoutUser();\n};\n\n/**\n * This will display a list of all the orders that a user recently placed.\n * This includes pending, successful, and failed orders.\n * @returns\n */\nconst showOrders = async () => {\n return SmallcaseGatewayNative.showOrders();\n};\n\n/**\n * triggers the lead gen flow\n *\n * @param {userDetails} [userDetails]\n * @param {Object} [utmParams]\n */\nconst triggerLeadGen = (userDetails, utmParams) => {\n const safeParams = safeObject(userDetails);\n const safeUtm = safeObject(utmParams);\n\n return SmallcaseGatewayNative.triggerLeadGen(safeParams, safeUtm);\n};\n\n/**\n * triggers the lead gen flow\n *\n * @param {userDetails} [userDetails]\n * * @returns {Promise}\n */\nconst triggerLeadGenWithStatus = async (userDetails) => {\n const safeParams = safeObject(userDetails);\n\n return SmallcaseGatewayNative.triggerLeadGenWithStatus(safeParams);\n};\n\n/**\n * triggers the lead gen flow with an option of \"login here\" cta\n *\n * @param {userDetails} [userDetails]\n * @param {Object} [utmParams]\n * @param {boolean} [showLoginCta]\n * @returns {Promise}\n */\nconst triggerLeadGenWithLoginCta = async (\n userDetails,\n utmParams,\n showLoginCta\n) => {\n const safeParams = safeObject(userDetails);\n const safeUtm = safeObject(utmParams);\n const safeShowLoginCta = Boolean(showLoginCta);\n\n return SmallcaseGatewayNative.triggerLeadGenWithLoginCta(\n safeParams,\n safeUtm,\n safeShowLoginCta\n );\n};\n\n/**\n * Marks a smallcase as archived\n *\n * @param {String} iscid\n */\nconst archiveSmallcase = async (iscid) => {\n const safeIscid = typeof iscid === 'string' ? iscid : '';\n\n return SmallcaseGatewayNative.archiveSmallcase(safeIscid);\n};\n\n/**\n * Returns the native android/ios and react-native sdk version\n * (internal-tracking)\n * @returns {Promise}\n */\nconst getSdkVersion = async () => {\n return SmallcaseGatewayNative.getSdkVersion(version);\n};\n\nconst SmallcaseGateway = {\n init,\n logoutUser,\n triggerLeadGen,\n triggerLeadGenWithStatus,\n triggerLeadGenWithLoginCta,\n archiveSmallcase,\n triggerTransaction,\n triggerMfTransaction,\n setConfigEnvironment,\n launchSmallplug,\n launchSmallplugWithBranding,\n getSdkVersion,\n showOrders\n};\n\nexport default SmallcaseGateway;\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SmallcaseGateway","ENV","TRANSACTION_TYPE","ERROR_MSG"],"sources":["index.js"],"sourcesContent":["import SmallcaseGateway from \"./SmallcaseGateway\";\nimport { ENV, TRANSACTION_TYPE, ERROR_MSG } from \"./constants\";\n\nexport default { ...SmallcaseGateway, ENV, ERROR_MSG, TRANSACTION_TYPE };\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,GAAG,EAAEC,gBAAgB,EAAEC,SAAS,QAAQ,aAAa;AAE9D,eAAe;EAAE,
|
|
1
|
+
{"version":3,"names":["SmallcaseGateway","ScLoan","ENV","TRANSACTION_TYPE","ERROR_MSG"],"sources":["index.js"],"sourcesContent":["import SmallcaseGateway from \"./SmallcaseGateway\";\nimport ScLoan from \"./ScLoan\";\nimport { ENV, TRANSACTION_TYPE, ERROR_MSG } from \"./constants\";\n\nexport { ScLoan }\nexport default { ...SmallcaseGateway, ENV, ERROR_MSG, TRANSACTION_TYPE };\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,GAAG,EAAEC,gBAAgB,EAAEC,SAAS,QAAQ,aAAa;AAE9D,SAASH,MAAM;AACf,eAAe;EAAE,GAAGD,gBAAgB;EAAEE,GAAG;EAAEE,SAAS;EAAED;AAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-smallcase-gateway",
|
|
3
3
|
"title": "React Native Smallcase Gateway",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"description": "smallcase gateway bindings for react native",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"files": [
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"registry": "https://registry.npmjs.org/"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
+
"standard-version": "^9.1.0",
|
|
50
51
|
"@arkweid/lefthook": "^0.7.7",
|
|
51
52
|
"@babel/eslint-parser": "^7.18.2",
|
|
52
53
|
"@commitlint/config-conventional": "^17.0.2",
|
|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.license = package["license"]
|
|
12
12
|
s.authors = package["author"]
|
|
13
13
|
|
|
14
|
-
s.platforms = { :ios => "
|
|
14
|
+
s.platforms = { :ios => "11.0" }
|
|
15
15
|
s.source = { :git => "https://github.com/smallcase/react-native-smallcase-gateway.git", :tag => "#{s.version}" }
|
|
16
16
|
s.vendored_frameworks = 'SCGateway.xcframework'
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
@@ -33,5 +33,5 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
s.dependency "ReactCommon/turbomodule/core"
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
s.dependency 'SCGateway', '
|
|
36
|
+
s.dependency 'SCGateway', '0.0.8'
|
|
37
37
|
end
|
package/src/ScLoan.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { NativeModules } from 'react-native';
|
|
2
|
+
import { safeObject } from './util';
|
|
3
|
+
import { ENV } from './constants';
|
|
4
|
+
|
|
5
|
+
const { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {Object} ScLoanConfig
|
|
9
|
+
* @property {String} gatewayName
|
|
10
|
+
* @property {'production' | 'staging' | 'development'} environment - environment
|
|
11
|
+
*
|
|
12
|
+
* @typedef {Object} LoanInfo
|
|
13
|
+
* @property {String} interactionToken
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Setup ScLoans
|
|
18
|
+
*
|
|
19
|
+
* @param {ScLoanConfig} config
|
|
20
|
+
* @returns {Promise<String>}
|
|
21
|
+
*/
|
|
22
|
+
const setup = async (config) => {
|
|
23
|
+
const safeConfig = safeObject(config);
|
|
24
|
+
if(safeConfig.environment === undefined || safeConfig.environment === null) safeConfig.environment = ENV.PROD
|
|
25
|
+
|
|
26
|
+
return SmallcaseGatewayNative.setupLoans(safeConfig);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Triggers the LOS Journey
|
|
31
|
+
*
|
|
32
|
+
* @param {LoanInfo} loanInfo
|
|
33
|
+
* @returns {Promise<String>}
|
|
34
|
+
*/
|
|
35
|
+
const apply = async (loanInfo) => {
|
|
36
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
37
|
+
|
|
38
|
+
return SmallcaseGatewayNative.apply(safeLoanInfo);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Triggers the Repayment Journey
|
|
43
|
+
*
|
|
44
|
+
* @param {LoanInfo} loanInfo
|
|
45
|
+
* @returns {Promise<String>}
|
|
46
|
+
*/
|
|
47
|
+
const pay = async (loanInfo) => {
|
|
48
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
49
|
+
|
|
50
|
+
return SmallcaseGatewayNative.pay(safeLoanInfo);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Triggers the Withdraw Journey
|
|
55
|
+
*
|
|
56
|
+
* @param {LoanInfo} loanInfo
|
|
57
|
+
* @returns {Promise<String>}
|
|
58
|
+
*/
|
|
59
|
+
const withdraw = async (loanInfo) => {
|
|
60
|
+
const safeLoanInfo = safeObject(loanInfo);
|
|
61
|
+
|
|
62
|
+
return SmallcaseGatewayNative.withdraw(safeLoanInfo);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const ScLoan = {
|
|
66
|
+
setup,
|
|
67
|
+
apply,
|
|
68
|
+
pay,
|
|
69
|
+
withdraw
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export default ScLoan;
|
package/src/SmallcaseGateway.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NativeModules, Platform } from
|
|
2
|
-
import { ENV } from
|
|
3
|
-
import { safeObject, platformSpecificColorHex } from
|
|
4
|
-
import { version } from
|
|
1
|
+
import { NativeModules, Platform } from 'react-native';
|
|
2
|
+
import { ENV } from './constants';
|
|
3
|
+
import { safeObject, platformSpecificColorHex } from './util';
|
|
4
|
+
import { version } from '../package.json';
|
|
5
5
|
const { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -24,12 +24,13 @@ const { SmallcaseGateway: SmallcaseGatewayNative } = NativeModules;
|
|
|
24
24
|
* @property {String} email - email of user
|
|
25
25
|
* @property {String} contact - contact of user
|
|
26
26
|
* @property {String} pinCode - pin-code of user
|
|
27
|
-
*
|
|
27
|
+
*
|
|
28
28
|
* @typedef {Object} SmallplugUiConfig
|
|
29
29
|
* @property {String} headerColor - color of the header background
|
|
30
30
|
* @property {Number} headerOpacity - opacity of the header background
|
|
31
31
|
* @property {String} backIconColor - color of the back icon
|
|
32
32
|
* @property {Number} backIconOpacity - opacity of the back icon
|
|
33
|
+
*
|
|
33
34
|
*/
|
|
34
35
|
|
|
35
36
|
let defaultBrokerList = [];
|
|
@@ -54,9 +55,9 @@ const setConfigEnvironment = async (envConfig) => {
|
|
|
54
55
|
const safeIsLeprechaun = Boolean(isLeprechaun);
|
|
55
56
|
const safeIsAmoEnabled = Boolean(isAmoEnabled);
|
|
56
57
|
const safeBrokerList = Array.isArray(brokerList) ? brokerList : [];
|
|
57
|
-
const safeGatewayName = typeof gatewayName ===
|
|
58
|
+
const safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';
|
|
58
59
|
const safeEnvName =
|
|
59
|
-
typeof environmentName ===
|
|
60
|
+
typeof environmentName === 'string' ? environmentName : ENV.PROD;
|
|
60
61
|
|
|
61
62
|
defaultBrokerList = safeBrokerList;
|
|
62
63
|
|
|
@@ -90,7 +91,7 @@ const init = async (sdkToken) => {
|
|
|
90
91
|
*/
|
|
91
92
|
const triggerTransaction = async (transactionId, utmParams, brokerList) => {
|
|
92
93
|
const safeUtm = safeObject(utmParams);
|
|
93
|
-
const safeId = typeof transactionId ===
|
|
94
|
+
const safeId = typeof transactionId === 'string' ? transactionId : '';
|
|
94
95
|
|
|
95
96
|
const safeBrokerList =
|
|
96
97
|
Array.isArray(brokerList) && brokerList.length
|
|
@@ -111,34 +112,29 @@ const triggerTransaction = async (transactionId, utmParams, brokerList) => {
|
|
|
111
112
|
* @returns {Promise<transactionRes>}
|
|
112
113
|
*/
|
|
113
114
|
const triggerMfTransaction = async (transactionId) => {
|
|
114
|
-
const safeTransactionId =
|
|
115
|
+
const safeTransactionId =
|
|
116
|
+
typeof transactionId === 'string' ? transactionId : '';
|
|
115
117
|
|
|
116
|
-
return SmallcaseGatewayNative.triggerMfTransaction(
|
|
117
|
-
|
|
118
|
-
);
|
|
119
|
-
}
|
|
118
|
+
return SmallcaseGatewayNative.triggerMfTransaction(safeTransactionId);
|
|
119
|
+
};
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* launches smallcases module
|
|
123
|
-
*
|
|
123
|
+
*
|
|
124
124
|
* @param {string} targetEndpoint
|
|
125
125
|
* @param {string} params
|
|
126
126
|
*/
|
|
127
|
-
|
|
128
|
-
const safeEndpoint = typeof targetEndpoint ===
|
|
129
|
-
const safeParams = typeof params ===
|
|
130
|
-
|
|
131
|
-
return SmallcaseGatewayNative.launchSmallplug(
|
|
132
|
-
safeEndpoint,
|
|
133
|
-
safeParams
|
|
134
|
-
);
|
|
127
|
+
const launchSmallplug = async (targetEndpoint, params) => {
|
|
128
|
+
const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';
|
|
129
|
+
const safeParams = typeof params === 'string' ? params : '';
|
|
135
130
|
|
|
136
|
-
|
|
131
|
+
return SmallcaseGatewayNative.launchSmallplug(safeEndpoint, safeParams);
|
|
132
|
+
};
|
|
137
133
|
|
|
138
|
-
const safeGatewayName = typeof gatewayName ===
|
|
134
|
+
const safeGatewayName = typeof gatewayName === 'string' ? gatewayName : '';
|
|
139
135
|
/**
|
|
140
136
|
* launches smallcases module
|
|
141
|
-
*
|
|
137
|
+
*
|
|
142
138
|
* @param {string} targetEndpoint
|
|
143
139
|
* @param {string} params
|
|
144
140
|
* @param {string} headerColor
|
|
@@ -146,33 +142,49 @@ const safeGatewayName = typeof gatewayName === "string" ? gatewayName : "";
|
|
|
146
142
|
* @param {string} backIconColor
|
|
147
143
|
* @param {number} backIconOpacity
|
|
148
144
|
*/
|
|
149
|
-
const launchSmallplugWithBranding = async (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
145
|
+
const launchSmallplugWithBranding = async (
|
|
146
|
+
targetEndpoint,
|
|
147
|
+
params,
|
|
148
|
+
headerColor,
|
|
149
|
+
headerOpacity,
|
|
150
|
+
backIconColor,
|
|
151
|
+
backIconOpacity
|
|
152
|
+
) => {
|
|
153
|
+
const safeEndpoint = typeof targetEndpoint === 'string' ? targetEndpoint : '';
|
|
154
|
+
const safeParams = typeof params === 'string' ? params : '';
|
|
155
|
+
const safeHeaderColor =
|
|
156
|
+
typeof headerColor === 'string'
|
|
157
|
+
? headerColor
|
|
158
|
+
: platformSpecificColorHex('2F363F');
|
|
159
|
+
const safeHeaderOpacity =
|
|
160
|
+
typeof headerOpacity === 'number' ? headerOpacity : 1;
|
|
161
|
+
const safeBackIconColor =
|
|
162
|
+
typeof backIconColor === 'string'
|
|
163
|
+
? backIconColor
|
|
164
|
+
: platformSpecificColorHex('FFFFFF');
|
|
165
|
+
const safeBackIconOpacity =
|
|
166
|
+
typeof backIconOpacity === 'number' ? backIconOpacity : 1;
|
|
167
|
+
|
|
168
|
+
return Platform.OS === 'android'
|
|
169
|
+
? SmallcaseGatewayNative.launchSmallplugWithBranding(
|
|
170
|
+
safeEndpoint,
|
|
171
|
+
safeParams,
|
|
172
|
+
{
|
|
173
|
+
headerColor: safeHeaderColor,
|
|
174
|
+
headerOpacity: safeHeaderOpacity,
|
|
175
|
+
backIconColor: safeBackIconColor,
|
|
176
|
+
backIconOpacity: safeBackIconOpacity,
|
|
177
|
+
}
|
|
178
|
+
)
|
|
166
179
|
: SmallcaseGatewayNative.launchSmallplugWithBranding(
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
180
|
+
safeEndpoint,
|
|
181
|
+
safeParams,
|
|
182
|
+
safeHeaderColor,
|
|
183
|
+
safeHeaderOpacity,
|
|
184
|
+
safeBackIconColor,
|
|
185
|
+
safeBackIconOpacity
|
|
186
|
+
);
|
|
187
|
+
};
|
|
176
188
|
|
|
177
189
|
/**
|
|
178
190
|
* Logs the user out and removes the web session.
|
|
@@ -188,7 +200,7 @@ const logoutUser = async () => {
|
|
|
188
200
|
/**
|
|
189
201
|
* This will display a list of all the orders that a user recently placed.
|
|
190
202
|
* This includes pending, successful, and failed orders.
|
|
191
|
-
* @returns
|
|
203
|
+
* @returns
|
|
192
204
|
*/
|
|
193
205
|
const showOrders = async () => {
|
|
194
206
|
return SmallcaseGatewayNative.showOrders();
|
|
@@ -217,7 +229,7 @@ const triggerLeadGenWithStatus = async (userDetails) => {
|
|
|
217
229
|
const safeParams = safeObject(userDetails);
|
|
218
230
|
|
|
219
231
|
return SmallcaseGatewayNative.triggerLeadGenWithStatus(safeParams);
|
|
220
|
-
}
|
|
232
|
+
};
|
|
221
233
|
|
|
222
234
|
/**
|
|
223
235
|
* triggers the lead gen flow with an option of "login here" cta
|
|
@@ -227,7 +239,11 @@ const triggerLeadGenWithStatus = async (userDetails) => {
|
|
|
227
239
|
* @param {boolean} [showLoginCta]
|
|
228
240
|
* @returns {Promise}
|
|
229
241
|
*/
|
|
230
|
-
const triggerLeadGenWithLoginCta = async (
|
|
242
|
+
const triggerLeadGenWithLoginCta = async (
|
|
243
|
+
userDetails,
|
|
244
|
+
utmParams,
|
|
245
|
+
showLoginCta
|
|
246
|
+
) => {
|
|
231
247
|
const safeParams = safeObject(userDetails);
|
|
232
248
|
const safeUtm = safeObject(utmParams);
|
|
233
249
|
const safeShowLoginCta = Boolean(showLoginCta);
|
|
@@ -237,7 +253,7 @@ const triggerLeadGenWithLoginCta = async (userDetails, utmParams, showLoginCta)
|
|
|
237
253
|
safeUtm,
|
|
238
254
|
safeShowLoginCta
|
|
239
255
|
);
|
|
240
|
-
}
|
|
256
|
+
};
|
|
241
257
|
|
|
242
258
|
/**
|
|
243
259
|
* Marks a smallcase as archived
|
|
@@ -245,7 +261,7 @@ const triggerLeadGenWithLoginCta = async (userDetails, utmParams, showLoginCta)
|
|
|
245
261
|
* @param {String} iscid
|
|
246
262
|
*/
|
|
247
263
|
const archiveSmallcase = async (iscid) => {
|
|
248
|
-
const safeIscid = typeof iscid ===
|
|
264
|
+
const safeIscid = typeof iscid === 'string' ? iscid : '';
|
|
249
265
|
|
|
250
266
|
return SmallcaseGatewayNative.archiveSmallcase(safeIscid);
|
|
251
267
|
};
|
|
@@ -257,7 +273,7 @@ const archiveSmallcase = async (iscid) => {
|
|
|
257
273
|
*/
|
|
258
274
|
const getSdkVersion = async () => {
|
|
259
275
|
return SmallcaseGatewayNative.getSdkVersion(version);
|
|
260
|
-
}
|
|
276
|
+
};
|
|
261
277
|
|
|
262
278
|
const SmallcaseGateway = {
|
|
263
279
|
init,
|
package/src/index.js
CHANGED