Skip to content

Commit fc4f78d

Browse files
refact: Migrate $helper.file to TypeScript (#7990)
1 parent 6ffd4db commit fc4f78d

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it } from "vitest";
2-
import { extension, name } from "./file";
2+
import { extension, name, niceSize } from "./file";
33

44
describe.concurrent("$helper.file.extension()", () => {
55
it("returns the extension of a filename", () => {
@@ -16,3 +16,11 @@ describe.concurrent("$helper.file.name()", () => {
1616
expect(name("file")).toBe("");
1717
});
1818
});
19+
20+
describe.concurrent("$helper.file.niceSize()", () => {
21+
it("formats bytes", () => {
22+
expect(niceSize(0)).toBe("0B");
23+
expect(niceSize(1024)).toBe("1KB");
24+
expect(niceSize(1048576)).toBe("1MB");
25+
});
26+
});
Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
/**
22
* Extracts the extension
33
*
4-
* @param {String} filename
5-
* @returns {String}
4+
* @example
5+
* extension("image.jpg") // => "jpg"
66
*/
7-
export const extension = (filename) => {
7+
export function extension(filename: string): string {
88
return filename.split(".").slice(-1).join("");
9-
};
9+
}
1010

1111
/**
1212
* Extracts the name without extension
1313
*
14-
* @param {String} filename
15-
* @returns {String}
14+
* @example
15+
* name("image.jpg") // => "image"
1616
*/
17-
export const name = (filename) => {
17+
export function name(filename: string): string {
1818
return filename.split(".").slice(0, -1).join(".");
19-
};
19+
}
2020

2121
/**
2222
* Creates a nice human-readable file size string with size unit
2323
*
24-
* @param {Number} size
25-
* @returns {String}
24+
* @example
25+
* niceSize(1024) // => "1KB"
26+
* niceSize(1048576) // => "1MB"
2627
*/
27-
export const niceSize = (size) => {
28+
export function niceSize(size: number): string {
2829
const formatter = Intl.NumberFormat("en", {
2930
notation: "compact",
3031
style: "unit",
@@ -33,7 +34,7 @@ export const niceSize = (size) => {
3334
});
3435

3536
return formatter.format(size);
36-
};
37+
}
3738

3839
export default {
3940
extension,

0 commit comments

Comments
 (0)