@@ -8,7 +8,7 @@ let isOneSignalInitialized = false;
88// OneSignal#init.
99let isOneSignalScriptFailed = false ;
1010
11- window . OneSignalDeferred = window . OneSignalDeferred || [ ] ;
11+ window . OneSignalDeferred = window ? .OneSignalDeferred || [ ] ;
1212
1313addSDKScript ( ) ;
1414
@@ -190,6 +190,10 @@ interface IOneSignalUser {
190190 removeEmail ( email : string ) : void ;
191191 addSms ( smsNumber : string ) : void ;
192192 removeSms ( smsNumber : string ) : void ;
193+ addTag ( key : string , value : string ) : void ;
194+ addTags ( tags : { [ key : string ] : string } ) : void ;
195+ removeTag ( key : string ) : void ;
196+ removeTags ( keys : string [ ] ) : void ;
193197}
194198interface IOneSignalPushSubscription {
195199 id : string | null | undefined ;
@@ -551,6 +555,30 @@ function userRemoveSms(smsNumber: string): void {
551555 } ) ;
552556}
553557
558+ function userAddTag ( key : string , value : string ) : void {
559+ window . OneSignalDeferred ?. push ( ( OneSignal : IOneSignalOneSignal ) => {
560+ OneSignal . User . addTag ( key , value )
561+ } ) ;
562+ }
563+
564+ function userAddTags ( tags : { [ key : string ] : string } ) : void {
565+ window . OneSignalDeferred ?. push ( ( OneSignal : IOneSignalOneSignal ) => {
566+ OneSignal . User . addTags ( tags )
567+ } ) ;
568+ }
569+
570+ function userRemoveTag ( key : string ) : void {
571+ window . OneSignalDeferred ?. push ( ( OneSignal : IOneSignalOneSignal ) => {
572+ OneSignal . User . removeTag ( key )
573+ } ) ;
574+ }
575+
576+ function userRemoveTags ( keys : string [ ] ) : void {
577+ window . OneSignalDeferred ?. push ( ( OneSignal : IOneSignalOneSignal ) => {
578+ OneSignal . User . removeTags ( keys )
579+ } ) ;
580+ }
581+
554582function pushSubscriptionOptIn ( ) : Promise < void > {
555583 return new Promise ( ( resolve , reject ) => {
556584 if ( isOneSignalScriptFailed ) {
@@ -623,6 +651,10 @@ const UserNamespace: IOneSignalUser = {
623651 removeEmail : userRemoveEmail ,
624652 addSms : userAddSms ,
625653 removeSms : userRemoveSms ,
654+ addTag : userAddTag ,
655+ addTags : userAddTags ,
656+ removeTag : userRemoveTag ,
657+ removeTags : userRemoveTags ,
626658 PushSubscription : PushSubscriptionNamespace ,
627659} ;
628660
0 commit comments