You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.7 KiB
2.7 KiB
🧵 Scule
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
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