Skip to content

Instantly share code, notes, and snippets.

@Solomko2
Created August 29, 2017 14:15
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Solomko2/08e9fbecab828225f4233c6f0f73204f to your computer and use it in GitHub Desktop.
Save Solomko2/08e9fbecab828225f4233c6f0f73204f to your computer and use it in GitHub Desktop.
fileSize pipe
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'fileSize'
})
export class FileSizePipe implements PipeTransform {
private units = [
'bytes',
'KB',
'MB',
'GB',
'TB',
'PB'
];
transform(bytes: number = 0, precision: number = 2 ): string {
if ( isNaN( parseFloat( String(bytes) )) || ! isFinite( bytes ) ) {
return '?'
}
let unit = 0;
while ( bytes >= 1024 ) {
bytes /= 1024;
unit ++;
}
return bytes.toFixed( + precision ) + ' ' + this.units[ unit ];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment