text-upper-case
Version:
Convert text to all uppercase letters
405 lines (297 loc) β’ 9.78 kB
Markdown
[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]
[](https://opensource.org/licenses/MIT)
[](http://www.typescriptlang.org/)
> Transform text to **UPPERCASE** format - all characters converted to uppercase.
- **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
```bash
npm install text-upper-case
yarn add text-upper-case
pnpm add text-upper-case
bun add text-upper-case
```
```javascript
import { upperCase } from "text-upper-case";
console.log(upperCase("hello world")); // "HELLO WORLD"
console.log(upperCase("camelCase")); // "CAMELCASE"
console.log(upperCase("kebab-case")); // "KEBAB-CASE"
```
```javascript
import { upperCase } from "text-upper-case";
console.log(upperCase("hello")); // "HELLO"
```
```javascript
const { upperCase } = require("text-upper-case");
console.log(upperCase("hello")); // "HELLO"
```
```typescript
import { upperCase } from "text-upper-case";
const result: string = upperCase("hello world");
console.log(result); // "HELLO WORLD"
```
```javascript
import { upperCase } from "text-upper-case";
// Simple cases
upperCase("hello"); // "HELLO"
upperCase("world"); // "WORLD"
upperCase("Hello World"); // "HELLO WORLD"
// Mixed case
upperCase("hELLo WoRLD"); // "HELLO WORLD"
upperCase("CamelCase"); // "CAMELCASE"
upperCase("PascalCase"); // "PASCALCASE"
// Programming cases
upperCase("snake_case"); // "SNAKE_CASE"
upperCase("kebab-case"); // "KEBAB-CASE"
upperCase("dot.case"); // "DOT.CASE"
```
```javascript
import { upperCase } from "text-upper-case";
// Empty and single character
upperCase(""); // ""
upperCase("a"); // "A"
upperCase("A"); // "A"
// Numbers and symbols
upperCase("hello123"); // "HELLO123"
upperCase("test@email.com"); // "TEST@EMAIL.COM"
upperCase("user-123"); // "USER-123"
// Unicode characters
upperCase("cafΓ©"); // "CAFΓ"
upperCase("naΓ―ve"); // "NAΓVE"
upperCase("rΓ©sumΓ©"); // "RΓSUMΓ"
```
```javascript
import { upperCase } from "text-upper-case";
// Environment variables
upperCase("api_base_url"); // "API_BASE_URL"
upperCase("database-host"); // "DATABASE-HOST"
upperCase("redis.port"); // "REDIS.PORT"
// Configuration constants
const config = {
[]: "MyApp",
[]: "1.0.0",
[]: true,
};
```
```javascript
import { upperCase } from "text-upper-case";
// SQL keywords
upperCase("select"); // "SELECT"
upperCase("from"); // "FROM"
upperCase("where"); // "WHERE"
upperCase("order by"); // "ORDER BY"
// Table and column names
upperCase("user_profile"); // "USER_PROFILE"
upperCase("created_at"); // "CREATED_AT"
upperCase("last_login"); // "LAST_LOGIN"
```
```javascript
import { upperCase } from "text-upper-case";
// HTTP methods
upperCase("get"); // "GET"
upperCase("post"); // "POST"
upperCase("put"); // "PUT"
upperCase("delete"); // "DELETE"
// HTTP headers
upperCase("content-type"); // "CONTENT-TYPE"
upperCase("authorization"); // "AUTHORIZATION"
upperCase("x-api-key"); // "X-API-KEY"
```
```javascript
import { upperCase } from "text-upper-case";
// Log levels
upperCase("info"); // "INFO"
upperCase("warning"); // "WARNING"
upperCase("error"); // "ERROR"
upperCase("debug"); // "DEBUG"
// Status messages
upperCase("success"); // "SUCCESS"
upperCase("failed"); // "FAILED"
upperCase("pending"); // "PENDING"
upperCase("in progress"); // "IN PROGRESS"
```
```javascript
import { upperCase } from "text-upper-case";
function createErrorCode(message) {
return upperCase(message.replace(/\s+/g, "_"));
}
console.log(createErrorCode("invalid email")); // "INVALID_EMAIL"
console.log(createErrorCode("password too short")); // "PASSWORD_TOO_SHORT"
console.log(createErrorCode("user not found")); // "USER_NOT_FOUND"
```
```javascript
import { upperCase } from "text-upper-case";
class ConfigManager {
constructor() {
this.config = {};
}
set(key, value) {
const upperKey = upperCase(key.replace(/[.-]/g, "_"));
this.config[upperKey] = value;
return this;
}
get(key) {
const upperKey = upperCase(key.replace(/[.-]/g, "_"));
return this.config[upperKey];
}
getAll() {
return this.config;
}
}
const config = new ConfigManager()
.set("app.name", "MyApp")
.set("database-url", "localhost:5432")
.set("redis.host", "localhost");
console.log(config.getAll());
// {
// "APP_NAME": "MyApp",
// "DATABASE_URL": "localhost:5432",
// "REDIS_HOST": "localhost"
// }
```
```javascript
import { upperCase } from "text-upper-case";
function processCommand(command) {
const upperCommand = upperCase(command);
switch (upperCommand) {
case "HELP":
return "Display help information";
case "VERSION":
return "Show version number";
case "BUILD":
return "Build the project";
case "TEST":
return "Run tests";
default:
return `Unknown command: ${upperCommand}`;
}
}
console.log(processCommand("help")); // "Display help information"
console.log(processCommand("Build")); // "Build the project"
console.log(processCommand("TEST")); // "Run tests"
```
```javascript
import { upperCase } from "text-upper-case";
function generateConstantName(filename) {
const baseName = filename.replace(/\.[^/.]+$/, ""); // Remove extension
return upperCase(baseName.replace(/[^a-zA-Z0-9]/g, "_"));
}
console.log(generateConstantName("config.json")); // "CONFIG_JSON"
console.log(generateConstantName("user-data.xml")); // "USER_DATA_XML"
console.log(generateConstantName("app.settings.yml")); // "APP_SETTINGS_YML"
```
```javascript
import { upperCase } from "text-upper-case";
function createEnum(values) {
const enumObj = {};
values.forEach((value) => {
const key = upperCase(value.replace(/\s+/g, "_"));
enumObj[key] = value;
});
return enumObj;
}
const UserStatus = createEnum([
"active",
"inactive",
"pending approval",
"suspended",
"deleted",
]);
console.log(UserStatus);
// {
// "ACTIVE": "active",
// "INACTIVE": "inactive",
// "PENDING_APPROVAL": "pending approval",
// "SUSPENDED": "suspended",
// "DELETED": "deleted"
// }
```
Converts a string to uppercase format.
- **`input`** (`string`): The string to transform
- **`string`**: The string converted to uppercase
This package is optimized for minimal bundle size:
- **Minified**: ~200B
- **Gzipped**: ~150B
- **Tree-shakeable**: Yes
- **Side effects**: None
- **Modern browsers**: ES2015+ (Chrome 51+, Firefox 54+, Safari 10+)
- **Node.js**: 12+
- **TypeScript**: 4.0+
- **Bundle formats**: UMD, ESM, CommonJS
```bash
pnpm test
pnpm test --watch
pnpm test --coverage
pnpm typecheck
pnpm lint
```
- [`text-camel-case`](https://www.npmjs.com/package/text-camel-case) - Convert to camelCase
- [`text-capital-case`](https://www.npmjs.com/package/text-capital-case) - Convert to Capital Case
- [`text-constant-case`](https://www.npmjs.com/package/text-constant-case) - Convert to CONSTANT_CASE
- [`text-dot-case`](https://www.npmjs.com/package/text-dot-case) - Convert to dot.case
- [`text-header-case`](https://www.npmjs.com/package/text-header-case) - Convert to Header-Case
- [`text-case`](https://www.npmjs.com/package/text-case) - All case transformations in one package
[](LICENSE) Β© [Dmitry Selikhov](https://github.com/idimetrix)
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## π Support
- π§ **Email**: [selikhov.dmitrey@gmail.com](mailto:selikhov.dmitrey@gmail.com)
- π **Issues**: [GitHub Issues](https://github.com/idimetrix/text-case/issues)
- π¬ **Discussions**: [GitHub Discussions](https://github.com/idimetrix/text-case/discussions)
- π **Documentation**: [Full Documentation](https://github.com/idimetrix/text-case#readme)
---
**Made with β€οΈ by [Dmitry Selikhov](https://github.com/idimetrix)**
[npm-image]: https://img.shields.io/npm/v/text-upper-case.svg?style=flat
[npm-url]: https://npmjs.org/package/text-upper-case
[downloads-image]: https://img.shields.io/npm/dm/text-upper-case.svg?style=flat
[downloads-url]: https://npmjs.org/package/text-upper-case
[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/text-upper-case.svg
[bundlephobia-url]: https://bundlephobia.com/result?p=text-upper-case