@onesignal/onesignal-vue3 2.2.1 → 2.3.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.3.0](https://github.com/OneSignal/onesignal-vue3/compare/2.2.2...2.3.0) (2025-09-19)
4
+
5
+ ### Features
6
+
7
+ * add new custom events `trackEvent` method ([aaac2d8](https://github.com/OneSignal/onesignal-vue3/commit/aaac2d8b45e6aef390d2fd03e3372aa417556705))
8
+
9
+ ## [2.2.2](https://github.com/OneSignal/onesignal-vue3/compare/2.2.1...2.2.2) (2025-06-06)
10
+
11
+ ### Bug Fixes
12
+
13
+ * sync with web-shim-codegen v3.0.5 ([127de33](https://github.com/OneSignal/onesignal-vue3/commit/127de33d807f0458fe2471401c192e5b3d824ef3))
14
+
3
15
  ## [2.2.1](https://github.com/OneSignal/onesignal-vue3/compare/2.2.0...2.2.1) (2025-03-28)
4
16
 
5
17
  ### Bug Fixes
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <h1 align="center">Welcome to onesignal-vue3 👋</h1>
2
2
  <p>
3
- <a href="https://www.npmjs.com/package/onesignal-vue3" target="_blank">
4
- <img alt="Version" src="https://img.shields.io/npm/v/onesignal-vue3.svg">
3
+ <a href="https://www.npmjs.com/package/@onesignal/onesignal-vue3" target="_blank">
4
+ <img alt="Version" src="https://img.shields.io/npm/v/@onesignal/onesignal-vue3.svg">
5
5
  </a>
6
6
  <a href="https://github.com/OneSignal/onesignal-vue3#readme" target="_blank">
7
7
  <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
@@ -19,7 +19,7 @@
19
19
  - 🏠 [Homepage](https://onesignal.com)
20
20
  - 🖤 [npm](https://www.npmjs.com/package/@onesignal/onesignal-vue3)
21
21
 
22
- OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 2 million+ businesses to send 9 billion Push Notifications per day.
22
+ 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.
23
23
 
24
24
  You can find more information on OneSignal [here](https://onesignal.com/).
25
25
 
@@ -130,7 +130,7 @@ this.$OneSignal
130
130
 
131
131
  ### Init Options
132
132
 
133
- 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.
133
+ 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.
134
134
 
135
135
  <details>
136
136
  <summary>Expand to see more options</summary>
@@ -205,7 +205,7 @@ interface IOneSignalOneSignal {
205
205
 
206
206
  ### OneSignal API
207
207
 
208
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for information on all available SDK functions.
208
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-sdk) for information on all available SDK functions.
209
209
 
210
210
  ---
211
211
 
@@ -245,7 +245,7 @@ this.$OneSignal.Notifications.addEventListener('change', (event) => {
245
245
  });
246
246
  ```
247
247
 
248
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk) for all available event listeners.
248
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-sdk-reference#addeventlistener-push-notification) for all available event listeners.
249
249
 
250
250
  ---
251
251
 
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
  const ONESIGNAL_SDK_ID = 'onesignal-sdk';
2
11
  const ONE_SIGNAL_SCRIPT_SRC = 'https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js';
3
12
  // true if the script is successfully loaded from CDN.
@@ -31,6 +40,7 @@ function addSDKScript() {
31
40
  * @PublicApi
32
41
  */
33
42
  const init = (options) => {
43
+ var _a;
34
44
  if (isOneSignalInitialized) {
35
45
  return Promise.reject(`OneSignal is already initialized.`);
36
46
  }
@@ -40,6 +50,10 @@ const init = (options) => {
40
50
  if (!document) {
41
51
  return Promise.reject(`Document is not defined.`);
42
52
  }
53
+ // Handle both disabled and disable keys for welcome notification
54
+ if (((_a = options.welcomeNotification) === null || _a === void 0 ? void 0 : _a.disabled) !== undefined) {
55
+ options.welcomeNotification.disable = options.welcomeNotification.disabled;
56
+ }
43
57
  return new Promise((resolve, reject) => {
44
58
  var _a;
45
59
  (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
@@ -84,165 +98,129 @@ const isPushSupported = () => {
84
98
  return isPushNotificationsSupported();
85
99
  };
86
100
  function oneSignalLogin(externalId, jwtToken) {
87
- return new Promise(function (resolve, reject) {
101
+ return new Promise((resolve, reject) => {
88
102
  var _a;
89
103
  if (isOneSignalScriptFailed) {
90
104
  reject(new Error('OneSignal script failed to load.'));
91
105
  return;
92
106
  }
93
- try {
94
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
95
- OneSignal.login(externalId, jwtToken).then(() => resolve())
96
- .catch(error => reject(error));
97
- });
98
- }
99
- catch (error) {
100
- reject(error);
101
- }
107
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
108
+ OneSignal.login(externalId, jwtToken)
109
+ .then(() => resolve())
110
+ .catch(error => reject(error));
111
+ });
102
112
  });
103
113
  }
104
114
  function oneSignalLogout() {
105
- return new Promise(function (resolve, reject) {
115
+ return new Promise((resolve, reject) => {
106
116
  var _a;
107
117
  if (isOneSignalScriptFailed) {
108
118
  reject(new Error('OneSignal script failed to load.'));
109
119
  return;
110
120
  }
111
- try {
112
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
113
- OneSignal.logout().then(() => resolve())
114
- .catch(error => reject(error));
115
- });
116
- }
117
- catch (error) {
118
- reject(error);
119
- }
121
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
122
+ OneSignal.logout()
123
+ .then(() => resolve())
124
+ .catch(error => reject(error));
125
+ });
120
126
  });
121
127
  }
122
128
  function oneSignalSetConsentGiven(consent) {
123
- return new Promise(function (resolve, reject) {
129
+ return new Promise((resolve, reject) => {
124
130
  var _a;
125
131
  if (isOneSignalScriptFailed) {
126
132
  reject(new Error('OneSignal script failed to load.'));
127
133
  return;
128
134
  }
129
- try {
130
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
131
- OneSignal.setConsentGiven(consent).then(() => resolve())
132
- .catch(error => reject(error));
133
- });
134
- }
135
- catch (error) {
136
- reject(error);
137
- }
135
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
136
+ OneSignal.setConsentGiven(consent)
137
+ .then(() => resolve())
138
+ .catch(error => reject(error));
139
+ });
138
140
  });
139
141
  }
140
142
  function oneSignalSetConsentRequired(requiresConsent) {
141
- return new Promise(function (resolve, reject) {
143
+ return new Promise((resolve, reject) => {
142
144
  var _a;
143
145
  if (isOneSignalScriptFailed) {
144
146
  reject(new Error('OneSignal script failed to load.'));
145
147
  return;
146
148
  }
147
- try {
148
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
149
- OneSignal.setConsentRequired(requiresConsent).then(() => resolve())
150
- .catch(error => reject(error));
151
- });
152
- }
153
- catch (error) {
154
- reject(error);
155
- }
149
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
150
+ OneSignal.setConsentRequired(requiresConsent)
151
+ .then(() => resolve())
152
+ .catch(error => reject(error));
153
+ });
156
154
  });
157
155
  }
158
156
  function slidedownPromptPush(options) {
159
- return new Promise(function (resolve, reject) {
157
+ return new Promise((resolve, reject) => {
160
158
  var _a;
161
159
  if (isOneSignalScriptFailed) {
162
160
  reject(new Error('OneSignal script failed to load.'));
163
161
  return;
164
162
  }
165
- try {
166
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
167
- OneSignal.Slidedown.promptPush(options).then(() => resolve())
168
- .catch(error => reject(error));
169
- });
170
- }
171
- catch (error) {
172
- reject(error);
173
- }
163
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
164
+ OneSignal.Slidedown.promptPush(options)
165
+ .then(() => resolve())
166
+ .catch(error => reject(error));
167
+ });
174
168
  });
175
169
  }
176
170
  function slidedownPromptPushCategories(options) {
177
- return new Promise(function (resolve, reject) {
171
+ return new Promise((resolve, reject) => {
178
172
  var _a;
179
173
  if (isOneSignalScriptFailed) {
180
174
  reject(new Error('OneSignal script failed to load.'));
181
175
  return;
182
176
  }
183
- try {
184
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
185
- OneSignal.Slidedown.promptPushCategories(options).then(() => resolve())
186
- .catch(error => reject(error));
187
- });
188
- }
189
- catch (error) {
190
- reject(error);
191
- }
177
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
178
+ OneSignal.Slidedown.promptPushCategories(options)
179
+ .then(() => resolve())
180
+ .catch(error => reject(error));
181
+ });
192
182
  });
193
183
  }
194
184
  function slidedownPromptSms(options) {
195
- return new Promise(function (resolve, reject) {
185
+ return new Promise((resolve, reject) => {
196
186
  var _a;
197
187
  if (isOneSignalScriptFailed) {
198
188
  reject(new Error('OneSignal script failed to load.'));
199
189
  return;
200
190
  }
201
- try {
202
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
203
- OneSignal.Slidedown.promptSms(options).then(() => resolve())
204
- .catch(error => reject(error));
205
- });
206
- }
207
- catch (error) {
208
- reject(error);
209
- }
191
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
192
+ OneSignal.Slidedown.promptSms(options)
193
+ .then(() => resolve())
194
+ .catch(error => reject(error));
195
+ });
210
196
  });
211
197
  }
212
198
  function slidedownPromptEmail(options) {
213
- return new Promise(function (resolve, reject) {
199
+ return new Promise((resolve, reject) => {
214
200
  var _a;
215
201
  if (isOneSignalScriptFailed) {
216
202
  reject(new Error('OneSignal script failed to load.'));
217
203
  return;
218
204
  }
219
- try {
220
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
221
- OneSignal.Slidedown.promptEmail(options).then(() => resolve())
222
- .catch(error => reject(error));
223
- });
224
- }
225
- catch (error) {
226
- reject(error);
227
- }
205
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
206
+ OneSignal.Slidedown.promptEmail(options)
207
+ .then(() => resolve())
208
+ .catch(error => reject(error));
209
+ });
228
210
  });
229
211
  }
230
212
  function slidedownPromptSmsAndEmail(options) {
231
- return new Promise(function (resolve, reject) {
213
+ return new Promise((resolve, reject) => {
232
214
  var _a;
233
215
  if (isOneSignalScriptFailed) {
234
216
  reject(new Error('OneSignal script failed to load.'));
235
217
  return;
236
218
  }
237
- try {
238
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
239
- OneSignal.Slidedown.promptSmsAndEmail(options).then(() => resolve())
240
- .catch(error => reject(error));
241
- });
242
- }
243
- catch (error) {
244
- reject(error);
245
- }
219
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
220
+ OneSignal.Slidedown.promptSmsAndEmail(options)
221
+ .then(() => resolve())
222
+ .catch(error => reject(error));
223
+ });
246
224
  });
247
225
  }
248
226
  function slidedownAddEventListener(event, listener) {
@@ -258,57 +236,45 @@ function slidedownRemoveEventListener(event, listener) {
258
236
  });
259
237
  }
260
238
  function notificationsSetDefaultUrl(url) {
261
- return new Promise(function (resolve, reject) {
239
+ return new Promise((resolve, reject) => {
262
240
  var _a;
263
241
  if (isOneSignalScriptFailed) {
264
242
  reject(new Error('OneSignal script failed to load.'));
265
243
  return;
266
244
  }
267
- try {
268
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
269
- OneSignal.Notifications.setDefaultUrl(url).then(() => resolve())
270
- .catch(error => reject(error));
271
- });
272
- }
273
- catch (error) {
274
- reject(error);
275
- }
245
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
246
+ OneSignal.Notifications.setDefaultUrl(url)
247
+ .then(() => resolve())
248
+ .catch(error => reject(error));
249
+ });
276
250
  });
277
251
  }
278
252
  function notificationsSetDefaultTitle(title) {
279
- return new Promise(function (resolve, reject) {
253
+ return new Promise((resolve, reject) => {
280
254
  var _a;
281
255
  if (isOneSignalScriptFailed) {
282
256
  reject(new Error('OneSignal script failed to load.'));
283
257
  return;
284
258
  }
285
- try {
286
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
287
- OneSignal.Notifications.setDefaultTitle(title).then(() => resolve())
288
- .catch(error => reject(error));
289
- });
290
- }
291
- catch (error) {
292
- reject(error);
293
- }
259
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
260
+ OneSignal.Notifications.setDefaultTitle(title)
261
+ .then(() => resolve())
262
+ .catch(error => reject(error));
263
+ });
294
264
  });
295
265
  }
296
266
  function notificationsRequestPermission() {
297
- return new Promise(function (resolve, reject) {
267
+ return new Promise((resolve, reject) => {
298
268
  var _a;
299
269
  if (isOneSignalScriptFailed) {
300
270
  reject(new Error('OneSignal script failed to load.'));
301
271
  return;
302
272
  }
303
- try {
304
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
305
- OneSignal.Notifications.requestPermission().then(() => resolve())
306
- .catch(error => reject(error));
307
- });
308
- }
309
- catch (error) {
310
- reject(error);
311
- }
273
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
274
+ OneSignal.Notifications.requestPermission()
275
+ .then(result => resolve(result))
276
+ .catch(error => reject(error));
277
+ });
312
278
  });
313
279
  }
314
280
  function notificationsAddEventListener(event, listener) {
@@ -324,39 +290,31 @@ function notificationsRemoveEventListener(event, listener) {
324
290
  });
325
291
  }
326
292
  function sessionSendOutcome(outcomeName, outcomeWeight) {
327
- return new Promise(function (resolve, reject) {
293
+ return new Promise((resolve, reject) => {
328
294
  var _a;
329
295
  if (isOneSignalScriptFailed) {
330
296
  reject(new Error('OneSignal script failed to load.'));
331
297
  return;
332
298
  }
333
- try {
334
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
335
- OneSignal.Session.sendOutcome(outcomeName, outcomeWeight).then(() => resolve())
336
- .catch(error => reject(error));
337
- });
338
- }
339
- catch (error) {
340
- reject(error);
341
- }
299
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
300
+ OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
301
+ .then(() => resolve())
302
+ .catch(error => reject(error));
303
+ });
342
304
  });
343
305
  }
344
306
  function sessionSendUniqueOutcome(outcomeName) {
345
- return new Promise(function (resolve, reject) {
307
+ return new Promise((resolve, reject) => {
346
308
  var _a;
347
309
  if (isOneSignalScriptFailed) {
348
310
  reject(new Error('OneSignal script failed to load.'));
349
311
  return;
350
312
  }
351
- try {
352
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
353
- OneSignal.Session.sendUniqueOutcome(outcomeName).then(() => resolve())
354
- .catch(error => reject(error));
355
- });
356
- }
357
- catch (error) {
358
- reject(error);
359
- }
313
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
314
+ OneSignal.Session.sendUniqueOutcome(outcomeName)
315
+ .then(() => resolve())
316
+ .catch(error => reject(error));
317
+ });
360
318
  });
361
319
  }
362
320
  function userAddAlias(label, id) {
@@ -431,13 +389,16 @@ function userRemoveTags(keys) {
431
389
  OneSignal.User.removeTags(keys);
432
390
  });
433
391
  }
392
+ // @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred
434
393
  function userGetTags() {
435
394
  var _a;
436
- let retVal;
437
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
438
- retVal = OneSignal.User.getTags();
395
+ return __awaiter(this, void 0, void 0, function* () {
396
+ let retVal;
397
+ yield ((_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
398
+ retVal = OneSignal.User.getTags();
399
+ }));
400
+ return retVal;
439
401
  });
440
- return retVal;
441
402
  }
442
403
  function userAddEventListener(event, listener) {
443
404
  var _a;
@@ -457,48 +418,49 @@ function userSetLanguage(language) {
457
418
  OneSignal.User.setLanguage(language);
458
419
  });
459
420
  }
421
+ // @ts-expect-error - return non-Promise type despite needing to await OneSignalDeferred
460
422
  function userGetLanguage() {
461
423
  var _a;
462
- let retVal;
424
+ return __awaiter(this, void 0, void 0, function* () {
425
+ let retVal;
426
+ yield ((_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
427
+ retVal = OneSignal.User.getLanguage();
428
+ }));
429
+ return retVal;
430
+ });
431
+ }
432
+ function userTrackEvent(name, properties) {
433
+ var _a;
463
434
  (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
464
- retVal = OneSignal.User.getLanguage();
435
+ OneSignal.User.trackEvent(name, properties);
465
436
  });
466
- return retVal;
467
437
  }
468
438
  function pushSubscriptionOptIn() {
469
- return new Promise(function (resolve, reject) {
439
+ return new Promise((resolve, reject) => {
470
440
  var _a;
471
441
  if (isOneSignalScriptFailed) {
472
442
  reject(new Error('OneSignal script failed to load.'));
473
443
  return;
474
444
  }
475
- try {
476
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
477
- OneSignal.User.PushSubscription.optIn().then(() => resolve())
478
- .catch(error => reject(error));
479
- });
480
- }
481
- catch (error) {
482
- reject(error);
483
- }
445
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
446
+ OneSignal.User.PushSubscription.optIn()
447
+ .then(() => resolve())
448
+ .catch(error => reject(error));
449
+ });
484
450
  });
485
451
  }
486
452
  function pushSubscriptionOptOut() {
487
- return new Promise(function (resolve, reject) {
453
+ return new Promise((resolve, reject) => {
488
454
  var _a;
489
455
  if (isOneSignalScriptFailed) {
490
456
  reject(new Error('OneSignal script failed to load.'));
491
457
  return;
492
458
  }
493
- try {
494
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
495
- OneSignal.User.PushSubscription.optOut().then(() => resolve())
496
- .catch(error => reject(error));
497
- });
498
- }
499
- catch (error) {
500
- reject(error);
501
- }
459
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
460
+ OneSignal.User.PushSubscription.optOut()
461
+ .then(() => resolve())
462
+ .catch(error => reject(error));
463
+ });
502
464
  });
503
465
  }
504
466
  function pushSubscriptionAddEventListener(event, listener) {
@@ -548,6 +510,7 @@ const UserNamespace = {
548
510
  removeEventListener: userRemoveEventListener,
549
511
  setLanguage: userSetLanguage,
550
512
  getLanguage: userGetLanguage,
513
+ trackEvent: userTrackEvent,
551
514
  PushSubscription: PushSubscriptionNamespace,
552
515
  };
553
516
  const SessionNamespace = {