otpless-headless-rn 1.0.5 → 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.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/otplessheadlessrn/OtplessReactNativeModule.kt +22 -6
- package/android/src/main/java/com/otplessheadlessrn/utils.kt +85 -0
- package/ios/OtplessHeadlessRN.m +4 -2
- package/ios/OtplessHeadlessRN.swift +7 -2
- package/lib/commonjs/index.js +34 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models.js +2 -0
- package/lib/commonjs/models.js.map +1 -0
- package/lib/module/index.js +20 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/models.js +2 -0
- package/lib/module/models.js.map +1 -0
- package/lib/typescript/index.d.ts +6 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models.d.ts +23 -0
- package/lib/typescript/models.d.ts.map +1 -0
- package/otpless-headless-rn.podspec +1 -1
- package/package.json +1 -1
- package/src/index.tsx +27 -6
- package/src/models.tsx +90 -0
- package/ios/OtplessHeadlessRN.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/OtplessHeadlessRN.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/OtplessHeadlessRN.xcodeproj/project.xcworkspace/xcuserdata/sparsh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/OtplessHeadlessRN.xcodeproj/xcuserdata/sparsh.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
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.
|
|
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(
|
|
64
|
+
fun isWhatsappInstalled(promise: Promise) {
|
|
63
65
|
val hasWhatsapp = OtplessUtils.isWhatsAppInstalled(reactContext)
|
|
64
|
-
|
|
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
|
+
}
|
package/ios/OtplessHeadlessRN.m
CHANGED
|
@@ -11,17 +11,19 @@ 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)
|
|
19
17
|
|
|
18
|
+
RCT_EXTERN_METHOD(decimateAll)
|
|
19
|
+
|
|
20
20
|
RCT_EXTERN_METHOD(setOneTapDataCallback)
|
|
21
21
|
|
|
22
22
|
RCT_EXTERN_METHOD(performOneTap: (NSDictionary *)request)
|
|
23
23
|
|
|
24
24
|
RCT_EXTERN_METHOD(authorizeViaPasskey: (NSDictionary *)request)
|
|
25
25
|
|
|
26
|
+
RCT_EXTERN_METHOD(setDevLogging:(BOOL)enable)
|
|
27
|
+
|
|
26
28
|
@end
|
|
27
29
|
|
|
@@ -78,8 +78,8 @@ class OtplessHeadlessRN: RCTEventEmitter, OtplessResponseDelegate {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
@objc(
|
|
82
|
-
func
|
|
81
|
+
@objc(setDevLogging:)
|
|
82
|
+
func setDevLogging(enable: Bool) {
|
|
83
83
|
if enable {
|
|
84
84
|
Otpless.shared.setLoggerDelegate(self)
|
|
85
85
|
}
|
|
@@ -140,6 +140,11 @@ class OtplessHeadlessRN: RCTEventEmitter, OtplessResponseDelegate {
|
|
|
140
140
|
currentTask?.cancel()
|
|
141
141
|
currentTask = nil
|
|
142
142
|
}
|
|
143
|
+
|
|
144
|
+
@objc(decimateAll)
|
|
145
|
+
func decimateAll() {
|
|
146
|
+
Otpless.shared.clearAll()
|
|
147
|
+
}
|
|
143
148
|
|
|
144
149
|
@MainActor @available(iOS 13.0, *)
|
|
145
150
|
private func getRootViewControllerFromWindowScene() -> UIViewController? {
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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,18 +59,31 @@ class OtplessHeadlessModule {
|
|
|
44
59
|
}
|
|
45
60
|
|
|
46
61
|
// Checks if whatsapp is installed on android device
|
|
47
|
-
|
|
62
|
+
async isWhatsappInstalledForAndroid() {
|
|
48
63
|
if (_reactNative.Platform.OS === 'android') {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return;
|
|
64
|
+
// Android-specific code
|
|
65
|
+
return await OtplessHeadlessRN.isWhatsappInstalled();
|
|
66
|
+
} else {
|
|
67
|
+
return false;
|
|
54
68
|
}
|
|
55
69
|
}
|
|
56
70
|
cleanup() {
|
|
57
71
|
OtplessHeadlessRN.cleanup();
|
|
58
72
|
}
|
|
73
|
+
decimateAll() {
|
|
74
|
+
if (_reactNative.Platform.OS.toLowerCase() === 'ios') {
|
|
75
|
+
OtplessHeadlessRN.decimateAll();
|
|
76
|
+
}
|
|
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
|
+
}
|
|
59
87
|
}
|
|
60
88
|
exports.OtplessHeadlessModule = OtplessHeadlessModule;
|
|
61
89
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OtplessHeadlessRN","NativeModules","Proxy","
|
|
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 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["models.tsx"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -38,18 +38,32 @@ class OtplessHeadlessModule {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// Checks if whatsapp is installed on android device
|
|
41
|
-
|
|
41
|
+
async isWhatsappInstalledForAndroid() {
|
|
42
42
|
if (Platform.OS === 'android') {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return;
|
|
43
|
+
// Android-specific code
|
|
44
|
+
return await OtplessHeadlessRN.isWhatsappInstalled();
|
|
45
|
+
} else {
|
|
46
|
+
return false;
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
cleanup() {
|
|
51
50
|
OtplessHeadlessRN.cleanup();
|
|
52
51
|
}
|
|
52
|
+
decimateAll() {
|
|
53
|
+
if (Platform.OS.toLowerCase() === 'ios') {
|
|
54
|
+
OtplessHeadlessRN.decimateAll();
|
|
55
|
+
}
|
|
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
|
+
}
|
|
53
66
|
}
|
|
54
67
|
export { OtplessHeadlessModule };
|
|
68
|
+
export * from './models';
|
|
55
69
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -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","
|
|
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 @@
|
|
|
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,8 +10,12 @@ declare class OtplessHeadlessModule {
|
|
|
9
10
|
setResponseCallback(callback: OtplessResultCallback): void;
|
|
10
11
|
start(input: any): void;
|
|
11
12
|
commitResponse(response: any): void;
|
|
12
|
-
|
|
13
|
+
isWhatsappInstalledForAndroid(): Promise<boolean>;
|
|
13
14
|
cleanup(): void;
|
|
15
|
+
decimateAll(): void;
|
|
16
|
+
setDevLogging(enable: boolean): void;
|
|
17
|
+
initTrueCaller(requestMap: OtplessTruecallerRequest): Promise<boolean>;
|
|
14
18
|
}
|
|
15
19
|
export { OtplessHeadlessModule };
|
|
20
|
+
export * from './models';
|
|
16
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"
|
|
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.
|
|
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
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,19 +58,38 @@ class OtplessHeadlessModule {
|
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
// Checks if whatsapp is installed on android device
|
|
59
|
-
|
|
61
|
+
async isWhatsappInstalledForAndroid(): Promise<boolean> {
|
|
60
62
|
if (Platform.OS === 'android') {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return
|
|
63
|
+
// Android-specific code
|
|
64
|
+
return await OtplessHeadlessRN.isWhatsappInstalled()
|
|
65
|
+
} else {
|
|
66
|
+
return false
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
cleanup() {
|
|
70
71
|
OtplessHeadlessRN.cleanup();
|
|
71
72
|
}
|
|
73
|
+
|
|
74
|
+
decimateAll() {
|
|
75
|
+
if (Platform.OS.toLowerCase() === 'ios') {
|
|
76
|
+
OtplessHeadlessRN.decimateAll();
|
|
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
|
+
|
|
72
91
|
}
|
|
73
92
|
|
|
93
|
+
|
|
74
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';
|
|
Binary file
|
|
@@ -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>
|