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