ngx-surveys
Version:
Angular 18+ survey / form builder
42 lines • 3.5 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
/*
* Convert bytes into largest possible unit.
* Takes an precision argument that defaults to 2.
* Usage:
* bytes | fileSize:precision
* Example:
* {{ 1024 | fileSize}}
* formats to: 1 KB
*/
export class FileSizePipe {
constructor() {
this.units = [
'bytes',
'KB',
'MB',
'GB',
'TB',
'PB'
];
}
transform(bytes = 0, precision = 2, separator = ' ') {
if (!isFinite(bytes)) {
return '?';
}
;
let unit = 0;
while (bytes >= 1024) {
bytes /= 1024;
unit++;
}
return bytes.toFixed(+precision) + separator + this.units[unit];
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: FileSizePipe, name: "fileSize" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FileSizePipe, decorators: [{
type: Pipe,
args: [{ name: 'fileSize' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VydmV5cy9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7Ozs7RUFRRTtBQUVGLE1BQU0sT0FBTyxZQUFZO0lBRHpCO1FBR1UsVUFBSyxHQUFHO1lBQ2QsT0FBTztZQUNQLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1NBQ0wsQ0FBQztLQWFIO0lBWEMsU0FBUyxDQUFDLFFBQWdCLENBQUMsRUFBRSxZQUFvQixDQUFDLEVBQUUsWUFBb0IsUUFBUTtRQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFBQyxPQUFPLEdBQUcsQ0FBQztRQUFDLENBQUM7UUFBQSxDQUFDO1FBRXRDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUViLE9BQVEsS0FBSyxJQUFJLElBQUksRUFBRyxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUcsQ0FBQztRQUNWLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUUsQ0FBRSxTQUFTLENBQUUsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUN2RSxDQUFDOytHQXJCVSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKlxuICogQ29udmVydCBieXRlcyBpbnRvIGxhcmdlc3QgcG9zc2libGUgdW5pdC5cbiAqIFRha2VzIGFuIHByZWNpc2lvbiBhcmd1bWVudCB0aGF0IGRlZmF1bHRzIHRvIDIuXG4gKiBVc2FnZTpcbiAqICAgYnl0ZXMgfCBmaWxlU2l6ZTpwcmVjaXNpb25cbiAqIEV4YW1wbGU6XG4gKiAgIHt7IDEwMjQgfCAgZmlsZVNpemV9fVxuICogICBmb3JtYXRzIHRvOiAxIEtCXG4qL1xuQFBpcGUoe25hbWU6ICdmaWxlU2l6ZSd9KVxuZXhwb3J0IGNsYXNzIEZpbGVTaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgdW5pdHMgPSBbXG4gICAgJ2J5dGVzJyxcbiAgICAnS0InLFxuICAgICdNQicsXG4gICAgJ0dCJyxcbiAgICAnVEInLFxuICAgICdQQidcbiAgXTtcblxuICB0cmFuc2Zvcm0oYnl0ZXM6IG51bWJlciA9IDAsIHByZWNpc2lvbjogbnVtYmVyID0gMiwgc2VwYXJhdG9yOiBzdHJpbmcgPSAnJm5ic3A7JyApOiBzdHJpbmcge1xuICAgIGlmICghaXNGaW5pdGUoYnl0ZXMpKSB7IHJldHVybiAnPyc7IH07XG5cbiAgICBsZXQgdW5pdCA9IDA7XG5cbiAgICB3aGlsZSAoIGJ5dGVzID49IDEwMjQgKSB7XG4gICAgICBieXRlcyAvPSAxMDI0O1xuICAgICAgdW5pdCArKztcbiAgICB9XG4gICAgcmV0dXJuIGJ5dGVzLnRvRml4ZWQoICsgcHJlY2lzaW9uICkgKyBzZXBhcmF0b3IgKyB0aGlzLnVuaXRzWyB1bml0IF07XG4gIH1cbn1cbiJdfQ==