react-native-otp-auto-verify 0.2.0 → 0.2.1
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/README.md +467 -452
- package/android/build.gradle +1 -0
- package/android/src/main/java/com/otpautoverify/OtpAutoVerifyModule.kt +2 -7
- package/lib/module/NativeOtpAutoVerify.ts +37 -25
- package/lib/module/index.js +48 -17
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeOtpAutoVerify.d.ts +3 -3
- package/lib/typescript/src/NativeOtpAutoVerify.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +183 -175
- package/src/NativeOtpAutoVerify.ts +37 -25
- package/src/index.tsx +54 -24
package/android/build.gradle
CHANGED
|
@@ -83,12 +83,6 @@ class OtpAutoVerifyModule(reactContext: ReactApplicationContext) :
|
|
|
83
83
|
null,
|
|
84
84
|
android.content.Context.RECEIVER_EXPORTED
|
|
85
85
|
)
|
|
86
|
-
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
|
87
|
-
activity.registerReceiver(
|
|
88
|
-
smsReceiver,
|
|
89
|
-
filter,
|
|
90
|
-
android.content.Context.RECEIVER_EXPORTED
|
|
91
|
-
)
|
|
92
86
|
} else {
|
|
93
87
|
activity.registerReceiver(smsReceiver, filter)
|
|
94
88
|
}
|
|
@@ -137,7 +131,8 @@ class OtpAutoVerifyModule(reactContext: ReactApplicationContext) :
|
|
|
137
131
|
}
|
|
138
132
|
|
|
139
133
|
override fun onHostPause() {
|
|
140
|
-
|
|
134
|
+
// Keep the SMS receiver registered while paused so OTP can still arrive if the user
|
|
135
|
+
// briefly switches away (e.g. to read the SMS). Teardown happens in onHostDestroy / invalidate.
|
|
141
136
|
}
|
|
142
137
|
|
|
143
138
|
override fun onHostDestroy() {
|
|
@@ -1,25 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import {
|
|
2
|
+
NativeModules,
|
|
3
|
+
TurboModuleRegistry,
|
|
4
|
+
type TurboModule,
|
|
5
|
+
} from 'react-native';
|
|
6
|
+
|
|
7
|
+
export interface Spec extends TurboModule {
|
|
8
|
+
getConstants(): { OTP_RECEIVED_EVENT: string };
|
|
9
|
+
getHash(): Promise<ReadonlyArray<string>>;
|
|
10
|
+
startSmsRetriever(): Promise<boolean>;
|
|
11
|
+
addListener(eventName: string): void;
|
|
12
|
+
removeListeners(count: number): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function loadNativeModule(): Spec {
|
|
16
|
+
try {
|
|
17
|
+
return TurboModuleRegistry.getEnforcing<Spec>('OtpAutoVerify');
|
|
18
|
+
} catch {
|
|
19
|
+
const legacy = NativeModules.OtpAutoVerify;
|
|
20
|
+
if (!legacy) {
|
|
21
|
+
throw new Error(
|
|
22
|
+
'OtpAutoVerify native module is not available. Ensure the library is properly linked.'
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
return legacy as Spec;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
let cachedModule: Spec | null = null;
|
|
30
|
+
|
|
31
|
+
/** Resolves the native module on first use so importing this package does not throw before APIs run. */
|
|
32
|
+
export function getOtpNativeModule(): Spec {
|
|
33
|
+
if (cachedModule === null) {
|
|
34
|
+
cachedModule = loadNativeModule();
|
|
35
|
+
}
|
|
36
|
+
return cachedModule;
|
|
37
|
+
}
|
package/lib/module/index.js
CHANGED
|
@@ -2,18 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { NativeEventEmitter, Platform } from 'react-native';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import { getOtpNativeModule } from './NativeOtpAutoVerify';
|
|
6
|
+
|
|
7
|
+
/** Must match native `OTP_RECEIVED_EVENT` (Android/iOS). */
|
|
8
|
+
export const OTP_RECEIVED_EVENT = 'otpReceived';
|
|
8
9
|
export const TIMEOUT_MESSAGE = 'Timeout Error.';
|
|
9
10
|
const DEFAULT_DIGITS = 6;
|
|
10
11
|
const MIN_OTP_DIGITS = 4;
|
|
11
12
|
const MAX_OTP_DIGITS = 8;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
let androidEventEmitter;
|
|
14
|
+
function getAndroidEventEmitter() {
|
|
15
|
+
if (Platform.OS !== 'android') return null;
|
|
16
|
+
if (androidEventEmitter !== undefined) {
|
|
17
|
+
return androidEventEmitter;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
androidEventEmitter = new NativeEventEmitter(getOtpNativeModule());
|
|
21
|
+
return androidEventEmitter;
|
|
22
|
+
} catch {
|
|
23
|
+
androidEventEmitter = null;
|
|
24
|
+
return null;
|
|
15
25
|
}
|
|
16
|
-
|
|
26
|
+
}
|
|
27
|
+
function getOtpRegex(digits) {
|
|
28
|
+
const d = digits >= MIN_OTP_DIGITS && digits <= MAX_OTP_DIGITS ? digits : DEFAULT_DIGITS;
|
|
29
|
+
// Prefer non-`\b` boundaries so OTPs still match after ":" and similar (e.g. "OTP:123456").
|
|
30
|
+
return new RegExp(`(^|[^0-9])(\\d{${d}})(?!\\d)`);
|
|
17
31
|
}
|
|
18
32
|
/**
|
|
19
33
|
* Extracts a numeric OTP of 4–8 digits from SMS text.
|
|
@@ -24,13 +38,13 @@ export function extractOtp(sms, numberOfDigits = DEFAULT_DIGITS) {
|
|
|
24
38
|
if (!trimmed) return null;
|
|
25
39
|
const regex = getOtpRegex(numberOfDigits);
|
|
26
40
|
const match = trimmed.match(regex);
|
|
27
|
-
return match ? match[
|
|
41
|
+
return match ? match[2] : null;
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
/** Returns app hash strings for the current app. Android only; iOS returns []. */
|
|
31
45
|
export async function getHash() {
|
|
32
46
|
if (Platform.OS !== 'android') return [];
|
|
33
|
-
const arr = await
|
|
47
|
+
const arr = await getOtpNativeModule().getHash();
|
|
34
48
|
return Array.from(arr);
|
|
35
49
|
}
|
|
36
50
|
|
|
@@ -41,19 +55,32 @@ const NOOP_SUBSCRIPTION = {
|
|
|
41
55
|
|
|
42
56
|
/** Starts SMS Retriever and subscribes to OTP events. Returns subscription with remove(). On iOS, returns no-op (call remove() safely). */
|
|
43
57
|
export async function activateOtpListener(handler, options) {
|
|
44
|
-
if (Platform.OS !== 'android'
|
|
58
|
+
if (Platform.OS !== 'android') {
|
|
59
|
+
return NOOP_SUBSCRIPTION;
|
|
60
|
+
}
|
|
61
|
+
const emitter = getAndroidEventEmitter();
|
|
62
|
+
if (!emitter) {
|
|
45
63
|
return NOOP_SUBSCRIPTION;
|
|
46
64
|
}
|
|
47
65
|
const numberOfDigits = options?.numberOfDigits ?? DEFAULT_DIGITS;
|
|
48
|
-
const subscription =
|
|
66
|
+
const subscription = emitter.addListener(OTP_RECEIVED_EVENT, (...args) => {
|
|
49
67
|
const smsText = String(args[0] ?? '');
|
|
50
68
|
handler(smsText, extractOtp(smsText, numberOfDigits));
|
|
51
69
|
});
|
|
52
|
-
|
|
70
|
+
try {
|
|
71
|
+
await getOtpNativeModule().startSmsRetriever();
|
|
72
|
+
} catch (err) {
|
|
73
|
+
subscription.remove();
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
53
76
|
return {
|
|
54
77
|
remove: () => {
|
|
55
78
|
subscription.remove();
|
|
56
|
-
|
|
79
|
+
try {
|
|
80
|
+
getOtpNativeModule().removeListeners(0);
|
|
81
|
+
} catch {
|
|
82
|
+
// Native may be unavailable during teardown
|
|
83
|
+
}
|
|
57
84
|
}
|
|
58
85
|
};
|
|
59
86
|
}
|
|
@@ -63,8 +90,11 @@ export async function activateOtpListener(handler, options) {
|
|
|
63
90
|
* The native module ignores the count parameter and always unregisters the SMS receiver.
|
|
64
91
|
*/
|
|
65
92
|
export function removeListener() {
|
|
66
|
-
if (Platform.OS
|
|
67
|
-
|
|
93
|
+
if (Platform.OS !== 'android') return;
|
|
94
|
+
try {
|
|
95
|
+
getOtpNativeModule().removeListeners(0);
|
|
96
|
+
} catch {
|
|
97
|
+
// Native not linked or already torn down
|
|
68
98
|
}
|
|
69
99
|
}
|
|
70
100
|
|
|
@@ -99,7 +129,9 @@ export function useOtpVerification(options = {}) {
|
|
|
99
129
|
const hashes = await getHash();
|
|
100
130
|
setHashCode(hashes[0] ?? '');
|
|
101
131
|
} catch (err) {
|
|
102
|
-
|
|
132
|
+
const wrapped = err instanceof Error ? err : new Error(String(err));
|
|
133
|
+
setError(wrapped);
|
|
134
|
+
return;
|
|
103
135
|
}
|
|
104
136
|
const sub = await activateOtpListener((smsText, extractedOtp) => {
|
|
105
137
|
setSms(smsText);
|
|
@@ -134,5 +166,4 @@ export function useOtpVerification(options = {}) {
|
|
|
134
166
|
stopListening
|
|
135
167
|
}), [hashCode, otp, sms, timeoutError, error, startListening, stopListening]);
|
|
136
168
|
}
|
|
137
|
-
export { OTP_RECEIVED_EVENT };
|
|
138
169
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NativeEventEmitter","Platform","
|
|
1
|
+
{"version":3,"names":["React","NativeEventEmitter","Platform","getOtpNativeModule","OTP_RECEIVED_EVENT","TIMEOUT_MESSAGE","DEFAULT_DIGITS","MIN_OTP_DIGITS","MAX_OTP_DIGITS","androidEventEmitter","getAndroidEventEmitter","OS","undefined","getOtpRegex","digits","d","RegExp","extractOtp","sms","numberOfDigits","trimmed","trim","regex","match","getHash","arr","Array","from","NOOP_SUBSCRIPTION","remove","activateOtpListener","handler","options","emitter","subscription","addListener","args","smsText","String","startSmsRetriever","err","removeListeners","removeListener","useOtpVerification","hashCode","setHashCode","useState","otp","setOtp","setSms","timeoutError","setTimeoutError","error","setError","subscriptionRef","useRef","isStartingRef","stopListening","useCallback","current","startListening","hashes","wrapped","Error","sub","extractedOtp","cause","useEffect","useMemo"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type TurboModule } from 'react-native';
|
|
2
|
-
export interface
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
3
|
getConstants(): {
|
|
4
4
|
OTP_RECEIVED_EVENT: string;
|
|
5
5
|
};
|
|
@@ -8,6 +8,6 @@ export interface OtpAutoVerifySpec extends TurboModule {
|
|
|
8
8
|
addListener(eventName: string): void;
|
|
9
9
|
removeListeners(count: number): void;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
export
|
|
11
|
+
/** Resolves the native module on first use so importing this package does not throw before APIs run. */
|
|
12
|
+
export declare function getOtpNativeModule(): Spec;
|
|
13
13
|
//# sourceMappingURL=NativeOtpAutoVerify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeOtpAutoVerify.d.ts","sourceRoot":"","sources":["../../../src/NativeOtpAutoVerify.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NativeOtpAutoVerify.d.ts","sourceRoot":"","sources":["../../../src/NativeOtpAutoVerify.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,YAAY,IAAI;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAkBD,wGAAwG;AACxG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/** Must match native `OTP_RECEIVED_EVENT` (Android/iOS). */
|
|
2
|
+
export declare const OTP_RECEIVED_EVENT = "otpReceived";
|
|
2
3
|
export declare const TIMEOUT_MESSAGE = "Timeout Error.";
|
|
3
4
|
export type OtpDigits = 4 | 5 | 6 | 7 | 8;
|
|
4
5
|
export interface UseOtpVerificationOptions {
|
|
@@ -41,5 +42,4 @@ export declare function activateOtpListener(handler: (sms: string, extractedOtp?
|
|
|
41
42
|
export declare function removeListener(): void;
|
|
42
43
|
/** Hook for OTP verification. Call startListening() to begin; listener is stopped on unmount. */
|
|
43
44
|
export declare function useOtpVerification(options?: UseOtpVerificationOptions): UseOtpVerificationResult;
|
|
44
|
-
export { OTP_RECEIVED_EVENT };
|
|
45
45
|
//# 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":"AAIA,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAMhD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AA2B1C,MAAM,WAAW,yBAAyB;IACxC,gFAAgF;IAChF,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,mCAAmC;IACnC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB,oHAAoH;IACpH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,mEAAmE;IACnE,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,oDAAoD;IACpD,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,SAA0B,GACzC,MAAM,GAAG,IAAI,CAOf;AAED,kFAAkF;AAClF,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAIjD;AAOD,2IAA2I;AAC3I,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,EAC5D,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,SAAS,CAAA;CAAE,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAoClC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAOrC;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CA2E1B"}
|