Skip to content

Open-Tech-Foundation/js-std

Repository files navigation

@opentf/std

The Modern JavaScript Standard Library.

Website | Docs | Playground


A lightweight, high-accuracy, runtime-agnostic collection of essential utilities.

📦 Installation

Install @opentf/std using your preferred package manager:

# Bun
bun add @opentf/std

# pnpm
pnpm add @opentf/std

# npm
npm install @opentf/std

# Deno
deno add @opentf/std

# yarn
yarn add @opentf/std

🚀 Quick Start

Beyond the everyday helpers, @opentf/std ships capabilities you'd normally reach for a separate package to get:

import {
  Decimal,
  color,
  colorContrast,
  formatBytes,
  formatCurrency,
  uuidv7,
  stringWidth,
} from "@opentf/std";

// 🎯 Exact decimal math — no floating-point errors
new Decimal("0.1").add("0.2").toString(); //=> "0.3"

// 🎨 Color parsing, conversion & WCAG accessibility
color("rebeccapurple", "hex"); //=> "#663399"
colorContrast("white", "black"); //=> 21  (WCAG ratio)

// 💾 Human-readable, locale-aware formatting
formatBytes(1234567); //=> "1.18 MiB"
formatCurrency(1200, "EUR", { locale: "de-DE" }); //=> "1.200,00 €"

// 🆔 Time-sortable UUID via runtime-agnostic crypto
uuidv7(); //=> "0195e2a4-8c3d-7000-…"

// 📏 Emoji & CJK aware string width (terminal-safe)
stringWidth("🔥こんにちは"); //=> 12

👉 Next Steps


📄 License

This project is licensed under the MIT License.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages