react-onesignal 2.0.4 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,159 +1,96 @@
1
1
  'use strict';
2
2
 
3
3
  const ONESIGNAL_SDK_ID = 'onesignal-sdk';
4
- const ONE_SIGNAL_SCRIPT_SRC = 'https://cdn.onesignal.com/sdks/OneSignalSDK.js';
5
- const reactOneSignalFunctionQueue = [];
4
+ const ONE_SIGNAL_SCRIPT_SRC = "https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";
6
5
  // true if the script is successfully loaded from CDN.
7
6
  let isOneSignalInitialized = false;
8
7
  // true if the script fails to load from CDN. A separate flag is necessary
9
8
  // to disambiguate between a CDN load failure and a delayed call to
10
9
  // OneSignal#init.
11
10
  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) => {
11
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
12
+ addSDKScript();
13
+ /* H E L P E R S */
14
+ function handleOnError() {
33
15
  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
- }
16
+ }
17
+ function addSDKScript() {
64
18
  const script = document.createElement('script');
65
19
  script.id = ONESIGNAL_SDK_ID;
20
+ script.defer = true;
66
21
  script.src = ONE_SIGNAL_SCRIPT_SRC;
67
- script.async = true;
68
- script.onload = () => {
69
- handleOnLoad(resolve, options);
70
- };
71
22
  // Always resolve whether or not the script is successfully initialized.
72
23
  // This is important for users who may block cdn.onesignal.com w/ adblock.
73
24
  script.onerror = () => {
74
- handleOnError(resolve);
25
+ handleOnError();
75
26
  };
76
27
  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
28
  }
90
- function off(event, listener) {
91
- if (!doesOneSignalExist()) {
92
- reactOneSignalFunctionQueue.push({
93
- name: 'off',
94
- args: arguments,
95
- });
96
- return;
29
+ /**
30
+ * The following code is copied directly from the native SDK source file BrowserSupportsPush.ts
31
+ * S T A R T
32
+ */
33
+ // Checks if the browser supports push notifications by checking if specific
34
+ // classes and properties on them exist
35
+ function isPushNotificationsSupported() {
36
+ return supportsVapidPush() || supportsSafariPush();
37
+ }
38
+ function isMacOSSafariInIframe() {
39
+ // Fallback detection for Safari on macOS in an iframe context
40
+ return window.top !== window && // isContextIframe
41
+ navigator.vendor === "Apple Computer, Inc." && // isSafari
42
+ navigator.platform === "MacIntel"; // isMacOS
43
+ }
44
+ function supportsSafariPush() {
45
+ return (window.safari && typeof window.safari.pushNotification !== "undefined") ||
46
+ isMacOSSafariInIframe();
47
+ }
48
+ // Does the browser support the standard Push API
49
+ function supportsVapidPush() {
50
+ return typeof PushSubscriptionOptions !== "undefined" &&
51
+ PushSubscriptionOptions.prototype.hasOwnProperty("applicationServerKey");
52
+ }
53
+ /* E N D */
54
+ /**
55
+ * This is a SPECIAL FUNCTION
56
+ * It is a hardcoded implementation copied from the upstream/native WebSDK since we want to return a boolean immediately
57
+ * Natively, this is done via the shimloading mechanism (i.e. if the SDK loads, push is supported)
58
+ * @PublicApi
59
+ */
60
+ const isPushSupported = () => {
61
+ return isPushNotificationsSupported();
62
+ };
63
+ /**
64
+ * @PublicApi
65
+ */
66
+ const init = (options) => {
67
+ if (isOneSignalInitialized) {
68
+ return Promise.reject(`OneSignal is already initialized.`);
97
69
  }
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;
70
+ if (!options || !options.appId) {
71
+ throw new Error('You need to provide your OneSignal appId.');
109
72
  }
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));
73
+ if (!document) {
74
+ return Promise.reject(`Document is not defined.`);
75
+ }
76
+ return new Promise((resolve) => {
77
+ window['OneSignalDeferred'].push((OneSignal) => {
78
+ OneSignal.init(options).then(() => {
79
+ isOneSignalInitialized = true;
80
+ resolve();
133
81
  });
134
- }
135
- catch (error) {
136
- reject(error);
137
- }
82
+ });
138
83
  });
139
- }
140
- function showHttpPrompt(options) {
84
+ };
85
+ function oneSignalLogin(externalId, jwtToken) {
141
86
  return new Promise((resolve, reject) => {
87
+ var _a;
142
88
  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;
89
+ reject();
153
90
  }
154
91
  try {
155
- window["OneSignal"].push(() => {
156
- window["OneSignal"].showHttpPrompt(options)
92
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
93
+ OneSignal.login(externalId, jwtToken)
157
94
  .then((value) => resolve(value))
158
95
  .catch((error) => reject(error));
159
96
  });
@@ -163,23 +100,15 @@ function showHttpPrompt(options) {
163
100
  }
164
101
  });
165
102
  }
166
- function registerForPushNotifications(options) {
103
+ function oneSignalLogout() {
167
104
  return new Promise((resolve, reject) => {
105
+ var _a;
168
106
  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;
107
+ reject();
179
108
  }
180
109
  try {
181
- window["OneSignal"].push(() => {
182
- window["OneSignal"].registerForPushNotifications(options)
110
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
111
+ OneSignal.logout()
183
112
  .then((value) => resolve(value))
184
113
  .catch((error) => reject(error));
185
114
  });
@@ -189,23 +118,15 @@ function registerForPushNotifications(options) {
189
118
  }
190
119
  });
191
120
  }
192
- function setDefaultNotificationUrl(url) {
121
+ function oneSignalSetConsentGiven(consent) {
193
122
  return new Promise((resolve, reject) => {
123
+ var _a;
194
124
  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;
125
+ reject();
205
126
  }
206
127
  try {
207
- window["OneSignal"].push(() => {
208
- window["OneSignal"].setDefaultNotificationUrl(url)
128
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
129
+ OneSignal.setConsentGiven(consent)
209
130
  .then((value) => resolve(value))
210
131
  .catch((error) => reject(error));
211
132
  });
@@ -215,23 +136,15 @@ function setDefaultNotificationUrl(url) {
215
136
  }
216
137
  });
217
138
  }
218
- function setDefaultTitle(title) {
139
+ function oneSignalSetConsentRequired(requiresConsent) {
219
140
  return new Promise((resolve, reject) => {
141
+ var _a;
220
142
  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;
143
+ reject();
231
144
  }
232
145
  try {
233
- window["OneSignal"].push(() => {
234
- window["OneSignal"].setDefaultTitle(title)
146
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
147
+ OneSignal.setConsentRequired(requiresConsent)
235
148
  .then((value) => resolve(value))
236
149
  .catch((error) => reject(error));
237
150
  });
@@ -241,23 +154,15 @@ function setDefaultTitle(title) {
241
154
  }
242
155
  });
243
156
  }
244
- function getTags(callback) {
157
+ function slidedownPromptPush(options) {
245
158
  return new Promise((resolve, reject) => {
159
+ var _a;
246
160
  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;
161
+ reject();
257
162
  }
258
163
  try {
259
- window["OneSignal"].push(() => {
260
- window["OneSignal"].getTags(callback)
164
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
165
+ OneSignal.Slidedown.promptPush(options)
261
166
  .then((value) => resolve(value))
262
167
  .catch((error) => reject(error));
263
168
  });
@@ -267,23 +172,15 @@ function getTags(callback) {
267
172
  }
268
173
  });
269
174
  }
270
- function sendTag(key, value, callback) {
175
+ function slidedownPromptPushCategories(options) {
271
176
  return new Promise((resolve, reject) => {
177
+ var _a;
272
178
  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;
179
+ reject();
283
180
  }
284
181
  try {
285
- window["OneSignal"].push(() => {
286
- window["OneSignal"].sendTag(key, value, callback)
182
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
183
+ OneSignal.Slidedown.promptPushCategories(options)
287
184
  .then((value) => resolve(value))
288
185
  .catch((error) => reject(error));
289
186
  });
@@ -293,23 +190,15 @@ function sendTag(key, value, callback) {
293
190
  }
294
191
  });
295
192
  }
296
- function sendTags(tags, callback) {
193
+ function slidedownPromptSms(options) {
297
194
  return new Promise((resolve, reject) => {
195
+ var _a;
298
196
  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;
197
+ reject();
309
198
  }
310
199
  try {
311
- window["OneSignal"].push(() => {
312
- window["OneSignal"].sendTags(tags, callback)
200
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
201
+ OneSignal.Slidedown.promptSms(options)
313
202
  .then((value) => resolve(value))
314
203
  .catch((error) => reject(error));
315
204
  });
@@ -319,23 +208,15 @@ function sendTags(tags, callback) {
319
208
  }
320
209
  });
321
210
  }
322
- function deleteTag(tag) {
211
+ function slidedownPromptEmail(options) {
323
212
  return new Promise((resolve, reject) => {
213
+ var _a;
324
214
  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;
215
+ reject();
335
216
  }
336
217
  try {
337
- window["OneSignal"].push(() => {
338
- window["OneSignal"].deleteTag(tag)
218
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
219
+ OneSignal.Slidedown.promptEmail(options)
339
220
  .then((value) => resolve(value))
340
221
  .catch((error) => reject(error));
341
222
  });
@@ -345,23 +226,15 @@ function deleteTag(tag) {
345
226
  }
346
227
  });
347
228
  }
348
- function deleteTags(tags, callback) {
229
+ function slidedownPromptSmsAndEmail(options) {
349
230
  return new Promise((resolve, reject) => {
231
+ var _a;
350
232
  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;
233
+ reject();
361
234
  }
362
235
  try {
363
- window["OneSignal"].push(() => {
364
- window["OneSignal"].deleteTags(tags, callback)
236
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
237
+ OneSignal.Slidedown.promptSmsAndEmail(options)
365
238
  .then((value) => resolve(value))
366
239
  .catch((error) => reject(error));
367
240
  });
@@ -371,75 +244,27 @@ function deleteTags(tags, callback) {
371
244
  }
372
245
  });
373
246
  }
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
- }
247
+ function slidedownAddEventListener(event, listener) {
248
+ var _a;
249
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
250
+ OneSignal.Slidedown.addEventListener(event, listener);
398
251
  });
399
252
  }
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
- }
253
+ function slidedownRemoveEventListener(event, listener) {
254
+ var _a;
255
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
256
+ OneSignal.Slidedown.removeEventListener(event, listener);
424
257
  });
425
258
  }
426
- function showHttpPermissionRequest(options) {
259
+ function notificationsSetDefaultUrl(url) {
427
260
  return new Promise((resolve, reject) => {
261
+ var _a;
428
262
  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;
263
+ reject();
439
264
  }
440
265
  try {
441
- window["OneSignal"].push(() => {
442
- window["OneSignal"].showHttpPermissionRequest(options)
266
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
267
+ OneSignal.Notifications.setDefaultUrl(url)
443
268
  .then((value) => resolve(value))
444
269
  .catch((error) => reject(error));
445
270
  });
@@ -449,23 +274,15 @@ function showHttpPermissionRequest(options) {
449
274
  }
450
275
  });
451
276
  }
452
- function showNativePrompt() {
277
+ function notificationsSetDefaultTitle(title) {
453
278
  return new Promise((resolve, reject) => {
279
+ var _a;
454
280
  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;
281
+ reject();
465
282
  }
466
283
  try {
467
- window["OneSignal"].push(() => {
468
- window["OneSignal"].showNativePrompt()
284
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
285
+ OneSignal.Notifications.setDefaultTitle(title)
469
286
  .then((value) => resolve(value))
470
287
  .catch((error) => reject(error));
471
288
  });
@@ -475,23 +292,15 @@ function showNativePrompt() {
475
292
  }
476
293
  });
477
294
  }
478
- function showSlidedownPrompt(options) {
295
+ function notificationsGetPermissionStatus(onComplete) {
479
296
  return new Promise((resolve, reject) => {
297
+ var _a;
480
298
  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;
299
+ reject();
491
300
  }
492
301
  try {
493
- window["OneSignal"].push(() => {
494
- window["OneSignal"].showSlidedownPrompt(options)
302
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
303
+ OneSignal.Notifications.getPermissionStatus(onComplete)
495
304
  .then((value) => resolve(value))
496
305
  .catch((error) => reject(error));
497
306
  });
@@ -501,23 +310,15 @@ function showSlidedownPrompt(options) {
501
310
  }
502
311
  });
503
312
  }
504
- function showCategorySlidedown(options) {
313
+ function notificationsRequestPermission() {
505
314
  return new Promise((resolve, reject) => {
315
+ var _a;
506
316
  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;
317
+ reject();
517
318
  }
518
319
  try {
519
- window["OneSignal"].push(() => {
520
- window["OneSignal"].showCategorySlidedown(options)
320
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
321
+ OneSignal.Notifications.requestPermission()
521
322
  .then((value) => resolve(value))
522
323
  .catch((error) => reject(error));
523
324
  });
@@ -527,75 +328,27 @@ function showCategorySlidedown(options) {
527
328
  }
528
329
  });
529
330
  }
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
- }
331
+ function notificationsAddEventListener(event, listener) {
332
+ var _a;
333
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
334
+ OneSignal.Notifications.addEventListener(event, listener);
554
335
  });
555
336
  }
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
- }
337
+ function notificationsRemoveEventListener(event, listener) {
338
+ var _a;
339
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
340
+ OneSignal.Notifications.removeEventListener(event, listener);
580
341
  });
581
342
  }
582
- function showSmsAndEmailSlidedown(options) {
343
+ function sessionSendOutcome(outcomeName, outcomeWeight) {
583
344
  return new Promise((resolve, reject) => {
345
+ var _a;
584
346
  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;
347
+ reject();
595
348
  }
596
349
  try {
597
- window["OneSignal"].push(() => {
598
- window["OneSignal"].showSmsAndEmailSlidedown(options)
350
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
351
+ OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
599
352
  .then((value) => resolve(value))
600
353
  .catch((error) => reject(error));
601
354
  });
@@ -605,23 +358,15 @@ function showSmsAndEmailSlidedown(options) {
605
358
  }
606
359
  });
607
360
  }
608
- function getNotificationPermission(onComplete) {
361
+ function sessionSendUniqueOutcome(outcomeName) {
609
362
  return new Promise((resolve, reject) => {
363
+ var _a;
610
364
  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;
365
+ reject();
621
366
  }
622
367
  try {
623
- window["OneSignal"].push(() => {
624
- window["OneSignal"].getNotificationPermission(onComplete)
368
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
369
+ OneSignal.Session.sendUniqueOutcome(outcomeName)
625
370
  .then((value) => resolve(value))
626
371
  .catch((error) => reject(error));
627
372
  });
@@ -631,231 +376,63 @@ function getNotificationPermission(onComplete) {
631
376
  }
632
377
  });
633
378
  }
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
- }
379
+ function userAddAlias(label, id) {
380
+ var _a;
381
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
382
+ OneSignal.User.addAlias(label, id);
658
383
  });
659
384
  }
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
- }
385
+ function userAddAliases(aliases) {
386
+ var _a;
387
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
388
+ OneSignal.User.addAliases(aliases);
684
389
  });
685
390
  }
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
- }
391
+ function userRemoveAlias(label) {
392
+ var _a;
393
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
394
+ OneSignal.User.removeAlias(label);
710
395
  });
711
396
  }
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
- }
397
+ function userRemoveAliases(labels) {
398
+ var _a;
399
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
400
+ OneSignal.User.removeAliases(labels);
736
401
  });
737
402
  }
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
- }
403
+ function userAddEmail(email) {
404
+ var _a;
405
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
406
+ OneSignal.User.addEmail(email);
762
407
  });
763
408
  }
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
- }
409
+ function userRemoveEmail(email) {
410
+ var _a;
411
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
412
+ OneSignal.User.removeEmail(email);
788
413
  });
789
414
  }
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
- }
415
+ function userAddSms(smsNumber) {
416
+ var _a;
417
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
418
+ OneSignal.User.addSms(smsNumber);
814
419
  });
815
420
  }
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
- }
421
+ function userRemoveSms(smsNumber) {
422
+ var _a;
423
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
424
+ OneSignal.User.removeSms(smsNumber);
840
425
  });
841
426
  }
842
- function getExternalUserId() {
427
+ function pushSubscriptionOptIn() {
843
428
  return new Promise((resolve, reject) => {
429
+ var _a;
844
430
  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;
431
+ reject();
855
432
  }
856
433
  try {
857
- window["OneSignal"].push(() => {
858
- window["OneSignal"].getExternalUserId()
434
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
435
+ OneSignal.User.PushSubscription.optIn()
859
436
  .then((value) => resolve(value))
860
437
  .catch((error) => reject(error));
861
438
  });
@@ -865,23 +442,15 @@ function getExternalUserId() {
865
442
  }
866
443
  });
867
444
  }
868
- function provideUserConsent(consent) {
445
+ function pushSubscriptionOptOut() {
869
446
  return new Promise((resolve, reject) => {
447
+ var _a;
870
448
  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;
449
+ reject();
881
450
  }
882
451
  try {
883
- window["OneSignal"].push(() => {
884
- window["OneSignal"].provideUserConsent(consent)
452
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
453
+ OneSignal.User.PushSubscription.optOut()
885
454
  .then((value) => resolve(value))
886
455
  .catch((error) => reject(error));
887
456
  });
@@ -891,123 +460,79 @@ function provideUserConsent(consent) {
891
460
  }
892
461
  });
893
462
  }
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
- }
463
+ function pushSubscriptionAddEventListener(event, listener) {
464
+ var _a;
465
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
466
+ OneSignal.User.PushSubscription.addEventListener(event, listener);
918
467
  });
919
468
  }
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
- }
469
+ function pushSubscriptionRemoveEventListener(event, listener) {
470
+ var _a;
471
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
472
+ OneSignal.User.PushSubscription.removeEventListener(event, listener);
944
473
  });
945
474
  }
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
- }
475
+ function debugSetLogLevel(logLevel) {
476
+ var _a;
477
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
478
+ OneSignal.Debug.setLogLevel(logLevel);
970
479
  });
971
480
  }
972
- const OneSignalReact = {
481
+ const PushSubscriptionNamespace = {
482
+ optIn: pushSubscriptionOptIn,
483
+ optOut: pushSubscriptionOptOut,
484
+ addEventListener: pushSubscriptionAddEventListener,
485
+ removeEventListener: pushSubscriptionRemoveEventListener,
486
+ };
487
+ const UserNamespace = {
488
+ addAlias: userAddAlias,
489
+ addAliases: userAddAliases,
490
+ removeAlias: userRemoveAlias,
491
+ removeAliases: userRemoveAliases,
492
+ addEmail: userAddEmail,
493
+ removeEmail: userRemoveEmail,
494
+ addSms: userAddSms,
495
+ removeSms: userRemoveSms,
496
+ PushSubscription: PushSubscriptionNamespace,
497
+ };
498
+ const SessionNamespace = {
499
+ sendOutcome: sessionSendOutcome,
500
+ sendUniqueOutcome: sessionSendUniqueOutcome,
501
+ };
502
+ const DebugNamespace = {
503
+ setLogLevel: debugSetLogLevel,
504
+ };
505
+ const SlidedownNamespace = {
506
+ promptPush: slidedownPromptPush,
507
+ promptPushCategories: slidedownPromptPushCategories,
508
+ promptSms: slidedownPromptSms,
509
+ promptEmail: slidedownPromptEmail,
510
+ promptSmsAndEmail: slidedownPromptSmsAndEmail,
511
+ addEventListener: slidedownAddEventListener,
512
+ removeEventListener: slidedownRemoveEventListener,
513
+ };
514
+ const NotificationsNamespace = {
515
+ setDefaultUrl: notificationsSetDefaultUrl,
516
+ setDefaultTitle: notificationsSetDefaultTitle,
517
+ isPushSupported,
518
+ getPermissionStatus: notificationsGetPermissionStatus,
519
+ requestPermission: notificationsRequestPermission,
520
+ addEventListener: notificationsAddEventListener,
521
+ removeEventListener: notificationsRemoveEventListener,
522
+ };
523
+ const OneSignalNamespace = {
524
+ login: oneSignalLogin,
525
+ logout: oneSignalLogout,
973
526
  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,
1010
- };
527
+ setConsentGiven: oneSignalSetConsentGiven,
528
+ setConsentRequired: oneSignalSetConsentRequired,
529
+ Slidedown: SlidedownNamespace,
530
+ Notifications: NotificationsNamespace,
531
+ Session: SessionNamespace,
532
+ User: UserNamespace,
533
+ Debug: DebugNamespace,
534
+ };
535
+ const OneSignal = OneSignalNamespace;
1011
536
 
1012
- module.exports = OneSignalReact;
537
+ module.exports = OneSignal;
1013
538
  //# sourceMappingURL=index.js.map