Is Lower Case
Check if a string is in lowercase format.
๐ Features
- Lightweight - Only ~200B minified + gzipped
- Type-safe - Full TypeScript support with comprehensive type definitions
- Zero dependencies - No external dependencies
- Tree-shakeable - ES modules support
- Universal - Works in browsers, Node.js, and serverless environments
- Well-tested - Comprehensive test suite with edge cases
๐ฆ Installation
# npm
npm install text-is-lower-case
# yarn
yarn add text-is-lower-case
# pnpm
pnpm add text-is-lower-case
# bun
bun add text-is-lower-case
๐ฏ Quick Start
import { isLowerCase } from "text-is-lower-case";
console.log(isLowerCase("hello world")); // true
console.log(isLowerCase("Hello World")); // false
console.log(isLowerCase("HELLO WORLD")); // false
๐ Usage
ES Modules (Recommended)
import { isLowerCase } from "text-is-lower-case";
console.log(isLowerCase("hello")); // true
CommonJS
const { isLowerCase } = require("text-is-lower-case");
console.log(isLowerCase("hello")); // true
TypeScript
import { isLowerCase } from "text-is-lower-case";
const result: boolean = isLowerCase("hello world");
console.log(result); // true
๐ Validation Examples
Basic Validation
import { isLowerCase } from "text-is-lower-case";
// Valid lowercase
isLowerCase("hello"); // true
isLowerCase("hello world"); // true
isLowerCase("test123"); // true
isLowerCase("user_name"); // true
isLowerCase("api-key"); // true
// Invalid (not lowercase)
isLowerCase("Hello"); // false
isLowerCase("HELLO"); // false
isLowerCase("Hello World"); // false
isLowerCase("camelCase"); // false
isLowerCase("PascalCase"); // false
Edge Cases
import { isLowerCase } from "text-is-lower-case";
// Numbers and symbols
isLowerCase("123"); // true
isLowerCase("hello123"); // true
isLowerCase("test@email.com"); // true
isLowerCase("user_123"); // true
// Empty and whitespace
isLowerCase(""); // true
isLowerCase(" "); // true
isLowerCase("\n\t"); // true
// Special characters
isLowerCase("hello-world"); // true
isLowerCase("test_case"); // true
isLowerCase("file.txt"); // true
๐ Real-World Examples
Form Validation
import { isLowerCase } from "text-is-lower-case";
function validateUsername(username) {
if (!isLowerCase(username)) {
return "Username must be lowercase";
}
return null;
}
console.log(validateUsername("john_doe")); // null (valid)
console.log(validateUsername("John_Doe")); // "Username must be lowercase"
Email Validation
import { isLowerCase } from "text-is-lower-case";
function validateEmailFormat(email) {
const [localPart] = email.split("@");
if (!isLowerCase(localPart)) {
return "Email local part should be lowercase";
}
return null;
}
console.log(validateEmailFormat("user@example.com")); // null
console.log(validateEmailFormat("User@example.com")); // "Email local part should be lowercase"
URL Slug Validation
import { isLowerCase } from "text-is-lower-case";
function validateSlug(slug) {
if (!isLowerCase(slug)) {
return "URL slug must be lowercase";
}
return null;
}
console.log(validateSlug("my-blog-post")); // null
console.log(validateSlug("My-Blog-Post")); // "URL slug must be lowercase"
Configuration Validation
import { isLowerCase } from "text-is-lower-case";
function validateConfigKeys(config) {
const invalidKeys = Object.keys(config).filter((key) => !isLowerCase(key));
if (invalidKeys.length > 0) {
return `Invalid config keys (must be lowercase): ${invalidKeys.join(", ")}`;
}
return null;
}
const config1 = { database_url: "...", api_key: "..." };
const config2 = { databaseUrl: "...", apiKey: "..." };
console.log(validateConfigKeys(config1)); // null
console.log(validateConfigKeys(config2)); // "Invalid config keys..."
๐ API Reference
isLowerCase(input)
Checks if a string is in lowercase format.
Parameters
input
(string
): The string to check
Returns
boolean
:true
if the string is lowercase,false
otherwise
๐ Bundle Size
This package is optimized for minimal bundle size:
- Minified: ~200B
- Gzipped: ~150B
- Tree-shakeable: Yes
- Side effects: None
๐ Browser Support
- Modern browsers: ES2015+ (Chrome 51+, Firefox 54+, Safari 10+)
- Node.js: 12+
- TypeScript: 4.0+
- Bundle formats: UMD, ESM, CommonJS
๐งช Testing
# Run tests
pnpm test
# Run tests in watch mode
pnpm test --watch
# Run tests with coverage
pnpm test --coverage
# Type checking
pnpm typecheck
# Linting
pnpm lint
๐ Related Packages
text-is-upper-case
- Check if string is uppercasetext-lower-case
- Convert to lowercasetext-upper-case
- Convert to uppercasetext-case
- All case transformations in one package
๐ License
๐ค Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
๐ Support
- ๐ง Email: selikhov.dmitrey@gmail.com
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Full Documentation
Made with โค๏ธ by Dmitry Selikhov