react-native-smallcase-gateway 2.1.0 → 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 +42 -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 +20 -19
- 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 +24 -23
- 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 +5 -1
- package/react-native-smallcase-gateway.podspec +2 -2
- package/src/ScLoan.js +72 -0
- package/src/SmallcaseGateway.js +74 -58
- 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
|
};
|
|
@@ -67,7 +68,7 @@ const setConfigEnvironment = async envConfig => {
|
|
|
67
68
|
*/
|
|
68
69
|
const init = async sdkToken => {
|
|
69
70
|
const safeToken = typeof sdkToken === "string" ? sdkToken : "";
|
|
70
|
-
|
|
71
|
+
return SmallcaseGatewayNative.init(safeToken);
|
|
71
72
|
};
|
|
72
73
|
|
|
73
74
|
/**
|
|
@@ -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 await 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",
|
|
@@ -148,5 +149,8 @@
|
|
|
148
149
|
}
|
|
149
150
|
]
|
|
150
151
|
]
|
|
152
|
+
},
|
|
153
|
+
"dependencies": {
|
|
154
|
+
"standard-version": "^9.5.0"
|
|
151
155
|
}
|
|
152
156
|
}
|
|
@@ -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;
|