npm.io
1.0.0 • Published 3d ago

humanizex

Licence
MIT
Version
1.0.0
Deps
0
Size
16 kB
Vulns
0
Weekly
0

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);                      // "1.54 KB"
bytes(1048576, { binary: true }); // "1 MiB"

duration(3_900_000);              // "1h 5m"
duration(1500);                   // "1s 500ms"

relativeTime(Date.now() - 180_000); // "3 minutes ago"
relativeTime("2030-01-01");         // "in 4 years"

number(1234567);                                       // "1,234,567"
number(1234567.89, { separator: " ", decimal: "," }); // "1 234 567,89"

pluralize(1, "item");             // "1 item"
pluralize(3, "item");             // "3 items"
pluralize(2, "person", "people"); // "2 people"

API

Fonction Exemple Options
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

Keywords