otpless-headless-rn 1.0.6 → 1.0.7

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.
@@ -74,7 +74,7 @@ dependencies {
74
74
  //noinspection GradleDynamicVersion
75
75
  implementation "com.facebook.react:react-native:+"
76
76
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
77
- implementation ("io.github.otpless-tech:otpless-headless-sdk:0.2.0")
77
+ implementation ("io.github.otpless-tech:otpless-headless-sdk:0.2.9")
78
78
  }
79
79
 
80
80
  if (isNewArchitectureEnabled()) {
@@ -3,14 +3,16 @@ package com.otplessheadlessrn
3
3
  import android.app.Activity
4
4
  import android.content.Intent
5
5
  import androidx.appcompat.app.AppCompatActivity
6
+ import androidx.fragment.app.FragmentActivity
6
7
  import androidx.lifecycle.lifecycleScope
7
8
  import com.facebook.react.bridge.ActivityEventListener
8
- import com.facebook.react.bridge.Callback
9
+ import com.facebook.react.bridge.Promise
9
10
  import com.facebook.react.bridge.ReactApplicationContext
10
11
  import com.facebook.react.bridge.ReactContextBaseJavaModule
11
12
  import com.facebook.react.bridge.ReactMethod
12
13
  import com.facebook.react.bridge.ReadableMap
13
14
  import com.facebook.react.modules.core.DeviceEventManagerModule
15
+ import com.otpless.longclaw.tc.OTScopeRequest
14
16
  import com.otpless.v2.android.sdk.dto.OtplessChannelType
15
17
  import com.otpless.v2.android.sdk.dto.OtplessRequest
16
18
  import com.otpless.v2.android.sdk.dto.OtplessResponse
@@ -59,12 +61,9 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
59
61
  }
60
62
 
61
63
  @ReactMethod
62
- fun isWhatsappInstalled(callback: Callback) {
64
+ fun isWhatsappInstalled(promise: Promise) {
63
65
  val hasWhatsapp = OtplessUtils.isWhatsAppInstalled(reactContext)
64
- val json = JSONObject().also {
65
- it.put("hasWhatsapp", hasWhatsapp)
66
- }
67
- callback.invoke(convertJsonToMap(json))
66
+ promise.resolve(hasWhatsapp)
68
67
  }
69
68
 
70
69
  @ReactMethod
@@ -78,6 +77,17 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
78
77
  }
79
78
  }
80
79
 
80
+ @ReactMethod
81
+ fun initTrueCaller(requestMap: ReadableMap, promise: Promise) {
82
+ val request = parseTrueCallerRequest(requestMap)
83
+ val scopes = parseTrueCallerScope(requestMap)
84
+ val result = OtplessSDK.initTrueCaller(currentActivity!!, request) {
85
+ OTScopeRequest.ActivityRequest(currentActivity as FragmentActivity, scopes)
86
+ }
87
+ debugLog("init truecaller result: $result")
88
+ promise.resolve(result)
89
+ }
90
+
81
91
  @ReactMethod
82
92
  fun start(data: ReadableMap) {
83
93
  val otplessRequest = OtplessRequest()
@@ -151,6 +161,12 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
151
161
  OtplessSDK.cleanup()
152
162
  }
153
163
 
164
+ @ReactMethod
165
+ fun setDevLogging(devLogging: Boolean) {
166
+ debugLog("dev logging: $devLogging")
167
+ OtplessSDK.devLogging = devLogging
168
+ }
169
+
154
170
  companion object {
155
171
  const val NAME = "OtplessHeadlessRN"
156
172
  }
@@ -1,5 +1,7 @@
1
1
  package com.otplessheadlessrn
2
2
 
3
+ import android.graphics.Color
4
+ import android.util.Log
3
5
  import com.facebook.react.bridge.ReadableArray
4
6
  import com.facebook.react.bridge.ReadableMap
5
7
  import com.facebook.react.bridge.ReadableType
@@ -7,9 +9,18 @@ import com.facebook.react.bridge.WritableArray
7
9
  import com.facebook.react.bridge.WritableMap
8
10
  import com.facebook.react.bridge.WritableNativeArray
9
11
  import com.facebook.react.bridge.WritableNativeMap
12
+ import com.otpless.longclaw.tc.OTButtonShape
13
+ import com.otpless.longclaw.tc.OTCtaText
14
+ import com.otpless.longclaw.tc.OTFooterType
15
+ import com.otpless.longclaw.tc.OTHeadingConsent
16
+ import com.otpless.longclaw.tc.OTLoginPrefixText
17
+ import com.otpless.longclaw.tc.OTScope
18
+ import com.otpless.longclaw.tc.OTVerifyOption
19
+ import com.otpless.longclaw.tc.OtplessTruecallerRequest
10
20
  import org.json.JSONArray
11
21
  import org.json.JSONException
12
22
  import org.json.JSONObject
23
+ import java.util.Locale
13
24
 
14
25
 
15
26
  internal fun convertMapToJson(map: ReadableMap?): JSONObject? {
@@ -119,3 +130,77 @@ internal fun convertJsonToArray(jsonArray: JSONArray): WritableArray {
119
130
  }
120
131
  return array
121
132
  }
133
+
134
+ internal fun parseTrueCallerRequest(requestMap: ReadableMap): OtplessTruecallerRequest {
135
+ val trueCallerRequestMap = requestMap.getMap("trueCallerRequest") ?: return OtplessTruecallerRequest()
136
+ // parsing footer type
137
+ val footerType: OTFooterType? = trueCallerRequestMap.getString("footerType")?.let { str ->
138
+ OTFooterType.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
139
+ }
140
+ // parsing button shape
141
+ val shape: OTButtonShape? = trueCallerRequestMap.getString("shape")?.let { str ->
142
+ OTButtonShape.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
143
+ }
144
+ // parsing verify option
145
+ val verifyOption: OTVerifyOption? = trueCallerRequestMap.getString("verifyOption")?.let { str ->
146
+ OTVerifyOption.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
147
+ }
148
+ // parsing heading option
149
+ val heading: OTHeadingConsent? = trueCallerRequestMap.getString("heading")?.let { str ->
150
+ OTHeadingConsent.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
151
+ }
152
+ // parsing login prefix text
153
+ val loginPrefixText: OTLoginPrefixText? = trueCallerRequestMap.getString("loginPrefixText")?.let { str ->
154
+ OTLoginPrefixText.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
155
+ }
156
+ // parsing cta text
157
+ val ctaText: OTCtaText? = trueCallerRequestMap.getString("ctaText")?.let { str ->
158
+ OTCtaText.values().firstOrNull { it.name.equals(str, ignoreCase = true) }
159
+ }
160
+ // parsing locale
161
+ val locale: Locale? = trueCallerRequestMap.getString("locale")?.let { str ->
162
+ try {
163
+ Locale.forLanguageTag(str)
164
+ } catch (ignore: Exception) {
165
+ null
166
+ }
167
+ }
168
+ // parsing button color and button color text
169
+ val buttonColor: Int? = trueCallerRequestMap.getString("buttonColor")?.let { hex -> fromHexStringToInt(hex) }
170
+ val buttonTextColor: Int? = trueCallerRequestMap.getString("buttonTextColor")?.let { hex -> fromHexStringToInt(hex) }
171
+ // add the parsing logic for request map
172
+ return OtplessTruecallerRequest(
173
+ footerType = footerType, shape = shape, verifyOption = verifyOption, heading = heading,
174
+ loginPrefixText = loginPrefixText, ctaText = ctaText, locale = locale, buttonColor = buttonColor, buttonTextColor = buttonTextColor
175
+ )
176
+ }
177
+
178
+ internal fun fromHexStringToInt(hex: String): Int? = try {
179
+ Color.parseColor(hex)
180
+ } catch (ex: Exception) {
181
+ null
182
+ }
183
+
184
+ internal fun parseTrueCallerScope(requestMap: ReadableMap): List<OTScope> {
185
+ val scopeArray = requestMap.getArray("scope")
186
+ if (scopeArray != null && scopeArray.size() != 0) {
187
+ val scopes = mutableListOf<OTScope>()
188
+ for (index in 0 until scopeArray.size()) {
189
+ val value = scopeArray.getString(index)
190
+ val scopeType = OTScope.values().firstOrNull { it.name.equals(value, ignoreCase = true)} ?: continue
191
+ scopes.add(scopeType)
192
+ }
193
+ return scopes
194
+ } else {
195
+ return listOf(OTScope.OPEN_ID, OTScope.PHONE, OTScope.PROFILE)
196
+ }
197
+ }
198
+
199
+
200
+ private const val LOGTAG = "OtplessHeadlessRN"
201
+
202
+ internal fun debugLog(message: String) {
203
+ if (BuildConfig.DEBUG) {
204
+ Log.d(LOGTAG, message)
205
+ }
206
+ }
@@ -11,8 +11,6 @@ RCT_EXTERN_METHOD(setResponseCallback)
11
11
 
12
12
  RCT_EXTERN_METHOD(start:(NSDictionary *)request)
13
13
 
14
- RCT_EXTERN_METHOD(enableDebugLogging:(BOOL)enable)
15
-
16
14
  RCT_EXTERN_METHOD(commitResponse: (nullable NSDictionary *) response)
17
15
 
18
16
  RCT_EXTERN_METHOD(cleanup)
@@ -25,5 +23,7 @@ RCT_EXTERN_METHOD(performOneTap: (NSDictionary *)request)
25
23
 
26
24
  RCT_EXTERN_METHOD(authorizeViaPasskey: (NSDictionary *)request)
27
25
 
26
+ RCT_EXTERN_METHOD(setDevLogging:(BOOL)enable)
27
+
28
28
  @end
29
29
 
@@ -78,8 +78,8 @@ class OtplessHeadlessRN: RCTEventEmitter, OtplessResponseDelegate {
78
78
  }
79
79
  }
80
80
 
81
- @objc(enableDebugLogging:)
82
- func enableDebugLogging(enable: Bool) {
81
+ @objc(setDevLogging:)
82
+ func setDevLogging(enable: Bool) {
83
83
  if enable {
84
84
  Otpless.shared.setLoggerDelegate(self)
85
85
  }
@@ -3,8 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ OtplessHeadlessModule: true
8
+ };
6
9
  exports.OtplessHeadlessModule = void 0;
7
10
  var _reactNative = require("react-native");
11
+ var _models = require("./models");
12
+ Object.keys(_models).forEach(function (key) {
13
+ if (key === "default" || key === "__esModule") return;
14
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
15
+ if (key in exports && exports[key] === _models[key]) return;
16
+ Object.defineProperty(exports, key, {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _models[key];
20
+ }
21
+ });
22
+ });
8
23
  const LINKING_ERROR = `The package 'otpless-headless-rn' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
24
  ios: "- You have run 'pod install'\n",
10
25
  default: ''
@@ -44,13 +59,12 @@ class OtplessHeadlessModule {
44
59
  }
45
60
 
46
61
  // Checks if whatsapp is installed on android device
47
- isWhatsappInstalled(callback) {
62
+ async isWhatsappInstalledForAndroid() {
48
63
  if (_reactNative.Platform.OS === 'android') {
49
- OtplessHeadlessRN.isWhatsappInstalled(result => {
50
- const hasWhatsapp = result.hasWhatsapp === true;
51
- callback(hasWhatsapp);
52
- });
53
- return;
64
+ // Android-specific code
65
+ return await OtplessHeadlessRN.isWhatsappInstalled();
66
+ } else {
67
+ return false;
54
68
  }
55
69
  }
56
70
  cleanup() {
@@ -61,6 +75,15 @@ class OtplessHeadlessModule {
61
75
  OtplessHeadlessRN.decimateAll();
62
76
  }
63
77
  }
78
+ setDevLogging(enable) {
79
+ OtplessHeadlessRN.setDevLogging(enable);
80
+ }
81
+ async initTrueCaller(requestMap) {
82
+ if (_reactNative.Platform.OS === 'android') {
83
+ return await OtplessHeadlessRN.initTrueCaller(requestMap);
84
+ }
85
+ return false;
86
+ }
64
87
  }
65
88
  exports.OtplessHeadlessModule = OtplessHeadlessModule;
66
89
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OtplessHeadlessRN","NativeModules","Proxy","get","Error","OtplessHeadlessModule","eventEmitter","constructor","clearListener","_this$eventEmitter","removeAllListeners","initialize","appId","loginUri","NativeEventEmitter","setResponseCallback","callback","_this$eventEmitter2","addListener","start","input","commitResponse","response","isWhatsappInstalled","OS","result","hasWhatsapp","cleanup","decimateAll","toLowerCase","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GACjB,8EAA8E,GAC9EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,iBAAiB,GAAGC,0BAAa,CAACD,iBAAiB,GACrDC,0BAAa,CAACD,iBAAiB,GAC/B,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAMH,MAAMU,qBAAqB,CAAC;EAClBC,YAAY,GAA8B,IAAI;EAEtDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACD,YAAY,GAAG,IAAI;EAC1B;EAEAE,aAAaA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACd,CAAAA,kBAAA,OAAI,CAACH,YAAY,cAAAG,kBAAA,eAAjBA,kBAAA,CAAmBC,kBAAkB,CAAC,oBAAoB,CAAC;EAC7D;EAEAC,UAAUA,CAACC,KAAa,EAAEC,QAAuB,GAAG,IAAI,EAAE;IACxD,IAAI,IAAI,CAACP,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAACA,YAAY,GAAG,IAAIQ,+BAAkB,CAACd,iBAAiB,CAAC;IAC/D;IACA;IACAA,iBAAiB,CAACW,UAAU,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/C;EAEAE,mBAAmBA,CAACC,QAA+B,EAAE;IAAA,IAAAC,mBAAA;IACnD,CAAAA,mBAAA,OAAI,CAACX,YAAY,cAAAW,mBAAA,eAAjBA,mBAAA,CAAmBC,WAAW,CAAC,oBAAoB,EAAEF,QAAQ,CAAC;IAC9D;IACAhB,iBAAiB,CAACe,mBAAmB,CAAC,CAAC;EACzC;EAEAI,KAAKA,CAACC,KAAU,EAAE;IAChBpB,iBAAiB,CAACmB,KAAK,CAACC,KAAK,CAAC;EAChC;EAEAC,cAAcA,CAACC,QAAa,EAAE;IAC5BtB,iBAAiB,CAACqB,cAAc,CAACC,QAAQ,CAAC;EAC5C;;EAEA;EACAC,mBAAmBA,CAACP,QAAwC,EAAE;IAC5D,IAAIpB,qBAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;MAC7BxB,iBAAiB,CAACuB,mBAAmB,CAAEE,MAAW,IAAK;QACrD,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,KAAK,IAAI;QAC/CV,QAAQ,CAACU,WAAW,CAAC;MACvB,CAAC,CAAC;MACF;IACF;EACF;EAEAC,OAAOA,CAAA,EAAG;IACR3B,iBAAiB,CAAC2B,OAAO,CAAC,CAAC;EAC7B;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAIhC,qBAAQ,CAAC4B,EAAE,CAACK,WAAW,CAAC,CAAC,KAAK,KAAK,EAAE;MACvC7B,iBAAiB,CAAC4B,WAAW,CAAC,CAAC;IACjC;EACF;AACF;AAACE,OAAA,CAAAzB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_models","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","LINKING_ERROR","Platform","select","ios","default","OtplessHeadlessRN","NativeModules","Proxy","Error","OtplessHeadlessModule","eventEmitter","constructor","clearListener","_this$eventEmitter","removeAllListeners","initialize","appId","loginUri","NativeEventEmitter","setResponseCallback","callback","_this$eventEmitter2","addListener","start","input","commitResponse","response","isWhatsappInstalledForAndroid","OS","isWhatsappInstalled","cleanup","decimateAll","toLowerCase","setDevLogging","enable","initTrueCaller","requestMap"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["models.tsx"],"mappings":"","ignoreList":[]}
@@ -38,13 +38,12 @@ class OtplessHeadlessModule {
38
38
  }
39
39
 
40
40
  // Checks if whatsapp is installed on android device
41
- isWhatsappInstalled(callback) {
41
+ async isWhatsappInstalledForAndroid() {
42
42
  if (Platform.OS === 'android') {
43
- OtplessHeadlessRN.isWhatsappInstalled(result => {
44
- const hasWhatsapp = result.hasWhatsapp === true;
45
- callback(hasWhatsapp);
46
- });
47
- return;
43
+ // Android-specific code
44
+ return await OtplessHeadlessRN.isWhatsappInstalled();
45
+ } else {
46
+ return false;
48
47
  }
49
48
  }
50
49
  cleanup() {
@@ -55,6 +54,16 @@ class OtplessHeadlessModule {
55
54
  OtplessHeadlessRN.decimateAll();
56
55
  }
57
56
  }
57
+ setDevLogging(enable) {
58
+ OtplessHeadlessRN.setDevLogging(enable);
59
+ }
60
+ async initTrueCaller(requestMap) {
61
+ if (Platform.OS === 'android') {
62
+ return await OtplessHeadlessRN.initTrueCaller(requestMap);
63
+ }
64
+ return false;
65
+ }
58
66
  }
59
67
  export { OtplessHeadlessModule };
68
+ export * from './models';
60
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","OtplessHeadlessRN","Proxy","get","Error","OtplessHeadlessModule","eventEmitter","constructor","clearListener","_this$eventEmitter","removeAllListeners","initialize","appId","loginUri","setResponseCallback","callback","_this$eventEmitter2","addListener","start","input","commitResponse","response","isWhatsappInstalled","OS","result","hasWhatsapp","cleanup","decimateAll","toLowerCase"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAG1E,MAAMC,aAAa,GACjB,8EAA8E,GAC9EF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,iBAAiB,GAAGP,aAAa,CAACO,iBAAiB,GACrDP,aAAa,CAACO,iBAAiB,GAC/B,IAAIC,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAMH,MAAMQ,qBAAqB,CAAC;EAClBC,YAAY,GAA8B,IAAI;EAEtDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACD,YAAY,GAAG,IAAI;EAC1B;EAEAE,aAAaA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACd,CAAAA,kBAAA,OAAI,CAACH,YAAY,cAAAG,kBAAA,eAAjBA,kBAAA,CAAmBC,kBAAkB,CAAC,oBAAoB,CAAC;EAC7D;EAEAC,UAAUA,CAACC,KAAa,EAAEC,QAAuB,GAAG,IAAI,EAAE;IACxD,IAAI,IAAI,CAACP,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAACA,YAAY,GAAG,IAAIV,kBAAkB,CAACK,iBAAiB,CAAC;IAC/D;IACA;IACAA,iBAAiB,CAACU,UAAU,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/C;EAEAC,mBAAmBA,CAACC,QAA+B,EAAE;IAAA,IAAAC,mBAAA;IACnD,CAAAA,mBAAA,OAAI,CAACV,YAAY,cAAAU,mBAAA,eAAjBA,mBAAA,CAAmBC,WAAW,CAAC,oBAAoB,EAAEF,QAAQ,CAAC;IAC9D;IACAd,iBAAiB,CAACa,mBAAmB,CAAC,CAAC;EACzC;EAEAI,KAAKA,CAACC,KAAU,EAAE;IAChBlB,iBAAiB,CAACiB,KAAK,CAACC,KAAK,CAAC;EAChC;EAEAC,cAAcA,CAACC,QAAa,EAAE;IAC5BpB,iBAAiB,CAACmB,cAAc,CAACC,QAAQ,CAAC;EAC5C;;EAEA;EACAC,mBAAmBA,CAACP,QAAwC,EAAE;IAC5D,IAAIpB,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;MAC7BtB,iBAAiB,CAACqB,mBAAmB,CAAEE,MAAW,IAAK;QACrD,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,KAAK,IAAI;QAC/CV,QAAQ,CAACU,WAAW,CAAC;MACvB,CAAC,CAAC;MACF;IACF;EACF;EAEAC,OAAOA,CAAA,EAAG;IACRzB,iBAAiB,CAACyB,OAAO,CAAC,CAAC;EAC7B;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAIhC,QAAQ,CAAC4B,EAAE,CAACK,WAAW,CAAC,CAAC,KAAK,KAAK,EAAE;MACvC3B,iBAAiB,CAAC0B,WAAW,CAAC,CAAC;IACjC;EACF;AACF;AAEA,SAAStB,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","OtplessHeadlessRN","Proxy","get","Error","OtplessHeadlessModule","eventEmitter","constructor","clearListener","_this$eventEmitter","removeAllListeners","initialize","appId","loginUri","setResponseCallback","callback","_this$eventEmitter2","addListener","start","input","commitResponse","response","isWhatsappInstalledForAndroid","OS","isWhatsappInstalled","cleanup","decimateAll","toLowerCase","setDevLogging","enable","initTrueCaller","requestMap"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAK1E,MAAMC,aAAa,GACjB,8EAA8E,GAC9EF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,iBAAiB,GAAGP,aAAa,CAACO,iBAAiB,GACrDP,aAAa,CAACO,iBAAiB,GAC/B,IAAIC,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAMH,MAAMQ,qBAAqB,CAAC;EAClBC,YAAY,GAA8B,IAAI;EAEtDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACD,YAAY,GAAG,IAAI;EAC1B;EAEAE,aAAaA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACd,CAAAA,kBAAA,OAAI,CAACH,YAAY,cAAAG,kBAAA,eAAjBA,kBAAA,CAAmBC,kBAAkB,CAAC,oBAAoB,CAAC;EAC7D;EAEAC,UAAUA,CAACC,KAAa,EAAEC,QAAuB,GAAG,IAAI,EAAE;IACxD,IAAI,IAAI,CAACP,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAACA,YAAY,GAAG,IAAIV,kBAAkB,CAACK,iBAAiB,CAAC;IAC/D;IACA;IACAA,iBAAiB,CAACU,UAAU,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/C;EAEAC,mBAAmBA,CAACC,QAA+B,EAAE;IAAA,IAAAC,mBAAA;IACnD,CAAAA,mBAAA,OAAI,CAACV,YAAY,cAAAU,mBAAA,eAAjBA,mBAAA,CAAmBC,WAAW,CAAC,oBAAoB,EAAEF,QAAQ,CAAC;IAC9D;IACAd,iBAAiB,CAACa,mBAAmB,CAAC,CAAC;EACzC;EAEAI,KAAKA,CAACC,KAAU,EAAE;IAChBlB,iBAAiB,CAACiB,KAAK,CAACC,KAAK,CAAC;EAChC;EAEAC,cAAcA,CAACC,QAAa,EAAE;IAC5BpB,iBAAiB,CAACmB,cAAc,CAACC,QAAQ,CAAC;EAC5C;;EAEA;EACA,MAAMC,6BAA6BA,CAAA,EAAqB;IACtD,IAAI3B,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;MAC7B;MACA,OAAO,MAAMtB,iBAAiB,CAACuB,mBAAmB,CAAC,CAAC;IACtD,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF;EAEAC,OAAOA,CAAA,EAAG;IACRxB,iBAAiB,CAACwB,OAAO,CAAC,CAAC;EAC7B;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAI/B,QAAQ,CAAC4B,EAAE,CAACI,WAAW,CAAC,CAAC,KAAK,KAAK,EAAE;MACvC1B,iBAAiB,CAACyB,WAAW,CAAC,CAAC;IACjC;EACF;EAEAE,aAAaA,CAACC,MAAe,EAAE;IAC7B5B,iBAAiB,CAAC2B,aAAa,CAACC,MAAM,CAAC;EACzC;EAEA,MAAMC,cAAcA,CAACC,UAAoC,EAAoB;IAC3E,IAAIpC,QAAQ,CAAC4B,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO,MAAMtB,iBAAiB,CAAC6B,cAAc,CAACC,UAAU,CAAC;IAC3D;IACA,OAAO,KAAK;EACd;AAEF;AAGA,SAAS1B,qBAAqB;AAC9B,cAAc,UAAU","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["models.tsx"],"mappings":"","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import type { OtplessTruecallerRequest } from './models';
1
2
  interface OtplessResultCallback {
2
3
  (result: any): void;
3
4
  }
@@ -9,9 +10,12 @@ declare class OtplessHeadlessModule {
9
10
  setResponseCallback(callback: OtplessResultCallback): void;
10
11
  start(input: any): void;
11
12
  commitResponse(response: any): void;
12
- isWhatsappInstalled(callback: (hasWhatsapp: boolean) => void): void;
13
+ isWhatsappInstalledForAndroid(): Promise<boolean>;
13
14
  cleanup(): void;
14
15
  decimateAll(): void;
16
+ setDevLogging(enable: boolean): void;
17
+ initTrueCaller(requestMap: OtplessTruecallerRequest): Promise<boolean>;
15
18
  }
16
19
  export { OtplessHeadlessModule };
20
+ export * from './models';
17
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAoBA,UAAU,qBAAqB;IAC7B,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;CACrB;AAED,cAAM,qBAAqB;IACzB,OAAO,CAAC,YAAY,CAAmC;;IAMvD,aAAa;IAIb,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW;IAQxD,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB;IAMnD,KAAK,CAAC,KAAK,EAAE,GAAG;IAIhB,cAAc,CAAC,QAAQ,EAAE,GAAG;IAK5B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI;IAU5D,OAAO;IAIP,WAAW;CAKZ;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAqBzD,UAAU,qBAAqB;IAC7B,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;CACrB;AAED,cAAM,qBAAqB;IACzB,OAAO,CAAC,YAAY,CAAmC;;IAMvD,aAAa;IAIb,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW;IAQxD,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB;IAMnD,KAAK,CAAC,KAAK,EAAE,GAAG;IAIhB,cAAc,CAAC,QAAQ,EAAE,GAAG;IAKtB,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IASvD,OAAO;IAIP,WAAW;IAMX,aAAa,CAAC,MAAM,EAAE,OAAO;IAIvB,cAAc,CAAC,UAAU,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7E;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,cAAc,UAAU,CAAA"}
@@ -0,0 +1,23 @@
1
+ export interface OtplessTruecallerRequest {
2
+ trueCallerRequest?: OtplessTruecallerConfig;
3
+ scope: Array<OTScope>;
4
+ }
5
+ export interface OtplessTruecallerConfig {
6
+ footerType?: OTFooterType;
7
+ shape?: OTButtonShape;
8
+ verifyOption?: OTVerifyOption;
9
+ heading?: OTHeadingConsent;
10
+ loginPrefixText?: OTLoginPrefixText;
11
+ ctaText?: OTCtaText;
12
+ locale?: string;
13
+ buttonColor?: number;
14
+ buttonTextColor?: number;
15
+ }
16
+ export type OTScope = "profile" | "phone" | "open_id" | "offline_access" | "email" | "address";
17
+ export type OTFooterType = 'footer_type_skip' | 'footer_type_another_mobile_no' | 'footer_type_another_method' | 'footer_type_manually' | 'footer_type_later';
18
+ export type OTButtonShape = 'button_shape_rounded' | 'button_shape_rectangle';
19
+ export type OTVerifyOption = 'option_verify_only_tc_users' | 'option_verify_all_users';
20
+ export type OTHeadingConsent = 'sdk_consent_heading_log_in_to' | 'sdk_consent_heading_sign_up_with' | 'sdk_consent_heading_sign_in_to' | 'sdk_consent_heading_verify_number_with' | 'sdk_consent_heading_register_with' | 'sdk_consent_heading_get_started_with' | 'sdk_consent_heading_proceed_with' | 'sdk_consent_heading_verify_with' | 'sdk_consent_heading_verify_profile_with' | 'sdk_consent_heading_verify_your_profile_with' | 'sdk_consent_heading_verify_phone_no_with' | 'sdk_consent_heading_verify_your_no_with' | 'sdk_consent_heading_continue_with' | 'sdk_consent_heading_complete_order_with' | 'sdk_consent_heading_place_order_with' | 'sdk_consent_heading_complete_booking_with' | 'sdk_consent_heading_checkout_with' | 'sdk_consent_heading_manage_details_with' | 'sdk_consent_heading_manage_your_details_with' | 'sdk_consent_heading_login_to_with_one_tap' | 'sdk_consent_heading_subscribe_to' | 'sdk_consent_heading_get_updates_from' | 'sdk_consent_heading_continue_reading_on' | 'sdk_consent_heading_get_new_updates_from' | 'sdk_consent_heading_login_signup_with';
21
+ export type OTLoginPrefixText = 'login_text_prefix_to_get_started' | 'login_text_prefix_to_continue' | 'login_text_prefix_to_place_order' | 'login_text_prefix_to_complete_your_purchase' | 'login_text_prefix_to_checkout' | 'login_text_prefix_to_complete_your_booking' | 'login_text_prefix_to_proceed_with_your_booking' | 'login_text_prefix_to_continue_with_your_booking' | 'login_text_prefix_to_get_details' | 'login_text_prefix_to_view_more' | 'login_text_prefix_to_continue_reading' | 'login_text_prefix_to_proceed' | 'login_text_prefix_for_new_updates' | 'login_text_prefix_to_get_updates' | 'login_text_prefix_to_subscribe' | 'login_text_prefix_to_subscribe_and_get_updates';
22
+ export type OTCtaText = 'cta_text_proceed' | 'cta_text_continue' | 'cta_text_accept' | 'cta_text_confirm';
23
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.tsx"],"names":[],"mappings":"AACA,MAAM,WAAW,wBAAwB;IACrC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAGD,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/F,MAAM,MAAM,YAAY,GAClB,kBAAkB,GAClB,+BAA+B,GAC/B,4BAA4B,GAC5B,sBAAsB,GACtB,mBAAmB,CAAC;AAE1B,MAAM,MAAM,aAAa,GACnB,sBAAsB,GACtB,wBAAwB,CAAC;AAG/B,MAAM,MAAM,cAAc,GACpB,6BAA6B,GAC7B,yBAAyB,CAAC;AAGhC,MAAM,MAAM,gBAAgB,GACtB,+BAA+B,GAC/B,kCAAkC,GAClC,gCAAgC,GAChC,wCAAwC,GACxC,mCAAmC,GACnC,sCAAsC,GACtC,kCAAkC,GAClC,iCAAiC,GACjC,yCAAyC,GACzC,8CAA8C,GAC9C,0CAA0C,GAC1C,yCAAyC,GACzC,mCAAmC,GACnC,yCAAyC,GACzC,sCAAsC,GACtC,2CAA2C,GAC3C,mCAAmC,GACnC,yCAAyC,GACzC,8CAA8C,GAC9C,2CAA2C,GAC3C,kCAAkC,GAClC,sCAAsC,GACtC,yCAAyC,GACzC,0CAA0C,GAC1C,uCAAuC,CAAC;AAG9C,MAAM,MAAM,iBAAiB,GACvB,kCAAkC,GAClC,+BAA+B,GAC/B,kCAAkC,GAClC,6CAA6C,GAC7C,+BAA+B,GAC/B,4CAA4C,GAC5C,gDAAgD,GAChD,iDAAiD,GACjD,kCAAkC,GAClC,gCAAgC,GAChC,uCAAuC,GACvC,8BAA8B,GAC9B,mCAAmC,GACnC,kCAAkC,GAClC,gCAAgC,GAChC,gDAAgD,CAAC;AAGvD,MAAM,MAAM,SAAS,GACf,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,CAAC"}
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency 'OtplessBM/Core', '1.1.3'
20
+ s.dependency 'OtplessBM/Core', '1.1.6'
21
21
  s.swift_versions = ['5.5']
22
22
 
23
23
  # Don't install the dependencies when we run `pod install` in the old architecture.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "otpless-headless-rn",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "react native plugin for otpless headless android and ios",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -1,4 +1,6 @@
1
1
  import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
2
+ import type { OtplessTruecallerRequest } from './models';
3
+
2
4
 
3
5
 
4
6
  const LINKING_ERROR =
@@ -56,13 +58,12 @@ class OtplessHeadlessModule {
56
58
  }
57
59
 
58
60
  // Checks if whatsapp is installed on android device
59
- isWhatsappInstalled(callback: (hasWhatsapp: boolean) => void) {
61
+ async isWhatsappInstalledForAndroid(): Promise<boolean> {
60
62
  if (Platform.OS === 'android') {
61
- OtplessHeadlessRN.isWhatsappInstalled((result: any) => {
62
- const hasWhatsapp = result.hasWhatsapp === true;
63
- callback(hasWhatsapp);
64
- });
65
- return
63
+ // Android-specific code
64
+ return await OtplessHeadlessRN.isWhatsappInstalled()
65
+ } else {
66
+ return false
66
67
  }
67
68
  }
68
69
 
@@ -75,6 +76,20 @@ class OtplessHeadlessModule {
75
76
  OtplessHeadlessRN.decimateAll();
76
77
  }
77
78
  }
79
+
80
+ setDevLogging(enable: boolean) {
81
+ OtplessHeadlessRN.setDevLogging(enable)
82
+ }
83
+
84
+ async initTrueCaller(requestMap: OtplessTruecallerRequest): Promise<boolean> {
85
+ if (Platform.OS === 'android') {
86
+ return await OtplessHeadlessRN.initTrueCaller(requestMap);
87
+ }
88
+ return false;
89
+ }
90
+
78
91
  }
79
92
 
93
+
80
94
  export { OtplessHeadlessModule };
95
+ export * from './models'
package/src/models.tsx ADDED
@@ -0,0 +1,90 @@
1
+
2
+ export interface OtplessTruecallerRequest {
3
+ trueCallerRequest?: OtplessTruecallerConfig;
4
+ scope: Array<OTScope>;
5
+ }
6
+
7
+
8
+ export interface OtplessTruecallerConfig {
9
+ footerType?: OTFooterType;
10
+ shape?: OTButtonShape;
11
+ verifyOption?: OTVerifyOption;
12
+ heading?: OTHeadingConsent;
13
+ loginPrefixText?: OTLoginPrefixText;
14
+ ctaText?: OTCtaText;
15
+ locale?: string; // assuming this is a locale string like 'en-US'
16
+ buttonColor?: number; // assuming Int maps to a numeric type (e.g. hex color)
17
+ buttonTextColor?: number;
18
+ }
19
+
20
+ export type OTScope = "profile" | "phone" | "open_id" | "offline_access" | "email" | "address";
21
+
22
+ export type OTFooterType =
23
+ | 'footer_type_skip'
24
+ | 'footer_type_another_mobile_no'
25
+ | 'footer_type_another_method'
26
+ | 'footer_type_manually'
27
+ | 'footer_type_later';
28
+
29
+ export type OTButtonShape =
30
+ | 'button_shape_rounded'
31
+ | 'button_shape_rectangle';
32
+
33
+
34
+ export type OTVerifyOption =
35
+ | 'option_verify_only_tc_users'
36
+ | 'option_verify_all_users';
37
+
38
+
39
+ export type OTHeadingConsent =
40
+ | 'sdk_consent_heading_log_in_to'
41
+ | 'sdk_consent_heading_sign_up_with'
42
+ | 'sdk_consent_heading_sign_in_to'
43
+ | 'sdk_consent_heading_verify_number_with'
44
+ | 'sdk_consent_heading_register_with'
45
+ | 'sdk_consent_heading_get_started_with'
46
+ | 'sdk_consent_heading_proceed_with'
47
+ | 'sdk_consent_heading_verify_with'
48
+ | 'sdk_consent_heading_verify_profile_with'
49
+ | 'sdk_consent_heading_verify_your_profile_with'
50
+ | 'sdk_consent_heading_verify_phone_no_with'
51
+ | 'sdk_consent_heading_verify_your_no_with'
52
+ | 'sdk_consent_heading_continue_with'
53
+ | 'sdk_consent_heading_complete_order_with'
54
+ | 'sdk_consent_heading_place_order_with'
55
+ | 'sdk_consent_heading_complete_booking_with'
56
+ | 'sdk_consent_heading_checkout_with'
57
+ | 'sdk_consent_heading_manage_details_with'
58
+ | 'sdk_consent_heading_manage_your_details_with'
59
+ | 'sdk_consent_heading_login_to_with_one_tap'
60
+ | 'sdk_consent_heading_subscribe_to'
61
+ | 'sdk_consent_heading_get_updates_from'
62
+ | 'sdk_consent_heading_continue_reading_on'
63
+ | 'sdk_consent_heading_get_new_updates_from'
64
+ | 'sdk_consent_heading_login_signup_with';
65
+
66
+
67
+ export type OTLoginPrefixText =
68
+ | 'login_text_prefix_to_get_started'
69
+ | 'login_text_prefix_to_continue'
70
+ | 'login_text_prefix_to_place_order'
71
+ | 'login_text_prefix_to_complete_your_purchase'
72
+ | 'login_text_prefix_to_checkout'
73
+ | 'login_text_prefix_to_complete_your_booking'
74
+ | 'login_text_prefix_to_proceed_with_your_booking'
75
+ | 'login_text_prefix_to_continue_with_your_booking'
76
+ | 'login_text_prefix_to_get_details'
77
+ | 'login_text_prefix_to_view_more'
78
+ | 'login_text_prefix_to_continue_reading'
79
+ | 'login_text_prefix_to_proceed'
80
+ | 'login_text_prefix_for_new_updates'
81
+ | 'login_text_prefix_to_get_updates'
82
+ | 'login_text_prefix_to_subscribe'
83
+ | 'login_text_prefix_to_subscribe_and_get_updates';
84
+
85
+
86
+ export type OTCtaText =
87
+ | 'cta_text_proceed'
88
+ | 'cta_text_continue'
89
+ | 'cta_text_accept'
90
+ | 'cta_text_confirm';
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:">
6
- </FileRef>
7
- </Workspace>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>IDEDidComputeMac32BitWarning</key>
6
- <true/>
7
- </dict>
8
- </plist>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>SchemeUserState</key>
6
- <dict>
7
- <key>OtplessReactNative.xcscheme_^#shared#^_</key>
8
- <dict>
9
- <key>orderHint</key>
10
- <integer>0</integer>
11
- </dict>
12
- </dict>
13
- </dict>
14
- </plist>