@onesignal/onesignal-vue3 2.0.0 → 2.1.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/.github/os_probot_metadata.js +58 -0
- package/.github/set_response_times.js +47 -0
- package/.github/workflows/release.yml +40 -0
- package/.github/workflows/set_response_time.yml +32 -0
- package/.releaserc.json +133 -0
- package/CHANGELOG.md +7 -0
- package/dist/index.d.ts +19 -2
- package/dist/index.js +90 -49
- package/dist/index.js.map +1 -1
- package/index.ts +169 -109
- package/package.json +7 -3
package/index.ts
CHANGED
|
@@ -10,7 +10,7 @@ let isOneSignalInitialized = false;
|
|
|
10
10
|
// OneSignal#init.
|
|
11
11
|
let isOneSignalScriptFailed = false;
|
|
12
12
|
|
|
13
|
-
if (window) {
|
|
13
|
+
if (typeof window !== 'undefined') {
|
|
14
14
|
window.OneSignalDeferred = window.OneSignalDeferred || [];
|
|
15
15
|
addSDKScript();
|
|
16
16
|
}
|
|
@@ -171,7 +171,7 @@ interface IOSNotification {
|
|
|
171
171
|
* If this value is the same as existing notification, it will replace it
|
|
172
172
|
* Can be set when creating the notification with "Web Push Topic" on the dashboard
|
|
173
173
|
* or web_push_topic from the REST API.
|
|
174
|
-
|
|
174
|
+
*/
|
|
175
175
|
readonly topic?: string;
|
|
176
176
|
|
|
177
177
|
/**
|
|
@@ -223,7 +223,7 @@ type NotificationEventTypeMap = {
|
|
|
223
223
|
'dismiss': NotificationDismissEvent;
|
|
224
224
|
'permissionChange': boolean;
|
|
225
225
|
'permissionPromptDisplay': void;
|
|
226
|
-
}
|
|
226
|
+
};
|
|
227
227
|
|
|
228
228
|
interface NotificationForegroundWillDisplayEvent {
|
|
229
229
|
readonly notification: IOSNotification;
|
|
@@ -239,6 +239,13 @@ interface NotificationClickEvent {
|
|
|
239
239
|
readonly result: NotificationClickResult;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
+
type UserChangeEvent = {
|
|
243
|
+
current: UserNamespaceProperties;
|
|
244
|
+
};
|
|
245
|
+
type UserNamespaceProperties = {
|
|
246
|
+
onesignalId: string | undefined;
|
|
247
|
+
externalId: string | undefined;
|
|
248
|
+
};
|
|
242
249
|
|
|
243
250
|
interface IInitObject {
|
|
244
251
|
appId: string;
|
|
@@ -253,10 +260,11 @@ interface IInitObject {
|
|
|
253
260
|
autoRegister?: boolean;
|
|
254
261
|
notificationClickHandlerMatch?: string;
|
|
255
262
|
notificationClickHandlerAction?: string;
|
|
263
|
+
path?: string;
|
|
256
264
|
serviceWorkerParam?: { scope: string };
|
|
257
265
|
serviceWorkerPath?: string;
|
|
266
|
+
serviceWorkerOverrideForTypical?: boolean;
|
|
258
267
|
serviceWorkerUpdaterPath?: string;
|
|
259
|
-
path?: string;
|
|
260
268
|
allowLocalhostAsSecureOrigin?: boolean;
|
|
261
269
|
[key: string]: any;
|
|
262
270
|
}
|
|
@@ -300,6 +308,8 @@ interface IOneSignalSession {
|
|
|
300
308
|
sendUniqueOutcome(outcomeName: string): Promise<void>;
|
|
301
309
|
}
|
|
302
310
|
interface IOneSignalUser {
|
|
311
|
+
onesignalId: string | undefined;
|
|
312
|
+
externalId: string | undefined;
|
|
303
313
|
PushSubscription: IOneSignalPushSubscription;
|
|
304
314
|
addAlias(label: string, id: string): void;
|
|
305
315
|
addAliases(aliases: { [key: string]: string }): void;
|
|
@@ -313,6 +323,11 @@ interface IOneSignalUser {
|
|
|
313
323
|
addTags(tags: { [key: string]: string }): void;
|
|
314
324
|
removeTag(key: string): void;
|
|
315
325
|
removeTags(keys: string[]): void;
|
|
326
|
+
getTags(): { [key: string]: string };
|
|
327
|
+
addEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;
|
|
328
|
+
removeEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void;
|
|
329
|
+
setLanguage(language: string): void;
|
|
330
|
+
getLanguage(): string;
|
|
316
331
|
}
|
|
317
332
|
interface IOneSignalPushSubscription {
|
|
318
333
|
id: string | null | undefined;
|
|
@@ -323,17 +338,16 @@ interface IOneSignalPushSubscription {
|
|
|
323
338
|
addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
|
|
324
339
|
removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
|
|
325
340
|
}
|
|
326
|
-
|
|
327
341
|
function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
|
|
328
342
|
return new Promise(function (resolve, reject) {
|
|
329
343
|
if (isOneSignalScriptFailed) {
|
|
330
|
-
reject();
|
|
344
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
345
|
+
return;
|
|
331
346
|
}
|
|
332
347
|
|
|
333
348
|
try {
|
|
334
349
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
335
|
-
OneSignal.login(externalId, jwtToken)
|
|
336
|
-
.then(value => resolve(value))
|
|
350
|
+
OneSignal.login(externalId, jwtToken).then(() => resolve())
|
|
337
351
|
.catch(error => reject(error));
|
|
338
352
|
});
|
|
339
353
|
} catch (error) {
|
|
@@ -341,17 +355,16 @@ function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
|
|
|
341
355
|
}
|
|
342
356
|
});
|
|
343
357
|
}
|
|
344
|
-
|
|
345
358
|
function oneSignalLogout(): Promise<void> {
|
|
346
359
|
return new Promise(function (resolve, reject) {
|
|
347
360
|
if (isOneSignalScriptFailed) {
|
|
348
|
-
reject();
|
|
361
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
362
|
+
return;
|
|
349
363
|
}
|
|
350
364
|
|
|
351
365
|
try {
|
|
352
366
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
353
|
-
OneSignal.logout()
|
|
354
|
-
.then(value => resolve(value))
|
|
367
|
+
OneSignal.logout().then(() => resolve())
|
|
355
368
|
.catch(error => reject(error));
|
|
356
369
|
});
|
|
357
370
|
} catch (error) {
|
|
@@ -359,17 +372,16 @@ function oneSignalLogout(): Promise<void> {
|
|
|
359
372
|
}
|
|
360
373
|
});
|
|
361
374
|
}
|
|
362
|
-
|
|
363
375
|
function oneSignalSetConsentGiven(consent: boolean): Promise<void> {
|
|
364
376
|
return new Promise(function (resolve, reject) {
|
|
365
377
|
if (isOneSignalScriptFailed) {
|
|
366
|
-
reject();
|
|
378
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
379
|
+
return;
|
|
367
380
|
}
|
|
368
381
|
|
|
369
382
|
try {
|
|
370
383
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
371
|
-
OneSignal.setConsentGiven(consent)
|
|
372
|
-
.then(value => resolve(value))
|
|
384
|
+
OneSignal.setConsentGiven(consent).then(() => resolve())
|
|
373
385
|
.catch(error => reject(error));
|
|
374
386
|
});
|
|
375
387
|
} catch (error) {
|
|
@@ -377,17 +389,16 @@ function oneSignalSetConsentGiven(consent: boolean): Promise<void> {
|
|
|
377
389
|
}
|
|
378
390
|
});
|
|
379
391
|
}
|
|
380
|
-
|
|
381
392
|
function oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {
|
|
382
393
|
return new Promise(function (resolve, reject) {
|
|
383
394
|
if (isOneSignalScriptFailed) {
|
|
384
|
-
reject();
|
|
395
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
396
|
+
return;
|
|
385
397
|
}
|
|
386
398
|
|
|
387
399
|
try {
|
|
388
400
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
389
|
-
OneSignal.setConsentRequired(requiresConsent)
|
|
390
|
-
.then(value => resolve(value))
|
|
401
|
+
OneSignal.setConsentRequired(requiresConsent).then(() => resolve())
|
|
391
402
|
.catch(error => reject(error));
|
|
392
403
|
});
|
|
393
404
|
} catch (error) {
|
|
@@ -395,17 +406,16 @@ function oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {
|
|
|
395
406
|
}
|
|
396
407
|
});
|
|
397
408
|
}
|
|
398
|
-
|
|
399
409
|
function slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {
|
|
400
410
|
return new Promise(function (resolve, reject) {
|
|
401
411
|
if (isOneSignalScriptFailed) {
|
|
402
|
-
reject();
|
|
412
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
413
|
+
return;
|
|
403
414
|
}
|
|
404
415
|
|
|
405
416
|
try {
|
|
406
417
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
407
|
-
OneSignal.Slidedown.promptPush(options)
|
|
408
|
-
.then(value => resolve(value))
|
|
418
|
+
OneSignal.Slidedown.promptPush(options).then(() => resolve())
|
|
409
419
|
.catch(error => reject(error));
|
|
410
420
|
});
|
|
411
421
|
} catch (error) {
|
|
@@ -413,17 +423,16 @@ function slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {
|
|
|
413
423
|
}
|
|
414
424
|
});
|
|
415
425
|
}
|
|
416
|
-
|
|
417
426
|
function slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {
|
|
418
427
|
return new Promise(function (resolve, reject) {
|
|
419
428
|
if (isOneSignalScriptFailed) {
|
|
420
|
-
reject();
|
|
429
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
430
|
+
return;
|
|
421
431
|
}
|
|
422
432
|
|
|
423
433
|
try {
|
|
424
434
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
425
|
-
OneSignal.Slidedown.promptPushCategories(options)
|
|
426
|
-
.then(value => resolve(value))
|
|
435
|
+
OneSignal.Slidedown.promptPushCategories(options).then(() => resolve())
|
|
427
436
|
.catch(error => reject(error));
|
|
428
437
|
});
|
|
429
438
|
} catch (error) {
|
|
@@ -431,17 +440,16 @@ function slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<voi
|
|
|
431
440
|
}
|
|
432
441
|
});
|
|
433
442
|
}
|
|
434
|
-
|
|
435
443
|
function slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {
|
|
436
444
|
return new Promise(function (resolve, reject) {
|
|
437
445
|
if (isOneSignalScriptFailed) {
|
|
438
|
-
reject();
|
|
446
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
447
|
+
return;
|
|
439
448
|
}
|
|
440
449
|
|
|
441
450
|
try {
|
|
442
451
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
443
|
-
OneSignal.Slidedown.promptSms(options)
|
|
444
|
-
.then(value => resolve(value))
|
|
452
|
+
OneSignal.Slidedown.promptSms(options).then(() => resolve())
|
|
445
453
|
.catch(error => reject(error));
|
|
446
454
|
});
|
|
447
455
|
} catch (error) {
|
|
@@ -449,17 +457,16 @@ function slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {
|
|
|
449
457
|
}
|
|
450
458
|
});
|
|
451
459
|
}
|
|
452
|
-
|
|
453
460
|
function slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {
|
|
454
461
|
return new Promise(function (resolve, reject) {
|
|
455
462
|
if (isOneSignalScriptFailed) {
|
|
456
|
-
reject();
|
|
463
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
464
|
+
return;
|
|
457
465
|
}
|
|
458
466
|
|
|
459
467
|
try {
|
|
460
468
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
461
|
-
OneSignal.Slidedown.promptEmail(options)
|
|
462
|
-
.then(value => resolve(value))
|
|
469
|
+
OneSignal.Slidedown.promptEmail(options).then(() => resolve())
|
|
463
470
|
.catch(error => reject(error));
|
|
464
471
|
});
|
|
465
472
|
} catch (error) {
|
|
@@ -467,17 +474,16 @@ function slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {
|
|
|
467
474
|
}
|
|
468
475
|
});
|
|
469
476
|
}
|
|
470
|
-
|
|
471
477
|
function slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {
|
|
472
478
|
return new Promise(function (resolve, reject) {
|
|
473
479
|
if (isOneSignalScriptFailed) {
|
|
474
|
-
reject();
|
|
480
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
481
|
+
return;
|
|
475
482
|
}
|
|
476
483
|
|
|
477
484
|
try {
|
|
478
485
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
479
|
-
OneSignal.Slidedown.promptSmsAndEmail(options)
|
|
480
|
-
.then(value => resolve(value))
|
|
486
|
+
OneSignal.Slidedown.promptSmsAndEmail(options).then(() => resolve())
|
|
481
487
|
.catch(error => reject(error));
|
|
482
488
|
});
|
|
483
489
|
} catch (error) {
|
|
@@ -485,29 +491,30 @@ function slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void>
|
|
|
485
491
|
}
|
|
486
492
|
});
|
|
487
493
|
}
|
|
488
|
-
|
|
489
494
|
function slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
|
|
495
|
+
|
|
490
496
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
491
|
-
OneSignal.Slidedown.addEventListener(event, listener)
|
|
497
|
+
OneSignal.Slidedown.addEventListener(event, listener);
|
|
492
498
|
});
|
|
499
|
+
|
|
493
500
|
}
|
|
494
|
-
|
|
495
501
|
function slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
|
|
502
|
+
|
|
496
503
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
497
|
-
OneSignal.Slidedown.removeEventListener(event, listener)
|
|
504
|
+
OneSignal.Slidedown.removeEventListener(event, listener);
|
|
498
505
|
});
|
|
506
|
+
|
|
499
507
|
}
|
|
500
|
-
|
|
501
508
|
function notificationsSetDefaultUrl(url: string): Promise<void> {
|
|
502
509
|
return new Promise(function (resolve, reject) {
|
|
503
510
|
if (isOneSignalScriptFailed) {
|
|
504
|
-
reject();
|
|
511
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
512
|
+
return;
|
|
505
513
|
}
|
|
506
514
|
|
|
507
515
|
try {
|
|
508
516
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
509
|
-
OneSignal.Notifications.setDefaultUrl(url)
|
|
510
|
-
.then(value => resolve(value))
|
|
517
|
+
OneSignal.Notifications.setDefaultUrl(url).then(() => resolve())
|
|
511
518
|
.catch(error => reject(error));
|
|
512
519
|
});
|
|
513
520
|
} catch (error) {
|
|
@@ -515,17 +522,16 @@ function notificationsSetDefaultUrl(url: string): Promise<void> {
|
|
|
515
522
|
}
|
|
516
523
|
});
|
|
517
524
|
}
|
|
518
|
-
|
|
519
525
|
function notificationsSetDefaultTitle(title: string): Promise<void> {
|
|
520
526
|
return new Promise(function (resolve, reject) {
|
|
521
527
|
if (isOneSignalScriptFailed) {
|
|
522
|
-
reject();
|
|
528
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
529
|
+
return;
|
|
523
530
|
}
|
|
524
531
|
|
|
525
532
|
try {
|
|
526
533
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
527
|
-
OneSignal.Notifications.setDefaultTitle(title)
|
|
528
|
-
.then(value => resolve(value))
|
|
534
|
+
OneSignal.Notifications.setDefaultTitle(title).then(() => resolve())
|
|
529
535
|
.catch(error => reject(error));
|
|
530
536
|
});
|
|
531
537
|
} catch (error) {
|
|
@@ -533,17 +539,16 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
|
|
|
533
539
|
}
|
|
534
540
|
});
|
|
535
541
|
}
|
|
536
|
-
|
|
537
542
|
function notificationsRequestPermission(): Promise<void> {
|
|
538
543
|
return new Promise(function (resolve, reject) {
|
|
539
544
|
if (isOneSignalScriptFailed) {
|
|
540
|
-
reject();
|
|
545
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
546
|
+
return;
|
|
541
547
|
}
|
|
542
548
|
|
|
543
549
|
try {
|
|
544
550
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
545
|
-
OneSignal.Notifications.requestPermission()
|
|
546
|
-
.then(value => resolve(value))
|
|
551
|
+
OneSignal.Notifications.requestPermission().then(() => resolve())
|
|
547
552
|
.catch(error => reject(error));
|
|
548
553
|
});
|
|
549
554
|
} catch (error) {
|
|
@@ -551,29 +556,30 @@ function notificationsRequestPermission(): Promise<void> {
|
|
|
551
556
|
}
|
|
552
557
|
});
|
|
553
558
|
}
|
|
554
|
-
|
|
555
559
|
function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
|
|
560
|
+
|
|
556
561
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
557
|
-
OneSignal.Notifications.addEventListener(event, listener)
|
|
562
|
+
OneSignal.Notifications.addEventListener(event, listener);
|
|
558
563
|
});
|
|
564
|
+
|
|
559
565
|
}
|
|
560
|
-
|
|
561
566
|
function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
|
|
567
|
+
|
|
562
568
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
563
|
-
OneSignal.Notifications.removeEventListener(event, listener)
|
|
569
|
+
OneSignal.Notifications.removeEventListener(event, listener);
|
|
564
570
|
});
|
|
571
|
+
|
|
565
572
|
}
|
|
566
|
-
|
|
567
573
|
function sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {
|
|
568
574
|
return new Promise(function (resolve, reject) {
|
|
569
575
|
if (isOneSignalScriptFailed) {
|
|
570
|
-
reject();
|
|
576
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
577
|
+
return;
|
|
571
578
|
}
|
|
572
579
|
|
|
573
580
|
try {
|
|
574
581
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
575
|
-
OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
|
|
576
|
-
.then(value => resolve(value))
|
|
582
|
+
OneSignal.Session.sendOutcome(outcomeName, outcomeWeight).then(() => resolve())
|
|
577
583
|
.catch(error => reject(error));
|
|
578
584
|
});
|
|
579
585
|
} catch (error) {
|
|
@@ -581,17 +587,16 @@ function sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promis
|
|
|
581
587
|
}
|
|
582
588
|
});
|
|
583
589
|
}
|
|
584
|
-
|
|
585
590
|
function sessionSendUniqueOutcome(outcomeName: string): Promise<void> {
|
|
586
591
|
return new Promise(function (resolve, reject) {
|
|
587
592
|
if (isOneSignalScriptFailed) {
|
|
588
|
-
reject();
|
|
593
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
594
|
+
return;
|
|
589
595
|
}
|
|
590
596
|
|
|
591
597
|
try {
|
|
592
598
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
593
|
-
OneSignal.Session.sendUniqueOutcome(outcomeName)
|
|
594
|
-
.then(value => resolve(value))
|
|
599
|
+
OneSignal.Session.sendUniqueOutcome(outcomeName).then(() => resolve())
|
|
595
600
|
.catch(error => reject(error));
|
|
596
601
|
});
|
|
597
602
|
} catch (error) {
|
|
@@ -599,89 +604,135 @@ function sessionSendUniqueOutcome(outcomeName: string): Promise<void> {
|
|
|
599
604
|
}
|
|
600
605
|
});
|
|
601
606
|
}
|
|
602
|
-
|
|
603
607
|
function userAddAlias(label: string, id: string): void {
|
|
608
|
+
|
|
604
609
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
605
|
-
OneSignal.User.addAlias(label, id)
|
|
610
|
+
OneSignal.User.addAlias(label, id);
|
|
606
611
|
});
|
|
612
|
+
|
|
607
613
|
}
|
|
608
|
-
|
|
609
614
|
function userAddAliases(aliases: { [key: string]: string }): void {
|
|
615
|
+
|
|
610
616
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
611
|
-
OneSignal.User.addAliases(aliases)
|
|
617
|
+
OneSignal.User.addAliases(aliases);
|
|
612
618
|
});
|
|
619
|
+
|
|
613
620
|
}
|
|
614
|
-
|
|
615
621
|
function userRemoveAlias(label: string): void {
|
|
622
|
+
|
|
616
623
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
617
|
-
OneSignal.User.removeAlias(label)
|
|
624
|
+
OneSignal.User.removeAlias(label);
|
|
618
625
|
});
|
|
626
|
+
|
|
619
627
|
}
|
|
620
|
-
|
|
621
628
|
function userRemoveAliases(labels: string[]): void {
|
|
629
|
+
|
|
622
630
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
623
|
-
OneSignal.User.removeAliases(labels)
|
|
631
|
+
OneSignal.User.removeAliases(labels);
|
|
624
632
|
});
|
|
633
|
+
|
|
625
634
|
}
|
|
626
|
-
|
|
627
635
|
function userAddEmail(email: string): void {
|
|
636
|
+
|
|
628
637
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
629
|
-
OneSignal.User.addEmail(email)
|
|
638
|
+
OneSignal.User.addEmail(email);
|
|
630
639
|
});
|
|
640
|
+
|
|
631
641
|
}
|
|
632
|
-
|
|
633
642
|
function userRemoveEmail(email: string): void {
|
|
643
|
+
|
|
634
644
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
635
|
-
OneSignal.User.removeEmail(email)
|
|
645
|
+
OneSignal.User.removeEmail(email);
|
|
636
646
|
});
|
|
647
|
+
|
|
637
648
|
}
|
|
638
|
-
|
|
639
649
|
function userAddSms(smsNumber: string): void {
|
|
650
|
+
|
|
640
651
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
641
|
-
OneSignal.User.addSms(smsNumber)
|
|
652
|
+
OneSignal.User.addSms(smsNumber);
|
|
642
653
|
});
|
|
654
|
+
|
|
643
655
|
}
|
|
644
|
-
|
|
645
656
|
function userRemoveSms(smsNumber: string): void {
|
|
657
|
+
|
|
646
658
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
647
|
-
OneSignal.User.removeSms(smsNumber)
|
|
659
|
+
OneSignal.User.removeSms(smsNumber);
|
|
648
660
|
});
|
|
661
|
+
|
|
649
662
|
}
|
|
650
|
-
|
|
651
663
|
function userAddTag(key: string, value: string): void {
|
|
664
|
+
|
|
652
665
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
653
|
-
OneSignal.User.addTag(key, value)
|
|
666
|
+
OneSignal.User.addTag(key, value);
|
|
654
667
|
});
|
|
668
|
+
|
|
655
669
|
}
|
|
656
|
-
|
|
657
670
|
function userAddTags(tags: { [key: string]: string }): void {
|
|
671
|
+
|
|
658
672
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
659
|
-
OneSignal.User.addTags(tags)
|
|
673
|
+
OneSignal.User.addTags(tags);
|
|
660
674
|
});
|
|
675
|
+
|
|
661
676
|
}
|
|
662
|
-
|
|
663
677
|
function userRemoveTag(key: string): void {
|
|
678
|
+
|
|
664
679
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
665
|
-
OneSignal.User.removeTag(key)
|
|
680
|
+
OneSignal.User.removeTag(key);
|
|
666
681
|
});
|
|
682
|
+
|
|
667
683
|
}
|
|
668
|
-
|
|
669
684
|
function userRemoveTags(keys: string[]): void {
|
|
685
|
+
|
|
670
686
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
671
|
-
OneSignal.User.removeTags(keys)
|
|
687
|
+
OneSignal.User.removeTags(keys);
|
|
672
688
|
});
|
|
689
|
+
|
|
690
|
+
}
|
|
691
|
+
function userGetTags(): { [key: string]: string } {
|
|
692
|
+
let retVal: { [key: string]: string };
|
|
693
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
694
|
+
retVal = OneSignal.User.getTags();
|
|
695
|
+
});
|
|
696
|
+
return retVal;
|
|
697
|
+
}
|
|
698
|
+
function userAddEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {
|
|
699
|
+
|
|
700
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
701
|
+
OneSignal.User.addEventListener(event, listener);
|
|
702
|
+
});
|
|
703
|
+
|
|
704
|
+
}
|
|
705
|
+
function userRemoveEventListener(event: 'change', listener: (change: UserChangeEvent) => void): void {
|
|
706
|
+
|
|
707
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
708
|
+
OneSignal.User.removeEventListener(event, listener);
|
|
709
|
+
});
|
|
710
|
+
|
|
711
|
+
}
|
|
712
|
+
function userSetLanguage(language: string): void {
|
|
713
|
+
|
|
714
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
715
|
+
OneSignal.User.setLanguage(language);
|
|
716
|
+
});
|
|
717
|
+
|
|
718
|
+
}
|
|
719
|
+
function userGetLanguage(): string {
|
|
720
|
+
let retVal: string;
|
|
721
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
722
|
+
retVal = OneSignal.User.getLanguage();
|
|
723
|
+
});
|
|
724
|
+
return retVal;
|
|
673
725
|
}
|
|
674
|
-
|
|
675
726
|
function pushSubscriptionOptIn(): Promise<void> {
|
|
676
727
|
return new Promise(function (resolve, reject) {
|
|
677
728
|
if (isOneSignalScriptFailed) {
|
|
678
|
-
reject();
|
|
729
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
730
|
+
return;
|
|
679
731
|
}
|
|
680
732
|
|
|
681
733
|
try {
|
|
682
734
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
683
|
-
OneSignal.User.PushSubscription.optIn()
|
|
684
|
-
.then(value => resolve(value))
|
|
735
|
+
OneSignal.User.PushSubscription.optIn().then(() => resolve())
|
|
685
736
|
.catch(error => reject(error));
|
|
686
737
|
});
|
|
687
738
|
} catch (error) {
|
|
@@ -689,17 +740,16 @@ function pushSubscriptionOptIn(): Promise<void> {
|
|
|
689
740
|
}
|
|
690
741
|
});
|
|
691
742
|
}
|
|
692
|
-
|
|
693
743
|
function pushSubscriptionOptOut(): Promise<void> {
|
|
694
744
|
return new Promise(function (resolve, reject) {
|
|
695
745
|
if (isOneSignalScriptFailed) {
|
|
696
|
-
reject();
|
|
746
|
+
reject(new Error('OneSignal script failed to load.'));
|
|
747
|
+
return;
|
|
697
748
|
}
|
|
698
749
|
|
|
699
750
|
try {
|
|
700
751
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
701
|
-
OneSignal.User.PushSubscription.optOut()
|
|
702
|
-
.then(value => resolve(value))
|
|
752
|
+
OneSignal.User.PushSubscription.optOut().then(() => resolve())
|
|
703
753
|
.catch(error => reject(error));
|
|
704
754
|
});
|
|
705
755
|
} catch (error) {
|
|
@@ -707,28 +757,31 @@ function pushSubscriptionOptOut(): Promise<void> {
|
|
|
707
757
|
}
|
|
708
758
|
});
|
|
709
759
|
}
|
|
710
|
-
|
|
711
760
|
function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
|
|
761
|
+
|
|
712
762
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
713
|
-
OneSignal.User.PushSubscription.addEventListener(event, listener)
|
|
763
|
+
OneSignal.User.PushSubscription.addEventListener(event, listener);
|
|
714
764
|
});
|
|
765
|
+
|
|
715
766
|
}
|
|
716
|
-
|
|
717
767
|
function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
|
|
768
|
+
|
|
718
769
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
719
|
-
OneSignal.User.PushSubscription.removeEventListener(event, listener)
|
|
770
|
+
OneSignal.User.PushSubscription.removeEventListener(event, listener);
|
|
720
771
|
});
|
|
772
|
+
|
|
721
773
|
}
|
|
722
|
-
|
|
723
774
|
function debugSetLogLevel(logLevel: string): void {
|
|
775
|
+
|
|
724
776
|
window.OneSignalDeferred?.push((OneSignal) => {
|
|
725
|
-
OneSignal.Debug.setLogLevel(logLevel)
|
|
777
|
+
OneSignal.Debug.setLogLevel(logLevel);
|
|
726
778
|
});
|
|
779
|
+
|
|
727
780
|
}
|
|
728
781
|
const PushSubscriptionNamespace: IOneSignalPushSubscription = {
|
|
729
|
-
get id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id },
|
|
730
|
-
get token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token },
|
|
731
|
-
get optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn },
|
|
782
|
+
get id(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.id; },
|
|
783
|
+
get token(): string | null | undefined { return window.OneSignal?.User?.PushSubscription?.token; },
|
|
784
|
+
get optedIn(): boolean | undefined { return window.OneSignal?.User?.PushSubscription?.optedIn; },
|
|
732
785
|
optIn: pushSubscriptionOptIn,
|
|
733
786
|
optOut: pushSubscriptionOptOut,
|
|
734
787
|
addEventListener: pushSubscriptionAddEventListener,
|
|
@@ -736,6 +789,8 @@ const PushSubscriptionNamespace: IOneSignalPushSubscription = {
|
|
|
736
789
|
};
|
|
737
790
|
|
|
738
791
|
const UserNamespace: IOneSignalUser = {
|
|
792
|
+
get onesignalId(): string | undefined { return window.OneSignal?.User?.onesignalId; },
|
|
793
|
+
get externalId(): string | undefined { return window.OneSignal?.User?.externalId; },
|
|
739
794
|
addAlias: userAddAlias,
|
|
740
795
|
addAliases: userAddAliases,
|
|
741
796
|
removeAlias: userRemoveAlias,
|
|
@@ -748,6 +803,11 @@ const UserNamespace: IOneSignalUser = {
|
|
|
748
803
|
addTags: userAddTags,
|
|
749
804
|
removeTag: userRemoveTag,
|
|
750
805
|
removeTags: userRemoveTags,
|
|
806
|
+
getTags: userGetTags,
|
|
807
|
+
addEventListener: userAddEventListener,
|
|
808
|
+
removeEventListener: userRemoveEventListener,
|
|
809
|
+
setLanguage: userSetLanguage,
|
|
810
|
+
getLanguage: userGetLanguage,
|
|
751
811
|
PushSubscription: PushSubscriptionNamespace,
|
|
752
812
|
};
|
|
753
813
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onesignal/onesignal-vue3",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Vue 3 OneSignal Plugin: Make it easy to integrate OneSignal with your Vue App!",
|
|
5
5
|
"author": "rgomezp",
|
|
6
6
|
"contributors": [
|
|
7
|
-
{
|
|
8
|
-
|
|
7
|
+
{
|
|
8
|
+
"name": "Rodrigo Gomez-Palacio"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Enzo Innocenzi"
|
|
12
|
+
}
|
|
9
13
|
],
|
|
10
14
|
"license": "MIT",
|
|
11
15
|
"repository": "OneSignal/onesignal-vue3",
|