@reclaimprotocol/inapp-rn-sdk 0.1.3

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.
Files changed (54) hide show
  1. package/InappRnSdk.podspec +43 -0
  2. package/LICENSE +20 -0
  3. package/README.md +292 -0
  4. package/android/build.gradle +130 -0
  5. package/android/generated/java/com/reclaimprotocol/inapp_rn_sdk/NativeInappRnSdkSpec.java +71 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNInappRnSdkSpec-generated.cpp +61 -0
  8. package/android/generated/jni/RNInappRnSdkSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI-generated.cpp +56 -0
  10. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI.h +930 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/src/main/AndroidManifest.xml +3 -0
  13. package/android/src/main/AndroidManifestNew.xml +2 -0
  14. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/InappRnSdkModule.kt +327 -0
  15. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/InappRnSdkPackage.kt +33 -0
  16. package/ios/InappRnSdk-Bridging-Header.h +1 -0
  17. package/ios/InappRnSdk.h +17 -0
  18. package/ios/InappRnSdk.mm +215 -0
  19. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec-generated.mm +136 -0
  20. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec.h +391 -0
  21. package/ios/generated/RNInappRnSdkSpecJSI-generated.cpp +56 -0
  22. package/ios/generated/RNInappRnSdkSpecJSI.h +930 -0
  23. package/ios/inapp_rn_sdk/Api.swift +405 -0
  24. package/lib/commonjs/ReclaimVerificationPlatformChannel.js +177 -0
  25. package/lib/commonjs/ReclaimVerificationPlatformChannel.js.map +1 -0
  26. package/lib/commonjs/index.js +43 -0
  27. package/lib/commonjs/index.js.map +1 -0
  28. package/lib/commonjs/specs/NativeInappRnSdk.js +23 -0
  29. package/lib/commonjs/specs/NativeInappRnSdk.js.map +1 -0
  30. package/lib/module/ReclaimVerificationPlatformChannel.js +171 -0
  31. package/lib/module/ReclaimVerificationPlatformChannel.js.map +1 -0
  32. package/lib/module/index.js +27 -0
  33. package/lib/module/index.js.map +1 -0
  34. package/lib/module/specs/NativeInappRnSdk.js +24 -0
  35. package/lib/module/specs/NativeInappRnSdk.js.map +1 -0
  36. package/lib/typescript/commonjs/package.json +1 -0
  37. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts +80 -0
  38. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/src/index.d.ts +12 -0
  40. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts +281 -0
  42. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts.map +1 -0
  43. package/lib/typescript/module/package.json +1 -0
  44. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts +80 -0
  45. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts.map +1 -0
  46. package/lib/typescript/module/src/index.d.ts +12 -0
  47. package/lib/typescript/module/src/index.d.ts.map +1 -0
  48. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts +281 -0
  49. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts.map +1 -0
  50. package/package.json +204 -0
  51. package/react-native.config.js +12 -0
  52. package/src/ReclaimVerificationPlatformChannel.ts +245 -0
  53. package/src/index.tsx +32 -0
  54. package/src/specs/NativeInappRnSdk.ts +313 -0
@@ -0,0 +1,930 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleH.js
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include <ReactCommon/TurboModule.h>
13
+ #include <react/bridging/Bridging.h>
14
+
15
+ namespace facebook::react {
16
+
17
+
18
+
19
+ #pragma mark - NativeInappRnSdkFeatureOptions
20
+
21
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
22
+ struct NativeInappRnSdkFeatureOptions {
23
+ P0 cookiePersist;
24
+ P1 singleReclaimRequest;
25
+ P2 idleTimeThresholdForManualVerificationTrigger;
26
+ P3 sessionTimeoutForManualVerificationTrigger;
27
+ P4 attestorBrowserRpcUrl;
28
+ P5 isResponseRedactionRegexEscapingEnabled;
29
+ P6 isAIFlowEnabled;
30
+ bool operator==(const NativeInappRnSdkFeatureOptions &other) const {
31
+ return cookiePersist == other.cookiePersist && singleReclaimRequest == other.singleReclaimRequest && idleTimeThresholdForManualVerificationTrigger == other.idleTimeThresholdForManualVerificationTrigger && sessionTimeoutForManualVerificationTrigger == other.sessionTimeoutForManualVerificationTrigger && attestorBrowserRpcUrl == other.attestorBrowserRpcUrl && isResponseRedactionRegexEscapingEnabled == other.isResponseRedactionRegexEscapingEnabled && isAIFlowEnabled == other.isAIFlowEnabled;
32
+ }
33
+ };
34
+
35
+ template <typename T>
36
+ struct NativeInappRnSdkFeatureOptionsBridging {
37
+ static T types;
38
+
39
+ static T fromJs(
40
+ jsi::Runtime &rt,
41
+ const jsi::Object &value,
42
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
43
+ T result{
44
+ bridging::fromJs<decltype(types.cookiePersist)>(rt, value.getProperty(rt, "cookiePersist"), jsInvoker),
45
+ bridging::fromJs<decltype(types.singleReclaimRequest)>(rt, value.getProperty(rt, "singleReclaimRequest"), jsInvoker),
46
+ bridging::fromJs<decltype(types.idleTimeThresholdForManualVerificationTrigger)>(rt, value.getProperty(rt, "idleTimeThresholdForManualVerificationTrigger"), jsInvoker),
47
+ bridging::fromJs<decltype(types.sessionTimeoutForManualVerificationTrigger)>(rt, value.getProperty(rt, "sessionTimeoutForManualVerificationTrigger"), jsInvoker),
48
+ bridging::fromJs<decltype(types.attestorBrowserRpcUrl)>(rt, value.getProperty(rt, "attestorBrowserRpcUrl"), jsInvoker),
49
+ bridging::fromJs<decltype(types.isResponseRedactionRegexEscapingEnabled)>(rt, value.getProperty(rt, "isResponseRedactionRegexEscapingEnabled"), jsInvoker),
50
+ bridging::fromJs<decltype(types.isAIFlowEnabled)>(rt, value.getProperty(rt, "isAIFlowEnabled"), jsInvoker)};
51
+ return result;
52
+ }
53
+
54
+ #ifdef DEBUG
55
+ static std::optional<bool> cookiePersistToJs(jsi::Runtime &rt, decltype(types.cookiePersist) value) {
56
+ return bridging::toJs(rt, value);
57
+ }
58
+
59
+ static std::optional<bool> singleReclaimRequestToJs(jsi::Runtime &rt, decltype(types.singleReclaimRequest) value) {
60
+ return bridging::toJs(rt, value);
61
+ }
62
+
63
+ static std::optional<double> idleTimeThresholdForManualVerificationTriggerToJs(jsi::Runtime &rt, decltype(types.idleTimeThresholdForManualVerificationTrigger) value) {
64
+ return bridging::toJs(rt, value);
65
+ }
66
+
67
+ static std::optional<double> sessionTimeoutForManualVerificationTriggerToJs(jsi::Runtime &rt, decltype(types.sessionTimeoutForManualVerificationTrigger) value) {
68
+ return bridging::toJs(rt, value);
69
+ }
70
+
71
+ static std::optional<jsi::String> attestorBrowserRpcUrlToJs(jsi::Runtime &rt, decltype(types.attestorBrowserRpcUrl) value) {
72
+ return bridging::toJs(rt, value);
73
+ }
74
+
75
+ static std::optional<bool> isResponseRedactionRegexEscapingEnabledToJs(jsi::Runtime &rt, decltype(types.isResponseRedactionRegexEscapingEnabled) value) {
76
+ return bridging::toJs(rt, value);
77
+ }
78
+
79
+ static std::optional<bool> isAIFlowEnabledToJs(jsi::Runtime &rt, decltype(types.isAIFlowEnabled) value) {
80
+ return bridging::toJs(rt, value);
81
+ }
82
+ #endif
83
+
84
+ static jsi::Object toJs(
85
+ jsi::Runtime &rt,
86
+ const T &value,
87
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
88
+ auto result = facebook::jsi::Object(rt);
89
+ if (value.cookiePersist) {
90
+ result.setProperty(rt, "cookiePersist", bridging::toJs(rt, value.cookiePersist.value(), jsInvoker));
91
+ }
92
+ if (value.singleReclaimRequest) {
93
+ result.setProperty(rt, "singleReclaimRequest", bridging::toJs(rt, value.singleReclaimRequest.value(), jsInvoker));
94
+ }
95
+ if (value.idleTimeThresholdForManualVerificationTrigger) {
96
+ result.setProperty(rt, "idleTimeThresholdForManualVerificationTrigger", bridging::toJs(rt, value.idleTimeThresholdForManualVerificationTrigger.value(), jsInvoker));
97
+ }
98
+ if (value.sessionTimeoutForManualVerificationTrigger) {
99
+ result.setProperty(rt, "sessionTimeoutForManualVerificationTrigger", bridging::toJs(rt, value.sessionTimeoutForManualVerificationTrigger.value(), jsInvoker));
100
+ }
101
+ if (value.attestorBrowserRpcUrl) {
102
+ result.setProperty(rt, "attestorBrowserRpcUrl", bridging::toJs(rt, value.attestorBrowserRpcUrl.value(), jsInvoker));
103
+ }
104
+ if (value.isResponseRedactionRegexEscapingEnabled) {
105
+ result.setProperty(rt, "isResponseRedactionRegexEscapingEnabled", bridging::toJs(rt, value.isResponseRedactionRegexEscapingEnabled.value(), jsInvoker));
106
+ }
107
+ if (value.isAIFlowEnabled) {
108
+ result.setProperty(rt, "isAIFlowEnabled", bridging::toJs(rt, value.isAIFlowEnabled.value(), jsInvoker));
109
+ }
110
+ return result;
111
+ }
112
+ };
113
+
114
+
115
+
116
+ #pragma mark - NativeInappRnSdkLogConsumer
117
+
118
+ template <typename P0, typename P1, typename P2>
119
+ struct NativeInappRnSdkLogConsumer {
120
+ P0 enableLogHandler;
121
+ P1 canSdkCollectTelemetry;
122
+ P2 canSdkPrintLogs;
123
+ bool operator==(const NativeInappRnSdkLogConsumer &other) const {
124
+ return enableLogHandler == other.enableLogHandler && canSdkCollectTelemetry == other.canSdkCollectTelemetry && canSdkPrintLogs == other.canSdkPrintLogs;
125
+ }
126
+ };
127
+
128
+ template <typename T>
129
+ struct NativeInappRnSdkLogConsumerBridging {
130
+ static T types;
131
+
132
+ static T fromJs(
133
+ jsi::Runtime &rt,
134
+ const jsi::Object &value,
135
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
136
+ T result{
137
+ bridging::fromJs<decltype(types.enableLogHandler)>(rt, value.getProperty(rt, "enableLogHandler"), jsInvoker),
138
+ bridging::fromJs<decltype(types.canSdkCollectTelemetry)>(rt, value.getProperty(rt, "canSdkCollectTelemetry"), jsInvoker),
139
+ bridging::fromJs<decltype(types.canSdkPrintLogs)>(rt, value.getProperty(rt, "canSdkPrintLogs"), jsInvoker)};
140
+ return result;
141
+ }
142
+
143
+ #ifdef DEBUG
144
+ static bool enableLogHandlerToJs(jsi::Runtime &rt, decltype(types.enableLogHandler) value) {
145
+ return bridging::toJs(rt, value);
146
+ }
147
+
148
+ static bool canSdkCollectTelemetryToJs(jsi::Runtime &rt, decltype(types.canSdkCollectTelemetry) value) {
149
+ return bridging::toJs(rt, value);
150
+ }
151
+
152
+ static bool canSdkPrintLogsToJs(jsi::Runtime &rt, decltype(types.canSdkPrintLogs) value) {
153
+ return bridging::toJs(rt, value);
154
+ }
155
+ #endif
156
+
157
+ static jsi::Object toJs(
158
+ jsi::Runtime &rt,
159
+ const T &value,
160
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
161
+ auto result = facebook::jsi::Object(rt);
162
+ result.setProperty(rt, "enableLogHandler", bridging::toJs(rt, value.enableLogHandler, jsInvoker));
163
+ if (value.canSdkCollectTelemetry) {
164
+ result.setProperty(rt, "canSdkCollectTelemetry", bridging::toJs(rt, value.canSdkCollectTelemetry.value(), jsInvoker));
165
+ }
166
+ if (value.canSdkPrintLogs) {
167
+ result.setProperty(rt, "canSdkPrintLogs", bridging::toJs(rt, value.canSdkPrintLogs.value(), jsInvoker));
168
+ }
169
+ return result;
170
+ }
171
+ };
172
+
173
+
174
+
175
+ #pragma mark - NativeInappRnSdkOverrides
176
+
177
+ template <typename P0, typename P1, typename P2, typename P3, typename P4>
178
+ struct NativeInappRnSdkOverrides {
179
+ P0 provider;
180
+ P1 featureOptions;
181
+ P2 logConsumer;
182
+ P3 sessionManagement;
183
+ P4 appInfo;
184
+ bool operator==(const NativeInappRnSdkOverrides &other) const {
185
+ return provider == other.provider && featureOptions == other.featureOptions && logConsumer == other.logConsumer && sessionManagement == other.sessionManagement && appInfo == other.appInfo;
186
+ }
187
+ };
188
+
189
+ template <typename T>
190
+ struct NativeInappRnSdkOverridesBridging {
191
+ static T types;
192
+
193
+ static T fromJs(
194
+ jsi::Runtime &rt,
195
+ const jsi::Object &value,
196
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
197
+ T result{
198
+ bridging::fromJs<decltype(types.provider)>(rt, value.getProperty(rt, "provider"), jsInvoker),
199
+ bridging::fromJs<decltype(types.featureOptions)>(rt, value.getProperty(rt, "featureOptions"), jsInvoker),
200
+ bridging::fromJs<decltype(types.logConsumer)>(rt, value.getProperty(rt, "logConsumer"), jsInvoker),
201
+ bridging::fromJs<decltype(types.sessionManagement)>(rt, value.getProperty(rt, "sessionManagement"), jsInvoker),
202
+ bridging::fromJs<decltype(types.appInfo)>(rt, value.getProperty(rt, "appInfo"), jsInvoker)};
203
+ return result;
204
+ }
205
+
206
+ #ifdef DEBUG
207
+ static std::optional<jsi::Object> providerToJs(jsi::Runtime &rt, decltype(types.provider) value) {
208
+ return bridging::toJs(rt, value);
209
+ }
210
+
211
+ static std::optional<jsi::Object> featureOptionsToJs(jsi::Runtime &rt, decltype(types.featureOptions) value) {
212
+ return bridging::toJs(rt, value);
213
+ }
214
+
215
+ static std::optional<jsi::Object> logConsumerToJs(jsi::Runtime &rt, decltype(types.logConsumer) value) {
216
+ return bridging::toJs(rt, value);
217
+ }
218
+
219
+ static std::optional<jsi::Object> sessionManagementToJs(jsi::Runtime &rt, decltype(types.sessionManagement) value) {
220
+ return bridging::toJs(rt, value);
221
+ }
222
+
223
+ static std::optional<jsi::Object> appInfoToJs(jsi::Runtime &rt, decltype(types.appInfo) value) {
224
+ return bridging::toJs(rt, value);
225
+ }
226
+ #endif
227
+
228
+ static jsi::Object toJs(
229
+ jsi::Runtime &rt,
230
+ const T &value,
231
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
232
+ auto result = facebook::jsi::Object(rt);
233
+ if (value.provider) {
234
+ result.setProperty(rt, "provider", bridging::toJs(rt, value.provider.value(), jsInvoker));
235
+ }
236
+ if (value.featureOptions) {
237
+ result.setProperty(rt, "featureOptions", bridging::toJs(rt, value.featureOptions.value(), jsInvoker));
238
+ }
239
+ if (value.logConsumer) {
240
+ result.setProperty(rt, "logConsumer", bridging::toJs(rt, value.logConsumer.value(), jsInvoker));
241
+ }
242
+ if (value.sessionManagement) {
243
+ result.setProperty(rt, "sessionManagement", bridging::toJs(rt, value.sessionManagement.value(), jsInvoker));
244
+ }
245
+ if (value.appInfo) {
246
+ result.setProperty(rt, "appInfo", bridging::toJs(rt, value.appInfo.value(), jsInvoker));
247
+ }
248
+ return result;
249
+ }
250
+ };
251
+
252
+
253
+
254
+ #pragma mark - NativeInappRnSdkProviderInformation
255
+
256
+ template <typename P0, typename P1>
257
+ struct NativeInappRnSdkProviderInformation {
258
+ P0 url;
259
+ P1 jsonString;
260
+ bool operator==(const NativeInappRnSdkProviderInformation &other) const {
261
+ return url == other.url && jsonString == other.jsonString;
262
+ }
263
+ };
264
+
265
+ template <typename T>
266
+ struct NativeInappRnSdkProviderInformationBridging {
267
+ static T types;
268
+
269
+ static T fromJs(
270
+ jsi::Runtime &rt,
271
+ const jsi::Object &value,
272
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
273
+ T result{
274
+ bridging::fromJs<decltype(types.url)>(rt, value.getProperty(rt, "url"), jsInvoker),
275
+ bridging::fromJs<decltype(types.jsonString)>(rt, value.getProperty(rt, "jsonString"), jsInvoker)};
276
+ return result;
277
+ }
278
+
279
+ #ifdef DEBUG
280
+ static jsi::String urlToJs(jsi::Runtime &rt, decltype(types.url) value) {
281
+ return bridging::toJs(rt, value);
282
+ }
283
+
284
+ static jsi::String jsonStringToJs(jsi::Runtime &rt, decltype(types.jsonString) value) {
285
+ return bridging::toJs(rt, value);
286
+ }
287
+ #endif
288
+
289
+ static jsi::Object toJs(
290
+ jsi::Runtime &rt,
291
+ const T &value,
292
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
293
+ auto result = facebook::jsi::Object(rt);
294
+ if (value.url) {
295
+ result.setProperty(rt, "url", bridging::toJs(rt, value.url.value(), jsInvoker));
296
+ }
297
+ if (value.jsonString) {
298
+ result.setProperty(rt, "jsonString", bridging::toJs(rt, value.jsonString.value(), jsInvoker));
299
+ }
300
+ return result;
301
+ }
302
+ };
303
+
304
+
305
+
306
+ #pragma mark - NativeInappRnSdkReclaimAppInfo
307
+
308
+ template <typename P0, typename P1, typename P2>
309
+ struct NativeInappRnSdkReclaimAppInfo {
310
+ P0 appName;
311
+ P1 appImageUrl;
312
+ P2 isRecurring;
313
+ bool operator==(const NativeInappRnSdkReclaimAppInfo &other) const {
314
+ return appName == other.appName && appImageUrl == other.appImageUrl && isRecurring == other.isRecurring;
315
+ }
316
+ };
317
+
318
+ template <typename T>
319
+ struct NativeInappRnSdkReclaimAppInfoBridging {
320
+ static T types;
321
+
322
+ static T fromJs(
323
+ jsi::Runtime &rt,
324
+ const jsi::Object &value,
325
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
326
+ T result{
327
+ bridging::fromJs<decltype(types.appName)>(rt, value.getProperty(rt, "appName"), jsInvoker),
328
+ bridging::fromJs<decltype(types.appImageUrl)>(rt, value.getProperty(rt, "appImageUrl"), jsInvoker),
329
+ bridging::fromJs<decltype(types.isRecurring)>(rt, value.getProperty(rt, "isRecurring"), jsInvoker)};
330
+ return result;
331
+ }
332
+
333
+ #ifdef DEBUG
334
+ static jsi::String appNameToJs(jsi::Runtime &rt, decltype(types.appName) value) {
335
+ return bridging::toJs(rt, value);
336
+ }
337
+
338
+ static jsi::String appImageUrlToJs(jsi::Runtime &rt, decltype(types.appImageUrl) value) {
339
+ return bridging::toJs(rt, value);
340
+ }
341
+
342
+ static bool isRecurringToJs(jsi::Runtime &rt, decltype(types.isRecurring) value) {
343
+ return bridging::toJs(rt, value);
344
+ }
345
+ #endif
346
+
347
+ static jsi::Object toJs(
348
+ jsi::Runtime &rt,
349
+ const T &value,
350
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
351
+ auto result = facebook::jsi::Object(rt);
352
+ result.setProperty(rt, "appName", bridging::toJs(rt, value.appName, jsInvoker));
353
+ result.setProperty(rt, "appImageUrl", bridging::toJs(rt, value.appImageUrl, jsInvoker));
354
+ if (value.isRecurring) {
355
+ result.setProperty(rt, "isRecurring", bridging::toJs(rt, value.isRecurring.value(), jsInvoker));
356
+ }
357
+ return result;
358
+ }
359
+ };
360
+
361
+
362
+
363
+ #pragma mark - NativeInappRnSdkRequest
364
+
365
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
366
+ struct NativeInappRnSdkRequest {
367
+ P0 appId;
368
+ P1 secret;
369
+ P2 providerId;
370
+ P3 session;
371
+ P4 contextString;
372
+ P5 parameters;
373
+ P6 hideLanding;
374
+ P7 autoSubmit;
375
+ P8 acceptAiProviders;
376
+ P9 webhookUrl;
377
+ bool operator==(const NativeInappRnSdkRequest &other) const {
378
+ return appId == other.appId && secret == other.secret && providerId == other.providerId && session == other.session && contextString == other.contextString && parameters == other.parameters && hideLanding == other.hideLanding && autoSubmit == other.autoSubmit && acceptAiProviders == other.acceptAiProviders && webhookUrl == other.webhookUrl;
379
+ }
380
+ };
381
+
382
+ template <typename T>
383
+ struct NativeInappRnSdkRequestBridging {
384
+ static T types;
385
+
386
+ static T fromJs(
387
+ jsi::Runtime &rt,
388
+ const jsi::Object &value,
389
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
390
+ T result{
391
+ bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
392
+ bridging::fromJs<decltype(types.secret)>(rt, value.getProperty(rt, "secret"), jsInvoker),
393
+ bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
394
+ bridging::fromJs<decltype(types.session)>(rt, value.getProperty(rt, "session"), jsInvoker),
395
+ bridging::fromJs<decltype(types.contextString)>(rt, value.getProperty(rt, "contextString"), jsInvoker),
396
+ bridging::fromJs<decltype(types.parameters)>(rt, value.getProperty(rt, "parameters"), jsInvoker),
397
+ bridging::fromJs<decltype(types.hideLanding)>(rt, value.getProperty(rt, "hideLanding"), jsInvoker),
398
+ bridging::fromJs<decltype(types.autoSubmit)>(rt, value.getProperty(rt, "autoSubmit"), jsInvoker),
399
+ bridging::fromJs<decltype(types.acceptAiProviders)>(rt, value.getProperty(rt, "acceptAiProviders"), jsInvoker),
400
+ bridging::fromJs<decltype(types.webhookUrl)>(rt, value.getProperty(rt, "webhookUrl"), jsInvoker)};
401
+ return result;
402
+ }
403
+
404
+ #ifdef DEBUG
405
+ static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
406
+ return bridging::toJs(rt, value);
407
+ }
408
+
409
+ static jsi::String secretToJs(jsi::Runtime &rt, decltype(types.secret) value) {
410
+ return bridging::toJs(rt, value);
411
+ }
412
+
413
+ static jsi::String providerIdToJs(jsi::Runtime &rt, decltype(types.providerId) value) {
414
+ return bridging::toJs(rt, value);
415
+ }
416
+
417
+ static std::optional<jsi::Object> sessionToJs(jsi::Runtime &rt, decltype(types.session) value) {
418
+ return bridging::toJs(rt, value);
419
+ }
420
+
421
+ static jsi::String contextStringToJs(jsi::Runtime &rt, decltype(types.contextString) value) {
422
+ return bridging::toJs(rt, value);
423
+ }
424
+
425
+ static jsi::Object parametersToJs(jsi::Runtime &rt, decltype(types.parameters) value) {
426
+ return bridging::toJs(rt, value);
427
+ }
428
+
429
+ static bool hideLandingToJs(jsi::Runtime &rt, decltype(types.hideLanding) value) {
430
+ return bridging::toJs(rt, value);
431
+ }
432
+
433
+ static bool autoSubmitToJs(jsi::Runtime &rt, decltype(types.autoSubmit) value) {
434
+ return bridging::toJs(rt, value);
435
+ }
436
+
437
+ static bool acceptAiProvidersToJs(jsi::Runtime &rt, decltype(types.acceptAiProviders) value) {
438
+ return bridging::toJs(rt, value);
439
+ }
440
+
441
+ static std::optional<jsi::String> webhookUrlToJs(jsi::Runtime &rt, decltype(types.webhookUrl) value) {
442
+ return bridging::toJs(rt, value);
443
+ }
444
+ #endif
445
+
446
+ static jsi::Object toJs(
447
+ jsi::Runtime &rt,
448
+ const T &value,
449
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
450
+ auto result = facebook::jsi::Object(rt);
451
+ result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
452
+ result.setProperty(rt, "secret", bridging::toJs(rt, value.secret, jsInvoker));
453
+ result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
454
+ if (value.session) {
455
+ result.setProperty(rt, "session", bridging::toJs(rt, value.session.value(), jsInvoker));
456
+ }
457
+ if (value.contextString) {
458
+ result.setProperty(rt, "contextString", bridging::toJs(rt, value.contextString.value(), jsInvoker));
459
+ }
460
+ if (value.parameters) {
461
+ result.setProperty(rt, "parameters", bridging::toJs(rt, value.parameters.value(), jsInvoker));
462
+ }
463
+ if (value.hideLanding) {
464
+ result.setProperty(rt, "hideLanding", bridging::toJs(rt, value.hideLanding.value(), jsInvoker));
465
+ }
466
+ if (value.autoSubmit) {
467
+ result.setProperty(rt, "autoSubmit", bridging::toJs(rt, value.autoSubmit.value(), jsInvoker));
468
+ }
469
+ if (value.acceptAiProviders) {
470
+ result.setProperty(rt, "acceptAiProviders", bridging::toJs(rt, value.acceptAiProviders.value(), jsInvoker));
471
+ }
472
+ if (value.webhookUrl) {
473
+ result.setProperty(rt, "webhookUrl", bridging::toJs(rt, value.webhookUrl.value(), jsInvoker));
474
+ }
475
+ return result;
476
+ }
477
+ };
478
+
479
+
480
+
481
+ #pragma mark - NativeInappRnSdkResponse
482
+
483
+ template <typename P0, typename P1, typename P2>
484
+ struct NativeInappRnSdkResponse {
485
+ P0 sessionId;
486
+ P1 didSubmitManualVerification;
487
+ P2 proofs;
488
+ bool operator==(const NativeInappRnSdkResponse &other) const {
489
+ return sessionId == other.sessionId && didSubmitManualVerification == other.didSubmitManualVerification && proofs == other.proofs;
490
+ }
491
+ };
492
+
493
+ template <typename T>
494
+ struct NativeInappRnSdkResponseBridging {
495
+ static T types;
496
+
497
+ static T fromJs(
498
+ jsi::Runtime &rt,
499
+ const jsi::Object &value,
500
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
501
+ T result{
502
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
503
+ bridging::fromJs<decltype(types.didSubmitManualVerification)>(rt, value.getProperty(rt, "didSubmitManualVerification"), jsInvoker),
504
+ bridging::fromJs<decltype(types.proofs)>(rt, value.getProperty(rt, "proofs"), jsInvoker)};
505
+ return result;
506
+ }
507
+
508
+ #ifdef DEBUG
509
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
510
+ return bridging::toJs(rt, value);
511
+ }
512
+
513
+ static bool didSubmitManualVerificationToJs(jsi::Runtime &rt, decltype(types.didSubmitManualVerification) value) {
514
+ return bridging::toJs(rt, value);
515
+ }
516
+
517
+ static jsi::Array proofsToJs(jsi::Runtime &rt, decltype(types.proofs) value) {
518
+ return bridging::toJs(rt, value);
519
+ }
520
+ #endif
521
+
522
+ static jsi::Object toJs(
523
+ jsi::Runtime &rt,
524
+ const T &value,
525
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
526
+ auto result = facebook::jsi::Object(rt);
527
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
528
+ result.setProperty(rt, "didSubmitManualVerification", bridging::toJs(rt, value.didSubmitManualVerification, jsInvoker));
529
+ result.setProperty(rt, "proofs", bridging::toJs(rt, value.proofs, jsInvoker));
530
+ return result;
531
+ }
532
+ };
533
+
534
+
535
+
536
+ #pragma mark - NativeInappRnSdkSessionCreateRequestEvent
537
+
538
+ template <typename P0, typename P1, typename P2, typename P3>
539
+ struct NativeInappRnSdkSessionCreateRequestEvent {
540
+ P0 appId;
541
+ P1 providerId;
542
+ P2 sessionId;
543
+ P3 replyId;
544
+ bool operator==(const NativeInappRnSdkSessionCreateRequestEvent &other) const {
545
+ return appId == other.appId && providerId == other.providerId && sessionId == other.sessionId && replyId == other.replyId;
546
+ }
547
+ };
548
+
549
+ template <typename T>
550
+ struct NativeInappRnSdkSessionCreateRequestEventBridging {
551
+ static T types;
552
+
553
+ static T fromJs(
554
+ jsi::Runtime &rt,
555
+ const jsi::Object &value,
556
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
557
+ T result{
558
+ bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
559
+ bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
560
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
561
+ bridging::fromJs<decltype(types.replyId)>(rt, value.getProperty(rt, "replyId"), jsInvoker)};
562
+ return result;
563
+ }
564
+
565
+ #ifdef DEBUG
566
+ static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
567
+ return bridging::toJs(rt, value);
568
+ }
569
+
570
+ static jsi::String providerIdToJs(jsi::Runtime &rt, decltype(types.providerId) value) {
571
+ return bridging::toJs(rt, value);
572
+ }
573
+
574
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
575
+ return bridging::toJs(rt, value);
576
+ }
577
+
578
+ static jsi::String replyIdToJs(jsi::Runtime &rt, decltype(types.replyId) value) {
579
+ return bridging::toJs(rt, value);
580
+ }
581
+ #endif
582
+
583
+ static jsi::Object toJs(
584
+ jsi::Runtime &rt,
585
+ const T &value,
586
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
587
+ auto result = facebook::jsi::Object(rt);
588
+ result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
589
+ result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
590
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
591
+ result.setProperty(rt, "replyId", bridging::toJs(rt, value.replyId, jsInvoker));
592
+ return result;
593
+ }
594
+ };
595
+
596
+
597
+
598
+ #pragma mark - NativeInappRnSdkSessionInformation
599
+
600
+ template <typename P0, typename P1, typename P2>
601
+ struct NativeInappRnSdkSessionInformation {
602
+ P0 timestamp;
603
+ P1 sessionId;
604
+ P2 signature;
605
+ bool operator==(const NativeInappRnSdkSessionInformation &other) const {
606
+ return timestamp == other.timestamp && sessionId == other.sessionId && signature == other.signature;
607
+ }
608
+ };
609
+
610
+ template <typename T>
611
+ struct NativeInappRnSdkSessionInformationBridging {
612
+ static T types;
613
+
614
+ static T fromJs(
615
+ jsi::Runtime &rt,
616
+ const jsi::Object &value,
617
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
618
+ T result{
619
+ bridging::fromJs<decltype(types.timestamp)>(rt, value.getProperty(rt, "timestamp"), jsInvoker),
620
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
621
+ bridging::fromJs<decltype(types.signature)>(rt, value.getProperty(rt, "signature"), jsInvoker)};
622
+ return result;
623
+ }
624
+
625
+ #ifdef DEBUG
626
+ static jsi::String timestampToJs(jsi::Runtime &rt, decltype(types.timestamp) value) {
627
+ return bridging::toJs(rt, value);
628
+ }
629
+
630
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
631
+ return bridging::toJs(rt, value);
632
+ }
633
+
634
+ static jsi::String signatureToJs(jsi::Runtime &rt, decltype(types.signature) value) {
635
+ return bridging::toJs(rt, value);
636
+ }
637
+ #endif
638
+
639
+ static jsi::Object toJs(
640
+ jsi::Runtime &rt,
641
+ const T &value,
642
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
643
+ auto result = facebook::jsi::Object(rt);
644
+ result.setProperty(rt, "timestamp", bridging::toJs(rt, value.timestamp, jsInvoker));
645
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
646
+ result.setProperty(rt, "signature", bridging::toJs(rt, value.signature, jsInvoker));
647
+ return result;
648
+ }
649
+ };
650
+
651
+
652
+
653
+ #pragma mark - NativeInappRnSdkSessionLogEvent
654
+
655
+ template <typename P0, typename P1, typename P2, typename P3>
656
+ struct NativeInappRnSdkSessionLogEvent {
657
+ P0 appId;
658
+ P1 providerId;
659
+ P2 sessionId;
660
+ P3 logType;
661
+ bool operator==(const NativeInappRnSdkSessionLogEvent &other) const {
662
+ return appId == other.appId && providerId == other.providerId && sessionId == other.sessionId && logType == other.logType;
663
+ }
664
+ };
665
+
666
+ template <typename T>
667
+ struct NativeInappRnSdkSessionLogEventBridging {
668
+ static T types;
669
+
670
+ static T fromJs(
671
+ jsi::Runtime &rt,
672
+ const jsi::Object &value,
673
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
674
+ T result{
675
+ bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
676
+ bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
677
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
678
+ bridging::fromJs<decltype(types.logType)>(rt, value.getProperty(rt, "logType"), jsInvoker)};
679
+ return result;
680
+ }
681
+
682
+ #ifdef DEBUG
683
+ static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
684
+ return bridging::toJs(rt, value);
685
+ }
686
+
687
+ static jsi::String providerIdToJs(jsi::Runtime &rt, decltype(types.providerId) value) {
688
+ return bridging::toJs(rt, value);
689
+ }
690
+
691
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
692
+ return bridging::toJs(rt, value);
693
+ }
694
+
695
+ static jsi::String logTypeToJs(jsi::Runtime &rt, decltype(types.logType) value) {
696
+ return bridging::toJs(rt, value);
697
+ }
698
+ #endif
699
+
700
+ static jsi::Object toJs(
701
+ jsi::Runtime &rt,
702
+ const T &value,
703
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
704
+ auto result = facebook::jsi::Object(rt);
705
+ result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
706
+ result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
707
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
708
+ result.setProperty(rt, "logType", bridging::toJs(rt, value.logType, jsInvoker));
709
+ return result;
710
+ }
711
+ };
712
+
713
+
714
+
715
+ #pragma mark - NativeInappRnSdkSessionManagement
716
+
717
+ template <typename P0>
718
+ struct NativeInappRnSdkSessionManagement {
719
+ P0 enableSdkSessionManagement;
720
+ bool operator==(const NativeInappRnSdkSessionManagement &other) const {
721
+ return enableSdkSessionManagement == other.enableSdkSessionManagement;
722
+ }
723
+ };
724
+
725
+ template <typename T>
726
+ struct NativeInappRnSdkSessionManagementBridging {
727
+ static T types;
728
+
729
+ static T fromJs(
730
+ jsi::Runtime &rt,
731
+ const jsi::Object &value,
732
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
733
+ T result{
734
+ bridging::fromJs<decltype(types.enableSdkSessionManagement)>(rt, value.getProperty(rt, "enableSdkSessionManagement"), jsInvoker)};
735
+ return result;
736
+ }
737
+
738
+ #ifdef DEBUG
739
+ static bool enableSdkSessionManagementToJs(jsi::Runtime &rt, decltype(types.enableSdkSessionManagement) value) {
740
+ return bridging::toJs(rt, value);
741
+ }
742
+ #endif
743
+
744
+ static jsi::Object toJs(
745
+ jsi::Runtime &rt,
746
+ const T &value,
747
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
748
+ auto result = facebook::jsi::Object(rt);
749
+ if (value.enableSdkSessionManagement) {
750
+ result.setProperty(rt, "enableSdkSessionManagement", bridging::toJs(rt, value.enableSdkSessionManagement.value(), jsInvoker));
751
+ }
752
+ return result;
753
+ }
754
+ };
755
+
756
+
757
+
758
+ #pragma mark - NativeInappRnSdkSessionUpdateRequestEvent
759
+
760
+ template <typename P0, typename P1, typename P2>
761
+ struct NativeInappRnSdkSessionUpdateRequestEvent {
762
+ P0 sessionId;
763
+ P1 status;
764
+ P2 replyId;
765
+ bool operator==(const NativeInappRnSdkSessionUpdateRequestEvent &other) const {
766
+ return sessionId == other.sessionId && status == other.status && replyId == other.replyId;
767
+ }
768
+ };
769
+
770
+ template <typename T>
771
+ struct NativeInappRnSdkSessionUpdateRequestEventBridging {
772
+ static T types;
773
+
774
+ static T fromJs(
775
+ jsi::Runtime &rt,
776
+ const jsi::Object &value,
777
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
778
+ T result{
779
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
780
+ bridging::fromJs<decltype(types.status)>(rt, value.getProperty(rt, "status"), jsInvoker),
781
+ bridging::fromJs<decltype(types.replyId)>(rt, value.getProperty(rt, "replyId"), jsInvoker)};
782
+ return result;
783
+ }
784
+
785
+ #ifdef DEBUG
786
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
787
+ return bridging::toJs(rt, value);
788
+ }
789
+
790
+ static jsi::String statusToJs(jsi::Runtime &rt, decltype(types.status) value) {
791
+ return bridging::toJs(rt, value);
792
+ }
793
+
794
+ static jsi::String replyIdToJs(jsi::Runtime &rt, decltype(types.replyId) value) {
795
+ return bridging::toJs(rt, value);
796
+ }
797
+ #endif
798
+
799
+ static jsi::Object toJs(
800
+ jsi::Runtime &rt,
801
+ const T &value,
802
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
803
+ auto result = facebook::jsi::Object(rt);
804
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
805
+ result.setProperty(rt, "status", bridging::toJs(rt, value.status, jsInvoker));
806
+ result.setProperty(rt, "replyId", bridging::toJs(rt, value.replyId, jsInvoker));
807
+ return result;
808
+ }
809
+ };
810
+
811
+ class JSI_EXPORT NativeInappRnSdkCxxSpecJSI : public TurboModule {
812
+ protected:
813
+ NativeInappRnSdkCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
814
+
815
+ public:
816
+ virtual jsi::Value startVerification(jsi::Runtime &rt, jsi::Object request) = 0;
817
+ virtual jsi::Value startVerificationFromUrl(jsi::Runtime &rt, jsi::String requestUrl) = 0;
818
+ virtual jsi::Value setOverrides(jsi::Runtime &rt, jsi::Object overrides) = 0;
819
+ virtual void reply(jsi::Runtime &rt, jsi::String replyId, bool reply) = 0;
820
+ virtual jsi::Value ping(jsi::Runtime &rt) = 0;
821
+
822
+ };
823
+
824
+ template <typename T>
825
+ class JSI_EXPORT NativeInappRnSdkCxxSpec : public TurboModule {
826
+ public:
827
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
828
+ return delegate_.create(rt, propName);
829
+ }
830
+
831
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
832
+ return delegate_.getPropertyNames(runtime);
833
+ }
834
+
835
+ static constexpr std::string_view kModuleName = "InappRnSdk";
836
+
837
+ protected:
838
+ NativeInappRnSdkCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
839
+ : TurboModule(std::string{NativeInappRnSdkCxxSpec::kModuleName}, jsInvoker),
840
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
841
+
842
+ template <typename OnLogsType> void emitOnLogs(OnLogsType value) {
843
+ static_assert(bridging::supportsFromJs<OnLogsType, jsi::String>, "value cannnot be converted to jsi::String");
844
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onLogs"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
845
+ return bridging::toJs(rt, eventValue, jsInvoker);
846
+ });
847
+ }
848
+
849
+ template <typename OnSessionLogsType> void emitOnSessionLogs(OnSessionLogsType value) {
850
+ static_assert(bridging::supportsFromJs<OnSessionLogsType, jsi::Object>, "value cannnot be converted to jsi::Object");
851
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onSessionLogs"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
852
+ return bridging::toJs(rt, eventValue, jsInvoker);
853
+ });
854
+ }
855
+
856
+ template <typename OnSessionCreateRequestType> void emitOnSessionCreateRequest(OnSessionCreateRequestType value) {
857
+ static_assert(bridging::supportsFromJs<OnSessionCreateRequestType, jsi::Object>, "value cannnot be converted to jsi::Object");
858
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onSessionCreateRequest"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
859
+ return bridging::toJs(rt, eventValue, jsInvoker);
860
+ });
861
+ }
862
+
863
+ template <typename OnSessionUpdateRequestType> void emitOnSessionUpdateRequest(OnSessionUpdateRequestType value) {
864
+ static_assert(bridging::supportsFromJs<OnSessionUpdateRequestType, jsi::Object>, "value cannnot be converted to jsi::Object");
865
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onSessionUpdateRequest"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
866
+ return bridging::toJs(rt, eventValue, jsInvoker);
867
+ });
868
+ }
869
+
870
+ private:
871
+ class Delegate : public NativeInappRnSdkCxxSpecJSI {
872
+ public:
873
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
874
+ NativeInappRnSdkCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
875
+ eventEmitterMap_["onLogs"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
876
+ eventEmitterMap_["onSessionLogs"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
877
+ eventEmitterMap_["onSessionCreateRequest"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
878
+ eventEmitterMap_["onSessionUpdateRequest"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
879
+ }
880
+
881
+ jsi::Value startVerification(jsi::Runtime &rt, jsi::Object request) override {
882
+ static_assert(
883
+ bridging::getParameterCount(&T::startVerification) == 2,
884
+ "Expected startVerification(...) to have 2 parameters");
885
+
886
+ return bridging::callFromJs<jsi::Value>(
887
+ rt, &T::startVerification, jsInvoker_, instance_, std::move(request));
888
+ }
889
+ jsi::Value startVerificationFromUrl(jsi::Runtime &rt, jsi::String requestUrl) override {
890
+ static_assert(
891
+ bridging::getParameterCount(&T::startVerificationFromUrl) == 2,
892
+ "Expected startVerificationFromUrl(...) to have 2 parameters");
893
+
894
+ return bridging::callFromJs<jsi::Value>(
895
+ rt, &T::startVerificationFromUrl, jsInvoker_, instance_, std::move(requestUrl));
896
+ }
897
+ jsi::Value setOverrides(jsi::Runtime &rt, jsi::Object overrides) override {
898
+ static_assert(
899
+ bridging::getParameterCount(&T::setOverrides) == 2,
900
+ "Expected setOverrides(...) to have 2 parameters");
901
+
902
+ return bridging::callFromJs<jsi::Value>(
903
+ rt, &T::setOverrides, jsInvoker_, instance_, std::move(overrides));
904
+ }
905
+ void reply(jsi::Runtime &rt, jsi::String replyId, bool reply) override {
906
+ static_assert(
907
+ bridging::getParameterCount(&T::reply) == 3,
908
+ "Expected reply(...) to have 3 parameters");
909
+
910
+ return bridging::callFromJs<void>(
911
+ rt, &T::reply, jsInvoker_, instance_, std::move(replyId), std::move(reply));
912
+ }
913
+ jsi::Value ping(jsi::Runtime &rt) override {
914
+ static_assert(
915
+ bridging::getParameterCount(&T::ping) == 1,
916
+ "Expected ping(...) to have 1 parameters");
917
+
918
+ return bridging::callFromJs<jsi::Value>(
919
+ rt, &T::ping, jsInvoker_, instance_);
920
+ }
921
+
922
+ private:
923
+ friend class NativeInappRnSdkCxxSpec;
924
+ T *instance_;
925
+ };
926
+
927
+ Delegate delegate_;
928
+ };
929
+
930
+ } // namespace facebook::react