Socket
Socket
Sign inDemoInstall

scule

Package Overview
Dependencies
0
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    scule

String case utils


Version published
Weekly downloads
990K
increased by1.91%
Maintainers
1
Install size
28.9 kB
Created
Weekly downloads
 

Changelog

Source

v1.3.0

compare changes

🚀 Enhancements

  • trainCase util (#74)

🏡 Chore

❤️ Contributors

Readme

Source

🧵 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

FAQs

Last updated on 06 Feb 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc