appsonair-react-native-apppush 0.0.1-alpha

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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +540 -0
  3. package/android/build.gradle +177 -0
  4. package/android/gradle.properties +15 -0
  5. package/android/src/main/AndroidManifest.xml +2 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/appsonairreactnativeapppush/AppsonairReactNativeApppushModuleImpl.kt +767 -0
  8. package/android/src/main/java/com/appsonairreactnativeapppush/AppsonairReactNativeApppushPackage.kt +43 -0
  9. package/android/src/newarch/java/com/appsonairreactnativeapppush/AppsonairReactNativeApppushModule.kt +199 -0
  10. package/android/src/oldarch/java/com/appsonairreactnativeapppush/AppsonairReactNativeApppushModule.kt +249 -0
  11. package/appsonair-react-native-apppush.podspec +77 -0
  12. package/ios/AppsonairReactNativeApppush-Bridging-Header.h +12 -0
  13. package/ios/AppsonairReactNativeApppush.h +28 -0
  14. package/ios/AppsonairReactNativeApppush.mm +494 -0
  15. package/ios/AppsonairReactNativeApppushImpl.swift +594 -0
  16. package/lib/commonjs/NativeAppsonairApppush.js +48 -0
  17. package/lib/commonjs/NativeAppsonairApppush.js.map +1 -0
  18. package/lib/commonjs/index.js +686 -0
  19. package/lib/commonjs/index.js.map +1 -0
  20. package/lib/commonjs/types.js +2 -0
  21. package/lib/commonjs/types.js.map +1 -0
  22. package/lib/module/NativeAppsonairApppush.js +47 -0
  23. package/lib/module/NativeAppsonairApppush.js.map +1 -0
  24. package/lib/module/index.js +612 -0
  25. package/lib/module/index.js.map +1 -0
  26. package/lib/module/types.js +2 -0
  27. package/lib/module/types.js.map +1 -0
  28. package/lib/typescript/commonjs/package.json +1 -0
  29. package/lib/typescript/commonjs/src/NativeAppsonairApppush.d.ts +134 -0
  30. package/lib/typescript/commonjs/src/NativeAppsonairApppush.d.ts.map +1 -0
  31. package/lib/typescript/commonjs/src/index.d.ts +392 -0
  32. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  33. package/lib/typescript/commonjs/src/types.d.ts +221 -0
  34. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  35. package/lib/typescript/module/package.json +1 -0
  36. package/lib/typescript/module/src/NativeAppsonairApppush.d.ts +134 -0
  37. package/lib/typescript/module/src/NativeAppsonairApppush.d.ts.map +1 -0
  38. package/lib/typescript/module/src/index.d.ts +392 -0
  39. package/lib/typescript/module/src/index.d.ts.map +1 -0
  40. package/lib/typescript/module/src/types.d.ts +221 -0
  41. package/lib/typescript/module/src/types.d.ts.map +1 -0
  42. package/package.json +119 -0
  43. package/react-native.config.js +14 -0
  44. package/src/NativeAppsonairApppush.ts +188 -0
  45. package/src/index.tsx +745 -0
  46. package/src/types.ts +284 -0
@@ -0,0 +1,494 @@
1
+ #import "AppsonairReactNativeApppush.h"
2
+
3
+ // The Swift half. Under CocoaPods the pod's module name is pinned to
4
+ // AppsonairReactNativeApppush in the podspec, so this header name is stable; the
5
+ // bracket form is the fallback for build setups that expose it as a framework.
6
+ #if __has_include("AppsonairReactNativeApppush-Swift.h")
7
+ #import "AppsonairReactNativeApppush-Swift.h"
8
+ #else
9
+ #import <AppsonairReactNativeApppush/AppsonairReactNativeApppush-Swift.h>
10
+ #endif
11
+
12
+ /**
13
+ * Every method below is written once and serves both architectures.
14
+ *
15
+ * RCT_EXPORT_METHOD builds the selector from the JS method name and the argument
16
+ * labels, which is exactly how Codegen derives the NativeAppsonairApppushSpec
17
+ * protocol selectors. So `RCT_EXPORT_METHOD(login:(NSString *)externalId
18
+ * resolve:...)` produces `login:resolve:reject:` -- the same selector the
19
+ * protocol declares. Under the New Architecture the implementation satisfies the
20
+ * protocol; under the Old one the macro registers it with the bridge. Neither
21
+ * path needs a second body.
22
+ *
23
+ * The one thing that must hold for this to keep working: argument labels here
24
+ * have to match the parameter names in src/NativeAppsonairApppush.ts exactly. A
25
+ * rename on either side silently breaks the New Architecture build.
26
+ */
27
+ @implementation AppsonairReactNativeApppush {
28
+ AppsonairReactNativeApppushImpl *_impl;
29
+ BOOL _hasListeners;
30
+ }
31
+
32
+ RCT_EXPORT_MODULE()
33
+
34
+ - (instancetype)init
35
+ {
36
+ if (self = [super init]) {
37
+ _impl = [AppsonairReactNativeApppushImpl new];
38
+
39
+ // Events raised before JS subscribes would trip RCTEventEmitter's
40
+ // "sending event with no listeners" warning, so they are dropped here rather
41
+ // than queued -- a token or permission change that arrives before the first
42
+ // listener is re-readable through the corresponding getter.
43
+ __weak __typeof(self) weakSelf = self;
44
+ _impl.eventSink = ^(NSString *name, NSDictionary *body) {
45
+ __strong __typeof(weakSelf) strongSelf = weakSelf;
46
+ if (strongSelf && strongSelf->_hasListeners) {
47
+ [strongSelf sendEventWithName:name body:body];
48
+ }
49
+ };
50
+ }
51
+ return self;
52
+ }
53
+
54
+ /// The SDK is @MainActor-isolated and its initialize() touches UIKit, so the
55
+ /// module must be constructed on the main queue.
56
+ + (BOOL)requiresMainQueueSetup
57
+ {
58
+ return YES;
59
+ }
60
+
61
+ - (NSArray<NSString *> *)supportedEvents
62
+ {
63
+ return @[
64
+ @"AppsonairPush:onTokenUpdated",
65
+ @"AppsonairPush:onNotificationReceived",
66
+ @"AppsonairPush:onNotificationOpened",
67
+ @"AppsonairPush:onNotificationWillDisplay",
68
+ @"AppsonairPush:onPermissionChanged",
69
+ @"AppsonairPush:onSubscriptionChanged",
70
+ @"AppsonairPush:onUserStateChanged",
71
+ @"AppsonairPush:onSilentNotification",
72
+ // Declared but never emitted here: the Firebase Installation ID is an Android
73
+ // concept (parity B2). The list is kept identical to Android's so the two
74
+ // bridges stay diffable; RCTEventEmitter does not mind an unused entry.
75
+ @"AppsonairPush:onInstallationIdUpdated",
76
+ @"AppsonairPush:onError"
77
+ ];
78
+ }
79
+
80
+ - (void)startObserving
81
+ {
82
+ _hasListeners = YES;
83
+ }
84
+
85
+ - (void)stopObserving
86
+ {
87
+ _hasListeners = NO;
88
+ }
89
+
90
+ #pragma mark - Lifecycle
91
+
92
+ RCT_EXPORT_METHOD(initialize:(NSDictionary *)config
93
+ resolve:(RCTPromiseResolveBlock)resolve
94
+ reject:(RCTPromiseRejectBlock)reject)
95
+ {
96
+ [_impl initialize:config resolve:resolve reject:reject];
97
+ }
98
+
99
+ #pragma mark - Identity
100
+
101
+ RCT_EXPORT_METHOD(getDeviceId:(RCTPromiseResolveBlock)resolve
102
+ reject:(RCTPromiseRejectBlock)reject)
103
+ {
104
+ [_impl getDeviceId:resolve reject:reject];
105
+ }
106
+
107
+ RCT_EXPORT_METHOD(getSubscriptionId:(RCTPromiseResolveBlock)resolve
108
+ reject:(RCTPromiseRejectBlock)reject)
109
+ {
110
+ [_impl getSubscriptionId:resolve reject:reject];
111
+ }
112
+
113
+ RCT_EXPORT_METHOD(setSubscriptionId:(NSString *)id
114
+ resolve:(RCTPromiseResolveBlock)resolve
115
+ reject:(RCTPromiseRejectBlock)reject)
116
+ {
117
+ [_impl setSubscriptionId:id resolve:resolve reject:reject];
118
+ }
119
+
120
+ RCT_EXPORT_METHOD(getExternalId:(RCTPromiseResolveBlock)resolve
121
+ reject:(RCTPromiseRejectBlock)reject)
122
+ {
123
+ [_impl getExternalId:resolve reject:reject];
124
+ }
125
+
126
+ RCT_EXPORT_METHOD(login:(NSString *)externalId
127
+ resolve:(RCTPromiseResolveBlock)resolve
128
+ reject:(RCTPromiseRejectBlock)reject)
129
+ {
130
+ [_impl login:externalId resolve:resolve reject:reject];
131
+ }
132
+
133
+ RCT_EXPORT_METHOD(logout:(RCTPromiseResolveBlock)resolve
134
+ reject:(RCTPromiseRejectBlock)reject)
135
+ {
136
+ [_impl logout:resolve reject:reject];
137
+ }
138
+
139
+ #pragma mark - Token
140
+
141
+ RCT_EXPORT_METHOD(getToken:(RCTPromiseResolveBlock)resolve
142
+ reject:(RCTPromiseRejectBlock)reject)
143
+ {
144
+ [_impl getToken:resolve reject:reject];
145
+ }
146
+
147
+ RCT_EXPORT_METHOD(refreshToken:(RCTPromiseResolveBlock)resolve
148
+ reject:(RCTPromiseRejectBlock)reject)
149
+ {
150
+ [_impl refreshToken:resolve reject:reject];
151
+ }
152
+
153
+ RCT_EXPORT_METHOD(getInstallationId:(RCTPromiseResolveBlock)resolve
154
+ reject:(RCTPromiseRejectBlock)reject)
155
+ {
156
+ [_impl getInstallationId:resolve reject:reject];
157
+ }
158
+
159
+ RCT_EXPORT_METHOD(getApnsEnvironment:(RCTPromiseResolveBlock)resolve
160
+ reject:(RCTPromiseRejectBlock)reject)
161
+ {
162
+ [_impl getApnsEnvironment:resolve reject:reject];
163
+ }
164
+
165
+ #pragma mark - Permissions
166
+
167
+ RCT_EXPORT_METHOD(requestPermission:(BOOL)fallbackToSettings
168
+ resolve:(RCTPromiseResolveBlock)resolve
169
+ reject:(RCTPromiseRejectBlock)reject)
170
+ {
171
+ [_impl requestPermission:fallbackToSettings resolve:resolve reject:reject];
172
+ }
173
+
174
+ RCT_EXPORT_METHOD(getPermission:(RCTPromiseResolveBlock)resolve
175
+ reject:(RCTPromiseRejectBlock)reject)
176
+ {
177
+ [_impl getPermission:resolve reject:reject];
178
+ }
179
+
180
+ RCT_EXPORT_METHOD(getPermissionStatus:(RCTPromiseResolveBlock)resolve
181
+ reject:(RCTPromiseRejectBlock)reject)
182
+ {
183
+ [_impl getPermissionStatus:resolve reject:reject];
184
+ }
185
+
186
+ RCT_EXPORT_METHOD(canRequestPermission:(RCTPromiseResolveBlock)resolve
187
+ reject:(RCTPromiseRejectBlock)reject)
188
+ {
189
+ [_impl canRequestPermission:resolve reject:reject];
190
+ }
191
+
192
+ RCT_EXPORT_METHOD(registerForProvisionalAuthorization:(RCTPromiseResolveBlock)resolve
193
+ reject:(RCTPromiseRejectBlock)reject)
194
+ {
195
+ [_impl registerForProvisionalAuthorization:resolve reject:reject];
196
+ }
197
+
198
+ #pragma mark - Notifications
199
+
200
+ RCT_EXPORT_METHOD(clearAllNotifications:(RCTPromiseResolveBlock)resolve
201
+ reject:(RCTPromiseRejectBlock)reject)
202
+ {
203
+ [_impl clearAllNotifications:resolve reject:reject];
204
+ }
205
+
206
+ RCT_EXPORT_METHOD(removeNotification:(NSString *)notificationId
207
+ resolve:(RCTPromiseResolveBlock)resolve
208
+ reject:(RCTPromiseRejectBlock)reject)
209
+ {
210
+ [_impl removeNotification:notificationId resolve:resolve reject:reject];
211
+ }
212
+
213
+ RCT_EXPORT_METHOD(removeNotifications:(NSArray *)notificationIds
214
+ resolve:(RCTPromiseResolveBlock)resolve
215
+ reject:(RCTPromiseRejectBlock)reject)
216
+ {
217
+ [_impl removeNotifications:notificationIds resolve:resolve reject:reject];
218
+ }
219
+
220
+ RCT_EXPORT_METHOD(removeNotificationGroup:(NSString *)groupKey
221
+ resolve:(RCTPromiseResolveBlock)resolve
222
+ reject:(RCTPromiseRejectBlock)reject)
223
+ {
224
+ [_impl removeNotificationGroup:groupKey resolve:resolve reject:reject];
225
+ }
226
+
227
+ RCT_EXPORT_METHOD(createNotificationChannel:(NSDictionary *)config
228
+ resolve:(RCTPromiseResolveBlock)resolve
229
+ reject:(RCTPromiseRejectBlock)reject)
230
+ {
231
+ [_impl createNotificationChannel:config resolve:resolve reject:reject];
232
+ }
233
+
234
+ RCT_EXPORT_METHOD(deleteNotificationChannel:(NSString *)channelId
235
+ resolve:(RCTPromiseResolveBlock)resolve
236
+ reject:(RCTPromiseRejectBlock)reject)
237
+ {
238
+ [_impl deleteNotificationChannel:channelId resolve:resolve reject:reject];
239
+ }
240
+
241
+ #pragma mark - Badges
242
+
243
+ RCT_EXPORT_METHOD(getBadgeCount:(RCTPromiseResolveBlock)resolve
244
+ reject:(RCTPromiseRejectBlock)reject)
245
+ {
246
+ [_impl getBadgeCount:resolve reject:reject];
247
+ }
248
+
249
+ RCT_EXPORT_METHOD(setBadgeCount:(double)count
250
+ resolve:(RCTPromiseResolveBlock)resolve
251
+ reject:(RCTPromiseRejectBlock)reject)
252
+ {
253
+ [_impl setBadgeCount:count resolve:resolve reject:reject];
254
+ }
255
+
256
+ RCT_EXPORT_METHOD(incrementBadgeCount:(double)delta
257
+ resolve:(RCTPromiseResolveBlock)resolve
258
+ reject:(RCTPromiseRejectBlock)reject)
259
+ {
260
+ [_impl incrementBadgeCount:delta resolve:resolve reject:reject];
261
+ }
262
+
263
+ RCT_EXPORT_METHOD(clearBadgeCount:(RCTPromiseResolveBlock)resolve
264
+ reject:(RCTPromiseRejectBlock)reject)
265
+ {
266
+ [_impl clearBadgeCount:resolve reject:reject];
267
+ }
268
+
269
+ RCT_EXPORT_METHOD(setAutoClearBadgeOnForeground:(BOOL)enabled
270
+ resolve:(RCTPromiseResolveBlock)resolve
271
+ reject:(RCTPromiseRejectBlock)reject)
272
+ {
273
+ [_impl setAutoClearBadgeOnForeground:enabled resolve:resolve reject:reject];
274
+ }
275
+
276
+ RCT_EXPORT_METHOD(setAutoRegisterForRemoteNotifications:(BOOL)enabled
277
+ resolve:(RCTPromiseResolveBlock)resolve
278
+ reject:(RCTPromiseRejectBlock)reject)
279
+ {
280
+ [_impl setAutoRegisterForRemoteNotifications:enabled resolve:resolve reject:reject];
281
+ }
282
+
283
+ #pragma mark - User
284
+
285
+ RCT_EXPORT_METHOD(addTag:(NSString *)key
286
+ value:(NSString *)value
287
+ resolve:(RCTPromiseResolveBlock)resolve
288
+ reject:(RCTPromiseRejectBlock)reject)
289
+ {
290
+ [_impl addTag:key value:value resolve:resolve reject:reject];
291
+ }
292
+
293
+ RCT_EXPORT_METHOD(addTags:(NSDictionary *)tags
294
+ resolve:(RCTPromiseResolveBlock)resolve
295
+ reject:(RCTPromiseRejectBlock)reject)
296
+ {
297
+ [_impl addTags:tags resolve:resolve reject:reject];
298
+ }
299
+
300
+ RCT_EXPORT_METHOD(removeTag:(NSString *)key
301
+ resolve:(RCTPromiseResolveBlock)resolve
302
+ reject:(RCTPromiseRejectBlock)reject)
303
+ {
304
+ [_impl removeTag:key resolve:resolve reject:reject];
305
+ }
306
+
307
+ RCT_EXPORT_METHOD(removeTags:(NSArray *)keys
308
+ resolve:(RCTPromiseResolveBlock)resolve
309
+ reject:(RCTPromiseRejectBlock)reject)
310
+ {
311
+ [_impl removeTags:keys resolve:resolve reject:reject];
312
+ }
313
+
314
+ RCT_EXPORT_METHOD(getTags:(RCTPromiseResolveBlock)resolve
315
+ reject:(RCTPromiseRejectBlock)reject)
316
+ {
317
+ [_impl getTags:resolve reject:reject];
318
+ }
319
+
320
+ RCT_EXPORT_METHOD(addAlias:(NSString *)label
321
+ id:(NSString *)id
322
+ resolve:(RCTPromiseResolveBlock)resolve
323
+ reject:(RCTPromiseRejectBlock)reject)
324
+ {
325
+ [_impl addAlias:label id:id resolve:resolve reject:reject];
326
+ }
327
+
328
+ RCT_EXPORT_METHOD(addAliases:(NSDictionary *)aliases
329
+ resolve:(RCTPromiseResolveBlock)resolve
330
+ reject:(RCTPromiseRejectBlock)reject)
331
+ {
332
+ [_impl addAliases:aliases resolve:resolve reject:reject];
333
+ }
334
+
335
+ RCT_EXPORT_METHOD(removeAlias:(NSString *)label
336
+ resolve:(RCTPromiseResolveBlock)resolve
337
+ reject:(RCTPromiseRejectBlock)reject)
338
+ {
339
+ [_impl removeAlias:label resolve:resolve reject:reject];
340
+ }
341
+
342
+ RCT_EXPORT_METHOD(removeAliases:(NSArray *)labels
343
+ resolve:(RCTPromiseResolveBlock)resolve
344
+ reject:(RCTPromiseRejectBlock)reject)
345
+ {
346
+ [_impl removeAliases:labels resolve:resolve reject:reject];
347
+ }
348
+
349
+ RCT_EXPORT_METHOD(addEmail:(NSString *)address
350
+ resolve:(RCTPromiseResolveBlock)resolve
351
+ reject:(RCTPromiseRejectBlock)reject)
352
+ {
353
+ [_impl addEmail:address resolve:resolve reject:reject];
354
+ }
355
+
356
+ RCT_EXPORT_METHOD(removeEmail:(NSString *)address
357
+ resolve:(RCTPromiseResolveBlock)resolve
358
+ reject:(RCTPromiseRejectBlock)reject)
359
+ {
360
+ [_impl removeEmail:address resolve:resolve reject:reject];
361
+ }
362
+
363
+ RCT_EXPORT_METHOD(setLanguage:(NSString *)languageCode
364
+ resolve:(RCTPromiseResolveBlock)resolve
365
+ reject:(RCTPromiseRejectBlock)reject)
366
+ {
367
+ [_impl setLanguage:languageCode resolve:resolve reject:reject];
368
+ }
369
+
370
+ RCT_EXPORT_METHOD(getLanguage:(RCTPromiseResolveBlock)resolve
371
+ reject:(RCTPromiseRejectBlock)reject)
372
+ {
373
+ [_impl getLanguage:resolve reject:reject];
374
+ }
375
+
376
+ RCT_EXPORT_METHOD(getPushSubscription:(RCTPromiseResolveBlock)resolve
377
+ reject:(RCTPromiseRejectBlock)reject)
378
+ {
379
+ [_impl getPushSubscription:resolve reject:reject];
380
+ }
381
+
382
+ RCT_EXPORT_METHOD(optIn:(RCTPromiseResolveBlock)resolve
383
+ reject:(RCTPromiseRejectBlock)reject)
384
+ {
385
+ [_impl optIn:resolve reject:reject];
386
+ }
387
+
388
+ RCT_EXPORT_METHOD(optOut:(RCTPromiseResolveBlock)resolve
389
+ reject:(RCTPromiseRejectBlock)reject)
390
+ {
391
+ [_impl optOut:resolve reject:reject];
392
+ }
393
+
394
+ RCT_EXPORT_METHOD(getOptedIn:(RCTPromiseResolveBlock)resolve
395
+ reject:(RCTPromiseRejectBlock)reject)
396
+ {
397
+ [_impl getOptedIn:resolve reject:reject];
398
+ }
399
+
400
+ #pragma mark - Consent
401
+
402
+ RCT_EXPORT_METHOD(setConsentRequired:(BOOL)required
403
+ resolve:(RCTPromiseResolveBlock)resolve
404
+ reject:(RCTPromiseRejectBlock)reject)
405
+ {
406
+ [_impl setConsentRequired:required resolve:resolve reject:reject];
407
+ }
408
+
409
+ RCT_EXPORT_METHOD(getConsentRequired:(RCTPromiseResolveBlock)resolve
410
+ reject:(RCTPromiseRejectBlock)reject)
411
+ {
412
+ [_impl getConsentRequired:resolve reject:reject];
413
+ }
414
+
415
+ RCT_EXPORT_METHOD(setConsentGiven:(BOOL)given
416
+ resolve:(RCTPromiseResolveBlock)resolve
417
+ reject:(RCTPromiseRejectBlock)reject)
418
+ {
419
+ [_impl setConsentGiven:given resolve:resolve reject:reject];
420
+ }
421
+
422
+ RCT_EXPORT_METHOD(getConsentGiven:(RCTPromiseResolveBlock)resolve
423
+ reject:(RCTPromiseRejectBlock)reject)
424
+ {
425
+ [_impl getConsentGiven:resolve reject:reject];
426
+ }
427
+
428
+ #pragma mark - Test device
429
+
430
+ RCT_EXPORT_METHOD(setTestDevice:(BOOL)enabled
431
+ resolve:(RCTPromiseResolveBlock)resolve
432
+ reject:(RCTPromiseRejectBlock)reject)
433
+ {
434
+ [_impl setTestDevice:enabled resolve:resolve reject:reject];
435
+ }
436
+
437
+ RCT_EXPORT_METHOD(isTestDevice:(RCTPromiseResolveBlock)resolve
438
+ reject:(RCTPromiseRejectBlock)reject)
439
+ {
440
+ [_impl isTestDevice:resolve reject:reject];
441
+ }
442
+
443
+ #pragma mark - Background sync
444
+
445
+ RCT_EXPORT_METHOD(scheduleBackgroundSync:(NSDictionary *)options
446
+ resolve:(RCTPromiseResolveBlock)resolve
447
+ reject:(RCTPromiseRejectBlock)reject)
448
+ {
449
+ [_impl scheduleBackgroundSync:options resolve:resolve reject:reject];
450
+ }
451
+
452
+ RCT_EXPORT_METHOD(cancelBackgroundSync:(RCTPromiseResolveBlock)resolve
453
+ reject:(RCTPromiseRejectBlock)reject)
454
+ {
455
+ [_impl cancelBackgroundSync:resolve reject:reject];
456
+ }
457
+
458
+ #pragma mark - Debug
459
+
460
+ RCT_EXPORT_METHOD(setLogLevel:(NSString *)level
461
+ resolve:(RCTPromiseResolveBlock)resolve
462
+ reject:(RCTPromiseRejectBlock)reject)
463
+ {
464
+ [_impl setLogLevel:level resolve:resolve reject:reject];
465
+ }
466
+
467
+ #pragma mark - Foreground display control
468
+
469
+ RCT_EXPORT_METHOD(completeNotificationWillDisplay:(NSString *)notificationId
470
+ display:(BOOL)display
471
+ resolve:(RCTPromiseResolveBlock)resolve
472
+ reject:(RCTPromiseRejectBlock)reject)
473
+ {
474
+ [_impl completeNotificationWillDisplay:notificationId
475
+ display:display
476
+ resolve:resolve
477
+ reject:reject];
478
+ }
479
+
480
+ #pragma mark - TurboModule
481
+
482
+ // addListener: / removeListeners: are inherited from RCTEventEmitter, whose
483
+ // signatures already match the ones Codegen declares on the spec protocol, so
484
+ // there is nothing to add for them here.
485
+
486
+ #ifdef RCT_NEW_ARCH_ENABLED
487
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
488
+ (const facebook::react::ObjCTurboModule::InitParams &)params
489
+ {
490
+ return std::make_shared<facebook::react::NativeAppsonairApppushSpecJSI>(params);
491
+ }
492
+ #endif
493
+
494
+ @end