react-onesignal 2.0.0-beta1 → 2.0.3

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