Is Upper Case
Check if a string is in UPPERCASE 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-upper-case
# yarn
yarn add text-is-upper-case
# pnpm
pnpm add text-is-upper-case
# bun
bun add text-is-upper-case
๐ฏ Quick Start
import { isUpperCase } from "text-is-upper-case";
console.log(isUpperCase("HELLO WORLD")); // true
console.log(isUpperCase("Hello World")); // false
console.log(isUpperCase("hello world")); // false
๐ Usage
ES Modules (Recommended)
import { isUpperCase } from "text-is-upper-case";
console.log(isUpperCase("HELLO")); // true
CommonJS
const { isUpperCase } = require("text-is-upper-case");
console.log(isUpperCase("HELLO")); // true
TypeScript
import { isUpperCase } from "text-is-upper-case";
const result: boolean = isUpperCase("HELLO WORLD");
console.log(result); // true
๐ Validation Examples
Basic Validation
import { isUpperCase } from "text-is-upper-case";
// Valid uppercase
isUpperCase("HELLO"); // true
isUpperCase("HELLO WORLD"); // true
isUpperCase("TEST123"); // true
isUpperCase("USER_NAME"); // true
isUpperCase("API-KEY"); // true
// Invalid (not uppercase)
isUpperCase("Hello"); // false
isUpperCase("hello"); // false
isUpperCase("Hello World"); // false
isUpperCase("camelCase"); // false
isUpperCase("PascalCase"); // false
Edge Cases
import { isUpperCase } from "text-is-upper-case";
// Numbers and symbols
isUpperCase("123"); // true
isUpperCase("HELLO123"); // true
isUpperCase("TEST@EMAIL.COM"); // true
isUpperCase("USER_123"); // true
// Empty and whitespace
isUpperCase(""); // true
isUpperCase(" "); // true
isUpperCase("\n\t"); // true
// Special characters
isUpperCase("HELLO-WORLD"); // true
isUpperCase("TEST_CASE"); // true
isUpperCase("FILE.TXT"); // true
๐ Real-World Examples
Environment Variable Validation
import { isUpperCase } from "text-is-upper-case";
function validateEnvVarName(name) {
if (!isUpperCase(name)) {
return "Environment variable names should be uppercase";
}
return null;
}
console.log(validateEnvVarName("DATABASE_URL")); // null (valid)
console.log(validateEnvVarName("databaseUrl")); // "Environment variable names should be uppercase"
Constant Validation
import { isUpperCase } from "text-is-upper-case";
function validateConstantName(name) {
if (!isUpperCase(name)) {
return "Constants should be uppercase";
}
return null;
}
console.log(validateConstantName("MAX_RETRIES")); // null
console.log(validateConstantName("maxRetries")); // "Constants should be uppercase"
HTTP Header Validation
import { isUpperCase } from "text-is-upper-case";
function validateHeaderMethod(method) {
if (!isUpperCase(method)) {
return "HTTP methods should be uppercase";
}
return null;
}
console.log(validateHeaderMethod("GET")); // null
console.log(validateHeaderMethod("get")); // "HTTP methods should be uppercase"
Configuration Validation
import { isUpperCase } from "text-is-upper-case";
function validateConfigConstants(config) {
const invalidKeys = Object.keys(config).filter(
(key) => key.startsWith("CONST_") && !isUpperCase(key),
);
if (invalidKeys.length > 0) {
return `Invalid constant keys (must be uppercase): ${invalidKeys.join(", ")}`;
}
return null;
}
const config1 = { CONST_MAX_SIZE: 100, normalKey: "value" };
const config2 = { CONST_max_size: 100, normalKey: "value" };
console.log(validateConfigConstants(config1)); // null
console.log(validateConfigConstants(config2)); // "Invalid constant keys..."
๐ API Reference
isUpperCase(input)
Checks if a string is in uppercase format.
Parameters
input
(string
): The string to check
Returns
boolean
:true
if the string is uppercase,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-lower-case
- Check if string is lowercasetext-upper-case
- Convert to uppercasetext-lower-case
- Convert to lowercasetext-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