Skip to content

Commit 083df0a

Browse files
committed
chore: refactor notification service to improve modular messaging support
1 parent 49ca1b1 commit 083df0a

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

packages/uikit-react-native/src/platform/createNotificationService.native.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,23 @@ const createNativeNotificationService = ({
4040
permissionModule: typeof Permissions;
4141
}): NotificationServiceInterface => {
4242
const isModular = isModularAPI(messagingModule);
43-
const messaging = isModular ? messagingModule.getMessaging() : (messagingModule as typeof RNFBMessaging)();
43+
const modularMessaging = isModular ? (messagingModule as ModularMessagingType) : null;
44+
const messaging = isModular ? modularMessaging!.getMessaging() : (messagingModule as typeof RNFBMessaging)();
4445

4546
const authorizedStatus = [
4647
messagingModule.AuthorizationStatus.AUTHORIZED,
4748
messagingModule.AuthorizationStatus.PROVISIONAL,
4849
];
4950
return {
5051
getAPNSToken(): Promise<string | null> {
51-
if (isModular) {
52-
return (messagingModule as ModularMessagingType).getAPNSToken(messaging);
52+
if (modularMessaging) {
53+
return modularMessaging.getAPNSToken(messaging);
5354
}
5455
return messaging.getAPNSToken();
5556
},
5657
getFCMToken(): Promise<string | null> {
57-
if (isModular) {
58-
return (messagingModule as ModularMessagingType).getToken(messaging);
58+
if (modularMessaging) {
59+
return modularMessaging.getToken(messaging);
5960
}
6061
return messaging.getToken();
6162
},
@@ -66,8 +67,8 @@ const createNativeNotificationService = ({
6667
}
6768

6869
if (Platform.OS === 'ios') {
69-
const status = isModular
70-
? await (messagingModule as ModularMessagingType).hasPermission(messaging)
70+
const status = modularMessaging
71+
? await modularMessaging.hasPermission(messaging)
7172
: await messaging.hasPermission();
7273
return authorizedStatus.includes(status);
7374
}
@@ -81,17 +82,17 @@ const createNativeNotificationService = ({
8182
}
8283

8384
if (Platform.OS === 'ios') {
84-
const status = isModular
85-
? await (messagingModule as ModularMessagingType).requestPermission(messaging)
85+
const status = modularMessaging
86+
? await modularMessaging.requestPermission(messaging)
8687
: await messaging.requestPermission();
8788
return authorizedStatus.includes(status);
8889
}
8990

9091
return false;
9192
},
9293
onTokenRefresh(handler: (token: string) => void): () => void | undefined {
93-
if (isModular) {
94-
return (messagingModule as ModularMessagingType).onTokenRefresh(messaging, (token: string) => {
94+
if (modularMessaging) {
95+
return modularMessaging.onTokenRefresh(messaging, (token: string) => {
9596
if (Platform.OS === 'android') handler(token);
9697
});
9798
}

0 commit comments

Comments
 (0)