Package Exports
- pragi-string
- pragi-string/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pragi-string) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
pragiString
🚀 A simple utility to transform text into different capitalization styles!
📦 Installation
Install using npm or yarn:
npm install pragi-string
✨ Features
- Transform text into various cases (title, sentence, camel, snake, kebab, etc.)
- ✨ Smart text truncation with customizable length and suffix
- 🔍 Intelligent whitespace trimming
- 🎯 Exclude specific words from case transformations
- 🛠️ Convenient method-based API (e.g., pragiString.titleCase())
- 📦 CLI tool for quick transformations
- 🔒 Full TypeScript support
🔥 Usage
Importing the Package
JavaScript
const pragiString = require("pragi-string");
TypeScript
import { pragiString } from "pragi-string";
🛠 Text Transformations
// Method-based API for better readability
pragiString.titleCase("hello world"); // Hello World
pragiString.camelCase("hello world"); // helloWorld
pragiString.snakeCase("hello world"); // hello_world
⚡ Smart Features
1️⃣ Text Truncation
// Truncate with custom length and suffix
pragiString.titleCase("this is a very long text", {
truncate: { length: 10, suffix: "..." }
});
// Output: "This Is..." (truncates before case transformation)
// Custom suffix
pragiString.titleCase("this is a very long text", {
truncate: { length: 12, suffix: " [...]" }
});
// Output: "This Is [...]"
2️⃣ Intelligent Trimming
// Automatically handles various whitespace scenarios
pragiString.titleCase(" hello world ", { trim: true });
// Output: "Hello World"
// Trim specific characters
pragiString.titleCase("***hello***world***", {
trim: { chars: "*" }
});
// Output: "Hello World"
3️⃣ Word Exclusions
// Exclude specific words from case transformation
pragiString.titleCase("the quick brown fox", {
exclude: ["the", "of", "and"]
});
// Output: "the Quick Brown Fox"
// Combine with other features
pragiString.titleCase(" the quick brown fox ", {
exclude: ["the"],
trim: true,
truncate: { length: 15, suffix: "..." }
});
// Output: "the Quick Brown..."
4️⃣ Number Conversions
// Convert numbers to words
pragiString.toWords(42); // "forty two"
pragiString.toWords(1234); // "one thousand two hundred thirty four"
// Convert words to numbers
pragiString.toNumbers("forty two"); // 42
pragiString.toNumbers("one thousand two hundred thirty four"); // 1234
// Convert to ordinal numbers
pragiString.toOrdinal(1); // "1st"
pragiString.toOrdinal(42); // "42nd"
// Roman numeral conversions
pragiString.toRoman(42); // "XLII"
pragiString.fromRoman("XLII"); // 42
// Humanize large numbers
pragiString.humanizeNumber(1234567); // "1.2M"
// Time and duration formatting
pragiString.humanizeDuration(3665); // "1 hour, 1 minute, 5 seconds"
pragiString.toDigitalTime(3665); // "01:01:05"
🛠️ Options
Trim Whitespace
console.log(pragiString(" hello world ", "titlecase", { trim: true }));
// Output: "Hello World"
Exclude Words from Capitalization
console.log(pragiString("hello world example", "titlecase", { excludeWords: ["world"] }));
// Output: Hello world Example
🚀 CLI Usage
You can use pragiString as a command-line tool after installing it globally:
npm install -g pragi-string
Convert Text
pragi-string "hello world" uppercase
# Output: HELLO WORLD
Trim Before Conversion
pragi-string " hello world " titlecase --trim
# Output: Hello World
Exclude Specific Words
pragi-string "hello world example" titlecase --exclude world
# Output: Hello world Example
🛠 API Reference
Methods
Each transformation is available as a direct method:
pragiString.titleCase(text: string, options?: PragiOptions)
pragiString.sentenceCase(text: string, options?: PragiOptions)
pragiString.camelCase(text: string, options?: PragiOptions)
pragiString.snakeCase(text: string, options?: PragiOptions)
pragiString.kebabCase(text: string, options?: PragiOptions)
pragiString.upperCase(text: string, options?: PragiOptions)
pragiString.lowerCase(text: string, options?: PragiOptions)
Options
interface PragiOptions {
trim?: boolean | { chars?: string };
truncate?: {
length: number;
suffix?: string;
};
exclude?: string[];
}
trim
: Enable trimming (boolean) or specify characters to trimtruncate
: Configure text truncation with custom length and suffixexclude
: Array of words to exclude from case transformation
📜 License
This package is licensed under the MIT License.
Visit my portfolio: https://pragatheeswaran.vercel.app/