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.
@@ -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":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAA+D,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAEhD;EAAE,GAAGC,yBAAgB;EAAEC,GAAG,EAAHA,cAAG;EAAEC,SAAS,EAATA,oBAAS;EAAEC,gBAAgB,EAAhBA;AAAiB,CAAC;AAAAC,OAAA,CAAAN,OAAA,GAAAC,QAAA"}
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 "react-native";
2
- import { ENV } from "./constants";
3
- import { safeObject, platformSpecificColorHex } from "./util";
4
- import { version } from "../package.json";
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 === "string" ? gatewayName : "";
57
- const safeEnvName = typeof environmentName === "string" ? environmentName : ENV.PROD;
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
- await SmallcaseGatewayNative.init(safeToken);
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 === "string" ? 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 === "string" ? 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 === "string" ? targetEndpoint : "";
107
- const safeParams = typeof params === "string" ? 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 === "string" ? 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 === "string" ? targetEndpoint : "";
123
- const safeParams = typeof params === "string" ? params : "";
124
- const safeHeaderColor = typeof headerColor === "string" ? headerColor : platformSpecificColorHex("2F363F");
125
- const safeHeaderOpacity = typeof headerOpacity === "number" ? headerOpacity : 1;
126
- const safeBackIconColor = typeof backIconColor === "string" ? backIconColor : platformSpecificColorHex("FFFFFF");
127
- const safeBackIconOpacity = typeof backIconOpacity === "number" ? backIconOpacity : 1;
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 === "string" ? 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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"}
@@ -1,5 +1,7 @@
1
1
  import SmallcaseGateway from "./SmallcaseGateway";
2
+ import ScLoan from "./ScLoan";
2
3
  import { ENV, TRANSACTION_TYPE, ERROR_MSG } from "./constants";
4
+ export { ScLoan };
3
5
  export default {
4
6
  ...SmallcaseGateway,
5
7
  ENV,
@@ -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,GAAGH,gBAAgB;EAAEC,GAAG;EAAEE,SAAS;EAAED;AAAiB,CAAC"}
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.1.0",
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 => "10.0" }
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', '3.9.4'
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;