react-onesignal 3.0.1 → 3.1.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/index.ts CHANGED
@@ -161,7 +161,7 @@ interface IOSNotification {
161
161
  * If this value is the same as existing notification, it will replace it
162
162
  * Can be set when creating the notification with "Web Push Topic" on the dashboard
163
163
  * or web_push_topic from the REST API.
164
- */
164
+ */
165
165
  readonly topic?: string;
166
166
 
167
167
  /**
@@ -213,7 +213,7 @@ type NotificationEventTypeMap = {
213
213
  'dismiss': NotificationDismissEvent;
214
214
  'permissionChange': boolean;
215
215
  'permissionPromptDisplay': void;
216
- }
216
+ };
217
217
 
218
218
  interface NotificationForegroundWillDisplayEvent {
219
219
  readonly notification: IOSNotification;
@@ -229,6 +229,13 @@ interface NotificationClickEvent {
229
229
  readonly result: NotificationClickResult;
230
230
  }
231
231
 
232
+ type UserChangeEvent = {
233
+ current: UserNamespaceProperties;
234
+ };
235
+ type UserNamespaceProperties = {
236
+ onesignalId: string | undefined;
237
+ externalId: string | undefined;
238
+ };
232
239
 
233
240
  interface IInitObject {
234
241
  appId: string;
@@ -243,10 +250,11 @@ interface IInitObject {
243
250
  autoRegister?: boolean;
244
251
  notificationClickHandlerMatch?: string;
245
252
  notificationClickHandlerAction?: string;
253
+ path?: string;
246
254
  serviceWorkerParam?: { scope: string };
247
255
  serviceWorkerPath?: string;
256
+ serviceWorkerOverrideForTypical?: boolean;
248
257
  serviceWorkerUpdaterPath?: string;
249
- path?: string;
250
258
  allowLocalhostAsSecureOrigin?: boolean;
251
259
  [key: string]: any;
252
260
  }
@@ -290,6 +298,8 @@ interface IOneSignalSession {
290
298
  sendUniqueOutcome(outcomeName: string): Promise<void>;
291
299
  }
292
300
  interface IOneSignalUser {
301
+ onesignalId: string | undefined;
302
+ externalId: string | undefined;
293
303
  PushSubscription: IOneSignalPushSubscription;
294
304
  addAlias(label: string, id: string): void;
295
305
  addAliases(aliases: { [key: string]: string }): void;
@@ -303,6 +313,11 @@ interface IOneSignalUser {
303
313
  addTags(tags: { [key: string]: string }): void;
304
314
  removeTag(key: string): void;
305
315
  removeTags(keys: string[]): void;
316
+ getTags(): { [key: string]: string };
317
+ addEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;
318
+ removeEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;
319
+ setLanguage(language: string): void;
320
+ getLanguage(): string;
306
321
  }
307
322
  interface IOneSignalPushSubscription {
308
323
  id: string | null | undefined;
@@ -313,17 +328,16 @@ interface IOneSignalPushSubscription {
313
328
  addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
314
329
  removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
315
330
  }
316
-
317
331
  function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
318
332
  return new Promise((resolve, reject) => {
319
333
  if (isOneSignalScriptFailed) {
320
- reject();
334
+ reject(new Error('OneSignal script failed to load.'));
335
+ return;
321
336
  }
322
337
 
323
338
  try {
324
339
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
325
- OneSignal.login(externalId, jwtToken)
326
- .then((value: any) => resolve(value))
340
+ OneSignal.login(externalId, jwtToken).then(() => resolve())
327
341
  .catch((error: any) => reject(error));
328
342
  });
329
343
  } catch (error) {
@@ -331,17 +345,16 @@ function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
331
345
  }
332
346
  });
333
347
  }
334
-
335
348
  function oneSignalLogout(): Promise<void> {
336
349
  return new Promise((resolve, reject) => {
337
350
  if (isOneSignalScriptFailed) {
338
- reject();
351
+ reject(new Error('OneSignal script failed to load.'));
352
+ return;
339
353
  }
340
354
 
341
355
  try {
342
356
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
343
- OneSignal.logout()
344
- .then((value: any) => resolve(value))
357
+ OneSignal.logout().then(() => resolve())
345
358
  .catch((error: any) => reject(error));
346
359
  });
347
360
  } catch (error) {
@@ -349,17 +362,16 @@ function oneSignalLogout(): Promise<void> {
349
362
  }
350
363
  });
351
364
  }
352
-
353
365
  function oneSignalSetConsentGiven(consent: boolean): Promise<void> {
354
366
  return new Promise((resolve, reject) => {
355
367
  if (isOneSignalScriptFailed) {
356
- reject();
368
+ reject(new Error('OneSignal script failed to load.'));
369
+ return;
357
370
  }
358
371
 
359
372
  try {
360
373
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
361
- OneSignal.setConsentGiven(consent)
362
- .then((value: any) => resolve(value))
374
+ OneSignal.setConsentGiven(consent).then(() => resolve())
363
375
  .catch((error: any) => reject(error));
364
376
  });
365
377
  } catch (error) {
@@ -367,17 +379,16 @@ function oneSignalSetConsentGiven(consent: boolean): Promise<void> {
367
379
  }
368
380
  });
369
381
  }
370
-
371
382
  function oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {
372
383
  return new Promise((resolve, reject) => {
373
384
  if (isOneSignalScriptFailed) {
374
- reject();
385
+ reject(new Error('OneSignal script failed to load.'));
386
+ return;
375
387
  }
376
388
 
377
389
  try {
378
390
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
379
- OneSignal.setConsentRequired(requiresConsent)
380
- .then((value: any) => resolve(value))
391
+ OneSignal.setConsentRequired(requiresConsent).then(() => resolve())
381
392
  .catch((error: any) => reject(error));
382
393
  });
383
394
  } catch (error) {
@@ -385,17 +396,16 @@ function oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {
385
396
  }
386
397
  });
387
398
  }
388
-
389
399
  function slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {
390
400
  return new Promise((resolve, reject) => {
391
401
  if (isOneSignalScriptFailed) {
392
- reject();
402
+ reject(new Error('OneSignal script failed to load.'));
403
+ return;
393
404
  }
394
405
 
395
406
  try {
396
407
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
397
- OneSignal.Slidedown.promptPush(options)
398
- .then((value: any) => resolve(value))
408
+ OneSignal.Slidedown.promptPush(options).then(() => resolve())
399
409
  .catch((error: any) => reject(error));
400
410
  });
401
411
  } catch (error) {
@@ -403,17 +413,16 @@ function slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {
403
413
  }
404
414
  });
405
415
  }
406
-
407
416
  function slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {
408
417
  return new Promise((resolve, reject) => {
409
418
  if (isOneSignalScriptFailed) {
410
- reject();
419
+ reject(new Error('OneSignal script failed to load.'));
420
+ return;
411
421
  }
412
422
 
413
423
  try {
414
424
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
415
- OneSignal.Slidedown.promptPushCategories(options)
416
- .then((value: any) => resolve(value))
425
+ OneSignal.Slidedown.promptPushCategories(options).then(() => resolve())
417
426
  .catch((error: any) => reject(error));
418
427
  });
419
428
  } catch (error) {
@@ -421,17 +430,16 @@ function slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<voi
421
430
  }
422
431
  });
423
432
  }
424
-
425
433
  function slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {
426
434
  return new Promise((resolve, reject) => {
427
435
  if (isOneSignalScriptFailed) {
428
- reject();
436
+ reject(new Error('OneSignal script failed to load.'));
437
+ return;
429
438
  }
430
439
 
431
440
  try {
432
441
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
433
- OneSignal.Slidedown.promptSms(options)
434
- .then((value: any) => resolve(value))
442
+ OneSignal.Slidedown.promptSms(options).then(() => resolve())
435
443
  .catch((error: any) => reject(error));
436
444
  });
437
445
  } catch (error) {
@@ -439,17 +447,16 @@ function slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {
439
447
  }
440
448
  });
441
449
  }
442
-
443
450
  function slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {
444
451
  return new Promise((resolve, reject) => {
445
452
  if (isOneSignalScriptFailed) {
446
- reject();
453
+ reject(new Error('OneSignal script failed to load.'));
454
+ return;
447
455
  }
448
456
 
449
457
  try {
450
458
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
451
- OneSignal.Slidedown.promptEmail(options)
452
- .then((value: any) => resolve(value))
459
+ OneSignal.Slidedown.promptEmail(options).then(() => resolve())
453
460
  .catch((error: any) => reject(error));
454
461
  });
455
462
  } catch (error) {
@@ -457,17 +464,16 @@ function slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {
457
464
  }
458
465
  });
459
466
  }
460
-
461
467
  function slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {
462
468
  return new Promise((resolve, reject) => {
463
469
  if (isOneSignalScriptFailed) {
464
- reject();
470
+ reject(new Error('OneSignal script failed to load.'));
471
+ return;
465
472
  }
466
473
 
467
474
  try {
468
475
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
469
- OneSignal.Slidedown.promptSmsAndEmail(options)
470
- .then((value: any) => resolve(value))
476
+ OneSignal.Slidedown.promptSmsAndEmail(options).then(() => resolve())
471
477
  .catch((error: any) => reject(error));
472
478
  });
473
479
  } catch (error) {
@@ -475,29 +481,30 @@ function slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>
475
481
  }
476
482
  });
477
483
  }
478
-
479
484
  function slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
485
+
480
486
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
481
- OneSignal.Slidedown.addEventListener(event, listener)
487
+ OneSignal.Slidedown.addEventListener(event, listener);
482
488
  });
489
+
483
490
  }
484
-
485
491
  function slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
492
+
486
493
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
487
- OneSignal.Slidedown.removeEventListener(event, listener)
494
+ OneSignal.Slidedown.removeEventListener(event, listener);
488
495
  });
496
+
489
497
  }
490
-
491
498
  function notificationsSetDefaultUrl(url: string): Promise<void> {
492
499
  return new Promise((resolve, reject) => {
493
500
  if (isOneSignalScriptFailed) {
494
- reject();
501
+ reject(new Error('OneSignal script failed to load.'));
502
+ return;
495
503
  }
496
504
 
497
505
  try {
498
506
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
499
- OneSignal.Notifications.setDefaultUrl(url)
500
- .then((value: any) => resolve(value))
507
+ OneSignal.Notifications.setDefaultUrl(url).then(() => resolve())
501
508
  .catch((error: any) => reject(error));
502
509
  });
503
510
  } catch (error) {
@@ -505,17 +512,16 @@ function notificationsSetDefaultUrl(url: string): Promise<void> {
505
512
  }
506
513
  });
507
514
  }
508
-
509
515
  function notificationsSetDefaultTitle(title: string): Promise<void> {
510
516
  return new Promise((resolve, reject) => {
511
517
  if (isOneSignalScriptFailed) {
512
- reject();
518
+ reject(new Error('OneSignal script failed to load.'));
519
+ return;
513
520
  }
514
521
 
515
522
  try {
516
523
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
517
- OneSignal.Notifications.setDefaultTitle(title)
518
- .then((value: any) => resolve(value))
524
+ OneSignal.Notifications.setDefaultTitle(title).then(() => resolve())
519
525
  .catch((error: any) => reject(error));
520
526
  });
521
527
  } catch (error) {
@@ -523,17 +529,16 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
523
529
  }
524
530
  });
525
531
  }
526
-
527
532
  function notificationsRequestPermission(): Promise<void> {
528
533
  return new Promise((resolve, reject) => {
529
534
  if (isOneSignalScriptFailed) {
530
- reject();
535
+ reject(new Error('OneSignal script failed to load.'));
536
+ return;
531
537
  }
532
538
 
533
539
  try {
534
540
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
535
- OneSignal.Notifications.requestPermission()
536
- .then((value: any) => resolve(value))
541
+ OneSignal.Notifications.requestPermission().then(() => resolve())
537
542
  .catch((error: any) => reject(error));
538
543
  });
539
544
  } catch (error) {
@@ -541,29 +546,30 @@ function notificationsRequestPermission(): Promise<void> {
541
546
  }
542
547
  });
543
548
  }
544
-
545
549
  function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
550
+
546
551
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
547
- OneSignal.Notifications.addEventListener(event, listener)
552
+ OneSignal.Notifications.addEventListener(event, listener);
548
553
  });
554
+
549
555
  }
550
-
551
556
  function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
557
+
552
558
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
553
- OneSignal.Notifications.removeEventListener(event, listener)
559
+ OneSignal.Notifications.removeEventListener(event, listener);
554
560
  });
561
+
555
562
  }
556
-
557
563
  function sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {
558
564
  return new Promise((resolve, reject) => {
559
565
  if (isOneSignalScriptFailed) {
560
- reject();
566
+ reject(new Error('OneSignal script failed to load.'));
567
+ return;
561
568
  }
562
569
 
563
570
  try {
564
571
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
565
- OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
566
- .then((value: any) => resolve(value))
572
+ OneSignal.Session.sendOutcome(outcomeName, outcomeWeight).then(() => resolve())
567
573
  .catch((error: any) => reject(error));
568
574
  });
569
575
  } catch (error) {
@@ -571,17 +577,16 @@ function sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promis
571
577
  }
572
578
  });
573
579
  }
574
-
575
580
  function sessionSendUniqueOutcome(outcomeName: string): Promise<void> {
576
581
  return new Promise((resolve, reject) => {
577
582
  if (isOneSignalScriptFailed) {
578
- reject();
583
+ reject(new Error('OneSignal script failed to load.'));
584
+ return;
579
585
  }
580
586
 
581
587
  try {
582
588
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
583
- OneSignal.Session.sendUniqueOutcome(outcomeName)
584
- .then((value: any) => resolve(value))
589
+ OneSignal.Session.sendUniqueOutcome(outcomeName).then(() => resolve())
585
590
  .catch((error: any) => reject(error));
586
591
  });
587
592
  } catch (error) {
@@ -589,89 +594,135 @@ function sessionSendUniqueOutcome(outcomeName: string): Promise<void> {
589
594
  }
590
595
  });
591
596
  }
592
-
593
597
  function userAddAlias(label: string, id: string): void {
598
+
594
599
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
595
- OneSignal.User.addAlias(label, id)
600
+ OneSignal.User.addAlias(label, id);
596
601
  });
602
+
597
603
  }
598
-
599
604
  function userAddAliases(aliases: { [key: string]: string }): void {
605
+
600
606
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
601
- OneSignal.User.addAliases(aliases)
607
+ OneSignal.User.addAliases(aliases);
602
608
  });
609
+
603
610
  }
604
-
605
611
  function userRemoveAlias(label: string): void {
612
+
606
613
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
607
- OneSignal.User.removeAlias(label)
614
+ OneSignal.User.removeAlias(label);
608
615
  });
616
+
609
617
  }
610
-
611
618
  function userRemoveAliases(labels: string[]): void {
619
+
612
620
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
613
- OneSignal.User.removeAliases(labels)
621
+ OneSignal.User.removeAliases(labels);
614
622
  });
623
+
615
624
  }
616
-
617
625
  function userAddEmail(email: string): void {
626
+
618
627
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
619
- OneSignal.User.addEmail(email)
628
+ OneSignal.User.addEmail(email);
620
629
  });
630
+
621
631
  }
622
-
623
632
  function userRemoveEmail(email: string): void {
633
+
624
634
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
625
- OneSignal.User.removeEmail(email)
635
+ OneSignal.User.removeEmail(email);
626
636
  });
637
+
627
638
  }
628
-
629
639
  function userAddSms(smsNumber: string): void {
640
+
630
641
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
631
- OneSignal.User.addSms(smsNumber)
642
+ OneSignal.User.addSms(smsNumber);
632
643
  });
644
+
633
645
  }
634
-
635
646
  function userRemoveSms(smsNumber: string): void {
647
+
636
648
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
637
- OneSignal.User.removeSms(smsNumber)
649
+ OneSignal.User.removeSms(smsNumber);
638
650
  });
651
+
639
652
  }
640
-
641
653
  function userAddTag(key: string, value: string): void {
654
+
642
655
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
643
- OneSignal.User.addTag(key, value)
656
+ OneSignal.User.addTag(key, value);
644
657
  });
658
+
645
659
  }
646
-
647
660
  function userAddTags(tags: { [key: string]: string }): void {
661
+
648
662
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
649
- OneSignal.User.addTags(tags)
663
+ OneSignal.User.addTags(tags);
650
664
  });
665
+
651
666
  }
652
-
653
667
  function userRemoveTag(key: string): void {
668
+
654
669
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
655
- OneSignal.User.removeTag(key)
670
+ OneSignal.User.removeTag(key);
656
671
  });
672
+
657
673
  }
658
-
659
674
  function userRemoveTags(keys: string[]): void {
675
+
660
676
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
661
- OneSignal.User.removeTags(keys)
677
+ OneSignal.User.removeTags(keys);
662
678
  });
679
+
680
+ }
681
+ function userGetTags(): { [key: string]: string } {
682
+ let retVal: { [key: string]: string };
683
+ window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
684
+ retVal = OneSignal.User.getTags();
685
+ });
686
+ return retVal;
687
+ }
688
+ function userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {
689
+
690
+ window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
691
+ OneSignal.User.addEventListener(event, listener);
692
+ });
693
+
694
+ }
695
+ function userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {
696
+
697
+ window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
698
+ OneSignal.User.removeEventListener(event, listener);
699
+ });
700
+
701
+ }
702
+ function userSetLanguage(language: string): void {
703
+
704
+ window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
705
+ OneSignal.User.setLanguage(language);
706
+ });
707
+
708
+ }
709
+ function userGetLanguage(): string {
710
+ let retVal: string;
711
+ window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
712
+ retVal = OneSignal.User.getLanguage();
713
+ });
714
+ return retVal;
663
715
  }
664
-
665
716
  function pushSubscriptionOptIn(): Promise<void> {
666
717
  return new Promise((resolve, reject) => {
667
718
  if (isOneSignalScriptFailed) {
668
- reject();
719
+ reject(new Error('OneSignal script failed to load.'));
720
+ return;
669
721
  }
670
722
 
671
723
  try {
672
724
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
673
- OneSignal.User.PushSubscription.optIn()
674
- .then((value: any) => resolve(value))
725
+ OneSignal.User.PushSubscription.optIn().then(() => resolve())
675
726
  .catch((error: any) => reject(error));
676
727
  });
677
728
  } catch (error) {
@@ -679,17 +730,16 @@ function pushSubscriptionOptIn(): Promise<void> {
679
730
  }
680
731
  });
681
732
  }
682
-
683
733
  function pushSubscriptionOptOut(): Promise<void> {
684
734
  return new Promise((resolve, reject) => {
685
735
  if (isOneSignalScriptFailed) {
686
- reject();
736
+ reject(new Error('OneSignal script failed to load.'));
737
+ return;
687
738
  }
688
739
 
689
740
  try {
690
741
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
691
- OneSignal.User.PushSubscription.optOut()
692
- .then((value: any) => resolve(value))
742
+ OneSignal.User.PushSubscription.optOut().then(() => resolve())
693
743
  .catch((error: any) => reject(error));
694
744
  });
695
745
  } catch (error) {
@@ -697,28 +747,31 @@ function pushSubscriptionOptOut(): Promise<void> {
697
747
  }
698
748
  });
699
749
  }
700
-
701
750
  function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
751
+
702
752
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
703
- OneSignal.User.PushSubscription.addEventListener(event, listener)
753
+ OneSignal.User.PushSubscription.addEventListener(event, listener);
704
754
  });
755
+
705
756
  }
706
-
707
757
  function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
758
+
708
759
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
709
- OneSignal.User.PushSubscription.removeEventListener(event, listener)
760
+ OneSignal.User.PushSubscription.removeEventListener(event, listener);
710
761
  });
762
+
711
763
  }
712
-
713
764
  function debugSetLogLevel(logLevel: string): void {
765
+
714
766
  window.OneSignalDeferred?.push((OneSignal: IOneSignalOneSignal) => {
715
- OneSignal.Debug.setLogLevel(logLevel)
767
+ OneSignal.Debug.setLogLevel(logLevel);
716
768
  });
769
+
717
770
  }
718
771
  const PushSubscriptionNamespace: IOneSignalPushSubscription = {
719
- get id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id },
720
- get token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token },
721
- get optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn },
772
+ get id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },
773
+ get token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },
774
+ get optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },
722
775
  optIn: pushSubscriptionOptIn,
723
776
  optOut: pushSubscriptionOptOut,
724
777
  addEventListener: pushSubscriptionAddEventListener,
@@ -726,6 +779,8 @@ const PushSubscriptionNamespace: IOneSignalPushSubscription = {
726
779
  };
727
780
 
728
781
  const UserNamespace: IOneSignalUser = {
782
+ get onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },
783
+ get externalId(): string | undefined { return window.OneSignal?.User?.externalId; },
729
784
  addAlias: userAddAlias,
730
785
  addAliases: userAddAliases,
731
786
  removeAlias: userRemoveAlias,
@@ -738,6 +793,11 @@ const UserNamespace: IOneSignalUser = {
738
793
  addTags: userAddTags,
739
794
  removeTag: userRemoveTag,
740
795
  removeTags: userRemoveTags,
796
+ getTags: userGetTags,
797
+ addEventListener: userAddEventListener,
798
+ removeEventListener: userRemoveEventListener,
799
+ setLanguage: userSetLanguage,
800
+ getLanguage: userGetLanguage,
741
801
  PushSubscription: PushSubscriptionNamespace,
742
802
  };
743
803
 
package/package.json CHANGED
@@ -1,9 +1,19 @@
1
1
  {
2
2
  "name": "react-onesignal",
3
- "version": "3.0.1",
3
+ "version": "3.1.1",
4
4
  "description": "React OneSignal Module: Make it easy to integrate OneSignal with your React App!",
5
5
  "author": "rgomezp",
6
- "contributors": [{ "name": "Rodrigo Gomez-Palacio" }, { "name": "Pedro Bini" }, { "name": "Graham Marlow" }],
6
+ "contributors": [
7
+ {
8
+ "name": "Rodrigo Gomez-Palacio"
9
+ },
10
+ {
11
+ "name": "Pedro Bini"
12
+ },
13
+ {
14
+ "name": "Graham Marlow"
15
+ }
16
+ ],
7
17
  "homepage": "https://onesignal.com",
8
18
  "repository": "https://github.com/OneSignal/react-onesignal.git",
9
19
  "license": "MIT",