[READ-ONLY] Mirror of https://github.com/FoxxMD/komodo-utilities. Small utilities to enhance Komodo
gotify komodo
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: Implement number formatting

* Format cpu percent without decimals
* Format mem/disk space GB with two decimals

Closes #1

FoxxMD (Nov 26, 2024, 3:03 PM UTC) 943c18fd dd2752f1

+18 -6
+10
common/utils.ts
··· 1 + export const formatNumber = ( 2 + num: number, 3 + options: { max?: number; min?: number } = {}, 4 + ): string => { 5 + const { max = 2, min } = options; 6 + return Intl.NumberFormat("en-US", { 7 + maximumFractionDigits: max, 8 + minimumFractionDigits: min, 9 + }).format(num); 10 + };
+4 -3
gotify/main.ts
··· 1 1 import { Types } from "npm:komodo_client"; 2 2 import { gotify } from "npm:gotify@1.1.0"; 3 + import { formatNumber } from "../common/utils.ts"; 3 4 4 5 const GOTIFY_URL: string = Deno.env.get("GOTIFY_URL") as string; 5 6 if (GOTIFY_URL === undefined || GOTIFY_URL.trim() === "") { ··· 72 73 73 74 switch (type) { 74 75 case "ServerCpu": 75 - message.push(`Hit ${data.percentage}%`); 76 + message.push(`Hit ${formatNumber(data.percentage, {max: 0})}%`); 76 77 break; 77 78 case "ServerMem": 78 - message.push(`Used ${data.used_gb}/${data.total_gb}GB`); 79 + message.push(`Used ${formatNumber(data.used_gb)}/${formatNumber(data.total_gb)}GB`); 79 80 break; 80 81 case "ServerDisk": 81 82 message.push( 82 - `Disk at ${data.path} used ${data.used_gb}/${data.total_gb}GB`, 83 + `Disk at ${data.path} used ${formatNumber(data.used_gb)}/${formatNumber(data.total_gb)}GB`, 83 84 ); 84 85 break; 85 86 case "StackImageUpdateAvailable":
+4 -3
ntfy/main.ts
··· 1 1 import { Types } from "npm:komodo_client"; 2 2 import { Config, publish } from "npm:ntfy@1.7.0"; 3 + import { formatNumber } from "../common/utils.ts"; 3 4 4 5 const NTFY_URL: string = Deno.env.get("NTFY_URL") as string; 5 6 if (NTFY_URL === undefined || NTFY_URL.trim() === "") { ··· 95 96 96 97 switch (type) { 97 98 case "ServerCpu": 98 - message.push(`Hit ${data.percentage}%`); 99 + message.push(`Hit ${formatNumber(data.percentage, {max: 0})}%`); 99 100 break; 100 101 case "ServerMem": 101 - message.push(`Used ${data.used_gb}/${data.total_gb}GB`); 102 + message.push(`Used ${formatNumber(data.used_gb)}/${formatNumber(data.total_gb)}GB`); 102 103 break; 103 104 case "ServerDisk": 104 105 message.push( 105 - `Disk at ${data.path} used ${data.used_gb}/${data.total_gb}GB`, 106 + `Disk at ${data.path} used ${formatNumber(data.used_gb)}/${formatNumber(data.total_gb)}GB`, 106 107 ); 107 108 break; 108 109 case "StackImageUpdateAvailable":