humanizex
Humanize values for humans — file sizes, durations, relative time, numbers, pluralization. Zero dependencies, ESM + CJS + TypeScript types.
npm install humanizex
import { bytes, duration, relativeTime, number, pluralize } from "humanizex";
bytes(1536);
bytes(1048576, { binary: true });
duration(3_900_000);
duration(1500);
relativeTime(Date.now() - 180_000);
relativeTime("2030-01-01");
number(1234567);
number(1234567.89, { separator: " ", decimal: "," });
pluralize(1, "item");
pluralize(3, "item");
pluralize(2, "person", "people");
API
bytes(n, opts?) | "1.5 MB" | binary (1024/KiB), decimals, space |
duration(ms, opts?) | "1h 5m" | parts (segments), compact |
relativeTime(date, opts?) | "3 minutes ago" | now, locale (Intl.RelativeTimeFormat) |
number(n, opts?) | "1,234,567" | separator, decimal, decimals |
pluralize(n, sing, plur?) | "3 items" | pluriel par défaut +s |
relativeTime est locale-aware quand Intl.RelativeTimeFormat est disponible (passe { locale: "fr" }).
License
MIT © KIPDEV