react-onesignal 2.0.1 → 2.0.4

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/dist/index.es.js CHANGED
@@ -1,1126 +1,1010 @@
1
- function _toConsumableArray(arr) {
2
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
3
- }
4
-
5
- function _arrayWithoutHoles(arr) {
6
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
7
- }
8
-
9
- function _iterableToArray(iter) {
10
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11
- }
12
-
13
- function _unsupportedIterableToArray(o, minLen) {
14
- if (!o) return;
15
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
16
- var n = Object.prototype.toString.call(o).slice(8, -1);
17
- if (n === "Object" && o.constructor) n = o.constructor.name;
18
- if (n === "Map" || n === "Set") return Array.from(o);
19
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
20
- }
21
-
22
- function _arrayLikeToArray(arr, len) {
23
- if (len == null || len > arr.length) len = arr.length;
24
-
25
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
26
-
27
- return arr2;
28
- }
29
-
30
- function _nonIterableSpread() {
31
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
32
- }
33
-
34
- var ONESIGNAL_SDK_ID = 'onesignal-sdk';
35
- var MODULE_ID = 'onesignal-module';
36
- var ONE_SIGNAL_SCRIPT_SRC = 'https://cdn.onesignal.com/sdks/OneSignalSDK.js';
37
- var ONESIGNAL_NOT_SETUP_ERROR = 'OneSignal is not setup correctly.';
38
- var reactOneSignalFunctionQueue = [];
39
- var MAX_TIMEOUT = 30;
40
-
41
- var getModuleScriptBody = function getModuleScriptBody() {
42
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
43
- var mappedOptions = JSON.stringify(options, null, 2);
44
- return "\n var OneSignal = window.OneSignal || [];\n OneSignal.push(function() {\n OneSignal.init(".concat(mappedOptions, ");\n });\n ");
45
- };
46
-
47
- var injectScript = function injectScript(id, buildScript) {
48
- var hasScript = !!document.getElementById(id);
49
-
50
- if (hasScript) {
51
- return;
52
- }
53
-
54
- var script = document.createElement('script');
55
- script.id = id;
56
- script = buildScript(script);
57
- document.body.appendChild(script);
58
- };
59
-
60
- var injectSDKScript = function injectSDKScript() {
61
- injectScript(ONESIGNAL_SDK_ID, function (script) {
62
- script.src = ONE_SIGNAL_SCRIPT_SRC;
63
- return script;
64
- });
65
- };
66
-
67
- var injectModuleScript = function injectModuleScript() {
68
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
- injectScript(MODULE_ID, function (script) {
70
- script.innerHTML = getModuleScriptBody(options);
71
- script.async = true;
72
- return script;
73
- });
74
- };
75
-
76
- var processQueuedOneSignalFunctions = function processQueuedOneSignalFunctions() {
77
- reactOneSignalFunctionQueue.forEach(function (element) {
78
- var name = element.name,
79
- args = element.args,
80
- promiseResolver = element.promiseResolver;
81
-
82
- if (!!promiseResolver) {
83
- OneSignalReact[name].apply(OneSignalReact, _toConsumableArray(args)).then(function (result) {
84
- promiseResolver(result);
85
- });
86
- } else {
87
- OneSignalReact[name].apply(OneSignalReact, _toConsumableArray(args));
88
- }
89
- });
90
- };
91
-
92
- var init = function init(options) {
93
- return new Promise(function (resolve) {
94
- if (!options || !options.appId) {
95
- throw new Error('You need to provide your OneSignal appId.');
96
- }
97
-
98
- if (!document) {
99
- return;
100
- }
101
-
102
- injectSDKScript();
103
- injectModuleScript(options);
104
- var timeout = setTimeout(function () {
105
- console.error(ONESIGNAL_NOT_SETUP_ERROR);
106
- }, MAX_TIMEOUT * 1000);
107
- OneSignal.push(function () {
108
- clearTimeout(timeout);
109
- processQueuedOneSignalFunctions();
110
- resolve();
111
- });
112
- });
113
- };
114
-
115
- function on(event, listener) {
116
- var oneSignal = window["OneSignal"] || null;
117
-
118
- if (!oneSignal) {
119
- reactOneSignalFunctionQueue.push({
120
- name: "on",
121
- args: arguments
122
- });
123
- return;
124
- }
125
-
126
- OneSignal.push(function () {
127
- OneSignal.on(event, listener);
128
- });
129
- }
130
-
131
- function off(event, listener) {
132
- var oneSignal = window["OneSignal"] || null;
133
-
134
- if (!oneSignal) {
135
- reactOneSignalFunctionQueue.push({
136
- name: "off",
137
- args: arguments
138
- });
139
- return;
140
- }
141
-
142
- OneSignal.push(function () {
143
- OneSignal.off(event, listener);
144
- });
145
- }
146
-
147
- function once(event, listener) {
148
- var oneSignal = window["OneSignal"] || null;
149
-
150
- if (!oneSignal) {
151
- reactOneSignalFunctionQueue.push({
152
- name: "once",
153
- args: arguments
154
- });
155
- return;
156
- }
157
-
158
- OneSignal.push(function () {
159
- OneSignal.once(event, listener);
160
- });
161
- }
162
-
163
- function isPushNotificationsEnabled(callback) {
164
- var _arguments = arguments;
165
- return new Promise(function (resolve, reject) {
166
- var oneSignal = window["OneSignal"] || null;
167
-
168
- if (!oneSignal) {
169
- reactOneSignalFunctionQueue.push({
170
- name: "isPushNotificationsEnabled",
171
- args: _arguments,
172
- promiseResolver: resolve
173
- });
174
- return;
175
- }
176
-
177
- try {
178
- OneSignal.push(function () {
179
- OneSignal.isPushNotificationsEnabled(callback).then(function (value) {
180
- return resolve(value);
181
- })["catch"](function (error) {
182
- return reject(error);
183
- });
184
- });
185
- } catch (error) {
186
- reject(error);
187
- }
188
- });
189
- }
190
-
191
- function showHttpPrompt(options) {
192
- var _arguments2 = arguments;
193
- return new Promise(function (resolve, reject) {
194
- var oneSignal = window["OneSignal"] || null;
195
-
196
- if (!oneSignal) {
197
- reactOneSignalFunctionQueue.push({
198
- name: "showHttpPrompt",
199
- args: _arguments2,
200
- promiseResolver: resolve
201
- });
202
- return;
203
- }
204
-
205
- try {
206
- OneSignal.push(function () {
207
- OneSignal.showHttpPrompt(options).then(function (value) {
208
- return resolve(value);
209
- })["catch"](function (error) {
210
- return reject(error);
211
- });
212
- });
213
- } catch (error) {
214
- reject(error);
215
- }
216
- });
217
- }
218
-
219
- function registerForPushNotifications(options) {
220
- var _arguments3 = arguments;
221
- return new Promise(function (resolve, reject) {
222
- var oneSignal = window["OneSignal"] || null;
223
-
224
- if (!oneSignal) {
225
- reactOneSignalFunctionQueue.push({
226
- name: "registerForPushNotifications",
227
- args: _arguments3,
228
- promiseResolver: resolve
229
- });
230
- return;
231
- }
232
-
233
- try {
234
- OneSignal.push(function () {
235
- OneSignal.registerForPushNotifications(options).then(function (value) {
236
- return resolve(value);
237
- })["catch"](function (error) {
238
- return reject(error);
239
- });
240
- });
241
- } catch (error) {
242
- reject(error);
243
- }
244
- });
245
- }
246
-
247
- function setDefaultNotificationUrl(url) {
248
- var _arguments4 = arguments;
249
- return new Promise(function (resolve, reject) {
250
- var oneSignal = window["OneSignal"] || null;
251
-
252
- if (!oneSignal) {
253
- reactOneSignalFunctionQueue.push({
254
- name: "setDefaultNotificationUrl",
255
- args: _arguments4,
256
- promiseResolver: resolve
257
- });
258
- return;
259
- }
260
-
261
- try {
262
- OneSignal.push(function () {
263
- OneSignal.setDefaultNotificationUrl(url).then(function (value) {
264
- return resolve(value);
265
- })["catch"](function (error) {
266
- return reject(error);
267
- });
268
- });
269
- } catch (error) {
270
- reject(error);
271
- }
272
- });
273
- }
274
-
275
- function setDefaultTitle(title) {
276
- var _arguments5 = arguments;
277
- return new Promise(function (resolve, reject) {
278
- var oneSignal = window["OneSignal"] || null;
279
-
280
- if (!oneSignal) {
281
- reactOneSignalFunctionQueue.push({
282
- name: "setDefaultTitle",
283
- args: _arguments5,
284
- promiseResolver: resolve
285
- });
286
- return;
287
- }
288
-
289
- try {
290
- OneSignal.push(function () {
291
- OneSignal.setDefaultTitle(title).then(function (value) {
292
- return resolve(value);
293
- })["catch"](function (error) {
294
- return reject(error);
295
- });
296
- });
297
- } catch (error) {
298
- reject(error);
299
- }
300
- });
301
- }
302
-
303
- function getTags(callback) {
304
- var _arguments6 = arguments;
305
- return new Promise(function (resolve, reject) {
306
- var oneSignal = window["OneSignal"] || null;
307
-
308
- if (!oneSignal) {
309
- reactOneSignalFunctionQueue.push({
310
- name: "getTags",
311
- args: _arguments6,
312
- promiseResolver: resolve
313
- });
314
- return;
315
- }
316
-
317
- try {
318
- OneSignal.push(function () {
319
- OneSignal.getTags(callback).then(function (value) {
320
- return resolve(value);
321
- })["catch"](function (error) {
322
- return reject(error);
323
- });
324
- });
325
- } catch (error) {
326
- reject(error);
327
- }
328
- });
329
- }
330
-
331
- function sendTag(key, value, callback) {
332
- var _arguments7 = arguments;
333
- return new Promise(function (resolve, reject) {
334
- var oneSignal = window["OneSignal"] || null;
335
-
336
- if (!oneSignal) {
337
- reactOneSignalFunctionQueue.push({
338
- name: "sendTag",
339
- args: _arguments7,
340
- promiseResolver: resolve
341
- });
342
- return;
343
- }
344
-
345
- try {
346
- OneSignal.push(function () {
347
- OneSignal.sendTag(key, value, callback).then(function (value) {
348
- return resolve(value);
349
- })["catch"](function (error) {
350
- return reject(error);
351
- });
352
- });
353
- } catch (error) {
354
- reject(error);
355
- }
356
- });
357
- }
358
-
359
- function sendTags(tags, callback) {
360
- var _arguments8 = arguments;
361
- return new Promise(function (resolve, reject) {
362
- var oneSignal = window["OneSignal"] || null;
363
-
364
- if (!oneSignal) {
365
- reactOneSignalFunctionQueue.push({
366
- name: "sendTags",
367
- args: _arguments8,
368
- promiseResolver: resolve
369
- });
370
- return;
371
- }
372
-
373
- try {
374
- OneSignal.push(function () {
375
- OneSignal.sendTags(tags, callback).then(function (value) {
376
- return resolve(value);
377
- })["catch"](function (error) {
378
- return reject(error);
379
- });
380
- });
381
- } catch (error) {
382
- reject(error);
383
- }
384
- });
385
- }
386
-
387
- function deleteTag(tag) {
388
- var _arguments9 = arguments;
389
- return new Promise(function (resolve, reject) {
390
- var oneSignal = window["OneSignal"] || null;
391
-
392
- if (!oneSignal) {
393
- reactOneSignalFunctionQueue.push({
394
- name: "deleteTag",
395
- args: _arguments9,
396
- promiseResolver: resolve
397
- });
398
- return;
399
- }
400
-
401
- try {
402
- OneSignal.push(function () {
403
- OneSignal.deleteTag(tag).then(function (value) {
404
- return resolve(value);
405
- })["catch"](function (error) {
406
- return reject(error);
407
- });
408
- });
409
- } catch (error) {
410
- reject(error);
411
- }
412
- });
413
- }
414
-
415
- function deleteTags(tags, callback) {
416
- var _arguments10 = arguments;
417
- return new Promise(function (resolve, reject) {
418
- var oneSignal = window["OneSignal"] || null;
419
-
420
- if (!oneSignal) {
421
- reactOneSignalFunctionQueue.push({
422
- name: "deleteTags",
423
- args: _arguments10,
424
- promiseResolver: resolve
425
- });
426
- return;
427
- }
428
-
429
- try {
430
- OneSignal.push(function () {
431
- OneSignal.deleteTags(tags, callback).then(function (value) {
432
- return resolve(value);
433
- })["catch"](function (error) {
434
- return reject(error);
435
- });
436
- });
437
- } catch (error) {
438
- reject(error);
439
- }
440
- });
441
- }
442
-
443
- function addListenerForNotificationOpened(callback) {
444
- var _arguments11 = arguments;
445
- return new Promise(function (resolve, reject) {
446
- var oneSignal = window["OneSignal"] || null;
447
-
448
- if (!oneSignal) {
449
- reactOneSignalFunctionQueue.push({
450
- name: "addListenerForNotificationOpened",
451
- args: _arguments11,
452
- promiseResolver: resolve
453
- });
454
- return;
455
- }
456
-
457
- try {
458
- OneSignal.push(function () {
459
- OneSignal.addListenerForNotificationOpened(callback).then(function (value) {
460
- return resolve(value);
461
- })["catch"](function (error) {
462
- return reject(error);
463
- });
464
- });
465
- } catch (error) {
466
- reject(error);
467
- }
468
- });
469
- }
470
-
471
- function setSubscription(newSubscription) {
472
- var _arguments12 = arguments;
473
- return new Promise(function (resolve, reject) {
474
- var oneSignal = window["OneSignal"] || null;
475
-
476
- if (!oneSignal) {
477
- reactOneSignalFunctionQueue.push({
478
- name: "setSubscription",
479
- args: _arguments12,
480
- promiseResolver: resolve
481
- });
482
- return;
483
- }
484
-
485
- try {
486
- OneSignal.push(function () {
487
- OneSignal.setSubscription(newSubscription).then(function (value) {
488
- return resolve(value);
489
- })["catch"](function (error) {
490
- return reject(error);
491
- });
492
- });
493
- } catch (error) {
494
- reject(error);
495
- }
496
- });
497
- }
498
-
499
- function showHttpPermissionRequest(options) {
500
- var _arguments13 = arguments;
501
- return new Promise(function (resolve, reject) {
502
- var oneSignal = window["OneSignal"] || null;
503
-
504
- if (!oneSignal) {
505
- reactOneSignalFunctionQueue.push({
506
- name: "showHttpPermissionRequest",
507
- args: _arguments13,
508
- promiseResolver: resolve
509
- });
510
- return;
511
- }
512
-
513
- try {
514
- OneSignal.push(function () {
515
- OneSignal.showHttpPermissionRequest(options).then(function (value) {
516
- return resolve(value);
517
- })["catch"](function (error) {
518
- return reject(error);
519
- });
520
- });
521
- } catch (error) {
522
- reject(error);
523
- }
524
- });
525
- }
526
-
527
- function showNativePrompt() {
528
- var _arguments14 = arguments;
529
- return new Promise(function (resolve, reject) {
530
- var oneSignal = window["OneSignal"] || null;
531
-
532
- if (!oneSignal) {
533
- reactOneSignalFunctionQueue.push({
534
- name: "showNativePrompt",
535
- args: _arguments14,
536
- promiseResolver: resolve
537
- });
538
- return;
539
- }
540
-
541
- try {
542
- OneSignal.push(function () {
543
- OneSignal.showNativePrompt().then(function (value) {
544
- return resolve(value);
545
- })["catch"](function (error) {
546
- return reject(error);
547
- });
548
- });
549
- } catch (error) {
550
- reject(error);
551
- }
552
- });
553
- }
554
-
555
- function showSlidedownPrompt(options) {
556
- var _arguments15 = arguments;
557
- return new Promise(function (resolve, reject) {
558
- var oneSignal = window["OneSignal"] || null;
559
-
560
- if (!oneSignal) {
561
- reactOneSignalFunctionQueue.push({
562
- name: "showSlidedownPrompt",
563
- args: _arguments15,
564
- promiseResolver: resolve
565
- });
566
- return;
567
- }
568
-
569
- try {
570
- OneSignal.push(function () {
571
- OneSignal.showSlidedownPrompt(options).then(function (value) {
572
- return resolve(value);
573
- })["catch"](function (error) {
574
- return reject(error);
575
- });
576
- });
577
- } catch (error) {
578
- reject(error);
579
- }
580
- });
581
- }
582
-
583
- function showCategorySlidedown(options) {
584
- var _arguments16 = arguments;
585
- return new Promise(function (resolve, reject) {
586
- var oneSignal = window["OneSignal"] || null;
587
-
588
- if (!oneSignal) {
589
- reactOneSignalFunctionQueue.push({
590
- name: "showCategorySlidedown",
591
- args: _arguments16,
592
- promiseResolver: resolve
593
- });
594
- return;
595
- }
596
-
597
- try {
598
- OneSignal.push(function () {
599
- OneSignal.showCategorySlidedown(options).then(function (value) {
600
- return resolve(value);
601
- })["catch"](function (error) {
602
- return reject(error);
603
- });
604
- });
605
- } catch (error) {
606
- reject(error);
607
- }
608
- });
609
- }
610
-
611
- function showSmsSlidedown(options) {
612
- var _arguments17 = arguments;
613
- return new Promise(function (resolve, reject) {
614
- var oneSignal = window["OneSignal"] || null;
615
-
616
- if (!oneSignal) {
617
- reactOneSignalFunctionQueue.push({
618
- name: "showSmsSlidedown",
619
- args: _arguments17,
620
- promiseResolver: resolve
621
- });
622
- return;
623
- }
624
-
625
- try {
626
- OneSignal.push(function () {
627
- OneSignal.showSmsSlidedown(options).then(function (value) {
628
- return resolve(value);
629
- })["catch"](function (error) {
630
- return reject(error);
631
- });
632
- });
633
- } catch (error) {
634
- reject(error);
635
- }
636
- });
637
- }
638
-
639
- function showEmailSlidedown(options) {
640
- var _arguments18 = arguments;
641
- return new Promise(function (resolve, reject) {
642
- var oneSignal = window["OneSignal"] || null;
643
-
644
- if (!oneSignal) {
645
- reactOneSignalFunctionQueue.push({
646
- name: "showEmailSlidedown",
647
- args: _arguments18,
648
- promiseResolver: resolve
649
- });
650
- return;
651
- }
652
-
653
- try {
654
- OneSignal.push(function () {
655
- OneSignal.showEmailSlidedown(options).then(function (value) {
656
- return resolve(value);
657
- })["catch"](function (error) {
658
- return reject(error);
659
- });
660
- });
661
- } catch (error) {
662
- reject(error);
663
- }
664
- });
665
- }
666
-
667
- function showSmsAndEmailSlidedown(options) {
668
- var _arguments19 = arguments;
669
- return new Promise(function (resolve, reject) {
670
- var oneSignal = window["OneSignal"] || null;
671
-
672
- if (!oneSignal) {
673
- reactOneSignalFunctionQueue.push({
674
- name: "showSmsAndEmailSlidedown",
675
- args: _arguments19,
676
- promiseResolver: resolve
677
- });
678
- return;
679
- }
680
-
681
- try {
682
- OneSignal.push(function () {
683
- OneSignal.showSmsAndEmailSlidedown(options).then(function (value) {
684
- return resolve(value);
685
- })["catch"](function (error) {
686
- return reject(error);
687
- });
688
- });
689
- } catch (error) {
690
- reject(error);
691
- }
692
- });
693
- }
694
-
695
- function getNotificationPermission(onComplete) {
696
- var _arguments20 = arguments;
697
- return new Promise(function (resolve, reject) {
698
- var oneSignal = window["OneSignal"] || null;
699
-
700
- if (!oneSignal) {
701
- reactOneSignalFunctionQueue.push({
702
- name: "getNotificationPermission",
703
- args: _arguments20,
704
- promiseResolver: resolve
705
- });
706
- return;
707
- }
708
-
709
- try {
710
- OneSignal.push(function () {
711
- OneSignal.getNotificationPermission(onComplete).then(function (value) {
712
- return resolve(value);
713
- })["catch"](function (error) {
714
- return reject(error);
715
- });
716
- });
717
- } catch (error) {
718
- reject(error);
719
- }
720
- });
721
- }
722
-
723
- function getUserId(callback) {
724
- var _arguments21 = arguments;
725
- return new Promise(function (resolve, reject) {
726
- var oneSignal = window["OneSignal"] || null;
727
-
728
- if (!oneSignal) {
729
- reactOneSignalFunctionQueue.push({
730
- name: "getUserId",
731
- args: _arguments21,
732
- promiseResolver: resolve
733
- });
734
- return;
735
- }
736
-
737
- try {
738
- OneSignal.push(function () {
739
- OneSignal.getUserId(callback).then(function (value) {
740
- return resolve(value);
741
- })["catch"](function (error) {
742
- return reject(error);
743
- });
744
- });
745
- } catch (error) {
746
- reject(error);
747
- }
748
- });
749
- }
750
-
751
- function getSubscription(callback) {
752
- var _arguments22 = arguments;
753
- return new Promise(function (resolve, reject) {
754
- var oneSignal = window["OneSignal"] || null;
755
-
756
- if (!oneSignal) {
757
- reactOneSignalFunctionQueue.push({
758
- name: "getSubscription",
759
- args: _arguments22,
760
- promiseResolver: resolve
761
- });
762
- return;
763
- }
764
-
765
- try {
766
- OneSignal.push(function () {
767
- OneSignal.getSubscription(callback).then(function (value) {
768
- return resolve(value);
769
- })["catch"](function (error) {
770
- return reject(error);
771
- });
772
- });
773
- } catch (error) {
774
- reject(error);
775
- }
776
- });
777
- }
778
-
779
- function setEmail(email, options) {
780
- var _arguments23 = arguments;
781
- return new Promise(function (resolve, reject) {
782
- var oneSignal = window["OneSignal"] || null;
783
-
784
- if (!oneSignal) {
785
- reactOneSignalFunctionQueue.push({
786
- name: "setEmail",
787
- args: _arguments23,
788
- promiseResolver: resolve
789
- });
790
- return;
791
- }
792
-
793
- try {
794
- OneSignal.push(function () {
795
- OneSignal.setEmail(email, options).then(function (value) {
796
- return resolve(value);
797
- })["catch"](function (error) {
798
- return reject(error);
799
- });
800
- });
801
- } catch (error) {
802
- reject(error);
803
- }
804
- });
805
- }
806
-
807
- function setSMSNumber(smsNumber, options) {
808
- var _arguments24 = arguments;
809
- return new Promise(function (resolve, reject) {
810
- var oneSignal = window["OneSignal"] || null;
811
-
812
- if (!oneSignal) {
813
- reactOneSignalFunctionQueue.push({
814
- name: "setSMSNumber",
815
- args: _arguments24,
816
- promiseResolver: resolve
817
- });
818
- return;
819
- }
820
-
821
- try {
822
- OneSignal.push(function () {
823
- OneSignal.setSMSNumber(smsNumber, options).then(function (value) {
824
- return resolve(value);
825
- })["catch"](function (error) {
826
- return reject(error);
827
- });
828
- });
829
- } catch (error) {
830
- reject(error);
831
- }
832
- });
833
- }
834
-
835
- function logoutEmail() {
836
- var _arguments25 = arguments;
837
- return new Promise(function (resolve, reject) {
838
- var oneSignal = window["OneSignal"] || null;
839
-
840
- if (!oneSignal) {
841
- reactOneSignalFunctionQueue.push({
842
- name: "logoutEmail",
843
- args: _arguments25,
844
- promiseResolver: resolve
845
- });
846
- return;
847
- }
848
-
849
- try {
850
- OneSignal.push(function () {
851
- OneSignal.logoutEmail().then(function (value) {
852
- return resolve(value);
853
- })["catch"](function (error) {
854
- return reject(error);
855
- });
856
- });
857
- } catch (error) {
858
- reject(error);
859
- }
860
- });
861
- }
862
-
863
- function logoutSMS() {
864
- var _arguments26 = arguments;
865
- return new Promise(function (resolve, reject) {
866
- var oneSignal = window["OneSignal"] || null;
867
-
868
- if (!oneSignal) {
869
- reactOneSignalFunctionQueue.push({
870
- name: "logoutSMS",
871
- args: _arguments26,
872
- promiseResolver: resolve
873
- });
874
- return;
875
- }
876
-
877
- try {
878
- OneSignal.push(function () {
879
- OneSignal.logoutSMS().then(function (value) {
880
- return resolve(value);
881
- })["catch"](function (error) {
882
- return reject(error);
883
- });
884
- });
885
- } catch (error) {
886
- reject(error);
887
- }
888
- });
889
- }
890
-
891
- function setExternalUserId(externalUserId, authHash) {
892
- var _arguments27 = arguments;
893
- return new Promise(function (resolve, reject) {
894
- var oneSignal = window["OneSignal"] || null;
895
-
896
- if (!oneSignal) {
897
- reactOneSignalFunctionQueue.push({
898
- name: "setExternalUserId",
899
- args: _arguments27,
900
- promiseResolver: resolve
901
- });
902
- return;
903
- }
904
-
905
- try {
906
- OneSignal.push(function () {
907
- OneSignal.setExternalUserId(externalUserId, authHash).then(function (value) {
908
- return resolve(value);
909
- })["catch"](function (error) {
910
- return reject(error);
911
- });
912
- });
913
- } catch (error) {
914
- reject(error);
915
- }
916
- });
917
- }
918
-
919
- function removeExternalUserId() {
920
- var _arguments28 = arguments;
921
- return new Promise(function (resolve, reject) {
922
- var oneSignal = window["OneSignal"] || null;
923
-
924
- if (!oneSignal) {
925
- reactOneSignalFunctionQueue.push({
926
- name: "removeExternalUserId",
927
- args: _arguments28,
928
- promiseResolver: resolve
929
- });
930
- return;
931
- }
932
-
933
- try {
934
- OneSignal.push(function () {
935
- OneSignal.removeExternalUserId().then(function (value) {
936
- return resolve(value);
937
- })["catch"](function (error) {
938
- return reject(error);
939
- });
940
- });
941
- } catch (error) {
942
- reject(error);
943
- }
944
- });
945
- }
946
-
947
- function getExternalUserId() {
948
- var _arguments29 = arguments;
949
- return new Promise(function (resolve, reject) {
950
- var oneSignal = window["OneSignal"] || null;
951
-
952
- if (!oneSignal) {
953
- reactOneSignalFunctionQueue.push({
954
- name: "getExternalUserId",
955
- args: _arguments29,
956
- promiseResolver: resolve
957
- });
958
- return;
959
- }
960
-
961
- try {
962
- OneSignal.push(function () {
963
- OneSignal.getExternalUserId().then(function (value) {
964
- return resolve(value);
965
- })["catch"](function (error) {
966
- return reject(error);
967
- });
968
- });
969
- } catch (error) {
970
- reject(error);
971
- }
972
- });
973
- }
974
-
975
- function provideUserConsent(consent) {
976
- var _arguments30 = arguments;
977
- return new Promise(function (resolve, reject) {
978
- var oneSignal = window["OneSignal"] || null;
979
-
980
- if (!oneSignal) {
981
- reactOneSignalFunctionQueue.push({
982
- name: "provideUserConsent",
983
- args: _arguments30,
984
- promiseResolver: resolve
985
- });
986
- return;
987
- }
988
-
989
- try {
990
- OneSignal.push(function () {
991
- OneSignal.provideUserConsent(consent).then(function (value) {
992
- return resolve(value);
993
- })["catch"](function (error) {
994
- return reject(error);
995
- });
996
- });
997
- } catch (error) {
998
- reject(error);
999
- }
1000
- });
1001
- }
1002
-
1003
- function getEmailId(callback) {
1004
- var _arguments31 = arguments;
1005
- return new Promise(function (resolve, reject) {
1006
- var oneSignal = window["OneSignal"] || null;
1007
-
1008
- if (!oneSignal) {
1009
- reactOneSignalFunctionQueue.push({
1010
- name: "getEmailId",
1011
- args: _arguments31,
1012
- promiseResolver: resolve
1013
- });
1014
- return;
1015
- }
1016
-
1017
- try {
1018
- OneSignal.push(function () {
1019
- OneSignal.getEmailId(callback).then(function (value) {
1020
- return resolve(value);
1021
- })["catch"](function (error) {
1022
- return reject(error);
1023
- });
1024
- });
1025
- } catch (error) {
1026
- reject(error);
1027
- }
1028
- });
1029
- }
1030
-
1031
- function getSMSId(callback) {
1032
- var _arguments32 = arguments;
1033
- return new Promise(function (resolve, reject) {
1034
- var oneSignal = window["OneSignal"] || null;
1035
-
1036
- if (!oneSignal) {
1037
- reactOneSignalFunctionQueue.push({
1038
- name: "getSMSId",
1039
- args: _arguments32,
1040
- promiseResolver: resolve
1041
- });
1042
- return;
1043
- }
1044
-
1045
- try {
1046
- OneSignal.push(function () {
1047
- OneSignal.getSMSId(callback).then(function (value) {
1048
- return resolve(value);
1049
- })["catch"](function (error) {
1050
- return reject(error);
1051
- });
1052
- });
1053
- } catch (error) {
1054
- reject(error);
1055
- }
1056
- });
1057
- }
1058
-
1059
- function sendOutcome(outcomeName, outcomeWeight) {
1060
- var _arguments33 = arguments;
1061
- return new Promise(function (resolve, reject) {
1062
- var oneSignal = window["OneSignal"] || null;
1063
-
1064
- if (!oneSignal) {
1065
- reactOneSignalFunctionQueue.push({
1066
- name: "sendOutcome",
1067
- args: _arguments33,
1068
- promiseResolver: resolve
1069
- });
1070
- return;
1071
- }
1072
-
1073
- try {
1074
- OneSignal.push(function () {
1075
- OneSignal.sendOutcome(outcomeName, outcomeWeight).then(function (value) {
1076
- return resolve(value);
1077
- })["catch"](function (error) {
1078
- return reject(error);
1079
- });
1080
- });
1081
- } catch (error) {
1082
- reject(error);
1083
- }
1084
- });
1085
- }
1086
- var OneSignalReact = {
1087
- init: init,
1088
- on: on,
1089
- off: off,
1090
- once: once,
1091
- isPushNotificationsEnabled: isPushNotificationsEnabled,
1092
- showHttpPrompt: showHttpPrompt,
1093
- registerForPushNotifications: registerForPushNotifications,
1094
- setDefaultNotificationUrl: setDefaultNotificationUrl,
1095
- setDefaultTitle: setDefaultTitle,
1096
- getTags: getTags,
1097
- sendTag: sendTag,
1098
- sendTags: sendTags,
1099
- deleteTag: deleteTag,
1100
- deleteTags: deleteTags,
1101
- addListenerForNotificationOpened: addListenerForNotificationOpened,
1102
- setSubscription: setSubscription,
1103
- showHttpPermissionRequest: showHttpPermissionRequest,
1104
- showNativePrompt: showNativePrompt,
1105
- showSlidedownPrompt: showSlidedownPrompt,
1106
- showCategorySlidedown: showCategorySlidedown,
1107
- showSmsSlidedown: showSmsSlidedown,
1108
- showEmailSlidedown: showEmailSlidedown,
1109
- showSmsAndEmailSlidedown: showSmsAndEmailSlidedown,
1110
- getNotificationPermission: getNotificationPermission,
1111
- getUserId: getUserId,
1112
- getSubscription: getSubscription,
1113
- setEmail: setEmail,
1114
- setSMSNumber: setSMSNumber,
1115
- logoutEmail: logoutEmail,
1116
- logoutSMS: logoutSMS,
1117
- setExternalUserId: setExternalUserId,
1118
- removeExternalUserId: removeExternalUserId,
1119
- getExternalUserId: getExternalUserId,
1120
- provideUserConsent: provideUserConsent,
1121
- getEmailId: getEmailId,
1122
- getSMSId: getSMSId,
1123
- sendOutcome: sendOutcome
1
+ const ONESIGNAL_SDK_ID = 'onesignal-sdk';
2
+ const ONE_SIGNAL_SCRIPT_SRC = 'https://cdn.onesignal.com/sdks/OneSignalSDK.js';
3
+ const reactOneSignalFunctionQueue = [];
4
+ // true if the script is successfully loaded from CDN.
5
+ let isOneSignalInitialized = false;
6
+ // true if the script fails to load from CDN. A separate flag is necessary
7
+ // to disambiguate between a CDN load failure and a delayed call to
8
+ // OneSignal#init.
9
+ let isOneSignalScriptFailed = false;
10
+ const doesOneSignalExist = () => {
11
+ if (window["OneSignal"]) {
12
+ return true;
13
+ }
14
+ return false;
15
+ };
16
+ const handleOnLoad = (resolve, options) => {
17
+ isOneSignalInitialized = true;
18
+ // OneSignal is assumed to be loaded correctly because this method
19
+ // is called after the script is successfully loaded by CDN, but
20
+ // just in case.
21
+ window["OneSignal"] = window["OneSignal"] || [];
22
+ window["OneSignal"].push(() => {
23
+ window["OneSignal"].init(options);
24
+ });
25
+ window["OneSignal"].push(() => {
26
+ processQueuedOneSignalFunctions();
27
+ resolve();
28
+ });
29
+ };
30
+ const handleOnError = (resolve) => {
31
+ isOneSignalScriptFailed = true;
32
+ // Ensure that any unresolved functions are cleared from the queue,
33
+ // even in the event of a CDN load failure.
34
+ processQueuedOneSignalFunctions();
35
+ resolve();
36
+ };
37
+ const processQueuedOneSignalFunctions = () => {
38
+ reactOneSignalFunctionQueue.forEach(element => {
39
+ const { name, args, promiseResolver } = element;
40
+ if (!!promiseResolver) {
41
+ OneSignalReact[name](...args).then(result => {
42
+ promiseResolver(result);
43
+ });
44
+ }
45
+ else {
46
+ OneSignalReact[name](...args);
47
+ }
48
+ });
49
+ };
50
+ const init = (options) => new Promise(resolve => {
51
+ if (isOneSignalInitialized) {
52
+ resolve();
53
+ return;
54
+ }
55
+ if (!options || !options.appId) {
56
+ throw new Error('You need to provide your OneSignal appId.');
57
+ }
58
+ if (!document) {
59
+ resolve();
60
+ return;
61
+ }
62
+ const script = document.createElement('script');
63
+ script.id = ONESIGNAL_SDK_ID;
64
+ script.src = ONE_SIGNAL_SCRIPT_SRC;
65
+ script.async = true;
66
+ script.onload = () => {
67
+ handleOnLoad(resolve, options);
68
+ };
69
+ // Always resolve whether or not the script is successfully initialized.
70
+ // This is important for users who may block cdn.onesignal.com w/ adblock.
71
+ script.onerror = () => {
72
+ handleOnError(resolve);
73
+ };
74
+ document.head.appendChild(script);
75
+ });
76
+ function on(event, listener) {
77
+ if (!doesOneSignalExist()) {
78
+ reactOneSignalFunctionQueue.push({
79
+ name: 'on',
80
+ args: arguments,
81
+ });
82
+ return;
83
+ }
84
+ window["OneSignal"].push(() => {
85
+ window["OneSignal"].on(event, listener);
86
+ });
87
+ }
88
+ function off(event, listener) {
89
+ if (!doesOneSignalExist()) {
90
+ reactOneSignalFunctionQueue.push({
91
+ name: 'off',
92
+ args: arguments,
93
+ });
94
+ return;
95
+ }
96
+ window["OneSignal"].push(() => {
97
+ window["OneSignal"].off(event, listener);
98
+ });
99
+ }
100
+ function once(event, listener) {
101
+ if (!doesOneSignalExist()) {
102
+ reactOneSignalFunctionQueue.push({
103
+ name: 'once',
104
+ args: arguments,
105
+ });
106
+ return;
107
+ }
108
+ window["OneSignal"].push(() => {
109
+ window["OneSignal"].once(event, listener);
110
+ });
111
+ }
112
+ function isPushNotificationsEnabled(callback) {
113
+ return new Promise((resolve, reject) => {
114
+ if (isOneSignalScriptFailed) {
115
+ resolve();
116
+ return;
117
+ }
118
+ if (!doesOneSignalExist()) {
119
+ reactOneSignalFunctionQueue.push({
120
+ name: 'isPushNotificationsEnabled',
121
+ args: arguments,
122
+ promiseResolver: resolve,
123
+ });
124
+ return;
125
+ }
126
+ try {
127
+ window["OneSignal"].push(() => {
128
+ window["OneSignal"].isPushNotificationsEnabled(callback)
129
+ .then((value) => resolve(value))
130
+ .catch((error) => reject(error));
131
+ });
132
+ }
133
+ catch (error) {
134
+ reject(error);
135
+ }
136
+ });
137
+ }
138
+ function showHttpPrompt(options) {
139
+ return new Promise((resolve, reject) => {
140
+ if (isOneSignalScriptFailed) {
141
+ resolve();
142
+ return;
143
+ }
144
+ if (!doesOneSignalExist()) {
145
+ reactOneSignalFunctionQueue.push({
146
+ name: 'showHttpPrompt',
147
+ args: arguments,
148
+ promiseResolver: resolve,
149
+ });
150
+ return;
151
+ }
152
+ try {
153
+ window["OneSignal"].push(() => {
154
+ window["OneSignal"].showHttpPrompt(options)
155
+ .then((value) => resolve(value))
156
+ .catch((error) => reject(error));
157
+ });
158
+ }
159
+ catch (error) {
160
+ reject(error);
161
+ }
162
+ });
163
+ }
164
+ function registerForPushNotifications(options) {
165
+ return new Promise((resolve, reject) => {
166
+ if (isOneSignalScriptFailed) {
167
+ resolve();
168
+ return;
169
+ }
170
+ if (!doesOneSignalExist()) {
171
+ reactOneSignalFunctionQueue.push({
172
+ name: 'registerForPushNotifications',
173
+ args: arguments,
174
+ promiseResolver: resolve,
175
+ });
176
+ return;
177
+ }
178
+ try {
179
+ window["OneSignal"].push(() => {
180
+ window["OneSignal"].registerForPushNotifications(options)
181
+ .then((value) => resolve(value))
182
+ .catch((error) => reject(error));
183
+ });
184
+ }
185
+ catch (error) {
186
+ reject(error);
187
+ }
188
+ });
189
+ }
190
+ function setDefaultNotificationUrl(url) {
191
+ return new Promise((resolve, reject) => {
192
+ if (isOneSignalScriptFailed) {
193
+ resolve();
194
+ return;
195
+ }
196
+ if (!doesOneSignalExist()) {
197
+ reactOneSignalFunctionQueue.push({
198
+ name: 'setDefaultNotificationUrl',
199
+ args: arguments,
200
+ promiseResolver: resolve,
201
+ });
202
+ return;
203
+ }
204
+ try {
205
+ window["OneSignal"].push(() => {
206
+ window["OneSignal"].setDefaultNotificationUrl(url)
207
+ .then((value) => resolve(value))
208
+ .catch((error) => reject(error));
209
+ });
210
+ }
211
+ catch (error) {
212
+ reject(error);
213
+ }
214
+ });
215
+ }
216
+ function setDefaultTitle(title) {
217
+ return new Promise((resolve, reject) => {
218
+ if (isOneSignalScriptFailed) {
219
+ resolve();
220
+ return;
221
+ }
222
+ if (!doesOneSignalExist()) {
223
+ reactOneSignalFunctionQueue.push({
224
+ name: 'setDefaultTitle',
225
+ args: arguments,
226
+ promiseResolver: resolve,
227
+ });
228
+ return;
229
+ }
230
+ try {
231
+ window["OneSignal"].push(() => {
232
+ window["OneSignal"].setDefaultTitle(title)
233
+ .then((value) => resolve(value))
234
+ .catch((error) => reject(error));
235
+ });
236
+ }
237
+ catch (error) {
238
+ reject(error);
239
+ }
240
+ });
241
+ }
242
+ function getTags(callback) {
243
+ return new Promise((resolve, reject) => {
244
+ if (isOneSignalScriptFailed) {
245
+ resolve();
246
+ return;
247
+ }
248
+ if (!doesOneSignalExist()) {
249
+ reactOneSignalFunctionQueue.push({
250
+ name: 'getTags',
251
+ args: arguments,
252
+ promiseResolver: resolve,
253
+ });
254
+ return;
255
+ }
256
+ try {
257
+ window["OneSignal"].push(() => {
258
+ window["OneSignal"].getTags(callback)
259
+ .then((value) => resolve(value))
260
+ .catch((error) => reject(error));
261
+ });
262
+ }
263
+ catch (error) {
264
+ reject(error);
265
+ }
266
+ });
267
+ }
268
+ function sendTag(key, value, callback) {
269
+ return new Promise((resolve, reject) => {
270
+ if (isOneSignalScriptFailed) {
271
+ resolve();
272
+ return;
273
+ }
274
+ if (!doesOneSignalExist()) {
275
+ reactOneSignalFunctionQueue.push({
276
+ name: 'sendTag',
277
+ args: arguments,
278
+ promiseResolver: resolve,
279
+ });
280
+ return;
281
+ }
282
+ try {
283
+ window["OneSignal"].push(() => {
284
+ window["OneSignal"].sendTag(key, value, callback)
285
+ .then((value) => resolve(value))
286
+ .catch((error) => reject(error));
287
+ });
288
+ }
289
+ catch (error) {
290
+ reject(error);
291
+ }
292
+ });
293
+ }
294
+ function sendTags(tags, callback) {
295
+ return new Promise((resolve, reject) => {
296
+ if (isOneSignalScriptFailed) {
297
+ resolve();
298
+ return;
299
+ }
300
+ if (!doesOneSignalExist()) {
301
+ reactOneSignalFunctionQueue.push({
302
+ name: 'sendTags',
303
+ args: arguments,
304
+ promiseResolver: resolve,
305
+ });
306
+ return;
307
+ }
308
+ try {
309
+ window["OneSignal"].push(() => {
310
+ window["OneSignal"].sendTags(tags, callback)
311
+ .then((value) => resolve(value))
312
+ .catch((error) => reject(error));
313
+ });
314
+ }
315
+ catch (error) {
316
+ reject(error);
317
+ }
318
+ });
319
+ }
320
+ function deleteTag(tag) {
321
+ return new Promise((resolve, reject) => {
322
+ if (isOneSignalScriptFailed) {
323
+ resolve();
324
+ return;
325
+ }
326
+ if (!doesOneSignalExist()) {
327
+ reactOneSignalFunctionQueue.push({
328
+ name: 'deleteTag',
329
+ args: arguments,
330
+ promiseResolver: resolve,
331
+ });
332
+ return;
333
+ }
334
+ try {
335
+ window["OneSignal"].push(() => {
336
+ window["OneSignal"].deleteTag(tag)
337
+ .then((value) => resolve(value))
338
+ .catch((error) => reject(error));
339
+ });
340
+ }
341
+ catch (error) {
342
+ reject(error);
343
+ }
344
+ });
345
+ }
346
+ function deleteTags(tags, callback) {
347
+ return new Promise((resolve, reject) => {
348
+ if (isOneSignalScriptFailed) {
349
+ resolve();
350
+ return;
351
+ }
352
+ if (!doesOneSignalExist()) {
353
+ reactOneSignalFunctionQueue.push({
354
+ name: 'deleteTags',
355
+ args: arguments,
356
+ promiseResolver: resolve,
357
+ });
358
+ return;
359
+ }
360
+ try {
361
+ window["OneSignal"].push(() => {
362
+ window["OneSignal"].deleteTags(tags, callback)
363
+ .then((value) => resolve(value))
364
+ .catch((error) => reject(error));
365
+ });
366
+ }
367
+ catch (error) {
368
+ reject(error);
369
+ }
370
+ });
371
+ }
372
+ function addListenerForNotificationOpened(callback) {
373
+ return new Promise((resolve, reject) => {
374
+ if (isOneSignalScriptFailed) {
375
+ resolve();
376
+ return;
377
+ }
378
+ if (!doesOneSignalExist()) {
379
+ reactOneSignalFunctionQueue.push({
380
+ name: 'addListenerForNotificationOpened',
381
+ args: arguments,
382
+ promiseResolver: resolve,
383
+ });
384
+ return;
385
+ }
386
+ try {
387
+ window["OneSignal"].push(() => {
388
+ window["OneSignal"].addListenerForNotificationOpened(callback)
389
+ .then((value) => resolve(value))
390
+ .catch((error) => reject(error));
391
+ });
392
+ }
393
+ catch (error) {
394
+ reject(error);
395
+ }
396
+ });
397
+ }
398
+ function setSubscription(newSubscription) {
399
+ return new Promise((resolve, reject) => {
400
+ if (isOneSignalScriptFailed) {
401
+ resolve();
402
+ return;
403
+ }
404
+ if (!doesOneSignalExist()) {
405
+ reactOneSignalFunctionQueue.push({
406
+ name: 'setSubscription',
407
+ args: arguments,
408
+ promiseResolver: resolve,
409
+ });
410
+ return;
411
+ }
412
+ try {
413
+ window["OneSignal"].push(() => {
414
+ window["OneSignal"].setSubscription(newSubscription)
415
+ .then((value) => resolve(value))
416
+ .catch((error) => reject(error));
417
+ });
418
+ }
419
+ catch (error) {
420
+ reject(error);
421
+ }
422
+ });
423
+ }
424
+ function showHttpPermissionRequest(options) {
425
+ return new Promise((resolve, reject) => {
426
+ if (isOneSignalScriptFailed) {
427
+ resolve();
428
+ return;
429
+ }
430
+ if (!doesOneSignalExist()) {
431
+ reactOneSignalFunctionQueue.push({
432
+ name: 'showHttpPermissionRequest',
433
+ args: arguments,
434
+ promiseResolver: resolve,
435
+ });
436
+ return;
437
+ }
438
+ try {
439
+ window["OneSignal"].push(() => {
440
+ window["OneSignal"].showHttpPermissionRequest(options)
441
+ .then((value) => resolve(value))
442
+ .catch((error) => reject(error));
443
+ });
444
+ }
445
+ catch (error) {
446
+ reject(error);
447
+ }
448
+ });
449
+ }
450
+ function showNativePrompt() {
451
+ return new Promise((resolve, reject) => {
452
+ if (isOneSignalScriptFailed) {
453
+ resolve();
454
+ return;
455
+ }
456
+ if (!doesOneSignalExist()) {
457
+ reactOneSignalFunctionQueue.push({
458
+ name: 'showNativePrompt',
459
+ args: arguments,
460
+ promiseResolver: resolve,
461
+ });
462
+ return;
463
+ }
464
+ try {
465
+ window["OneSignal"].push(() => {
466
+ window["OneSignal"].showNativePrompt()
467
+ .then((value) => resolve(value))
468
+ .catch((error) => reject(error));
469
+ });
470
+ }
471
+ catch (error) {
472
+ reject(error);
473
+ }
474
+ });
475
+ }
476
+ function showSlidedownPrompt(options) {
477
+ return new Promise((resolve, reject) => {
478
+ if (isOneSignalScriptFailed) {
479
+ resolve();
480
+ return;
481
+ }
482
+ if (!doesOneSignalExist()) {
483
+ reactOneSignalFunctionQueue.push({
484
+ name: 'showSlidedownPrompt',
485
+ args: arguments,
486
+ promiseResolver: resolve,
487
+ });
488
+ return;
489
+ }
490
+ try {
491
+ window["OneSignal"].push(() => {
492
+ window["OneSignal"].showSlidedownPrompt(options)
493
+ .then((value) => resolve(value))
494
+ .catch((error) => reject(error));
495
+ });
496
+ }
497
+ catch (error) {
498
+ reject(error);
499
+ }
500
+ });
501
+ }
502
+ function showCategorySlidedown(options) {
503
+ return new Promise((resolve, reject) => {
504
+ if (isOneSignalScriptFailed) {
505
+ resolve();
506
+ return;
507
+ }
508
+ if (!doesOneSignalExist()) {
509
+ reactOneSignalFunctionQueue.push({
510
+ name: 'showCategorySlidedown',
511
+ args: arguments,
512
+ promiseResolver: resolve,
513
+ });
514
+ return;
515
+ }
516
+ try {
517
+ window["OneSignal"].push(() => {
518
+ window["OneSignal"].showCategorySlidedown(options)
519
+ .then((value) => resolve(value))
520
+ .catch((error) => reject(error));
521
+ });
522
+ }
523
+ catch (error) {
524
+ reject(error);
525
+ }
526
+ });
527
+ }
528
+ function showSmsSlidedown(options) {
529
+ return new Promise((resolve, reject) => {
530
+ if (isOneSignalScriptFailed) {
531
+ resolve();
532
+ return;
533
+ }
534
+ if (!doesOneSignalExist()) {
535
+ reactOneSignalFunctionQueue.push({
536
+ name: 'showSmsSlidedown',
537
+ args: arguments,
538
+ promiseResolver: resolve,
539
+ });
540
+ return;
541
+ }
542
+ try {
543
+ window["OneSignal"].push(() => {
544
+ window["OneSignal"].showSmsSlidedown(options)
545
+ .then((value) => resolve(value))
546
+ .catch((error) => reject(error));
547
+ });
548
+ }
549
+ catch (error) {
550
+ reject(error);
551
+ }
552
+ });
553
+ }
554
+ function showEmailSlidedown(options) {
555
+ return new Promise((resolve, reject) => {
556
+ if (isOneSignalScriptFailed) {
557
+ resolve();
558
+ return;
559
+ }
560
+ if (!doesOneSignalExist()) {
561
+ reactOneSignalFunctionQueue.push({
562
+ name: 'showEmailSlidedown',
563
+ args: arguments,
564
+ promiseResolver: resolve,
565
+ });
566
+ return;
567
+ }
568
+ try {
569
+ window["OneSignal"].push(() => {
570
+ window["OneSignal"].showEmailSlidedown(options)
571
+ .then((value) => resolve(value))
572
+ .catch((error) => reject(error));
573
+ });
574
+ }
575
+ catch (error) {
576
+ reject(error);
577
+ }
578
+ });
579
+ }
580
+ function showSmsAndEmailSlidedown(options) {
581
+ return new Promise((resolve, reject) => {
582
+ if (isOneSignalScriptFailed) {
583
+ resolve();
584
+ return;
585
+ }
586
+ if (!doesOneSignalExist()) {
587
+ reactOneSignalFunctionQueue.push({
588
+ name: 'showSmsAndEmailSlidedown',
589
+ args: arguments,
590
+ promiseResolver: resolve,
591
+ });
592
+ return;
593
+ }
594
+ try {
595
+ window["OneSignal"].push(() => {
596
+ window["OneSignal"].showSmsAndEmailSlidedown(options)
597
+ .then((value) => resolve(value))
598
+ .catch((error) => reject(error));
599
+ });
600
+ }
601
+ catch (error) {
602
+ reject(error);
603
+ }
604
+ });
605
+ }
606
+ function getNotificationPermission(onComplete) {
607
+ return new Promise((resolve, reject) => {
608
+ if (isOneSignalScriptFailed) {
609
+ resolve();
610
+ return;
611
+ }
612
+ if (!doesOneSignalExist()) {
613
+ reactOneSignalFunctionQueue.push({
614
+ name: 'getNotificationPermission',
615
+ args: arguments,
616
+ promiseResolver: resolve,
617
+ });
618
+ return;
619
+ }
620
+ try {
621
+ window["OneSignal"].push(() => {
622
+ window["OneSignal"].getNotificationPermission(onComplete)
623
+ .then((value) => resolve(value))
624
+ .catch((error) => reject(error));
625
+ });
626
+ }
627
+ catch (error) {
628
+ reject(error);
629
+ }
630
+ });
631
+ }
632
+ function getUserId(callback) {
633
+ return new Promise((resolve, reject) => {
634
+ if (isOneSignalScriptFailed) {
635
+ resolve();
636
+ return;
637
+ }
638
+ if (!doesOneSignalExist()) {
639
+ reactOneSignalFunctionQueue.push({
640
+ name: 'getUserId',
641
+ args: arguments,
642
+ promiseResolver: resolve,
643
+ });
644
+ return;
645
+ }
646
+ try {
647
+ window["OneSignal"].push(() => {
648
+ window["OneSignal"].getUserId(callback)
649
+ .then((value) => resolve(value))
650
+ .catch((error) => reject(error));
651
+ });
652
+ }
653
+ catch (error) {
654
+ reject(error);
655
+ }
656
+ });
657
+ }
658
+ function getSubscription(callback) {
659
+ return new Promise((resolve, reject) => {
660
+ if (isOneSignalScriptFailed) {
661
+ resolve();
662
+ return;
663
+ }
664
+ if (!doesOneSignalExist()) {
665
+ reactOneSignalFunctionQueue.push({
666
+ name: 'getSubscription',
667
+ args: arguments,
668
+ promiseResolver: resolve,
669
+ });
670
+ return;
671
+ }
672
+ try {
673
+ window["OneSignal"].push(() => {
674
+ window["OneSignal"].getSubscription(callback)
675
+ .then((value) => resolve(value))
676
+ .catch((error) => reject(error));
677
+ });
678
+ }
679
+ catch (error) {
680
+ reject(error);
681
+ }
682
+ });
683
+ }
684
+ function setEmail(email, options) {
685
+ return new Promise((resolve, reject) => {
686
+ if (isOneSignalScriptFailed) {
687
+ resolve();
688
+ return;
689
+ }
690
+ if (!doesOneSignalExist()) {
691
+ reactOneSignalFunctionQueue.push({
692
+ name: 'setEmail',
693
+ args: arguments,
694
+ promiseResolver: resolve,
695
+ });
696
+ return;
697
+ }
698
+ try {
699
+ window["OneSignal"].push(() => {
700
+ window["OneSignal"].setEmail(email, options)
701
+ .then((value) => resolve(value))
702
+ .catch((error) => reject(error));
703
+ });
704
+ }
705
+ catch (error) {
706
+ reject(error);
707
+ }
708
+ });
709
+ }
710
+ function setSMSNumber(smsNumber, options) {
711
+ return new Promise((resolve, reject) => {
712
+ if (isOneSignalScriptFailed) {
713
+ resolve();
714
+ return;
715
+ }
716
+ if (!doesOneSignalExist()) {
717
+ reactOneSignalFunctionQueue.push({
718
+ name: 'setSMSNumber',
719
+ args: arguments,
720
+ promiseResolver: resolve,
721
+ });
722
+ return;
723
+ }
724
+ try {
725
+ window["OneSignal"].push(() => {
726
+ window["OneSignal"].setSMSNumber(smsNumber, options)
727
+ .then((value) => resolve(value))
728
+ .catch((error) => reject(error));
729
+ });
730
+ }
731
+ catch (error) {
732
+ reject(error);
733
+ }
734
+ });
735
+ }
736
+ function logoutEmail() {
737
+ return new Promise((resolve, reject) => {
738
+ if (isOneSignalScriptFailed) {
739
+ resolve();
740
+ return;
741
+ }
742
+ if (!doesOneSignalExist()) {
743
+ reactOneSignalFunctionQueue.push({
744
+ name: 'logoutEmail',
745
+ args: arguments,
746
+ promiseResolver: resolve,
747
+ });
748
+ return;
749
+ }
750
+ try {
751
+ window["OneSignal"].push(() => {
752
+ window["OneSignal"].logoutEmail()
753
+ .then((value) => resolve(value))
754
+ .catch((error) => reject(error));
755
+ });
756
+ }
757
+ catch (error) {
758
+ reject(error);
759
+ }
760
+ });
761
+ }
762
+ function logoutSMS() {
763
+ return new Promise((resolve, reject) => {
764
+ if (isOneSignalScriptFailed) {
765
+ resolve();
766
+ return;
767
+ }
768
+ if (!doesOneSignalExist()) {
769
+ reactOneSignalFunctionQueue.push({
770
+ name: 'logoutSMS',
771
+ args: arguments,
772
+ promiseResolver: resolve,
773
+ });
774
+ return;
775
+ }
776
+ try {
777
+ window["OneSignal"].push(() => {
778
+ window["OneSignal"].logoutSMS()
779
+ .then((value) => resolve(value))
780
+ .catch((error) => reject(error));
781
+ });
782
+ }
783
+ catch (error) {
784
+ reject(error);
785
+ }
786
+ });
787
+ }
788
+ function setExternalUserId(externalUserId, authHash) {
789
+ return new Promise((resolve, reject) => {
790
+ if (isOneSignalScriptFailed) {
791
+ resolve();
792
+ return;
793
+ }
794
+ if (!doesOneSignalExist()) {
795
+ reactOneSignalFunctionQueue.push({
796
+ name: 'setExternalUserId',
797
+ args: arguments,
798
+ promiseResolver: resolve,
799
+ });
800
+ return;
801
+ }
802
+ try {
803
+ window["OneSignal"].push(() => {
804
+ window["OneSignal"].setExternalUserId(externalUserId, authHash)
805
+ .then((value) => resolve(value))
806
+ .catch((error) => reject(error));
807
+ });
808
+ }
809
+ catch (error) {
810
+ reject(error);
811
+ }
812
+ });
813
+ }
814
+ function removeExternalUserId() {
815
+ return new Promise((resolve, reject) => {
816
+ if (isOneSignalScriptFailed) {
817
+ resolve();
818
+ return;
819
+ }
820
+ if (!doesOneSignalExist()) {
821
+ reactOneSignalFunctionQueue.push({
822
+ name: 'removeExternalUserId',
823
+ args: arguments,
824
+ promiseResolver: resolve,
825
+ });
826
+ return;
827
+ }
828
+ try {
829
+ window["OneSignal"].push(() => {
830
+ window["OneSignal"].removeExternalUserId()
831
+ .then((value) => resolve(value))
832
+ .catch((error) => reject(error));
833
+ });
834
+ }
835
+ catch (error) {
836
+ reject(error);
837
+ }
838
+ });
839
+ }
840
+ function getExternalUserId() {
841
+ return new Promise((resolve, reject) => {
842
+ if (isOneSignalScriptFailed) {
843
+ resolve();
844
+ return;
845
+ }
846
+ if (!doesOneSignalExist()) {
847
+ reactOneSignalFunctionQueue.push({
848
+ name: 'getExternalUserId',
849
+ args: arguments,
850
+ promiseResolver: resolve,
851
+ });
852
+ return;
853
+ }
854
+ try {
855
+ window["OneSignal"].push(() => {
856
+ window["OneSignal"].getExternalUserId()
857
+ .then((value) => resolve(value))
858
+ .catch((error) => reject(error));
859
+ });
860
+ }
861
+ catch (error) {
862
+ reject(error);
863
+ }
864
+ });
865
+ }
866
+ function provideUserConsent(consent) {
867
+ return new Promise((resolve, reject) => {
868
+ if (isOneSignalScriptFailed) {
869
+ resolve();
870
+ return;
871
+ }
872
+ if (!doesOneSignalExist()) {
873
+ reactOneSignalFunctionQueue.push({
874
+ name: 'provideUserConsent',
875
+ args: arguments,
876
+ promiseResolver: resolve,
877
+ });
878
+ return;
879
+ }
880
+ try {
881
+ window["OneSignal"].push(() => {
882
+ window["OneSignal"].provideUserConsent(consent)
883
+ .then((value) => resolve(value))
884
+ .catch((error) => reject(error));
885
+ });
886
+ }
887
+ catch (error) {
888
+ reject(error);
889
+ }
890
+ });
891
+ }
892
+ function getEmailId(callback) {
893
+ return new Promise((resolve, reject) => {
894
+ if (isOneSignalScriptFailed) {
895
+ resolve();
896
+ return;
897
+ }
898
+ if (!doesOneSignalExist()) {
899
+ reactOneSignalFunctionQueue.push({
900
+ name: 'getEmailId',
901
+ args: arguments,
902
+ promiseResolver: resolve,
903
+ });
904
+ return;
905
+ }
906
+ try {
907
+ window["OneSignal"].push(() => {
908
+ window["OneSignal"].getEmailId(callback)
909
+ .then((value) => resolve(value))
910
+ .catch((error) => reject(error));
911
+ });
912
+ }
913
+ catch (error) {
914
+ reject(error);
915
+ }
916
+ });
917
+ }
918
+ function getSMSId(callback) {
919
+ return new Promise((resolve, reject) => {
920
+ if (isOneSignalScriptFailed) {
921
+ resolve();
922
+ return;
923
+ }
924
+ if (!doesOneSignalExist()) {
925
+ reactOneSignalFunctionQueue.push({
926
+ name: 'getSMSId',
927
+ args: arguments,
928
+ promiseResolver: resolve,
929
+ });
930
+ return;
931
+ }
932
+ try {
933
+ window["OneSignal"].push(() => {
934
+ window["OneSignal"].getSMSId(callback)
935
+ .then((value) => resolve(value))
936
+ .catch((error) => reject(error));
937
+ });
938
+ }
939
+ catch (error) {
940
+ reject(error);
941
+ }
942
+ });
943
+ }
944
+ function sendOutcome(outcomeName, outcomeWeight) {
945
+ return new Promise((resolve, reject) => {
946
+ if (isOneSignalScriptFailed) {
947
+ resolve();
948
+ return;
949
+ }
950
+ if (!doesOneSignalExist()) {
951
+ reactOneSignalFunctionQueue.push({
952
+ name: 'sendOutcome',
953
+ args: arguments,
954
+ promiseResolver: resolve,
955
+ });
956
+ return;
957
+ }
958
+ try {
959
+ window["OneSignal"].push(() => {
960
+ window["OneSignal"].sendOutcome(outcomeName, outcomeWeight)
961
+ .then((value) => resolve(value))
962
+ .catch((error) => reject(error));
963
+ });
964
+ }
965
+ catch (error) {
966
+ reject(error);
967
+ }
968
+ });
969
+ }
970
+ const OneSignalReact = {
971
+ init,
972
+ on,
973
+ off,
974
+ once,
975
+ isPushNotificationsEnabled,
976
+ showHttpPrompt,
977
+ registerForPushNotifications,
978
+ setDefaultNotificationUrl,
979
+ setDefaultTitle,
980
+ getTags,
981
+ sendTag,
982
+ sendTags,
983
+ deleteTag,
984
+ deleteTags,
985
+ addListenerForNotificationOpened,
986
+ setSubscription,
987
+ showHttpPermissionRequest,
988
+ showNativePrompt,
989
+ showSlidedownPrompt,
990
+ showCategorySlidedown,
991
+ showSmsSlidedown,
992
+ showEmailSlidedown,
993
+ showSmsAndEmailSlidedown,
994
+ getNotificationPermission,
995
+ getUserId,
996
+ getSubscription,
997
+ setEmail,
998
+ setSMSNumber,
999
+ logoutEmail,
1000
+ logoutSMS,
1001
+ setExternalUserId,
1002
+ removeExternalUserId,
1003
+ getExternalUserId,
1004
+ provideUserConsent,
1005
+ getEmailId,
1006
+ getSMSId,
1007
+ sendOutcome,
1124
1008
  };
1125
1009
 
1126
1010
  export default OneSignalReact;