Skip to content

Helpers ​

Utility functions live in src/resources/src/helpers/.

nformatter.ts ​

Compact number formatting (e.g. 1200 → "1.2K"):

ts
import { formatCompactNumber } from "@/helpers/nformatter";

formatCompactNumber(999); // 999
formatCompactNumber(1200); // "1.2K"
formatCompactNumber(1500000); // "1.5M"
formatCompactNumber(NaN); // "NaN"

Uses Intl.NumberFormat with notation: "compact".

utils.ts ​

General-purpose utilities:

inArray ​

ts
import { inArray } from "@/helpers/utils";

inArray("a", ["a", "b", "c"]); // true
inArray("a", ["a", "b", "c"], true); // true (strict)
inArray(NaN, [NaN]); // true (loose)
inArray(NaN, [NaN], true); // false (strict uses includes)

empty ​

Check if a value is empty (PHP-style):

ts
import { empty } from "@/helpers/utils";

empty(null); // true
empty(undefined); // true
empty(""); // true
empty("0"); // true
empty(0); // true
empty(NaN); // true
empty([]); // true
empty({}); // true
empty(new Map()); // true
empty(false); // true
empty("hello"); // false
empty([1, 2]); // false

downloadFile / downloadExcel ​

Trigger a browser file download from a URL:

ts
import { downloadFile, downloadExcel } from "@/helpers/utils";

// Direct URL
await downloadFile("/api/reports/monthly.pdf", "report.pdf");

// Same as downloadFile (alias)
await downloadExcel("/api/reports/monthly.xlsx", "report.xlsx");

If the URL is not absolute, it's passed through a route() helper.

formatTaxPeriod ​

Format a "yyyy-MM" string as "MMM yyyy":

ts
import { formatTaxPeriod } from "@/helpers/utils";

formatTaxPeriod("2025-04"); // "Apr 2025"
formatTaxPeriod(""); // ""

formatDate ​

Format an ISO date string as "dd MMM yyyy":

ts
import { formatDate } from "@/helpers/utils";

formatDate("2025-04-02T10:30:00Z"); // "02 Apr 2025"
formatDate(null); // ""

Released under the MIT License.