Logo of scule

scule

字符串大小写工具

安装

使用 npm 或 yarn 安装

npm i scule

导入

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

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

注意:您可能需要为旧版环境转译此包。

工具

pascalCase(str, opts?: { normalize })

根据 PascalCase 约定拆分字符串并连接

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

注意:如果一个大写字母后面跟着其他大写字母(例如 FooBAR),它们将被保留。您可以使用 { normalize: true } 来严格遵循 PascalCase 约定。

camelCase(str, opts?: { normalize })

根据 camelCase 约定拆分字符串并连接

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

kebabCase(str)

根据 kebab-case 约定拆分字符串并连接

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

注意:保留大小写。

snakeCase

根据 snake_case 约定拆分字符串并连接

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

flatCase

根据 flatcase 约定拆分字符串并连接

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

trainCase(str, opts?: { normalize })

根据 Train-Case(又称 HTTP-Header-Case)约定拆分字符串并连接

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

注意:如果一个大写字母后面跟着其他大写字母(例如 WWWAuthenticate),它们将被保留(=> WWW-Authenticate)。您可以使用 { normalize: true } 来严格遵循仅首字母大写的约定。

titleCase(str, opts?: { normalize })

在 Title Case 中,所有单词都大写,除了次要单词。使用常见次要单词(如 aforto)的紧凑正则表达式来自动保持它们小写。

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

upperFirst(str)

将首字母转换为大写

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

lowerFirst(str)

将首字母转换为小写

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

splitByCase(str, splitters?)

  • 根据提供的分隔符拆分字符串(默认值:['-', '_', '/', '.']
  • 当大小写从小写变为大写或从大写变为小写时进行拆分
  • 忽略数字的大小写变化
  • 返回值保留大小写
  • 由于省略了分隔符,这是一个不可逆函数

开发

  • 克隆此仓库
  • 安装最新 LTS 版本的 Node.js
  • 使用 corepack enable 启用 Corepack
  • 使用 pnpm install 安装依赖
  • 使用 pnpm dev 运行交互式测试

许可

MIT