onesignal-vue 2.4.1 → 2.5.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.5.0](https://github.com/OneSignal/onesignal-vue/compare/2.4.2...2.5.0) (2025-09-18)
4
+
5
+ ### Features
6
+
7
+ * sync with web-shim-codegen v3.0.6 ([646d78a](https://github.com/OneSignal/onesignal-vue/commit/646d78abc4034412cf3afe8bdf13a14d1e4ce605))
8
+
9
+ ## [2.4.2](https://github.com/OneSignal/onesignal-vue/compare/2.4.1...2.4.2) (2025-06-06)
10
+
11
+ ### Bug Fixes
12
+
13
+ * sync with web-shim-codegen v3.0.5 ([0597a34](https://github.com/OneSignal/onesignal-vue/commit/0597a346a9d44670828c316db2194f0652aad3a0))
14
+
3
15
  ## [2.4.1](https://github.com/OneSignal/onesignal-vue/compare/2.4.0...2.4.1) (2025-05-12)
4
16
 
5
17
  ## [2.4.0](https://github.com/OneSignal/onesignal-vue/compare/2.3.0...2.4.0) (2025-05-10)
package/README.md CHANGED
@@ -20,7 +20,7 @@
20
20
  - 🏠 [Homepage](https://onesignal.com)
21
21
  - 🖤 [npm](https://www.npmjs.com/package/onesignal-vue)
22
22
 
23
- OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 800k businesses to send 5 billion Push Notifications per day.
23
+ OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 2 million+ developers to send 12 billion Push Notifications per day.
24
24
 
25
25
  You can find more information on OneSignal [here](https://onesignal.com/).
26
26
 
@@ -123,7 +123,7 @@ export default {
123
123
 
124
124
  ### Init Options
125
125
 
126
- You can pass other [options](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
126
+ You can pass other [options](https://documentation.onesignal.com/docs/web-sdk-reference#init) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
127
127
 
128
128
  <details>
129
129
  <summary>Expand to see more options</summary>
@@ -194,7 +194,7 @@ interface IOneSignalOneSignal {
194
194
 
195
195
  ### OneSignal API
196
196
 
197
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) for information on all available SDK functions.
197
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-sdk) for information on all available SDK functions.
198
198
 
199
199
  ---
200
200
 
@@ -234,7 +234,7 @@ this.$OneSignal.Notifications.addEventListener('click', (event) => {
234
234
  });
235
235
  ```
236
236
 
237
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) for all available event listeners.
237
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-sdk-reference#addeventlistener-push-notification) for all available event listeners.
238
238
 
239
239
  ---
240
240
 
package/dist/index.d.ts CHANGED
@@ -221,8 +221,13 @@ export interface IInitObject {
221
221
  welcomeNotification?: {
222
222
  /**
223
223
  * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.
224
+ * @deprecated Use 'disable' instead. This will be removed in a future version.
224
225
  */
225
226
  disabled?: boolean;
227
+ /**
228
+ * Disables sending a welcome notification to new site visitors. If you want to disable welcome notifications, this is the only option you need.
229
+ */
230
+ disable?: boolean;
226
231
  /**
227
232
  * The welcome notification's message. You can localize this to your own language.
228
233
  * If left blank or set to blank, the default of 'Thanks for subscribing!' will be used.
@@ -237,7 +242,7 @@ export interface IInitObject {
237
242
  * By default, clicking the welcome notification does not open any link.
238
243
  * This is recommended because the user has just visited your site and subscribed.
239
244
  */
240
- url: string;
245
+ url?: string;
241
246
  };
242
247
  /**
243
248
  * Will enable customization of the notify/subscription bell button.
@@ -347,7 +352,7 @@ export interface IOneSignalNotifications {
347
352
  setDefaultUrl(url: string): Promise<void>;
348
353
  setDefaultTitle(title: string): Promise<void>;
349
354
  isPushSupported(): boolean;
350
- requestPermission(): Promise<void>;
355
+ requestPermission(): Promise<boolean>;
351
356
  addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
352
357
  removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
353
358
  }
@@ -361,7 +366,7 @@ export interface IOneSignalSlidedown {
361
366
  removeEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void;
362
367
  }
363
368
  export interface IOneSignalDebug {
364
- setLogLevel(logLevel: string): void;
369
+ setLogLevel(logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error'): void;
365
370
  }
366
371
  export interface IOneSignalSession {
367
372
  sendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>;
@@ -394,6 +399,7 @@ export interface IOneSignalUser {
394
399
  removeEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;
395
400
  setLanguage(language: string): void;
396
401
  getLanguage(): string;
402
+ trackEvent(name: string, properties?: Record<string, unknown>): void;
397
403
  }
398
404
  export interface IOneSignalPushSubscription {
399
405
  id: string | null | undefined;
package/dist/index.js CHANGED
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import Vue from 'vue';
2
11
  const ONESIGNAL_SDK_ID = 'onesignal-sdk';
3
12
  const ONE_SIGNAL_SCRIPT_SRC = 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';
@@ -33,6 +42,7 @@ function addSDKScript() {
33
42
  * @PublicApi
34
43
  */
35
44
  const init = (options) => {
45
+ var _a;
36
46
  if (isOneSignalInitialized) {
37
47
  return Promise.reject(`OneSignal is already initialized.`);
38
48
  }
@@ -42,6 +52,10 @@ const init = (options) => {
42
52
  if (!document) {
43
53
  return Promise.reject(`Document is not defined.`);
44
54
  }
55
+ // Handle both disabled and disable keys for welcome notification
56
+ if (((_a = options.welcomeNotification) === null || _a === void 0 ? void 0 : _a.disabled) !== undefined) {
57
+ options.welcomeNotification.disable = options.welcomeNotification.disabled;
58
+ }
45
59
  return new Promise((resolve, reject) => {
46
60
  var _a;
47
61
  (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
@@ -86,165 +100,129 @@ const isPushSupported = () => {
86
100
  return isPushNotificationsSupported();
87
101
  };
88
102
  function oneSignalLogin(externalId, jwtToken) {
89
- return new Promise(function (resolve, reject) {
103
+ return new Promise((resolve, reject) => {
90
104
  var _a;
91
105
  if (isOneSignalScriptFailed) {
92
106
  reject(new Error('OneSignal script failed to load.'));
93
107
  return;
94
108
  }
95
- try {
96
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
97
- OneSignal.login(externalId, jwtToken).then(() => resolve())
98
- .catch(error => reject(error));
99
- });
100
- }
101
- catch (error) {
102
- reject(error);
103
- }
109
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
110
+ OneSignal.login(externalId, jwtToken)
111
+ .then(() => resolve())
112
+ .catch(error => reject(error));
113
+ });
104
114
  });
105
115
  }
106
116
  function oneSignalLogout() {
107
- return new Promise(function (resolve, reject) {
117
+ return new Promise((resolve, reject) => {
108
118
  var _a;
109
119
  if (isOneSignalScriptFailed) {
110
120
  reject(new Error('OneSignal script failed to load.'));
111
121
  return;
112
122
  }
113
- try {
114
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
115
- OneSignal.logout().then(() => resolve())
116
- .catch(error => reject(error));
117
- });
118
- }
119
- catch (error) {
120
- reject(error);
121
- }
123
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
124
+ OneSignal.logout()
125
+ .then(() => resolve())
126
+ .catch(error => reject(error));
127
+ });
122
128
  });
123
129
  }
124
130
  function oneSignalSetConsentGiven(consent) {
125
- return new Promise(function (resolve, reject) {
131
+ return new Promise((resolve, reject) => {
126
132
  var _a;
127
133
  if (isOneSignalScriptFailed) {
128
134
  reject(new Error('OneSignal script failed to load.'));
129
135
  return;
130
136
  }
131
- try {
132
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
133
- OneSignal.setConsentGiven(consent).then(() => resolve())
134
- .catch(error => reject(error));
135
- });
136
- }
137
- catch (error) {
138
- reject(error);
139
- }
137
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
138
+ OneSignal.setConsentGiven(consent)
139
+ .then(() => resolve())
140
+ .catch(error => reject(error));
141
+ });
140
142
  });
141
143
  }
142
144
  function oneSignalSetConsentRequired(requiresConsent) {
143
- return new Promise(function (resolve, reject) {
145
+ return new Promise((resolve, reject) => {
144
146
  var _a;
145
147
  if (isOneSignalScriptFailed) {
146
148
  reject(new Error('OneSignal script failed to load.'));
147
149
  return;
148
150
  }
149
- try {
150
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
151
- OneSignal.setConsentRequired(requiresConsent).then(() => resolve())
152
- .catch(error => reject(error));
153
- });
154
- }
155
- catch (error) {
156
- reject(error);
157
- }
151
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
152
+ OneSignal.setConsentRequired(requiresConsent)
153
+ .then(() => resolve())
154
+ .catch(error => reject(error));
155
+ });
158
156
  });
159
157
  }
160
158
  function slidedownPromptPush(options) {
161
- return new Promise(function (resolve, reject) {
159
+ return new Promise((resolve, reject) => {
162
160
  var _a;
163
161
  if (isOneSignalScriptFailed) {
164
162
  reject(new Error('OneSignal script failed to load.'));
165
163
  return;
166
164
  }
167
- try {
168
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
169
- OneSignal.Slidedown.promptPush(options).then(() => resolve())
170
- .catch(error => reject(error));
171
- });
172
- }
173
- catch (error) {
174
- reject(error);
175
- }
165
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
166
+ OneSignal.Slidedown.promptPush(options)
167
+ .then(() => resolve())
168
+ .catch(error => reject(error));
169
+ });
176
170
  });
177
171
  }
178
172
  function slidedownPromptPushCategories(options) {
179
- return new Promise(function (resolve, reject) {
173
+ return new Promise((resolve, reject) => {
180
174
  var _a;
181
175
  if (isOneSignalScriptFailed) {
182
176
  reject(new Error('OneSignal script failed to load.'));
183
177
  return;
184
178
  }
185
- try {
186
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
187
- OneSignal.Slidedown.promptPushCategories(options).then(() => resolve())
188
- .catch(error => reject(error));
189
- });
190
- }
191
- catch (error) {
192
- reject(error);
193
- }
179
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
180
+ OneSignal.Slidedown.promptPushCategories(options)
181
+ .then(() => resolve())
182
+ .catch(error => reject(error));
183
+ });
194
184
  });
195
185
  }
196
186
  function slidedownPromptSms(options) {
197
- return new Promise(function (resolve, reject) {
187
+ return new Promise((resolve, reject) => {
198
188
  var _a;
199
189
  if (isOneSignalScriptFailed) {
200
190
  reject(new Error('OneSignal script failed to load.'));
201
191
  return;
202
192
  }
203
- try {
204
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
205
- OneSignal.Slidedown.promptSms(options).then(() => resolve())
206
- .catch(error => reject(error));
207
- });
208
- }
209
- catch (error) {
210
- reject(error);
211
- }
193
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
194
+ OneSignal.Slidedown.promptSms(options)
195
+ .then(() => resolve())
196
+ .catch(error => reject(error));
197
+ });
212
198
  });
213
199
  }
214
200
  function slidedownPromptEmail(options) {
215
- return new Promise(function (resolve, reject) {
201
+ return new Promise((resolve, reject) => {
216
202
  var _a;
217
203
  if (isOneSignalScriptFailed) {
218
204
  reject(new Error('OneSignal script failed to load.'));
219
205
  return;
220
206
  }
221
- try {
222
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
223
- OneSignal.Slidedown.promptEmail(options).then(() => resolve())
224
- .catch(error => reject(error));
225
- });
226
- }
227
- catch (error) {
228
- reject(error);
229
- }
207
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
208
+ OneSignal.Slidedown.promptEmail(options)
209
+ .then(() => resolve())
210
+ .catch(error => reject(error));
211
+ });
230
212
  });
231
213
  }
232
214
  function slidedownPromptSmsAndEmail(options) {
233
- return new Promise(function (resolve, reject) {
215
+ return new Promise((resolve, reject) => {
234
216
  var _a;
235
217
  if (isOneSignalScriptFailed) {
236
218
  reject(new Error('OneSignal script failed to load.'));
237
219
  return;
238
220
  }
239
- try {
240
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
241
- OneSignal.Slidedown.promptSmsAndEmail(options).then(() => resolve())
242
- .catch(error => reject(error));
243
- });
244
- }
245
- catch (error) {
246
- reject(error);
247
- }
221
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
222
+ OneSignal.Slidedown.promptSmsAndEmail(options)
223
+ .then(() => resolve())
224
+ .catch(error => reject(error));
225
+ });
248
226
  });
249
227
  }
250
228
  function slidedownAddEventListener(event, listener) {
@@ -260,57 +238,45 @@ function slidedownRemoveEventListener(event, listener) {
260
238
  });
261
239
  }
262
240
  function notificationsSetDefaultUrl(url) {
263
- return new Promise(function (resolve, reject) {
241
+ return new Promise((resolve, reject) => {
264
242
  var _a;
265
243
  if (isOneSignalScriptFailed) {
266
244
  reject(new Error('OneSignal script failed to load.'));
267
245
  return;
268
246
  }
269
- try {
270
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
271
- OneSignal.Notifications.setDefaultUrl(url).then(() => resolve())
272
- .catch(error => reject(error));
273
- });
274
- }
275
- catch (error) {
276
- reject(error);
277
- }
247
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
248
+ OneSignal.Notifications.setDefaultUrl(url)
249
+ .then(() => resolve())
250
+ .catch(error => reject(error));
251
+ });
278
252
  });
279
253
  }
280
254
  function notificationsSetDefaultTitle(title) {
281
- return new Promise(function (resolve, reject) {
255
+ return new Promise((resolve, reject) => {
282
256
  var _a;
283
257
  if (isOneSignalScriptFailed) {
284
258
  reject(new Error('OneSignal script failed to load.'));
285
259
  return;
286
260
  }
287
- try {
288
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
289
- OneSignal.Notifications.setDefaultTitle(title).then(() => resolve())
290
- .catch(error => reject(error));
291
- });
292
- }
293
- catch (error) {
294
- reject(error);
295
- }
261
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
262
+ OneSignal.Notifications.setDefaultTitle(title)
263
+ .then(() => resolve())
264
+ .catch(error => reject(error));
265
+ });
296
266
  });
297
267
  }
298
268
  function notificationsRequestPermission() {
299
- return new Promise(function (resolve, reject) {
269
+ return new Promise((resolve, reject) => {
300
270
  var _a;
301
271
  if (isOneSignalScriptFailed) {
302
272
  reject(new Error('OneSignal script failed to load.'));
303
273
  return;
304
274
  }
305
- try {
306
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
307
- OneSignal.Notifications.requestPermission().then(() => resolve())
308
- .catch(error => reject(error));
309
- });
310
- }
311
- catch (error) {
312
- reject(error);
313
- }
275
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
276
+ OneSignal.Notifications.requestPermission()
277
+ .then(result => resolve(result))
278
+ .catch(error => reject(error));
279
+ });
314
280
  });
315
281
  }
316
282
  function notificationsAddEventListener(event, listener) {
@@ -326,39 +292,31 @@ function notificationsRemoveEventListener(event, listener) {
326
292
  });
327
293
  }
328
294
  function sessionSendOutcome(outcomeName, outcomeWeight) {
329
- return new Promise(function (resolve, reject) {
295
+ return new Promise((resolve, reject) => {
330
296
  var _a;
331
297
  if (isOneSignalScriptFailed) {
332
298
  reject(new Error('OneSignal script failed to load.'));
333
299
  return;
334
300
  }
335
- try {
336
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
337
- OneSignal.Session.sendOutcome(outcomeName, outcomeWeight).then(() => resolve())
338
- .catch(error => reject(error));
339
- });
340
- }
341
- catch (error) {
342
- reject(error);
343
- }
301
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
302
+ OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
303
+ .then(() => resolve())
304
+ .catch(error => reject(error));
305
+ });
344
306
  });
345
307
  }
346
308
  function sessionSendUniqueOutcome(outcomeName) {
347
- return new Promise(function (resolve, reject) {
309
+ return new Promise((resolve, reject) => {
348
310
  var _a;
349
311
  if (isOneSignalScriptFailed) {
350
312
  reject(new Error('OneSignal script failed to load.'));
351
313
  return;
352
314
  }
353
- try {
354
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
355
- OneSignal.Session.sendUniqueOutcome(outcomeName).then(() => resolve())
356
- .catch(error => reject(error));
357
- });
358
- }
359
- catch (error) {
360
- reject(error);
361
- }
315
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
316
+ OneSignal.Session.sendUniqueOutcome(outcomeName)
317
+ .then(() => resolve())
318
+ .catch(error => reject(error));
319
+ });
362
320
  });
363
321
  }
364
322
  function userAddAlias(label, id) {
@@ -433,13 +391,16 @@ function userRemoveTags(keys) {
433
391
  OneSignal.User.removeTags(keys);
434
392
  });
435
393
  }
394
+ // @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred
436
395
  function userGetTags() {
437
396
  var _a;
438
- let retVal;
439
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
440
- retVal = OneSignal.User.getTags();
397
+ return __awaiter(this, void 0, void 0, function* () {
398
+ let retVal;
399
+ yield ((_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
400
+ retVal = OneSignal.User.getTags();
401
+ }));
402
+ return retVal;
441
403
  });
442
- return retVal;
443
404
  }
444
405
  function userAddEventListener(event, listener) {
445
406
  var _a;
@@ -459,48 +420,49 @@ function userSetLanguage(language) {
459
420
  OneSignal.User.setLanguage(language);
460
421
  });
461
422
  }
423
+ // @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred
462
424
  function userGetLanguage() {
463
425
  var _a;
464
- let retVal;
426
+ return __awaiter(this, void 0, void 0, function* () {
427
+ let retVal;
428
+ yield ((_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
429
+ retVal = OneSignal.User.getLanguage();
430
+ }));
431
+ return retVal;
432
+ });
433
+ }
434
+ function userTrackEvent(name, properties) {
435
+ var _a;
465
436
  (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
466
- retVal = OneSignal.User.getLanguage();
437
+ OneSignal.User.trackEvent(name, properties);
467
438
  });
468
- return retVal;
469
439
  }
470
440
  function pushSubscriptionOptIn() {
471
- return new Promise(function (resolve, reject) {
441
+ return new Promise((resolve, reject) => {
472
442
  var _a;
473
443
  if (isOneSignalScriptFailed) {
474
444
  reject(new Error('OneSignal script failed to load.'));
475
445
  return;
476
446
  }
477
- try {
478
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
479
- OneSignal.User.PushSubscription.optIn().then(() => resolve())
480
- .catch(error => reject(error));
481
- });
482
- }
483
- catch (error) {
484
- reject(error);
485
- }
447
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
448
+ OneSignal.User.PushSubscription.optIn()
449
+ .then(() => resolve())
450
+ .catch(error => reject(error));
451
+ });
486
452
  });
487
453
  }
488
454
  function pushSubscriptionOptOut() {
489
- return new Promise(function (resolve, reject) {
455
+ return new Promise((resolve, reject) => {
490
456
  var _a;
491
457
  if (isOneSignalScriptFailed) {
492
458
  reject(new Error('OneSignal script failed to load.'));
493
459
  return;
494
460
  }
495
- try {
496
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
497
- OneSignal.User.PushSubscription.optOut().then(() => resolve())
498
- .catch(error => reject(error));
499
- });
500
- }
501
- catch (error) {
502
- reject(error);
503
- }
461
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
462
+ OneSignal.User.PushSubscription.optOut()
463
+ .then(() => resolve())
464
+ .catch(error => reject(error));
465
+ });
504
466
  });
505
467
  }
506
468
  function pushSubscriptionAddEventListener(event, listener) {
@@ -550,6 +512,7 @@ const UserNamespace = {
550
512
  removeEventListener: userRemoveEventListener,
551
513
  setLanguage: userSetLanguage,
552
514
  getLanguage: userGetLanguage,
515
+ trackEvent: userTrackEvent,
553
516
  PushSubscription: PushSubscriptionNamespace,
554
517
  };
555
518
  const SessionNamespace = {