Humanity

Deno GitHub GitHub release (latest SemVer) npm

GitHub Repo stars

Humanity is a library for humanizing data in a human-readable form.

How to use

Deno

import { createHumanity } from "https://deno.land/x/humanity/mod.ts";

const Humanity = createHumanity("en_US");

console.log(Humanity.number(500000)); // 500 000
// Output: 500 thousand

NodeJS

You can use it library with NodeJS

npm i humanity-deno
const { createHumanity } = require("humanity-deno");

const Humanity = createHumanity("en_US");

console.log(Humanity.number(500000)); // 500 000
// Output: 500 thousand

You can use custom language

import { createCustomHumanity } from "https://deno.land/x/humanity/mod.ts";
const Humanity = createCustomHumanity({
    locale: "custom",
    words: {
        ...DefaultLocales.en_US.words,
    },
    numbers: {
        thousand: "th",
        million: "m",
        billion: "b",
        trillion: "t",
        quadrillion: "q",
        quintillion: "qui",
    },
});

console.log(Humanity.number(500000)); // 500 th

Disable spaces between number and word

Humanity.disableFeature("spacing");
console.log(Humanity.number(500000)); // 500thousand

Available functions

  • number(n: number | bigint): string
    Humanity.number(500000) // 500 thousand
  • truncate(n: string | number | bigint, lengthMax: number): string
    Humanity.truncate("Humanity is a library for humanizing data in a human-readable form.", 24) // "Humanity is a library fo..."
  • toRoman(n: number): string
    Humanity.toRoman(505) // DV
  • binarySuffix(n: number, fixed = 2): string
    Humanity.binarySuffix(500, 0) // 500 B
  • arrayToText(arr: any[], n = 2): string
    Humanity.arrayToText(["Dustin", "Leda", "Tristin", "Maybelle", "Dee", "Stephon"], 3) // Dustin, Leda, Tristin and 3 others
  • dateTime.difference(dateFirst: Date, dateAfter: Date): string
    Humanity.dateTime.difference(1656532800000, 1659211200000); // 4 weeks ago
  • Humanity.humanCase(data: string): string
    Humanity.humanCase("mainField") // "Main field"

Supported languages by default

You can customize defaults the language and create yourself language

  • en_US
  • de_DE
  • ru_RU