otpless-headless-rn 1.0.0 → 1.0.2
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 +37 -7
- package/ios/OtplessHeadlessRN.swift +0 -9
- package/lib/commonjs/index.js +5 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +5 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/otpless-headless-rn.podspec +1 -1
- package/package.json +1 -2
- package/src/index.tsx +5 -5
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.1.
|
|
77
|
+
implementation ("io.github.otpless-tech:otpless-headless-sdk:0.1.5")
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
if (isNewArchitectureEnabled()) {
|
|
@@ -2,6 +2,8 @@ package com.otplessheadlessrn
|
|
|
2
2
|
|
|
3
3
|
import android.app.Activity
|
|
4
4
|
import android.content.Intent
|
|
5
|
+
import androidx.appcompat.app.AppCompatActivity
|
|
6
|
+
import androidx.lifecycle.lifecycleScope
|
|
5
7
|
import com.facebook.react.bridge.ActivityEventListener
|
|
6
8
|
import com.facebook.react.bridge.Callback
|
|
7
9
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
@@ -13,22 +15,25 @@ import com.otpless.v2.android.sdk.dto.OtplessChannelType
|
|
|
13
15
|
import com.otpless.v2.android.sdk.dto.OtplessRequest
|
|
14
16
|
import com.otpless.v2.android.sdk.dto.OtplessResponse
|
|
15
17
|
import com.otpless.v2.android.sdk.dto.ResponseTypes
|
|
16
|
-
import com.otpless.v2.android.sdk.main.OtplessPhoneHint
|
|
17
18
|
import com.otpless.v2.android.sdk.main.OtplessSDK
|
|
18
19
|
import com.otpless.v2.android.sdk.utils.OtplessUtils
|
|
20
|
+
import kotlinx.coroutines.CoroutineScope
|
|
21
|
+
import kotlinx.coroutines.Dispatchers
|
|
22
|
+
import kotlinx.coroutines.Job
|
|
23
|
+
import kotlinx.coroutines.launch
|
|
19
24
|
import org.json.JSONException
|
|
20
25
|
import org.json.JSONObject
|
|
21
26
|
|
|
22
27
|
class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext) :
|
|
23
28
|
ReactContextBaseJavaModule(reactContext), ActivityEventListener {
|
|
24
29
|
|
|
30
|
+
private var otplessJob: Job? = null
|
|
31
|
+
|
|
25
32
|
init {
|
|
26
33
|
OtplessHeadlessRNManager.registerOtplessModule(this)
|
|
27
34
|
reactContext.addActivityEventListener(this)
|
|
28
35
|
}
|
|
29
36
|
|
|
30
|
-
private val phoneHintApi by lazy { OtplessPhoneHint() }
|
|
31
|
-
|
|
32
37
|
override fun getName(): String {
|
|
33
38
|
return NAME
|
|
34
39
|
}
|
|
@@ -79,12 +84,15 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
|
|
|
79
84
|
fun start(data: ReadableMap) {
|
|
80
85
|
val otplessRequest = OtplessRequest()
|
|
81
86
|
val phone = data.getString("phone") ?: ""
|
|
87
|
+
var isOtpPresent = false
|
|
88
|
+
|
|
82
89
|
// phone number authentication
|
|
83
90
|
if (phone.isNotEmpty()) {
|
|
84
91
|
val countryCode = data.getString("countryCode") ?: ""
|
|
85
92
|
otplessRequest.setPhoneNumber(number = phone, countryCode = countryCode)
|
|
86
93
|
data.getString("otp")?.let {
|
|
87
94
|
otplessRequest.setOtp(it)
|
|
95
|
+
isOtpPresent = true
|
|
88
96
|
}
|
|
89
97
|
} else {
|
|
90
98
|
// email authentication
|
|
@@ -93,10 +101,15 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
|
|
|
93
101
|
otplessRequest.setEmail(email)
|
|
94
102
|
data.getString("otp")?.let {
|
|
95
103
|
otplessRequest.setOtp(it)
|
|
104
|
+
isOtpPresent = true
|
|
96
105
|
}
|
|
97
106
|
} else {
|
|
98
107
|
// oauth case
|
|
99
|
-
otplessRequest.setChannelType(
|
|
108
|
+
otplessRequest.setChannelType(
|
|
109
|
+
OtplessChannelType.fromString(
|
|
110
|
+
data.getString("channelType") ?: ""
|
|
111
|
+
)
|
|
112
|
+
)
|
|
100
113
|
}
|
|
101
114
|
}
|
|
102
115
|
data.getString("expiry")?.takeIf { it.isNotBlank() }?.let {
|
|
@@ -115,7 +128,18 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
|
|
|
115
128
|
otplessRequest.setTemplateId(templateId)
|
|
116
129
|
}
|
|
117
130
|
|
|
118
|
-
|
|
131
|
+
if (isOtpPresent) {
|
|
132
|
+
OtplessSDK.startAsync(request = otplessRequest, this@OtplessHeadlessRNModule::sendHeadlessEventCallback)
|
|
133
|
+
} else {
|
|
134
|
+
otplessJob?.cancel()
|
|
135
|
+
currentActivity?.let {
|
|
136
|
+
otplessJob = (it as AppCompatActivity).lifecycleScope.launch {
|
|
137
|
+
OtplessSDK.start(request = otplessRequest, this@OtplessHeadlessRNModule::sendHeadlessEventCallback)
|
|
138
|
+
}
|
|
139
|
+
} ?: run {
|
|
140
|
+
OtplessSDK.startAsync(request = otplessRequest, this@OtplessHeadlessRNModule::sendHeadlessEventCallback)
|
|
141
|
+
}
|
|
142
|
+
}
|
|
119
143
|
}
|
|
120
144
|
|
|
121
145
|
@ReactMethod
|
|
@@ -125,6 +149,7 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
|
|
|
125
149
|
|
|
126
150
|
@ReactMethod
|
|
127
151
|
fun cleanup() {
|
|
152
|
+
otplessJob?.cancel()
|
|
128
153
|
OtplessSDK.cleanup()
|
|
129
154
|
}
|
|
130
155
|
|
|
@@ -151,14 +176,19 @@ class OtplessHeadlessRNModule(private val reactContext: ReactApplicationContext)
|
|
|
151
176
|
val dataMap = data?.toHashMap() ?: return
|
|
152
177
|
val jsonResponse = JSONObject(dataMap)
|
|
153
178
|
val otplessResponse = OtplessResponse(
|
|
154
|
-
responseType = getResponseType(
|
|
179
|
+
responseType = getResponseType(
|
|
180
|
+
responseTypeString = jsonResponse.optString(
|
|
181
|
+
"responseType",
|
|
182
|
+
""
|
|
183
|
+
)
|
|
184
|
+
),
|
|
155
185
|
jsonResponse.optJSONObject("response"),
|
|
156
186
|
jsonResponse.optInt("statusCode", 0),
|
|
157
187
|
)
|
|
158
188
|
OtplessSDK.commit(otplessResponse)
|
|
159
189
|
}
|
|
160
190
|
|
|
161
|
-
private fun getResponseType(responseTypeString: String)
|
|
191
|
+
private fun getResponseType(responseTypeString: String): ResponseTypes {
|
|
162
192
|
return ResponseTypes.valueOf(responseTypeString)
|
|
163
193
|
}
|
|
164
194
|
}
|
|
@@ -89,7 +89,6 @@ class OtplessHeadlessRN: RCTEventEmitter, OtplessResponseDelegate {
|
|
|
89
89
|
return ["OTPlessEventResult"]
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
@MainActor
|
|
93
92
|
@objc(initialize:loginUri:)
|
|
94
93
|
func initialize(appId: String, loginUri: String?) {
|
|
95
94
|
DispatchQueue.main.async {
|
|
@@ -169,14 +168,6 @@ class OtplessHeadlessRN: RCTEventEmitter, OtplessResponseDelegate {
|
|
|
169
168
|
}
|
|
170
169
|
return windowScene
|
|
171
170
|
}
|
|
172
|
-
|
|
173
|
-
@objc(performOneTap:)
|
|
174
|
-
func performOneTap(request: [String: Any]) {
|
|
175
|
-
let oneTapIdentity = OneTapIdentity(name: request["name"] as? String, identity: request["identity"] as? String ?? "", uiId: request["uiId"] as? String ?? "", logo: request["logo"] as? String)
|
|
176
|
-
Task(priority: .userInitiated) {
|
|
177
|
-
await Otpless.shared.performOneTap(forIdentity: oneTapIdentity)
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
171
|
}
|
|
181
172
|
|
|
182
173
|
extension OtplessHeadlessRN: OtplessLoggerDelegate {
|
package/lib/commonjs/index.js
CHANGED
|
@@ -31,7 +31,8 @@ class OtplessHeadlessModule {
|
|
|
31
31
|
OtplessHeadlessRN.initialize(appId, loginUri);
|
|
32
32
|
}
|
|
33
33
|
setResponseCallback(callback) {
|
|
34
|
-
|
|
34
|
+
var _this$eventEmitter2;
|
|
35
|
+
(_this$eventEmitter2 = this.eventEmitter) === null || _this$eventEmitter2 === void 0 || _this$eventEmitter2.addListener('OTPlessEventResult', callback);
|
|
35
36
|
// call the native method
|
|
36
37
|
OtplessHeadlessRN.setResponseCallback();
|
|
37
38
|
}
|
|
@@ -41,9 +42,6 @@ class OtplessHeadlessModule {
|
|
|
41
42
|
commitResponse(response) {
|
|
42
43
|
OtplessHeadlessRN.commitResponse(response);
|
|
43
44
|
}
|
|
44
|
-
performOneTap(data) {
|
|
45
|
-
OtplessHeadlessRN.performOneTap(data);
|
|
46
|
-
}
|
|
47
45
|
|
|
48
46
|
// Checks if whatsapp is installed on android device
|
|
49
47
|
isWhatsappInstalled(callback) {
|
|
@@ -55,6 +53,9 @@ class OtplessHeadlessModule {
|
|
|
55
53
|
return;
|
|
56
54
|
}
|
|
57
55
|
}
|
|
56
|
+
cleanup() {
|
|
57
|
+
OtplessHeadlessRN.cleanup();
|
|
58
|
+
}
|
|
58
59
|
}
|
|
59
60
|
exports.OtplessHeadlessModule = OtplessHeadlessModule;
|
|
60
61
|
//# 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","addListener","start","input","commitResponse","response","
|
|
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","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;AACF;AAACC,OAAA,CAAAvB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -25,7 +25,8 @@ class OtplessHeadlessModule {
|
|
|
25
25
|
OtplessHeadlessRN.initialize(appId, loginUri);
|
|
26
26
|
}
|
|
27
27
|
setResponseCallback(callback) {
|
|
28
|
-
|
|
28
|
+
var _this$eventEmitter2;
|
|
29
|
+
(_this$eventEmitter2 = this.eventEmitter) === null || _this$eventEmitter2 === void 0 || _this$eventEmitter2.addListener('OTPlessEventResult', callback);
|
|
29
30
|
// call the native method
|
|
30
31
|
OtplessHeadlessRN.setResponseCallback();
|
|
31
32
|
}
|
|
@@ -35,9 +36,6 @@ class OtplessHeadlessModule {
|
|
|
35
36
|
commitResponse(response) {
|
|
36
37
|
OtplessHeadlessRN.commitResponse(response);
|
|
37
38
|
}
|
|
38
|
-
performOneTap(data) {
|
|
39
|
-
OtplessHeadlessRN.performOneTap(data);
|
|
40
|
-
}
|
|
41
39
|
|
|
42
40
|
// Checks if whatsapp is installed on android device
|
|
43
41
|
isWhatsappInstalled(callback) {
|
|
@@ -49,6 +47,9 @@ class OtplessHeadlessModule {
|
|
|
49
47
|
return;
|
|
50
48
|
}
|
|
51
49
|
}
|
|
50
|
+
cleanup() {
|
|
51
|
+
OtplessHeadlessRN.cleanup();
|
|
52
|
+
}
|
|
52
53
|
}
|
|
53
54
|
export { OtplessHeadlessModule };
|
|
54
55
|
//# 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","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","isWhatsappInstalled","OS","result","hasWhatsapp","cleanup"],"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;AACF;AAEA,SAASrB,qBAAqB","ignoreList":[]}
|
|
@@ -9,8 +9,8 @@ declare class OtplessHeadlessModule {
|
|
|
9
9
|
setResponseCallback(callback: OtplessResultCallback): void;
|
|
10
10
|
start(input: any): void;
|
|
11
11
|
commitResponse(response: any): void;
|
|
12
|
-
performOneTap(data: any): void;
|
|
13
12
|
isWhatsappInstalled(callback: (hasWhatsapp: boolean) => void): void;
|
|
13
|
+
cleanup(): void;
|
|
14
14
|
}
|
|
15
15
|
export { OtplessHeadlessModule };
|
|
16
16
|
//# 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;
|
|
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;CAGR;AAED,OAAO,EAAE,qBAAqB,EAAE,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.0.
|
|
20
|
+
s.dependency 'OtplessBM/Core', '1.0.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.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "react native plugin for otpless headless android and ios",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -159,7 +159,6 @@
|
|
|
159
159
|
]
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
|
-
"react-native-debug": "^3.0.0",
|
|
163
162
|
"ts-lint": "^4.5.1"
|
|
164
163
|
}
|
|
165
164
|
}
|
package/src/index.tsx
CHANGED
|
@@ -42,7 +42,7 @@ class OtplessHeadlessModule {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
setResponseCallback(callback: OtplessResultCallback) {
|
|
45
|
-
this.eventEmitter
|
|
45
|
+
this.eventEmitter?.addListener('OTPlessEventResult', callback);
|
|
46
46
|
// call the native method
|
|
47
47
|
OtplessHeadlessRN.setResponseCallback()
|
|
48
48
|
}
|
|
@@ -55,10 +55,6 @@ class OtplessHeadlessModule {
|
|
|
55
55
|
OtplessHeadlessRN.commitResponse(response);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
performOneTap(data: any) {
|
|
59
|
-
OtplessHeadlessRN.performOneTap(data);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
58
|
// Checks if whatsapp is installed on android device
|
|
63
59
|
isWhatsappInstalled(callback: (hasWhatsapp: boolean) => void) {
|
|
64
60
|
if (Platform.OS === 'android') {
|
|
@@ -69,6 +65,10 @@ class OtplessHeadlessModule {
|
|
|
69
65
|
return
|
|
70
66
|
}
|
|
71
67
|
}
|
|
68
|
+
|
|
69
|
+
cleanup() {
|
|
70
|
+
OtplessHeadlessRN.cleanup();
|
|
71
|
+
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export { OtplessHeadlessModule };
|