export const toGibibytes = ( input?: number, options?: { hideUnit?: boolean } ) => { if (!input) return '' if (input > 1024 ** 3) { return (input / 1024 ** 3).toFixed(2) + (options?.hideUnit ? '' : 'GB') } else if (input > 1024 ** 2) { return (input / 1024 ** 2).toFixed(2) + (options?.hideUnit ? '' : 'MB') } else if (input > 1024) { return (input / 1024).toFixed(2) + (options?.hideUnit ? '' : 'KB') } else { return input + (options?.hideUnit ? '' : 'B') } } export const formatDownloadPercentage = ( input: number, options?: { hidePercentage?: boolean } ) => { if (options?.hidePercentage) return input * 100 return (input * 100).toFixed(2) + '%' } export const formatDownloadSpeed = (input: number | undefined) => { if (!input) return '0B/s' return toGibibytes(input) + '/s' } export const formatTwoDigits = (input: number) => { input = Number(input) return input.toFixed(2) } export const formatExtensionsName = (input: string) => { return input.replace('@janhq/', '').replaceAll('-', ' ') }