diff options
author | Vijay A <vraravam@users.noreply.github.com> | 2022-12-26 13:26:12 +0530 |
---|---|---|
committer | Vijay A <vraravam@users.noreply.github.com> | 2022-12-26 13:26:12 +0530 |
commit | 5c350b370cbe8430582d25b062c8de19fdec033b (patch) | |
tree | 55db1e27efd7159ea7c4dc42c0e115b531bc3b83 /src/webview/badge.ts | |
parent | Upgrade 'nodejs' to '16.19.0' and 'pnpm' to '7.19.0' (diff) | |
download | ferdium-app-5c350b370cbe8430582d25b062c8de19fdec033b.tar.gz ferdium-app-5c350b370cbe8430582d25b062c8de19fdec033b.tar.zst ferdium-app-5c350b370cbe8430582d25b062c8de19fdec033b.zip |
Minor refactoring
Diffstat (limited to 'src/webview/badge.ts')
-rw-r--r-- | src/webview/badge.ts | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/src/webview/badge.ts b/src/webview/badge.ts index afecd22d4..b33d05255 100644 --- a/src/webview/badge.ts +++ b/src/webview/badge.ts | |||
@@ -1,29 +1,16 @@ | |||
1 | import { ipcRenderer } from 'electron'; | 1 | import { ipcRenderer } from 'electron'; |
2 | import { safeParseInt } from '../jsUtils'; | ||
2 | 3 | ||
3 | const debug = require('../preload-safe-debug')('Ferdium:Plugin:BadgeHandler'); | 4 | const debug = require('../preload-safe-debug')('Ferdium:Plugin:BadgeHandler'); |
4 | 5 | ||
5 | export default class BadgeHandler { | 6 | export default class BadgeHandler { |
6 | // TODO: Need to extract this into a utility class and reuse outside of the recipes | ||
7 | safeParseInt(text: string | number | undefined | null) { | ||
8 | if (text === undefined || text === null) { | ||
9 | return 0; | ||
10 | } | ||
11 | |||
12 | // Parse number to integer | ||
13 | // This will correct errors that recipes may introduce, e.g. | ||
14 | // by sending a String instead of an integer | ||
15 | const parsedNumber = Number.parseInt(text.toString(), 10); | ||
16 | const adjustedNumber = Number.isNaN(parsedNumber) ? 0 : parsedNumber; | ||
17 | return Math.max(adjustedNumber, 0); | ||
18 | } | ||
19 | |||
20 | setBadge( | 7 | setBadge( |
21 | direct: string | number | undefined | null, | 8 | direct: string | number | undefined | null, |
22 | indirect: string | number | undefined | null, | 9 | indirect: string | number | undefined | null, |
23 | ) { | 10 | ) { |
24 | const count = { | 11 | const count = { |
25 | direct: this.safeParseInt(direct), | 12 | direct: safeParseInt(direct), |
26 | indirect: this.safeParseInt(indirect), | 13 | indirect: safeParseInt(indirect), |
27 | }; | 14 | }; |
28 | 15 | ||
29 | debug('Sending badge count to host: %j', count); | 16 | debug('Sending badge count to host: %j', count); |