💄 Human readable filesize format pipe

This commit is contained in:
itskovacs 2025-10-15 23:43:40 +02:00
parent ea1e21042b
commit 4db490eea4

View File

@ -0,0 +1,12 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'fileSize', standalone: true })
export class FileSizePipe implements PipeTransform {
transform(bytes: number, digits: number = 2): string {
if (isNaN(bytes) || bytes === 0) return '0 B';
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
const i = Math.floor(Math.log(bytes) / Math.log(1024));
return `${parseFloat((bytes / Math.pow(1024, i)).toFixed(digits))} ${sizes[i]}`;
}
}