1.1.0 โข Published 10 months ago
@herb-ert/stringkitjs v1.1.0
๐งฉ Stringkit.js
A focused, zero-dependency utility library for common string manipulations in JavaScript. Clean API, no global prototype pollution, and built for real-world use.
โจ Features
- A suite of clean, composable string utilities
- No global prototype modifications
- Safe and immutable methods
- Designed for real-world use cases
- Fully documented and tested
๐ฆ Installation
npm install @herb-ert/stringkitjsIf you're using ES Modules:
import * as stringkit from '@herb-ert/stringkitjs';Or with CommonJS:
const stringkit = require('@herb-ert/stringkitjs');๐ Usage
import { capitalize, kebabCase } from '@herb-ert/stringkitjs';
console.log(capitalize("hello world")); // "Hello world"
console.log(kebabCase("Hello World")); // "hello-world"๐ง API
Functions
| Method | Description |
|---|---|
capitalize(string) | Capitalizes the first character of a string. |
title(string, smart) | Converts a string to title case. Optionally applies smart title casing to avoid capitalizing common short words. |
stripTags(string) | Removes all HTML tags from a string. |
slugify(string) | Converts a string into a URL-friendly slug. |
truncate(string, length) | Truncates a string to a specific length, appending "..." if truncated. |
camelCase(string) | Converts a string to camelCase. |
kebabCase(string) | Converts a string to kebab-case. |
snakeCase(string) | Converts a string to snake_case. |
trimLines(string) | Trims whitespace from the start and end of each line in a multi-line string. |
removeExtraSpaces(string) | Removes extra spaces from a string, reducing multiple spaces to a single space. |
isBlank(string) | Checks whether a string is empty or contains only whitespace. |
startsWithIgnoreCase(string, prefix) | Checks if a string starts with a given prefix, ignoring case sensitivity. |
endsWithIgnoreCase(string, suffix) | Checks if a string ends with a given suffix, ignoring case sensitivity. |
includesIgnoreCase(string, substring) | Checks if a string includes a given substring, ignoring case sensitivity. |
escapeRegExp(string) | Escapes special characters in a string for use in a regular expression. |
stripAnsi(string) | Removes ANSI escape codes from a string. |
repeatString(string, times) | Repeats a string a specified number of times. |
commonPrefix(strings) | Finds the longest common prefix among an array of strings. |
center(string, length, char = ' ') | Centers a string by padding it on both sides with a specified character. |
lpad(string, length, char = ' ') | Pads the left side of a string to a specified total length. |
rpad(string, length, char = ' ') | Pads the right side of a string to a specified total length. |
truncateWords(string, wordCount) | Truncates a string to a specific number of words. |
pascalCase(string) | Converts a string to PascalCase. |
reverse(string) | Reverses the characters in a string. |
assertString(value, name) | Asserts that the given value is a string. |
๐ฆ More Examples
import {
snakeCase,
stripTags,
title,
startsWithIgnoreCase
} from '@herb-ert/stringkitjs';
console.log(snakeCase("Hello World")); // "hello_world"
console.log(stripTags("<p>Hello</p>")); // "Hello"
console.log(title("the big brown fox")); // "The Big Brown Fox"
console.log(startsWithIgnoreCase("JavaScript", "java")); // true๐งช Validation
All functions are pure and expect valid strings. Invalid types will throw helpful errors.
capitalize(42); // โ TypeError: Expected "string" to be a string, but got number๐ง License
MIT ยฉ herb-ert