dropthe
v1.0.0
Published
Data utilities for movies, crypto, companies, and entertainment data from DropThe
Downloads
114
Maintainers
Readme
dropthe
Data utilities for movies, crypto, companies, and entertainment data from DropThe.
Lightweight helper functions for working with entity data: slug generation, currency formatting, date helpers, entity type resolution, tier classification, and text processing.
Installation
npm install droptheUsage
const dt = require("dropthe");
// Slugify any text for URLs
dt.slugify("The Dark Knight (2008)");
// => "the-dark-knight-2008"
// Format currency values
dt.formatCurrency(1234567.89);
// => "$1,234,567.89"
// Compact number formatting
dt.formatCompact(2300000);
// => "2.3M"
// Crypto price formatting (auto decimal places)
dt.formatCryptoPrice(0.00004523);
// => "$0.00004523"
// Date formatting
dt.formatDate("2024-07-04");
// => "July 4, 2024"
// Relative time
dt.timeAgo(new Date(Date.now() - 86400000));
// => "1 day ago"
// Entity type validation
dt.isValidEntityType("movies"); // true
dt.isValidEntityType("books"); // false
// Build entity paths
dt.entityPath("movies", "The Dark Knight");
// => "/movies/the-dark-knight"
// Tier classification
dt.tierFromScore(92); // "S"
dt.tierFromScore(60); // "B"
// Vertical metadata
dt.getVertical("coin");
// => { color: "#F7931A", label: "Coin" }
// Text utilities
dt.truncate("A very long description...", 20);
dt.stripHtml("<p>Hello <b>world</b></p>");
// => "Hello world"API Reference
Constants
ENTITY_TYPES- Array of valid entity types: movies, series, people, cryptocurrencies, companies.VERTICALS- Object mapping vertical keys to their color and label.
Slug
slugify(text)- Convert any string into a URL-safe slug.
Currency and Numbers
formatCurrency(value, currency?, locale?)- Format a number as currency.formatCompact(value)- Format large numbers with K/M/B/T suffixes.formatCryptoPrice(price, currency?)- Format crypto prices with appropriate decimals.percentChange(oldVal, newVal)- Calculate percentage change between two values.
Dates
formatDate(date, options?)- Format a date with locale and style options.timeAgo(date)- Human-friendly relative time (e.g. "3 days ago").
Entities
isValidEntityType(type)- Check if a type is valid.entityPath(type, slug)- Build a DropThe URL path for an entity.tierFromScore(score)- Classify a score (0 to 100) into tier S/A/B/C/D.getVertical(key)- Get color and label for a vertical.
Text
truncate(text, maxLength?)- Truncate with ellipsis.stripHtml(html)- Remove HTML tags.
TypeScript
Type definitions are included. Import types directly:
import { slugify, EntityType, Tier } from "dropthe";Links
- Website: https://dropthe.org
- GitHub: https://github.com/arnaudleroy-studio/dropthe-js
License
MIT. See LICENSE for details.
