otpless-headless-rn 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,283 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 5E555C0D2413F4C50049A1A2 /* OtplessHeadlessRN.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* OtplessHeadlessRN.m */; };
11
+ F4FF95D7245B92E800C19C63 /* OtplessHeadlessRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* OtplessHeadlessRN.swift */; };
12
+ /* End PBXBuildFile section */
13
+
14
+ /* Begin PBXCopyFilesBuildPhase section */
15
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
16
+ isa = PBXCopyFilesBuildPhase;
17
+ buildActionMask = 2147483647;
18
+ dstPath = "include/$(PRODUCT_NAME)";
19
+ dstSubfolderSpec = 16;
20
+ files = (
21
+ );
22
+ runOnlyForDeploymentPostprocessing = 0;
23
+ };
24
+ /* End PBXCopyFilesBuildPhase section */
25
+
26
+ /* Begin PBXFileReference section */
27
+ 134814201AA4EA6300B7C361 /* libOtplessHeadlessRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libOtplessHeadlessRN.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
+ B3E7B5891CC2AC0600A0062D /* OtplessHeadlessRN.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OtplessHeadlessRN.m; sourceTree = "<group>"; };
29
+ F4FF95D5245B92E700C19C63 /* OtplessHeadlessRN-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OtplessHeadlessRN-Bridging-Header.h"; sourceTree = "<group>"; };
30
+ F4FF95D6245B92E800C19C63 /* OtplessHeadlessRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtplessHeadlessRN.swift; sourceTree = "<group>"; };
31
+ /* End PBXFileReference section */
32
+
33
+ /* Begin PBXFrameworksBuildPhase section */
34
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
35
+ isa = PBXFrameworksBuildPhase;
36
+ buildActionMask = 2147483647;
37
+ files = (
38
+ );
39
+ runOnlyForDeploymentPostprocessing = 0;
40
+ };
41
+ /* End PBXFrameworksBuildPhase section */
42
+
43
+ /* Begin PBXGroup section */
44
+ 134814211AA4EA7D00B7C361 /* Products */ = {
45
+ isa = PBXGroup;
46
+ children = (
47
+ 134814201AA4EA6300B7C361 /* libOtplessHeadlessRN.a */,
48
+ );
49
+ name = Products;
50
+ sourceTree = "<group>";
51
+ };
52
+ 58B511D21A9E6C8500147676 = {
53
+ isa = PBXGroup;
54
+ children = (
55
+ F4FF95D6245B92E800C19C63 /* OtplessHeadlessRN.swift */,
56
+ B3E7B5891CC2AC0600A0062D /* OtplessHeadlessRN.m */,
57
+ F4FF95D5245B92E700C19C63 /* OtplessHeadlessRN-Bridging-Header.h */,
58
+ 134814211AA4EA7D00B7C361 /* Products */,
59
+ );
60
+ sourceTree = "<group>";
61
+ };
62
+ /* End PBXGroup section */
63
+
64
+ /* Begin PBXNativeTarget section */
65
+ 58B511DA1A9E6C8500147676 /* OtplessHeadlessRN */ = {
66
+ isa = PBXNativeTarget;
67
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "OtplessHeadlessRN" */;
68
+ buildPhases = (
69
+ 58B511D71A9E6C8500147676 /* Sources */,
70
+ 58B511D81A9E6C8500147676 /* Frameworks */,
71
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
72
+ );
73
+ buildRules = (
74
+ );
75
+ dependencies = (
76
+ );
77
+ name = OtplessHeadlessRN;
78
+ productName = RCTDataManager;
79
+ productReference = 134814201AA4EA6300B7C361 /* libOtplessHeadlessRN.a */;
80
+ productType = "com.apple.product-type.library.static";
81
+ };
82
+ /* End PBXNativeTarget section */
83
+
84
+ /* Begin PBXProject section */
85
+ 58B511D31A9E6C8500147676 /* Project object */ = {
86
+ isa = PBXProject;
87
+ attributes = {
88
+ LastUpgradeCheck = 0920;
89
+ ORGANIZATIONNAME = Facebook;
90
+ TargetAttributes = {
91
+ 58B511DA1A9E6C8500147676 = {
92
+ CreatedOnToolsVersion = 6.1.1;
93
+ };
94
+ };
95
+ };
96
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "OtplessHeadlessRN" */;
97
+ compatibilityVersion = "Xcode 3.2";
98
+ developmentRegion = English;
99
+ hasScannedForEncodings = 0;
100
+ knownRegions = (
101
+ English,
102
+ en,
103
+ );
104
+ mainGroup = 58B511D21A9E6C8500147676;
105
+ productRefGroup = 58B511D21A9E6C8500147676;
106
+ projectDirPath = "";
107
+ projectRoot = "";
108
+ targets = (
109
+ 58B511DA1A9E6C8500147676 /* OtplessHeadlessRN */,
110
+ );
111
+ };
112
+ /* End PBXProject section */
113
+
114
+ /* Begin PBXSourcesBuildPhase section */
115
+ 58B511D71A9E6C8500147676 /* Sources */ = {
116
+ isa = PBXSourcesBuildPhase;
117
+ buildActionMask = 2147483647;
118
+ files = (
119
+ F4FF95D7245B92E800C19C63 /* OtplessHeadlessRN.swift in Sources */,
120
+ B3E7B58A1CC2AC0600A0062D /* OtplessHeadlessRN.m in Sources */,
121
+ );
122
+ runOnlyForDeploymentPostprocessing = 0;
123
+ };
124
+ /* End PBXSourcesBuildPhase section */
125
+
126
+ /* Begin XCBuildConfiguration section */
127
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
128
+ isa = XCBuildConfiguration;
129
+ buildSettings = {
130
+ ALWAYS_SEARCH_USER_PATHS = NO;
131
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
132
+ CLANG_CXX_LIBRARY = "libc++";
133
+ CLANG_ENABLE_MODULES = YES;
134
+ CLANG_ENABLE_OBJC_ARC = YES;
135
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
136
+ CLANG_WARN_BOOL_CONVERSION = YES;
137
+ CLANG_WARN_COMMA = YES;
138
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
139
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
140
+ CLANG_WARN_EMPTY_BODY = YES;
141
+ CLANG_WARN_ENUM_CONVERSION = YES;
142
+ CLANG_WARN_INFINITE_RECURSION = YES;
143
+ CLANG_WARN_INT_CONVERSION = YES;
144
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
145
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
146
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
147
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
148
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
149
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
150
+ CLANG_WARN_UNREACHABLE_CODE = YES;
151
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
152
+ COPY_PHASE_STRIP = NO;
153
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
154
+ ENABLE_TESTABILITY = YES;
155
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
156
+ GCC_C_LANGUAGE_STANDARD = gnu99;
157
+ GCC_DYNAMIC_NO_PIC = NO;
158
+ GCC_NO_COMMON_BLOCKS = YES;
159
+ GCC_OPTIMIZATION_LEVEL = 0;
160
+ GCC_PREPROCESSOR_DEFINITIONS = (
161
+ "DEBUG=1",
162
+ "$(inherited)",
163
+ );
164
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
165
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
166
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
167
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
168
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
169
+ GCC_WARN_UNUSED_FUNCTION = YES;
170
+ GCC_WARN_UNUSED_VARIABLE = YES;
171
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
172
+ MTL_ENABLE_DEBUG_INFO = YES;
173
+ ONLY_ACTIVE_ARCH = YES;
174
+ SDKROOT = iphoneos;
175
+ };
176
+ name = Debug;
177
+ };
178
+ 58B511EE1A9E6C8500147676 /* Release */ = {
179
+ isa = XCBuildConfiguration;
180
+ buildSettings = {
181
+ ALWAYS_SEARCH_USER_PATHS = NO;
182
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
183
+ CLANG_CXX_LIBRARY = "libc++";
184
+ CLANG_ENABLE_MODULES = YES;
185
+ CLANG_ENABLE_OBJC_ARC = YES;
186
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
187
+ CLANG_WARN_BOOL_CONVERSION = YES;
188
+ CLANG_WARN_COMMA = YES;
189
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
190
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
191
+ CLANG_WARN_EMPTY_BODY = YES;
192
+ CLANG_WARN_ENUM_CONVERSION = YES;
193
+ CLANG_WARN_INFINITE_RECURSION = YES;
194
+ CLANG_WARN_INT_CONVERSION = YES;
195
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
196
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
197
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
198
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
199
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
200
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
201
+ CLANG_WARN_UNREACHABLE_CODE = YES;
202
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
203
+ COPY_PHASE_STRIP = YES;
204
+ ENABLE_NS_ASSERTIONS = NO;
205
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
206
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
207
+ GCC_C_LANGUAGE_STANDARD = gnu99;
208
+ GCC_NO_COMMON_BLOCKS = YES;
209
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
210
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
211
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
212
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
213
+ GCC_WARN_UNUSED_FUNCTION = YES;
214
+ GCC_WARN_UNUSED_VARIABLE = YES;
215
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
216
+ MTL_ENABLE_DEBUG_INFO = NO;
217
+ SDKROOT = iphoneos;
218
+ VALIDATE_PRODUCT = YES;
219
+ };
220
+ name = Release;
221
+ };
222
+ 58B511F01A9E6C8500147676 /* Debug */ = {
223
+ isa = XCBuildConfiguration;
224
+ buildSettings = {
225
+ HEADER_SEARCH_PATHS = (
226
+ "$(inherited)",
227
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
228
+ "$(SRCROOT)/../../../React/**",
229
+ "$(SRCROOT)/../../react-native/React/**",
230
+ );
231
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
232
+ OTHER_LDFLAGS = "-ObjC";
233
+ PRODUCT_NAME = OtplessHeadlessRN;
234
+ SKIP_INSTALL = YES;
235
+ SWIFT_OBJC_BRIDGING_HEADER = "OtplessHeadlessRN-Bridging-Header.h";
236
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
237
+ SWIFT_VERSION = 5.0;
238
+ };
239
+ name = Debug;
240
+ };
241
+ 58B511F11A9E6C8500147676 /* Release */ = {
242
+ isa = XCBuildConfiguration;
243
+ buildSettings = {
244
+ HEADER_SEARCH_PATHS = (
245
+ "$(inherited)",
246
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
247
+ "$(SRCROOT)/../../../React/**",
248
+ "$(SRCROOT)/../../react-native/React/**",
249
+ );
250
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
251
+ OTHER_LDFLAGS = "-ObjC";
252
+ PRODUCT_NAME = OtplessHeadlessRN;
253
+ SKIP_INSTALL = YES;
254
+ SWIFT_OBJC_BRIDGING_HEADER = "OtplessHeadlessRN-Bridging-Header.h";
255
+ SWIFT_VERSION = 5.0;
256
+ };
257
+ name = Release;
258
+ };
259
+ /* End XCBuildConfiguration section */
260
+
261
+ /* Begin XCConfigurationList section */
262
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "OtplessHeadlessRN" */ = {
263
+ isa = XCConfigurationList;
264
+ buildConfigurations = (
265
+ 58B511ED1A9E6C8500147676 /* Debug */,
266
+ 58B511EE1A9E6C8500147676 /* Release */,
267
+ );
268
+ defaultConfigurationIsVisible = 0;
269
+ defaultConfigurationName = Release;
270
+ };
271
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "OtplessHeadlessRN" */ = {
272
+ isa = XCConfigurationList;
273
+ buildConfigurations = (
274
+ 58B511F01A9E6C8500147676 /* Debug */,
275
+ 58B511F11A9E6C8500147676 /* Release */,
276
+ );
277
+ defaultConfigurationIsVisible = 0;
278
+ defaultConfigurationName = Release;
279
+ };
280
+ /* End XCConfigurationList section */
281
+ };
282
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
283
+ }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
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>
@@ -0,0 +1,14 @@
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>
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OtplessHeadlessModule = void 0;
7
+ var _reactNative = require("react-native");
8
+ const LINKING_ERROR = `The package 'otpless-headless-rn' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
+ ios: "- You have run 'pod install'\n",
10
+ default: ''
11
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
12
+ const OtplessHeadlessRN = _reactNative.NativeModules.OtplessHeadlessRN ? _reactNative.NativeModules.OtplessHeadlessRN : new Proxy({}, {
13
+ get() {
14
+ throw new Error(LINKING_ERROR);
15
+ }
16
+ });
17
+ class OtplessHeadlessModule {
18
+ eventEmitter = null;
19
+ constructor() {
20
+ this.eventEmitter = null;
21
+ }
22
+ clearListener() {
23
+ var _this$eventEmitter;
24
+ (_this$eventEmitter = this.eventEmitter) === null || _this$eventEmitter === void 0 || _this$eventEmitter.removeAllListeners('OTPlessEventResult');
25
+ }
26
+ initialize(appId, loginUri = null) {
27
+ if (this.eventEmitter == null) {
28
+ this.eventEmitter = new _reactNative.NativeEventEmitter(OtplessHeadlessRN);
29
+ }
30
+ // call the native method
31
+ OtplessHeadlessRN.initialize(appId, loginUri);
32
+ }
33
+ setResponseCallback(callback) {
34
+ this.eventEmitter.addListener('OTPlessEventResult', callback);
35
+ // call the native method
36
+ OtplessHeadlessRN.setResponseCallback();
37
+ }
38
+ start(input) {
39
+ OtplessHeadlessRN.start(input);
40
+ }
41
+ commitResponse(response) {
42
+ OtplessHeadlessRN.commitResponse(response);
43
+ }
44
+ performOneTap(data) {
45
+ OtplessHeadlessRN.performOneTap(data);
46
+ }
47
+
48
+ // Checks if whatsapp is installed on android device
49
+ isWhatsappInstalled(callback) {
50
+ if (_reactNative.Platform.OS === 'android') {
51
+ OtplessHeadlessRN.isWhatsappInstalled(result => {
52
+ const hasWhatsapp = result.hasWhatsapp === true;
53
+ callback(hasWhatsapp);
54
+ });
55
+ return;
56
+ }
57
+ }
58
+ }
59
+ exports.OtplessHeadlessModule = OtplessHeadlessModule;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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","performOneTap","data","isWhatsappInstalled","OS","result","hasWhatsapp","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;IACnD,IAAI,CAACV,YAAY,CAAGW,WAAW,CAAC,oBAAoB,EAAED,QAAQ,CAAC;IAC/D;IACAhB,iBAAiB,CAACe,mBAAmB,CAAC,CAAC;EACzC;EAEAG,KAAKA,CAACC,KAAU,EAAE;IAChBnB,iBAAiB,CAACkB,KAAK,CAACC,KAAK,CAAC;EAChC;EAEAC,cAAcA,CAACC,QAAa,EAAE;IAC5BrB,iBAAiB,CAACoB,cAAc,CAACC,QAAQ,CAAC;EAC5C;EAEAC,aAAaA,CAACC,IAAS,EAAE;IACvBvB,iBAAiB,CAACsB,aAAa,CAACC,IAAI,CAAC;EACvC;;EAEA;EACAC,mBAAmBA,CAACR,QAAwC,EAAE;IAC5D,IAAIpB,qBAAQ,CAAC6B,EAAE,KAAK,SAAS,EAAE;MAC7BzB,iBAAiB,CAACwB,mBAAmB,CAAEE,MAAW,IAAK;QACrD,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,KAAK,IAAI;QAC/CX,QAAQ,CAACW,WAAW,CAAC;MACvB,CAAC,CAAC;MACF;IACF;EACF;AACF;AAACC,OAAA,CAAAvB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
2
+ const LINKING_ERROR = `The package 'otpless-headless-rn' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
3
+ ios: "- You have run 'pod install'\n",
4
+ default: ''
5
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
6
+ const OtplessHeadlessRN = NativeModules.OtplessHeadlessRN ? NativeModules.OtplessHeadlessRN : new Proxy({}, {
7
+ get() {
8
+ throw new Error(LINKING_ERROR);
9
+ }
10
+ });
11
+ class OtplessHeadlessModule {
12
+ eventEmitter = null;
13
+ constructor() {
14
+ this.eventEmitter = null;
15
+ }
16
+ clearListener() {
17
+ var _this$eventEmitter;
18
+ (_this$eventEmitter = this.eventEmitter) === null || _this$eventEmitter === void 0 || _this$eventEmitter.removeAllListeners('OTPlessEventResult');
19
+ }
20
+ initialize(appId, loginUri = null) {
21
+ if (this.eventEmitter == null) {
22
+ this.eventEmitter = new NativeEventEmitter(OtplessHeadlessRN);
23
+ }
24
+ // call the native method
25
+ OtplessHeadlessRN.initialize(appId, loginUri);
26
+ }
27
+ setResponseCallback(callback) {
28
+ this.eventEmitter.addListener('OTPlessEventResult', callback);
29
+ // call the native method
30
+ OtplessHeadlessRN.setResponseCallback();
31
+ }
32
+ start(input) {
33
+ OtplessHeadlessRN.start(input);
34
+ }
35
+ commitResponse(response) {
36
+ OtplessHeadlessRN.commitResponse(response);
37
+ }
38
+ performOneTap(data) {
39
+ OtplessHeadlessRN.performOneTap(data);
40
+ }
41
+
42
+ // Checks if whatsapp is installed on android device
43
+ isWhatsappInstalled(callback) {
44
+ if (Platform.OS === 'android') {
45
+ OtplessHeadlessRN.isWhatsappInstalled(result => {
46
+ const hasWhatsapp = result.hasWhatsapp === true;
47
+ callback(hasWhatsapp);
48
+ });
49
+ return;
50
+ }
51
+ }
52
+ }
53
+ export { OtplessHeadlessModule };
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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","performOneTap","data","isWhatsappInstalled","OS","result","hasWhatsapp"],"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;IACnD,IAAI,CAACT,YAAY,CAAGU,WAAW,CAAC,oBAAoB,EAAED,QAAQ,CAAC;IAC/D;IACAd,iBAAiB,CAACa,mBAAmB,CAAC,CAAC;EACzC;EAEAG,KAAKA,CAACC,KAAU,EAAE;IAChBjB,iBAAiB,CAACgB,KAAK,CAACC,KAAK,CAAC;EAChC;EAEAC,cAAcA,CAACC,QAAa,EAAE;IAC5BnB,iBAAiB,CAACkB,cAAc,CAACC,QAAQ,CAAC;EAC5C;EAEAC,aAAaA,CAACC,IAAS,EAAE;IACvBrB,iBAAiB,CAACoB,aAAa,CAACC,IAAI,CAAC;EACvC;;EAEA;EACAC,mBAAmBA,CAACR,QAAwC,EAAE;IAC5D,IAAIpB,QAAQ,CAAC6B,EAAE,KAAK,SAAS,EAAE;MAC7BvB,iBAAiB,CAACsB,mBAAmB,CAAEE,MAAW,IAAK;QACrD,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,KAAK,IAAI;QAC/CX,QAAQ,CAACW,WAAW,CAAC;MACvB,CAAC,CAAC;MACF;IACF;EACF;AACF;AAEA,SAASrB,qBAAqB","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ interface OtplessResultCallback {
2
+ (result: any): void;
3
+ }
4
+ declare class OtplessHeadlessModule {
5
+ private eventEmitter;
6
+ constructor();
7
+ clearListener(): void;
8
+ initialize(appId: String, loginUri?: string | null): void;
9
+ setResponseCallback(callback: OtplessResultCallback): void;
10
+ start(input: any): void;
11
+ commitResponse(response: any): void;
12
+ performOneTap(data: any): void;
13
+ isWhatsappInstalled(callback: (hasWhatsapp: boolean) => void): void;
14
+ }
15
+ export { OtplessHeadlessModule };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;IAI5B,aAAa,CAAC,IAAI,EAAE,GAAG;IAKvB,mBAAmB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI;CAS7D;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
+
6
+ Pod::Spec.new do |s|
7
+ s.name = "otpless-headless-rn"
8
+ s.version = package["version"]
9
+ s.summary = package["description"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
12
+ s.authors = package["author"]
13
+
14
+ s.platforms = { :ios => "13.0" }
15
+ s.source = { :git => "https://github.com/otpless-tech/react-native-headless-sdk.git", :tag => "#{s.version}" }
16
+
17
+ s.source_files = "ios/**/*.{h,m,mm,swift}"
18
+
19
+ s.dependency "React-Core"
20
+ s.dependency 'OtplessBM/Core', '1.0.4'
21
+ s.swift_versions = ['5.5']
22
+
23
+ # Don't install the dependencies when we run `pod install` in the old architecture.
24
+ if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
25
+ s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
26
+ s.pod_target_xcconfig = {
27
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
28
+ "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
29
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
30
+ }
31
+ s.dependency "React-Codegen"
32
+ s.dependency "RCT-Folly"
33
+ s.dependency "RCTRequired"
34
+ s.dependency "RCTTypeSafety"
35
+ s.dependency "ReactCommon/turbomodule/core"
36
+ end
37
+ end
package/package.json ADDED
@@ -0,0 +1,165 @@
1
+ {
2
+ "name": "otpless-headless-rn",
3
+ "version": "1.0.0",
4
+ "description": "react native plugin for otpless headless android and ios",
5
+ "main": "lib/commonjs/index",
6
+ "module": "lib/module/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "files": [
11
+ "src",
12
+ "lib",
13
+ "android",
14
+ "ios",
15
+ "cpp",
16
+ "*.podspec",
17
+ "!lib/typescript/example",
18
+ "!ios/build",
19
+ "!android/build",
20
+ "!android/gradle",
21
+ "!android/gradlew",
22
+ "!android/gradlew.bat",
23
+ "!android/local.properties",
24
+ "!**/__tests__",
25
+ "!**/__fixtures__",
26
+ "!**/__mocks__",
27
+ "!**/.*"
28
+ ],
29
+ "scripts": {
30
+ "test": "jest",
31
+ "typecheck": "tsc --noEmit",
32
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
+ "prepack": "bob build",
34
+ "release": "release-it",
35
+ "example": "yarn --cwd example",
36
+ "bootstrap": "yarn example && yarn install && yarn example pods",
37
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
38
+ },
39
+ "keywords": [
40
+ "react-native",
41
+ "ios",
42
+ "android"
43
+ ],
44
+ "repository": "https://github.com/otpless-tech/react-native-headless-sdk",
45
+ "author": "https://github.com/sparsh-otpless",
46
+ "license": "MIT",
47
+ "bugs": {
48
+ "url": "https://github.com/otpless-tech/react-native-headless-sdk/issues"
49
+ },
50
+ "homepage": "https://github.com/otpless-tech/react-native-headless-sdk#readme",
51
+ "publishConfig": {
52
+ "registry": "https://registry.npmjs.org/"
53
+ },
54
+ "devDependencies": {
55
+ "@commitlint/config-conventional": "^17.0.2",
56
+ "@evilmartians/lefthook": "^1.5.0",
57
+ "@react-native/eslint-config": "^0.72.2",
58
+ "@release-it/conventional-changelog": "^5.0.0",
59
+ "@types/jest": "^28.1.2",
60
+ "@types/react": "~17.0.21",
61
+ "@types/react-native": "0.70.0",
62
+ "commitlint": "^17.0.2",
63
+ "del-cli": "^5.0.0",
64
+ "eslint": "^8.4.1",
65
+ "eslint-config-prettier": "^8.5.0",
66
+ "eslint-plugin-prettier": "^4.0.0",
67
+ "jest": "^28.1.1",
68
+ "pod-install": "^0.1.0",
69
+ "prettier": "^2.0.5",
70
+ "react": "18.2.0",
71
+ "react-native": "0.73.2",
72
+ "react-native-builder-bob": "^0.20.0",
73
+ "release-it": "^15.0.0",
74
+ "turbo": "^1.10.7",
75
+ "typescript": "^5.0.2"
76
+ },
77
+ "resolutions": {
78
+ "@types/react": "17.0.21"
79
+ },
80
+ "peerDependencies": {
81
+ "react": "*",
82
+ "react-native": "*"
83
+ },
84
+ "engines": {
85
+ "node": ">= 18.0.0"
86
+ },
87
+ "packageManager": "^yarn@1.22.15",
88
+ "jest": {
89
+ "preset": "react-native",
90
+ "modulePathIgnorePatterns": [
91
+ "<rootDir>/example/node_modules",
92
+ "<rootDir>/lib/"
93
+ ]
94
+ },
95
+ "commitlint": {
96
+ "extends": [
97
+ "@commitlint/config-conventional"
98
+ ]
99
+ },
100
+ "release-it": {
101
+ "git": {
102
+ "commitMessage": "chore: release ${version}",
103
+ "tagName": "v${version}"
104
+ },
105
+ "npm": {
106
+ "publish": true
107
+ },
108
+ "github": {
109
+ "release": true
110
+ },
111
+ "plugins": {
112
+ "@release-it/conventional-changelog": {
113
+ "preset": "angular"
114
+ }
115
+ }
116
+ },
117
+ "eslintConfig": {
118
+ "root": true,
119
+ "extends": [
120
+ "@react-native-community",
121
+ "prettier"
122
+ ],
123
+ "rules": {
124
+ "prettier/prettier": [
125
+ "error",
126
+ {
127
+ "quoteProps": "consistent",
128
+ "singleQuote": true,
129
+ "tabWidth": 2,
130
+ "trailingComma": "es5",
131
+ "useTabs": false
132
+ }
133
+ ]
134
+ }
135
+ },
136
+ "eslintIgnore": [
137
+ "node_modules/",
138
+ "lib/"
139
+ ],
140
+ "prettier": {
141
+ "quoteProps": "consistent",
142
+ "singleQuote": true,
143
+ "tabWidth": 2,
144
+ "trailingComma": "es5",
145
+ "useTabs": false
146
+ },
147
+ "react-native-builder-bob": {
148
+ "source": "src",
149
+ "output": "lib",
150
+ "targets": [
151
+ "commonjs",
152
+ "module",
153
+ [
154
+ "typescript",
155
+ {
156
+ "project": "tsconfig.build.json"
157
+ }
158
+ ]
159
+ ]
160
+ },
161
+ "dependencies": {
162
+ "react-native-debug": "^3.0.0",
163
+ "ts-lint": "^4.5.1"
164
+ }
165
+ }