1. scule
String case utils
scule
Package: scule
Created by: unjs
Last modified: Tue, 06 Feb 2024 16:57:03 GMT
Version: 1.3.0
License: MIT
Downloads: 4,079,190
Repository: https://github.com/unjs/scule

Install

npm install scule
yarn add scule

🧵 Scule

npm version
npm downloads
bundle
Codecov

Install

Install using npm or yarn:

 npm i scule

Import:

 // CommonJS
const { pascalCase } = require("scule");

// ESM
import { pascalCase } from "scule";

Notice: You may need to transpile package for legacy environments.

Utils

pascalCase(str, opts?: { normalize })

Splits string and joins by PascalCase convention:

 pascalCase("foo-bar_baz");
// FooBarBaz

Notice: If an uppercase letter is followed by other uppercase letters (like FooBAR), they are preserved. You can use { normalize: true } for strictly following pascalCase convention.

camelCase(str, opts?: { normalize })

Splits string and joins by camelCase convention:

 camelCase("foo-bar_baz");
// fooBarBaz

kebabCase(str)

Splits string and joins by kebab-case convention:

 kebabCase("fooBar_Baz");
// foo-bar-baz

Notice: It does not preserve case.

snakeCase

Splits string and joins by snake_case convention:

 snakeCase("foo-barBaz");
// foo_bar_baz

flatCase

Splits string and joins by flatcase convention:

 flatCase("foo-barBaz");
// foobarbaz

trainCase(str, opts?: { normalize })

Split string and joins by Train-Case (a.k.a. HTTP-Header-Case) convention:

 trainCase("FooBARb");
// Foo-Ba-Rb

Notice: If an uppercase letter is followed by other uppercase letters (like WWWAuthenticate), they are preserved (=> WWW-Authenticate). You can use { normalize: true } for strictly only having the first letter uppercased.

titleCase(str, opts?: { normalize })

With Title Case all words are capitalized, except for minor words.
A compact regex of common minor words (such as a, for, to) is used to automatically keep them lower case.

 titleCase("this-IS-aTitle");
// This is a Title

upperFirst(str)

Converts first character to upper case:

 upperFirst("hello world!");
// Hello world!

lowerFirst(str)

Converts first character to lower case:

 lowerFirst("Hello world!");
// hello world!

splitByCase(str, splitters?)

  • Splits string by the splitters provided (default: ['-', '_', '/', '.'])
  • Splits when case changes from lower to upper or upper to lower
  • Ignores numbers for case changes
  • Case is preserved in returned value
  • Is an irreversible function since splitters are omitted

Development

  • Clone this repository
  • Install latest LTS version of Node.js
  • Enable Corepack using corepack enable
  • Install dependencies using pnpm install
  • Run interactive tests using pnpm dev

License

MIT

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin