Skip to content

Commit 09f5b86

Browse files
committed
remove events constants for interface instead
1 parent b70f071 commit 09f5b86

30 files changed

+278
-282
lines changed

__test__/support/environment/TestEnvironmentHelpers.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { SubscriptionType } from 'src/shared/subscriptions/constants';
66
import { CoreModuleDirector } from '../../../src/core/CoreModuleDirector';
77
import NotificationsNamespace from '../../../src/onesignal/NotificationsNamespace';
88
import OneSignal from '../../../src/onesignal/OneSignal';
9-
import { ONESIGNAL_EVENTS } from '../../../src/onesignal/OneSignalEvents';
109
import User from '../../../src/onesignal/User';
1110
import UserNamespace from '../../../src/onesignal/UserNamespace';
1211
import Context from '../../../src/page/models/Context';
@@ -23,7 +22,6 @@ declare const global: {
2322

2423
export function initOSGlobals(config: TestEnvironmentConfig = {}) {
2524
global.OneSignal = OneSignal;
26-
global.OneSignal.EVENTS = ONESIGNAL_EVENTS;
2725
global.OneSignal.config = TestContext.getFakeMergedConfig(config);
2826
global.OneSignal._context = new Context(global.OneSignal.config);
2927
global.OneSignal._initialized = true;

__test__/unit/events/eventsUnique.test.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

__test__/unit/push/registerForPush.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ describe('Register for push', () => {
3232
const promise = OneSignal.User.PushSubscription.optIn();
3333

3434
expect(spy).not.toHaveBeenCalled();
35-
OneSignalEvent._trigger(OneSignal.EVENTS.SDK_INITIALIZED);
35+
OneSignalEvent._trigger('initializeInternal');
3636
await promise;
3737
expect(OneSignal._initialized).toBe(true);
3838
expect(spy).toHaveBeenCalledTimes(1);

src/onesignal/NotificationsNamespace.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,10 @@ export default class NotificationsNamespace extends EventListenerBase {
3030
this._permission = permissionNative === 'granted';
3131

3232
if (typeof OneSignal !== 'undefined') {
33-
OneSignal._emitter.on(
34-
OneSignal.EVENTS.NOTIFICATION_PERMISSION_CHANGED_AS_STRING,
35-
(permissionNative: NotificationPermission) => {
36-
this._permissionNative = permissionNative;
37-
this._permission = permissionNative === 'granted';
38-
},
39-
);
33+
OneSignal._emitter.on('permissionChangeAsString', (permissionNative) => {
34+
this._permissionNative = permissionNative;
35+
this._permission = permissionNative === 'granted';
36+
});
4037
}
4138
}
4239

src/onesignal/OneSignal.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ describe('OneSignal - No Consent Required', () => {
678678

679679
test('login then accept web push permissions - it should make two user calls', async () => {
680680
const { promise, resolve } = Promise.withResolvers();
681-
OneSignal._emitter.on(OneSignal.EVENTS.SUBSCRIPTION_CHANGED, resolve);
681+
OneSignal._emitter.on('change', resolve);
682682
setGetUserResponse();
683683
setCreateUserResponse({
684684
onesignalId: ONESIGNAL_ID,

src/onesignal/OneSignal.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,11 @@ import Emitter from '../shared/libraries/Emitter';
4343
import Log from '../shared/libraries/Log';
4444
import DebugNamespace from './DebugNamesapce';
4545
import NotificationsNamespace from './NotificationsNamespace';
46-
import { ONESIGNAL_EVENTS } from './OneSignalEvents';
4746
import { SessionNamespace } from './SessionNamespace';
4847
import SlidedownNamespace from './SlidedownNamespace';
4948
import UserNamespace from './UserNamespace';
5049

5150
export default class OneSignal {
52-
static EVENTS = ONESIGNAL_EVENTS;
53-
5451
static _consentGiven = false;
5552

5653
private static async _initializeCoreModuleAndOSNamespaces() {
@@ -176,14 +173,11 @@ export default class OneSignal {
176173
OneSignal._initAlreadyCalled = true;
177174

178175
OneSignal._emitter.on(
179-
OneSignal.EVENTS.NOTIFICATION_PERMISSION_CHANGED_AS_STRING,
176+
'permissionChangeAsString',
180177
checkAndTriggerSubscriptionChanged,
181178
);
182-
OneSignal._emitter.on(
183-
OneSignal.EVENTS.SUBSCRIPTION_CHANGED,
184-
_onSubscriptionChanged,
185-
);
186-
OneSignal._emitter.on(OneSignal.EVENTS.SDK_INITIALIZED, onSdkInitialized);
179+
OneSignal._emitter.on('change', _onSubscriptionChanged);
180+
OneSignal._emitter.on('initializeInternal', onSdkInitialized);
187181

188182
window.addEventListener('focus', () => {
189183
// Checks if permission changed every time a user focuses on the page,

src/onesignal/OneSignalEvents.ts

Lines changed: 0 additions & 62 deletions
This file was deleted.

src/onesignal/PushSubscriptionNamespace.ts

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {
1212
onInternalSubscriptionSet,
1313
} from 'src/shared/listeners';
1414
import { IDManager } from 'src/shared/managers/IDManager';
15-
import type { SubscriptionChangeEvent } from '../page/models/SubscriptionChangeEvent';
15+
import type { EventsMap } from 'src/shared/services/types';
16+
import type { UserSubscription } from 'src/shared/subscriptions/types';
1617
import { EventListenerBase } from '../page/userModel/EventListenerBase';
1718
import Log from '../shared/libraries/Log';
1819
import { isCompleteSubscriptionObject } from '../shared/managers/utils';
@@ -56,20 +57,14 @@ export default class PushSubscriptionNamespace extends EventListenerBase {
5657
Log._error(e);
5758
});
5859

59-
OneSignal._emitter.on(
60-
OneSignal.EVENTS.SUBSCRIPTION_CHANGED,
61-
async (change: SubscriptionChangeEvent | undefined) => {
62-
this._id = change?.current.id;
63-
this._token = change?.current.token;
64-
},
65-
);
66-
67-
OneSignal._emitter.on(
68-
OneSignal.EVENTS.NOTIFICATION_PERMISSION_CHANGED_AS_STRING,
69-
async (permission: NotificationPermission) => {
70-
this._permission = permission;
71-
},
72-
);
60+
OneSignal._emitter.on('change', async (change) => {
61+
this._id = change?.current.id;
62+
this._token = change?.current.token;
63+
});
64+
65+
OneSignal._emitter.on('permissionChangeAsString', async (permission) => {
66+
this._permission = permission;
67+
});
7368
}
7469

7570
get id(): string | null | undefined {
@@ -110,14 +105,14 @@ export default class PushSubscriptionNamespace extends EventListenerBase {
110105

111106
addEventListener(
112107
event: 'change',
113-
listener: (change: SubscriptionChangeEvent) => void,
108+
listener: (change: EventsMap['change']) => void,
114109
): void {
115110
OneSignal._emitter.on(event, listener);
116111
}
117112

118113
removeEventListener(
119114
event: 'change',
120-
listener: (change: SubscriptionChangeEvent) => void,
115+
listener: (change: EventsMap['change']) => void,
121116
): void {
122117
OneSignal._emitter.off(event, listener);
123118
}

src/onesignal/UserNamespace.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { UserEventsMap } from 'src/shared/services/types';
2+
import type { UserSubscription } from 'src/shared/subscriptions/types';
13
import type { UserChangeEvent } from '../page/models/UserChangeEvent';
24
import { EventListenerBase } from '../page/userModel/EventListenerBase';
35
import Emitter from '../shared/libraries/Emitter';
@@ -10,7 +12,7 @@ export default class UserNamespace extends EventListenerBase {
1012

1113
readonly PushSubscription = new PushSubscriptionNamespace(false);
1214

13-
static _emitter = new Emitter();
15+
static _emitter = new Emitter<UserEventsMap>();
1416

1517
constructor(
1618
initialize: boolean,
@@ -111,7 +113,7 @@ export default class UserNamespace extends EventListenerBase {
111113

112114
addEventListener(
113115
event: 'change',
114-
listener: (userChange: UserChangeEvent) => void,
116+
listener: (userChange: UserEventsMap['change']) => void,
115117
): void {
116118
UserNamespace._emitter.on(event, listener);
117119
}

src/page/bell/Bell.ts

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@ import Log from '../../shared/libraries/Log';
1818
import OneSignalEvent from '../../shared/services/OneSignalEvent';
1919
import { once } from '../../shared/utils/utils';
2020
import { DismissPrompt } from '../models/Dismiss';
21-
import type { SubscriptionChangeEvent } from '../models/SubscriptionChangeEvent';
2221
import { ResourceLoadState } from '../services/DynamicResourceLoader';
2322
import Badge from './Badge';
2423
import Button from './Button';
2524
import Dialog from './Dialog';
2625
import Launcher from './Launcher';
2726
import Message from './Message';
2827
import {
29-
BellEvent,
3028
BellState,
3129
type BellStateValue,
3230
MESSAGE_TIMEOUT,
@@ -173,7 +171,7 @@ export default class Bell {
173171

174172
private _installEventHooks() {
175173
// Install event hooks
176-
OneSignal._emitter.on(BellEvent._SubscribeClick, () => {
174+
OneSignal._emitter.on('notifyButtonSubscribeClick', () => {
177175
const subscribeButton = this._dialog._subscribeButton;
178176
if (subscribeButton) {
179177
subscribeButton.disabled = true;
@@ -206,7 +204,7 @@ export default class Bell {
206204
});
207205
});
208206

209-
OneSignal._emitter.on(BellEvent._UnsubscribeClick, () => {
207+
OneSignal._emitter.on('notifyButtonUnsubscribeClick', () => {
210208
const unsubscribeButton = this._dialog._unsubscribeButton;
211209
if (unsubscribeButton) {
212210
unsubscribeButton.disabled = true;
@@ -234,7 +232,7 @@ export default class Bell {
234232
});
235233
});
236234

237-
OneSignal._emitter.on(BellEvent._Hovering, () => {
235+
OneSignal._emitter.on('notifyButtonHovering', () => {
238236
this._hovering = true;
239237
this._launcher._activateIfInactive();
240238

@@ -278,7 +276,7 @@ export default class Bell {
278276
});
279277
});
280278

281-
OneSignal._emitter.on(BellEvent._Hovered, () => {
279+
OneSignal._emitter.on('notifyButtonHover', () => {
282280
// If a message is displayed (and not a tip), don't control it. Visitors have no control over messages
283281
if (this._message._contentType === MessageType._Message) {
284282
return;
@@ -317,34 +315,31 @@ export default class Bell {
317315
}
318316
});
319317

320-
OneSignal._emitter.on(
321-
OneSignal.EVENTS.SUBSCRIPTION_CHANGED,
322-
async (isSubscribed: SubscriptionChangeEvent) => {
323-
if (isSubscribed.current.optedIn) {
324-
if (this._badge._shown && this._options.prenotify) {
325-
this._badge._hide();
326-
}
327-
if (this._dialog._notificationIcons === null) {
328-
const icons = await getNotificationIcons();
329-
this._dialog._notificationIcons = icons;
330-
}
318+
OneSignal._emitter.on('change', async (isSubscribed) => {
319+
if (isSubscribed?.current.optedIn) {
320+
if (this._badge._shown && this._options.prenotify) {
321+
this._badge._hide();
331322
}
332-
333-
const permission =
334-
await OneSignal._context._permissionManager._getPermissionStatus();
335-
let bellState: BellStateValue;
336-
if (isSubscribed.current.optedIn) {
337-
bellState = BellState._Subscribed;
338-
} else if (permission === 'denied') {
339-
bellState = BellState._Blocked;
340-
} else {
341-
bellState = BellState._Unsubscribed;
323+
if (this._dialog._notificationIcons === null) {
324+
const icons = await getNotificationIcons();
325+
this._dialog._notificationIcons = icons;
342326
}
343-
this._setState(bellState, this._ignoreSubscriptionState);
344-
},
345-
);
327+
}
328+
329+
const permission =
330+
await OneSignal._context._permissionManager._getPermissionStatus();
331+
let bellState: BellStateValue;
332+
if (isSubscribed?.current.optedIn) {
333+
bellState = BellState._Subscribed;
334+
} else if (permission === 'denied') {
335+
bellState = BellState._Blocked;
336+
} else {
337+
bellState = BellState._Unsubscribed;
338+
}
339+
this._setState(bellState, this._ignoreSubscriptionState);
340+
});
346341

347-
OneSignal._emitter.on(BellEvent._StateChanged, (state) => {
342+
OneSignal._emitter.on('notifyButtonStateChange', (state) => {
348343
if (!this._launcher._element) {
349344
// Notify button doesn't exist
350345
return;
@@ -359,12 +354,9 @@ export default class Bell {
359354
}
360355
});
361356

362-
OneSignal._emitter.on(
363-
OneSignal.EVENTS.NOTIFICATION_PERMISSION_CHANGED_AS_STRING,
364-
() => {
365-
this._updateState();
366-
},
367-
);
357+
OneSignal._emitter.on('permissionChangeAsString', () => {
358+
this._updateState();
359+
});
368360
}
369361

370362
private _addDefaultClasses() {
@@ -721,7 +713,7 @@ export default class Bell {
721713
const lastState = this._state;
722714
this._state = newState;
723715
if (lastState !== newState && !silent) {
724-
OneSignalEvent._trigger(BellEvent._StateChanged, {
716+
OneSignalEvent._trigger('notifyButtonStateChange', {
725717
from: lastState,
726718
to: newState,
727719
});

0 commit comments

Comments
 (0)