Skip to content

Commit 98f34a1

Browse files
committed
Changing the method of generating result
1 parent d5a1f9d commit 98f34a1

9 files changed

+102
-92
lines changed

Gruntfile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ module.exports = function(grunt) {
1919
"<banner>",
2020
"src/intro.js",
2121
"src/filesize.js",
22-
"src/options.js",
22+
"src/si.js",
2323
"src/outro.js"
2424
],
2525
dest : "lib/filesize.js"

lib/filesize.js

+42-44
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@
66
* @license BSD-3 <https://raw.github.com/avoidwork/filesize.js/master/LICENSE>
77
* @link http://filesizejs.com
88
* @module filesize
9-
* @version 2.0.1
9+
* @version 2.0.2
1010
*/
1111
( function ( global ) {
1212
"use strict";
1313

1414
var bit = /b$/,
15-
bite = /^B$/,
1615
radix = 10,
1716
right = /\.(.*)/,
1817
zero = /^0$/;
@@ -28,8 +27,7 @@ var bit = /b$/,
2827
function filesize ( arg, descriptor ) {
2928
var result = "",
3029
skip = false,
31-
i = 6,
32-
base, bits, neg, num, round, size, sizes, unix, spacer, suffix, z, suffixes;
30+
e, base, bits, ceil, neg, num, round, unix, spacer, suffix, z, suffixes;
3331

3432
if ( isNaN( arg ) ) {
3533
throw new Error( "Invalid arguments" );
@@ -44,6 +42,7 @@ function filesize ( arg, descriptor ) {
4442
suffixes = descriptor.suffixes !== undefined ? descriptor.suffixes : {};
4543
num = Number( arg );
4644
neg = ( num < 0 );
45+
ceil = base > 2 ? 1000 : 1024;
4746

4847
// Flipping a negative number to determine the size
4948
if ( neg ) {
@@ -61,45 +60,50 @@ function filesize ( arg, descriptor ) {
6160
}
6261
}
6362
else {
64-
sizes = options[base][bits ? "bits" : "bytes"];
63+
e = Math.floor( Math.log( num ) / Math.log( 1000 ) );
6564

66-
while ( i-- ) {
67-
size = sizes[i][1];
68-
suffix = sizes[i][0];
69-
70-
if ( num >= size ) {
71-
// Treating bytes as cardinal
72-
if ( bite.test( suffix ) ) {
73-
skip = true;
74-
round = 0;
75-
}
65+
if ( base === 2 ) {
66+
result = num / Math.pow( 2, ( e * 10 ) );
67+
}
68+
else {
69+
result = num / Math.pow( 1000, e );
70+
}
7671

77-
result = ( num / size ).toFixed( round );
72+
if ( bits ) {
73+
result = ( result * 8 );
7874

79-
if ( !skip && unix ) {
80-
if ( bits && bit.test( suffix ) ) {
81-
suffix = suffix.toLowerCase();
82-
}
75+
if ( result > ceil ) {
76+
result = result / ceil;
77+
e++;
78+
}
79+
}
8380

84-
suffix = suffix.charAt( 0 );
85-
z = right.exec( result );
81+
result = result.toFixed( e > 0 ? round : 0 );
82+
suffix = si[bits ? "bits" : "bytes"][e];
8683

87-
if ( !bits && suffix === "k" ) {
88-
suffix = "K";
89-
}
84+
if ( !skip && unix ) {
85+
if ( bits && bit.test( suffix ) ) {
86+
suffix = suffix.toLowerCase();
87+
}
9088

91-
if ( z !== null && z[1] !== undefined && zero.test( z[1] ) ) {
92-
result = parseInt( result, radix );
93-
}
89+
suffix = suffix.charAt( 0 );
90+
z = right.exec( result );
9491

95-
result += spacer + ( suffixes[suffix] || suffix );
96-
}
97-
else if ( !unix ) {
98-
result += spacer + ( suffixes[suffix] || suffix );
99-
}
92+
if ( suffix === "B" ) {
93+
suffix = "";
94+
}
95+
else if ( !bits && suffix === "k" ) {
96+
suffix = "K";
97+
}
10098

101-
break;
99+
if ( z !== null && z[1] !== undefined && zero.test( z[1] ) ) {
100+
result = parseInt( result, radix );
102101
}
102+
103+
result += spacer + ( suffixes[suffix] || suffix );
104+
}
105+
else if ( !unix ) {
106+
result += spacer + ( suffixes[suffix] || suffix );
103107
}
104108
}
105109

@@ -112,19 +116,13 @@ function filesize ( arg, descriptor ) {
112116
}
113117

114118
/**
115-
* Size options
119+
* SI suffixes
116120
*
117121
* @type {Object}
118122
*/
119-
var options = {
120-
2 : {
121-
bits : [["B", 1], ["kb", 128], ["Mb", 131072], ["Gb", 134217728], ["Tb", 137438953472], ["Pb", 140737488355328]],
122-
bytes : [["B", 1], ["kB", 1024], ["MB", 1048576], ["GB", 1073741824], ["TB", 1099511627776], ["PB", 1125899906842624]]
123-
},
124-
10 : {
125-
bits : [["B", 1], ["kb", 125], ["Mb", 125000], ["Gb", 125000000], ["Tb", 125000000000], ["Pb", 125000000000000]],
126-
bytes : [["B", 1], ["kB", 1000], ["MB", 1000000], ["GB", 1000000000], ["TB", 1000000000000], ["PB", 1000000000000000]]
127-
}
123+
var si = {
124+
bits : ["B", "kb", "Mb", "Gb", "Tb", "Pb"],
125+
bytes : ["B", "kB", "MB", "GB", "TB", "PB"]
128126
};
129127

130128
// CommonJS, AMD, script tag

lib/filesize.map

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"version":3,
33
"file":"filesize.min.js",
4-
"lineCount":10,
5-
"mappings":"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",
4+
"lineCount":9,
5+
"mappings":"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",
66
"sources":["filesize.js"],
7-
"names":["global","filesize","arg","descriptor","result","skip","i","base","bits","neg","num","round","size","sizes","unix","spacer","suffixes","isNaN","Error","undefined","Number","suffix","options","bite","test","toFixed","bit","toLowerCase","charAt","z","right","exec","zero","parseInt","radix","exports","module","define"]
7+
"names":["global","filesize","arg","descriptor","result","e","bits","ceil","neg","num","round","unix","spacer","suffixes","isNaN","Error","base","undefined","Number","suffix","Math","floor","log","pow","toFixed","si","bit","test","toLowerCase","charAt","z","right","exec","zero","parseInt","radix","exports","module","define"]
88
}

lib/filesize.min.js

+3-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "filesize",
33
"description": "JavaScript library to generate a human readable String describing the file size",
4-
"version": "2.0.1",
4+
"version": "2.0.2",
55
"homepage": "http://filesizejs.com",
66
"author": {
77
"name": "Jason Mulligan",

src/filesize.js

+37-32
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
function filesize ( arg, descriptor ) {
1010
var result = "",
1111
skip = false,
12-
i = 6,
13-
base, bits, neg, num, round, size, sizes, unix, spacer, suffix, z, suffixes;
12+
e, base, bits, ceil, neg, num, round, unix, spacer, suffix, z, suffixes;
1413

1514
if ( isNaN( arg ) ) {
1615
throw new Error( "Invalid arguments" );
@@ -25,6 +24,7 @@ function filesize ( arg, descriptor ) {
2524
suffixes = descriptor.suffixes !== undefined ? descriptor.suffixes : {};
2625
num = Number( arg );
2726
neg = ( num < 0 );
27+
ceil = base > 2 ? 1000 : 1024;
2828

2929
// Flipping a negative number to determine the size
3030
if ( neg ) {
@@ -42,45 +42,50 @@ function filesize ( arg, descriptor ) {
4242
}
4343
}
4444
else {
45-
sizes = options[base][bits ? "bits" : "bytes"];
45+
e = Math.floor( Math.log( num ) / Math.log( 1000 ) );
4646

47-
while ( i-- ) {
48-
size = sizes[i][1];
49-
suffix = sizes[i][0];
50-
51-
if ( num >= size ) {
52-
// Treating bytes as cardinal
53-
if ( bite.test( suffix ) ) {
54-
skip = true;
55-
round = 0;
56-
}
47+
if ( base === 2 ) {
48+
result = num / Math.pow( 2, ( e * 10 ) );
49+
}
50+
else {
51+
result = num / Math.pow( 1000, e );
52+
}
5753

58-
result = ( num / size ).toFixed( round );
54+
if ( bits ) {
55+
result = ( result * 8 );
5956

60-
if ( !skip && unix ) {
61-
if ( bits && bit.test( suffix ) ) {
62-
suffix = suffix.toLowerCase();
63-
}
57+
if ( result > ceil ) {
58+
result = result / ceil;
59+
e++;
60+
}
61+
}
6462

65-
suffix = suffix.charAt( 0 );
66-
z = right.exec( result );
63+
result = result.toFixed( e > 0 ? round : 0 );
64+
suffix = si[bits ? "bits" : "bytes"][e];
6765

68-
if ( !bits && suffix === "k" ) {
69-
suffix = "K";
70-
}
66+
if ( !skip && unix ) {
67+
if ( bits && bit.test( suffix ) ) {
68+
suffix = suffix.toLowerCase();
69+
}
7170

72-
if ( z !== null && z[1] !== undefined && zero.test( z[1] ) ) {
73-
result = parseInt( result, radix );
74-
}
71+
suffix = suffix.charAt( 0 );
72+
z = right.exec( result );
7573

76-
result += spacer + ( suffixes[suffix] || suffix );
77-
}
78-
else if ( !unix ) {
79-
result += spacer + ( suffixes[suffix] || suffix );
80-
}
74+
if ( suffix === "B" ) {
75+
suffix = "";
76+
}
77+
else if ( !bits && suffix === "k" ) {
78+
suffix = "K";
79+
}
8180

82-
break;
81+
if ( z !== null && z[1] !== undefined && zero.test( z[1] ) ) {
82+
result = parseInt( result, radix );
8383
}
84+
85+
result += spacer + ( suffixes[suffix] || suffix );
86+
}
87+
else if ( !unix ) {
88+
result += spacer + ( suffixes[suffix] || suffix );
8489
}
8590
}
8691

src/intro.js

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"use strict";
33

44
var bit = /b$/,
5-
bite = /^B$/,
65
radix = 10,
76
right = /\.(.*)/,
87
zero = /^0$/;

src/si.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* SI suffixes
3+
*
4+
* @type {Object}
5+
*/
6+
var si = {
7+
bits : ["B", "kb", "Mb", "Gb", "Tb", "Pb"],
8+
bytes : ["B", "kB", "MB", "GB", "TB", "PB"]
9+
};

test/filesize_test.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ exports["filesize"] = {
4141
test.equal(filesize(this.byte, {base: 2, round: 1}), "1 B", "Should be '1 B'");
4242
test.equal(filesize(this.byte, {base: 2, round: 1, spacer: ""}), "1B", "Should be '1B'");
4343
test.equal(filesize(this.byte, {base: 2, unix: true}), "1", "Should be '1'");
44-
test.equal(filesize(this.byte, {base: 2, bits :true}), "1 B", "Should be '1 B'");
45-
test.equal(filesize(this.byte, {base: 2, round: 1, bits: true}), "1 B", "Should be '1 B'");
46-
test.equal(filesize(this.byte, {base: 2, unix: true, bits: true}), "1", "Should be '1'");
44+
test.equal(filesize(this.byte, {base: 2, bits :true}), "8 B", "Should be '8 B'");
45+
test.equal(filesize(this.byte, {base: 2, round: 1, bits: true}), "8 B", "Should be '8 B'");
46+
test.equal(filesize(this.byte, {base: 2, unix: true, bits: true}), "8", "Should be '8'");
4747

4848
test.equal(filesize(this.zero, {base: 2, base: 2}), "0 B", "Should be '0 B'");
4949
test.equal(filesize(this.zero, {base: 2, round: 1}), "0 B", "Should be '0 B'");
@@ -86,9 +86,9 @@ exports["filesize"] = {
8686
test.equal(filesize(this.byte, {round: 1}), "1 B", "Should be '1 B'");
8787
test.equal(filesize(this.byte, {round: 1, spacer: ""}), "1B", "Should be '1B'");
8888
test.equal(filesize(this.byte, {unix: true}), "1", "Should be '1'");
89-
test.equal(filesize(this.byte, {bits :true}), "1 B", "Should be '1 B'");
90-
test.equal(filesize(this.byte, {round: 1, bits: true}), "1 B", "Should be '1 B'");
91-
test.equal(filesize(this.byte, {unix: true, bits: true}), "1", "Should be '1'");
89+
test.equal(filesize(this.byte, {bits :true}), "8 B", "Should be '8 B'");
90+
test.equal(filesize(this.byte, {round: 1, bits: true}), "8 B", "Should be '8 B'");
91+
test.equal(filesize(this.byte, {unix: true, bits: true}), "8", "Should be '8'");
9292

9393
test.equal(filesize(this.zero), "0 B", "Should be '0 B'");
9494
test.equal(filesize(this.zero, {round: 1}), "0 B", "Should be '0 B'");

0 commit comments

Comments
 (0)