refactor(sw): Fix type errors in packages/sw (#9909)

* Fix type errors in packages/sw

* mouhitotsu

* @typesは越境しない

* Update packages/sw/src/scripts/create-notification.ts

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
Kagami Sascha Rosylight 2023-02-12 16:31:37 +01:00 committed by GitHub
parent a71682f6f0
commit 9f0e0dc8ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 30 deletions

View file

@ -30,7 +30,7 @@ export async function createNotification<K extends keyof pushNotificationDataMap
}
}
async function composeNotification<K extends keyof pushNotificationDataMap>(data: pushNotificationDataMap[K]): Promise<[string, NotificationOptions] | null> {
async function composeNotification(data: pushNotificationDataMap[keyof pushNotificationDataMap]): Promise<[string, NotificationOptions] | null> {
if (!swLang.i18n) swLang.fetchLocale();
const i18n = await swLang.i18n as I18n<any>;
const { t } = i18n;
@ -66,7 +66,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
case 'mention':
return [t('_notification.youGotMention', { name: getUserName(data.body.user) }), {
body: data.body.note.text || '',
body: data.body.note.text ?? '',
icon: data.body.user.avatarUrl,
badge: iconUrl('at'),
data,
@ -80,7 +80,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
case 'reply':
return [t('_notification.youGotReply', { name: getUserName(data.body.user) }), {
body: data.body.note.text || '',
body: data.body.note.text ?? '',
icon: data.body.user.avatarUrl,
badge: iconUrl('arrow-back-up'),
data,
@ -94,7 +94,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
case 'renote':
return [t('_notification.youRenoted', { name: getUserName(data.body.user) }), {
body: data.body.note.text || '',
body: data.body.note.text ?? '',
icon: data.body.user.avatarUrl,
badge: iconUrl('repeat'),
data,
@ -108,7 +108,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
case 'quote':
return [t('_notification.youGotQuote', { name: getUserName(data.body.user) }), {
body: data.body.note.text || '',
body: data.body.note.text ?? '',
icon: data.body.user.avatarUrl,
badge: iconUrl('quote'),
data,
@ -162,7 +162,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
}
return [`${reaction} ${getUserName(data.body.user)}`, {
body: data.body.note.text || '',
body: data.body.note.text ?? '',
icon: data.body.user.avatarUrl,
badge,
data,
@ -227,9 +227,9 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
}];
case 'app':
return [data.body.header || data.body.body, {
body: data.body.header && data.body.body,
icon: data.body.icon,
return [data.body.header ?? data.body.body, {
body: data.body.header ? data.body.body : '',
icon: data.body.icon ?? undefined,
data,
}];
@ -246,7 +246,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
renotify: true,
}];
}
return [t('_notification.youGotMessagingMessageFromGroup', { name: data.body.group.name }), {
return [t('_notification.youGotMessagingMessageFromGroup', { name: data.body.group?.name ?? '' }), {
icon: data.body.user.avatarUrl,
badge: iconUrl('messages'),
tag: `messaging:group:${data.body.groupId}`,
@ -255,7 +255,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
}];
case 'unreadAntennaNote':
return [t('_notification.unreadAntennaNote', { name: data.body.antenna.name }), {
body: `${getUserName(data.body.note.user)}: ${data.body.note.text || ''}`,
body: `${getUserName(data.body.note.user)}: ${data.body.note.text ?? ''}`,
icon: data.body.note.user.avatarUrl,
badge: iconUrl('antenna'),
tag: `antenna:${data.body.antenna.id}`,
@ -272,7 +272,7 @@ export async function createEmptyNotification() {
if (!swLang.i18n) swLang.fetchLocale();
const i18n = await swLang.i18n as I18n<any>;
const { t } = i18n;
await self.registration.showNotification(
t('_notification.emptyPushNotificationMessage'),
{