react-onesignal 2.0.4 → 3.0.0-beta.2

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,97 @@
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
+ var _a;
78
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
79
+ OneSignal.init(options).then(() => {
80
+ isOneSignalInitialized = true;
81
+ resolve();
133
82
  });
134
- }
135
- catch (error) {
136
- reject(error);
137
- }
83
+ });
138
84
  });
139
- }
140
- function showHttpPrompt(options) {
85
+ };
86
+ function oneSignalLogin(externalId, jwtToken) {
141
87
  return new Promise((resolve, reject) => {
88
+ var _a;
142
89
  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;
90
+ reject();
153
91
  }
154
92
  try {
155
- window["OneSignal"].push(() => {
156
- window["OneSignal"].showHttpPrompt(options)
93
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
94
+ OneSignal.login(externalId, jwtToken)
157
95
  .then((value) => resolve(value))
158
96
  .catch((error) => reject(error));
159
97
  });
@@ -163,23 +101,15 @@ function showHttpPrompt(options) {
163
101
  }
164
102
  });
165
103
  }
166
- function registerForPushNotifications(options) {
104
+ function oneSignalLogout() {
167
105
  return new Promise((resolve, reject) => {
106
+ var _a;
168
107
  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;
108
+ reject();
179
109
  }
180
110
  try {
181
- window["OneSignal"].push(() => {
182
- window["OneSignal"].registerForPushNotifications(options)
111
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
112
+ OneSignal.logout()
183
113
  .then((value) => resolve(value))
184
114
  .catch((error) => reject(error));
185
115
  });
@@ -189,23 +119,15 @@ function registerForPushNotifications(options) {
189
119
  }
190
120
  });
191
121
  }
192
- function setDefaultNotificationUrl(url) {
122
+ function oneSignalSetConsentGiven(consent) {
193
123
  return new Promise((resolve, reject) => {
124
+ var _a;
194
125
  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;
126
+ reject();
205
127
  }
206
128
  try {
207
- window["OneSignal"].push(() => {
208
- window["OneSignal"].setDefaultNotificationUrl(url)
129
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
130
+ OneSignal.setConsentGiven(consent)
209
131
  .then((value) => resolve(value))
210
132
  .catch((error) => reject(error));
211
133
  });
@@ -215,23 +137,15 @@ function setDefaultNotificationUrl(url) {
215
137
  }
216
138
  });
217
139
  }
218
- function setDefaultTitle(title) {
140
+ function oneSignalSetConsentRequired(requiresConsent) {
219
141
  return new Promise((resolve, reject) => {
142
+ var _a;
220
143
  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;
144
+ reject();
231
145
  }
232
146
  try {
233
- window["OneSignal"].push(() => {
234
- window["OneSignal"].setDefaultTitle(title)
147
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
148
+ OneSignal.setConsentRequired(requiresConsent)
235
149
  .then((value) => resolve(value))
236
150
  .catch((error) => reject(error));
237
151
  });
@@ -241,23 +155,15 @@ function setDefaultTitle(title) {
241
155
  }
242
156
  });
243
157
  }
244
- function getTags(callback) {
158
+ function slidedownPromptPush(options) {
245
159
  return new Promise((resolve, reject) => {
160
+ var _a;
246
161
  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;
162
+ reject();
257
163
  }
258
164
  try {
259
- window["OneSignal"].push(() => {
260
- window["OneSignal"].getTags(callback)
165
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
166
+ OneSignal.Slidedown.promptPush(options)
261
167
  .then((value) => resolve(value))
262
168
  .catch((error) => reject(error));
263
169
  });
@@ -267,23 +173,15 @@ function getTags(callback) {
267
173
  }
268
174
  });
269
175
  }
270
- function sendTag(key, value, callback) {
176
+ function slidedownPromptPushCategories(options) {
271
177
  return new Promise((resolve, reject) => {
178
+ var _a;
272
179
  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;
180
+ reject();
283
181
  }
284
182
  try {
285
- window["OneSignal"].push(() => {
286
- window["OneSignal"].sendTag(key, value, callback)
183
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
184
+ OneSignal.Slidedown.promptPushCategories(options)
287
185
  .then((value) => resolve(value))
288
186
  .catch((error) => reject(error));
289
187
  });
@@ -293,23 +191,15 @@ function sendTag(key, value, callback) {
293
191
  }
294
192
  });
295
193
  }
296
- function sendTags(tags, callback) {
194
+ function slidedownPromptSms(options) {
297
195
  return new Promise((resolve, reject) => {
196
+ var _a;
298
197
  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;
198
+ reject();
309
199
  }
310
200
  try {
311
- window["OneSignal"].push(() => {
312
- window["OneSignal"].sendTags(tags, callback)
201
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
202
+ OneSignal.Slidedown.promptSms(options)
313
203
  .then((value) => resolve(value))
314
204
  .catch((error) => reject(error));
315
205
  });
@@ -319,23 +209,15 @@ function sendTags(tags, callback) {
319
209
  }
320
210
  });
321
211
  }
322
- function deleteTag(tag) {
212
+ function slidedownPromptEmail(options) {
323
213
  return new Promise((resolve, reject) => {
214
+ var _a;
324
215
  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;
216
+ reject();
335
217
  }
336
218
  try {
337
- window["OneSignal"].push(() => {
338
- window["OneSignal"].deleteTag(tag)
219
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
220
+ OneSignal.Slidedown.promptEmail(options)
339
221
  .then((value) => resolve(value))
340
222
  .catch((error) => reject(error));
341
223
  });
@@ -345,23 +227,15 @@ function deleteTag(tag) {
345
227
  }
346
228
  });
347
229
  }
348
- function deleteTags(tags, callback) {
230
+ function slidedownPromptSmsAndEmail(options) {
349
231
  return new Promise((resolve, reject) => {
232
+ var _a;
350
233
  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;
234
+ reject();
361
235
  }
362
236
  try {
363
- window["OneSignal"].push(() => {
364
- window["OneSignal"].deleteTags(tags, callback)
237
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
238
+ OneSignal.Slidedown.promptSmsAndEmail(options)
365
239
  .then((value) => resolve(value))
366
240
  .catch((error) => reject(error));
367
241
  });
@@ -371,75 +245,27 @@ function deleteTags(tags, callback) {
371
245
  }
372
246
  });
373
247
  }
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
- }
248
+ function slidedownAddEventListener(event, listener) {
249
+ var _a;
250
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
251
+ OneSignal.Slidedown.addEventListener(event, listener);
398
252
  });
399
253
  }
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
- }
254
+ function slidedownRemoveEventListener(event, listener) {
255
+ var _a;
256
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
257
+ OneSignal.Slidedown.removeEventListener(event, listener);
424
258
  });
425
259
  }
426
- function showHttpPermissionRequest(options) {
260
+ function notificationsSetDefaultUrl(url) {
427
261
  return new Promise((resolve, reject) => {
262
+ var _a;
428
263
  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;
264
+ reject();
439
265
  }
440
266
  try {
441
- window["OneSignal"].push(() => {
442
- window["OneSignal"].showHttpPermissionRequest(options)
267
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
268
+ OneSignal.Notifications.setDefaultUrl(url)
443
269
  .then((value) => resolve(value))
444
270
  .catch((error) => reject(error));
445
271
  });
@@ -449,23 +275,15 @@ function showHttpPermissionRequest(options) {
449
275
  }
450
276
  });
451
277
  }
452
- function showNativePrompt() {
278
+ function notificationsSetDefaultTitle(title) {
453
279
  return new Promise((resolve, reject) => {
280
+ var _a;
454
281
  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;
282
+ reject();
465
283
  }
466
284
  try {
467
- window["OneSignal"].push(() => {
468
- window["OneSignal"].showNativePrompt()
285
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
286
+ OneSignal.Notifications.setDefaultTitle(title)
469
287
  .then((value) => resolve(value))
470
288
  .catch((error) => reject(error));
471
289
  });
@@ -475,23 +293,15 @@ function showNativePrompt() {
475
293
  }
476
294
  });
477
295
  }
478
- function showSlidedownPrompt(options) {
296
+ function notificationsGetPermissionStatus(onComplete) {
479
297
  return new Promise((resolve, reject) => {
298
+ var _a;
480
299
  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;
300
+ reject();
491
301
  }
492
302
  try {
493
- window["OneSignal"].push(() => {
494
- window["OneSignal"].showSlidedownPrompt(options)
303
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
304
+ OneSignal.Notifications.getPermissionStatus(onComplete)
495
305
  .then((value) => resolve(value))
496
306
  .catch((error) => reject(error));
497
307
  });
@@ -501,23 +311,15 @@ function showSlidedownPrompt(options) {
501
311
  }
502
312
  });
503
313
  }
504
- function showCategorySlidedown(options) {
314
+ function notificationsRequestPermission() {
505
315
  return new Promise((resolve, reject) => {
316
+ var _a;
506
317
  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;
318
+ reject();
517
319
  }
518
320
  try {
519
- window["OneSignal"].push(() => {
520
- window["OneSignal"].showCategorySlidedown(options)
321
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
322
+ OneSignal.Notifications.requestPermission()
521
323
  .then((value) => resolve(value))
522
324
  .catch((error) => reject(error));
523
325
  });
@@ -527,75 +329,27 @@ function showCategorySlidedown(options) {
527
329
  }
528
330
  });
529
331
  }
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
- }
332
+ function notificationsAddEventListener(event, listener) {
333
+ var _a;
334
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
335
+ OneSignal.Notifications.addEventListener(event, listener);
554
336
  });
555
337
  }
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
- }
338
+ function notificationsRemoveEventListener(event, listener) {
339
+ var _a;
340
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
341
+ OneSignal.Notifications.removeEventListener(event, listener);
580
342
  });
581
343
  }
582
- function showSmsAndEmailSlidedown(options) {
344
+ function sessionSendOutcome(outcomeName, outcomeWeight) {
583
345
  return new Promise((resolve, reject) => {
346
+ var _a;
584
347
  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;
348
+ reject();
595
349
  }
596
350
  try {
597
- window["OneSignal"].push(() => {
598
- window["OneSignal"].showSmsAndEmailSlidedown(options)
351
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
352
+ OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
599
353
  .then((value) => resolve(value))
600
354
  .catch((error) => reject(error));
601
355
  });
@@ -605,23 +359,15 @@ function showSmsAndEmailSlidedown(options) {
605
359
  }
606
360
  });
607
361
  }
608
- function getNotificationPermission(onComplete) {
362
+ function sessionSendUniqueOutcome(outcomeName) {
609
363
  return new Promise((resolve, reject) => {
364
+ var _a;
610
365
  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;
366
+ reject();
621
367
  }
622
368
  try {
623
- window["OneSignal"].push(() => {
624
- window["OneSignal"].getNotificationPermission(onComplete)
369
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
370
+ OneSignal.Session.sendUniqueOutcome(outcomeName)
625
371
  .then((value) => resolve(value))
626
372
  .catch((error) => reject(error));
627
373
  });
@@ -631,231 +377,63 @@ function getNotificationPermission(onComplete) {
631
377
  }
632
378
  });
633
379
  }
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
- }
380
+ function userAddAlias(label, id) {
381
+ var _a;
382
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
383
+ OneSignal.User.addAlias(label, id);
658
384
  });
659
385
  }
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
- }
386
+ function userAddAliases(aliases) {
387
+ var _a;
388
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
389
+ OneSignal.User.addAliases(aliases);
684
390
  });
685
391
  }
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
- }
392
+ function userRemoveAlias(label) {
393
+ var _a;
394
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
395
+ OneSignal.User.removeAlias(label);
710
396
  });
711
397
  }
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
- }
398
+ function userRemoveAliases(labels) {
399
+ var _a;
400
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
401
+ OneSignal.User.removeAliases(labels);
736
402
  });
737
403
  }
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
- }
404
+ function userAddEmail(email) {
405
+ var _a;
406
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
407
+ OneSignal.User.addEmail(email);
762
408
  });
763
409
  }
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
- }
410
+ function userRemoveEmail(email) {
411
+ var _a;
412
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
413
+ OneSignal.User.removeEmail(email);
788
414
  });
789
415
  }
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
- }
416
+ function userAddSms(smsNumber) {
417
+ var _a;
418
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
419
+ OneSignal.User.addSms(smsNumber);
814
420
  });
815
421
  }
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
- }
422
+ function userRemoveSms(smsNumber) {
423
+ var _a;
424
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
425
+ OneSignal.User.removeSms(smsNumber);
840
426
  });
841
427
  }
842
- function getExternalUserId() {
428
+ function pushSubscriptionOptIn() {
843
429
  return new Promise((resolve, reject) => {
430
+ var _a;
844
431
  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;
432
+ reject();
855
433
  }
856
434
  try {
857
- window["OneSignal"].push(() => {
858
- window["OneSignal"].getExternalUserId()
435
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
436
+ OneSignal.User.PushSubscription.optIn()
859
437
  .then((value) => resolve(value))
860
438
  .catch((error) => reject(error));
861
439
  });
@@ -865,23 +443,15 @@ function getExternalUserId() {
865
443
  }
866
444
  });
867
445
  }
868
- function provideUserConsent(consent) {
446
+ function pushSubscriptionOptOut() {
869
447
  return new Promise((resolve, reject) => {
448
+ var _a;
870
449
  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;
450
+ reject();
881
451
  }
882
452
  try {
883
- window["OneSignal"].push(() => {
884
- window["OneSignal"].provideUserConsent(consent)
453
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
454
+ OneSignal.User.PushSubscription.optOut()
885
455
  .then((value) => resolve(value))
886
456
  .catch((error) => reject(error));
887
457
  });
@@ -891,123 +461,82 @@ function provideUserConsent(consent) {
891
461
  }
892
462
  });
893
463
  }
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
- }
464
+ function pushSubscriptionAddEventListener(event, listener) {
465
+ var _a;
466
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
467
+ OneSignal.User.PushSubscription.addEventListener(event, listener);
918
468
  });
919
469
  }
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
- }
470
+ function pushSubscriptionRemoveEventListener(event, listener) {
471
+ var _a;
472
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
473
+ OneSignal.User.PushSubscription.removeEventListener(event, listener);
944
474
  });
945
475
  }
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
- }
476
+ function debugSetLogLevel(logLevel) {
477
+ var _a;
478
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
479
+ OneSignal.Debug.setLogLevel(logLevel);
970
480
  });
971
481
  }
972
- const OneSignalReact = {
482
+ const PushSubscriptionNamespace = {
483
+ get id() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.User) === null || _b === void 0 ? void 0 : _b.PushSubscription) === null || _c === void 0 ? void 0 : _c.id; },
484
+ get token() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.User) === null || _b === void 0 ? void 0 : _b.PushSubscription) === null || _c === void 0 ? void 0 : _c.token; },
485
+ get optedIn() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.User) === null || _b === void 0 ? void 0 : _b.PushSubscription) === null || _c === void 0 ? void 0 : _c.optedIn; },
486
+ optIn: pushSubscriptionOptIn,
487
+ optOut: pushSubscriptionOptOut,
488
+ addEventListener: pushSubscriptionAddEventListener,
489
+ removeEventListener: pushSubscriptionRemoveEventListener,
490
+ };
491
+ const UserNamespace = {
492
+ addAlias: userAddAlias,
493
+ addAliases: userAddAliases,
494
+ removeAlias: userRemoveAlias,
495
+ removeAliases: userRemoveAliases,
496
+ addEmail: userAddEmail,
497
+ removeEmail: userRemoveEmail,
498
+ addSms: userAddSms,
499
+ removeSms: userRemoveSms,
500
+ PushSubscription: PushSubscriptionNamespace,
501
+ };
502
+ const SessionNamespace = {
503
+ sendOutcome: sessionSendOutcome,
504
+ sendUniqueOutcome: sessionSendUniqueOutcome,
505
+ };
506
+ const DebugNamespace = {
507
+ setLogLevel: debugSetLogLevel,
508
+ };
509
+ const SlidedownNamespace = {
510
+ promptPush: slidedownPromptPush,
511
+ promptPushCategories: slidedownPromptPushCategories,
512
+ promptSms: slidedownPromptSms,
513
+ promptEmail: slidedownPromptEmail,
514
+ promptSmsAndEmail: slidedownPromptSmsAndEmail,
515
+ addEventListener: slidedownAddEventListener,
516
+ removeEventListener: slidedownRemoveEventListener,
517
+ };
518
+ const NotificationsNamespace = {
519
+ setDefaultUrl: notificationsSetDefaultUrl,
520
+ setDefaultTitle: notificationsSetDefaultTitle,
521
+ isPushSupported,
522
+ getPermissionStatus: notificationsGetPermissionStatus,
523
+ requestPermission: notificationsRequestPermission,
524
+ addEventListener: notificationsAddEventListener,
525
+ removeEventListener: notificationsRemoveEventListener,
526
+ };
527
+ const OneSignalNamespace = {
528
+ login: oneSignalLogin,
529
+ logout: oneSignalLogout,
973
530
  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
- };
531
+ setConsentGiven: oneSignalSetConsentGiven,
532
+ setConsentRequired: oneSignalSetConsentRequired,
533
+ Slidedown: SlidedownNamespace,
534
+ Notifications: NotificationsNamespace,
535
+ Session: SessionNamespace,
536
+ User: UserNamespace,
537
+ Debug: DebugNamespace,
538
+ };
539
+ const OneSignal = OneSignalNamespace;
1011
540
 
1012
- module.exports = OneSignalReact;
541
+ module.exports = OneSignal;
1013
542
  //# sourceMappingURL=index.js.map