aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview/badge.ts
diff options
context:
space:
mode:
authorLibravatar Vijay A <vraravam@users.noreply.github.com>2022-12-26 13:26:12 +0530
committerLibravatar Vijay A <vraravam@users.noreply.github.com>2022-12-26 13:26:12 +0530
commit5c350b370cbe8430582d25b062c8de19fdec033b (patch)
tree55db1e27efd7159ea7c4dc42c0e115b531bc3b83 /src/webview/badge.ts
parentUpgrade 'nodejs' to '16.19.0' and 'pnpm' to '7.19.0' (diff)
downloadferdium-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.ts19
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 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import { safeParseInt } from '../jsUtils';
2 3
3const debug = require('../preload-safe-debug')('Ferdium:Plugin:BadgeHandler'); 4const debug = require('../preload-safe-debug')('Ferdium:Plugin:BadgeHandler');
4 5
5export default class BadgeHandler { 6export 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);